diff --git a/pkg/demoinfocs/msg/cstrike15_gcmessages.pb.go b/pkg/demoinfocs/msg/cstrike15_gcmessages.pb.go index 0a22d93c..d41be303 100644 --- a/pkg/demoinfocs/msg/cstrike15_gcmessages.pb.go +++ b/pkg/demoinfocs/msg/cstrike15_gcmessages.pb.go @@ -33,7 +33,6 @@ const ( ECsgoGCMsg_k_EMsgGCCStrike15_v2_MatchmakingClient2GCHello ECsgoGCMsg = 9109 ECsgoGCMsg_k_EMsgGCCStrike15_v2_MatchmakingGC2ClientHello ECsgoGCMsg = 9110 ECsgoGCMsg_k_EMsgGCCStrike15_v2_MatchmakingGC2ClientAbandon ECsgoGCMsg = 9112 - ECsgoGCMsg_k_EMsgGCCStrike15_v2_MatchmakingGCOperationalStats ECsgoGCMsg = 9115 ECsgoGCMsg_k_EMsgGCCStrike15_v2_MatchmakingOperator2GCBlogUpdate ECsgoGCMsg = 9117 ECsgoGCMsg_k_EMsgGCCStrike15_v2_ServerNotificationForUserPenalty ECsgoGCMsg = 9118 ECsgoGCMsg_k_EMsgGCCStrike15_v2_ClientReportPlayer ECsgoGCMsg = 9119 @@ -137,7 +136,6 @@ var ( 9109: "k_EMsgGCCStrike15_v2_MatchmakingClient2GCHello", 9110: "k_EMsgGCCStrike15_v2_MatchmakingGC2ClientHello", 9112: "k_EMsgGCCStrike15_v2_MatchmakingGC2ClientAbandon", - 9115: "k_EMsgGCCStrike15_v2_MatchmakingGCOperationalStats", 9117: "k_EMsgGCCStrike15_v2_MatchmakingOperator2GCBlogUpdate", 9118: "k_EMsgGCCStrike15_v2_ServerNotificationForUserPenalty", 9119: "k_EMsgGCCStrike15_v2_ClientReportPlayer", @@ -238,7 +236,6 @@ var ( "k_EMsgGCCStrike15_v2_MatchmakingClient2GCHello": 9109, "k_EMsgGCCStrike15_v2_MatchmakingGC2ClientHello": 9110, "k_EMsgGCCStrike15_v2_MatchmakingGC2ClientAbandon": 9112, - "k_EMsgGCCStrike15_v2_MatchmakingGCOperationalStats": 9115, "k_EMsgGCCStrike15_v2_MatchmakingOperator2GCBlogUpdate": 9117, "k_EMsgGCCStrike15_v2_ServerNotificationForUserPenalty": 9118, "k_EMsgGCCStrike15_v2_ClientReportPlayer": 9119, @@ -1048,6 +1045,7 @@ type GlobalStatistics struct { ActiveSurveyId *uint32 `protobuf:"varint,13,opt,name=active_survey_id,json=activeSurveyId" json:"active_survey_id,omitempty"` Rtime32Cur *uint32 `protobuf:"varint,14,opt,name=rtime32_cur,json=rtime32Cur" json:"rtime32_cur,omitempty"` Rtime32EventStart *uint32 `protobuf:"varint,15,opt,name=rtime32_event_start,json=rtime32EventStart" json:"rtime32_event_start,omitempty"` + RequiredAppidVersion2 *uint32 `protobuf:"varint,16,opt,name=required_appid_version2,json=requiredAppidVersion2" json:"required_appid_version2,omitempty"` } func (x *GlobalStatistics) Reset() { @@ -1187,6 +1185,13 @@ func (x *GlobalStatistics) GetRtime32EventStart() uint32 { return 0 } +func (x *GlobalStatistics) GetRequiredAppidVersion2() uint32 { + if x != nil && x.RequiredAppidVersion2 != nil { + return *x.RequiredAppidVersion2 + } + return 0 +} + type OperationalStatisticDescription struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2833,69 +2838,6 @@ func (x *CMsgGC_ServerQuestUpdateData) GetMissionlbsdata() *ScoreLeaderboardData return nil } -type CMsgGCCStrike15V2_MatchmakingGCOperationalStats struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Packetid *int32 `protobuf:"varint,1,opt,name=packetid" json:"packetid,omitempty"` - Namekeys []*OperationalStatisticDescription `protobuf:"bytes,2,rep,name=namekeys" json:"namekeys,omitempty"` - Packets []*OperationalStatisticsPacket `protobuf:"bytes,3,rep,name=packets" json:"packets,omitempty"` -} - -func (x *CMsgGCCStrike15V2_MatchmakingGCOperationalStats) Reset() { - *x = CMsgGCCStrike15V2_MatchmakingGCOperationalStats{} - if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CMsgGCCStrike15V2_MatchmakingGCOperationalStats) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CMsgGCCStrike15V2_MatchmakingGCOperationalStats) ProtoMessage() {} - -func (x *CMsgGCCStrike15V2_MatchmakingGCOperationalStats) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_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 CMsgGCCStrike15V2_MatchmakingGCOperationalStats.ProtoReflect.Descriptor instead. -func (*CMsgGCCStrike15V2_MatchmakingGCOperationalStats) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{25} -} - -func (x *CMsgGCCStrike15V2_MatchmakingGCOperationalStats) GetPacketid() int32 { - if x != nil && x.Packetid != nil { - return *x.Packetid - } - return 0 -} - -func (x *CMsgGCCStrike15V2_MatchmakingGCOperationalStats) GetNamekeys() []*OperationalStatisticDescription { - if x != nil { - return x.Namekeys - } - return nil -} - -func (x *CMsgGCCStrike15V2_MatchmakingGCOperationalStats) GetPackets() []*OperationalStatisticsPacket { - if x != nil { - return x.Packets - } - return nil -} - type CMsgGCCStrike15V2_MatchmakingGC2ServerConfirm struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2909,7 +2851,7 @@ type CMsgGCCStrike15V2_MatchmakingGC2ServerConfirm struct { func (x *CMsgGCCStrike15V2_MatchmakingGC2ServerConfirm) Reset() { *x = CMsgGCCStrike15V2_MatchmakingGC2ServerConfirm{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[26] + mi := &file_cstrike15_gcmessages_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2922,7 +2864,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingGC2ServerConfirm) String() string { func (*CMsgGCCStrike15V2_MatchmakingGC2ServerConfirm) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchmakingGC2ServerConfirm) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[26] + mi := &file_cstrike15_gcmessages_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2935,7 +2877,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingGC2ServerConfirm) ProtoReflect() protorefl // Deprecated: Use CMsgGCCStrike15V2_MatchmakingGC2ServerConfirm.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchmakingGC2ServerConfirm) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{26} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{25} } func (x *CMsgGCCStrike15V2_MatchmakingGC2ServerConfirm) GetToken() uint32 { @@ -2971,7 +2913,7 @@ type CMsgGCCStrike15V2_GC2ServerReservationUpdate struct { func (x *CMsgGCCStrike15V2_GC2ServerReservationUpdate) Reset() { *x = CMsgGCCStrike15V2_GC2ServerReservationUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[27] + mi := &file_cstrike15_gcmessages_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2984,7 +2926,7 @@ func (x *CMsgGCCStrike15V2_GC2ServerReservationUpdate) String() string { func (*CMsgGCCStrike15V2_GC2ServerReservationUpdate) ProtoMessage() {} func (x *CMsgGCCStrike15V2_GC2ServerReservationUpdate) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[27] + mi := &file_cstrike15_gcmessages_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2997,7 +2939,7 @@ func (x *CMsgGCCStrike15V2_GC2ServerReservationUpdate) ProtoReflect() protorefle // Deprecated: Use CMsgGCCStrike15V2_GC2ServerReservationUpdate.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_GC2ServerReservationUpdate) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{27} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{26} } func (x *CMsgGCCStrike15V2_GC2ServerReservationUpdate) GetViewersExternalTotal() uint32 { @@ -3032,7 +2974,7 @@ type CMsgGCCStrike15V2_MatchmakingStart struct { func (x *CMsgGCCStrike15V2_MatchmakingStart) Reset() { *x = CMsgGCCStrike15V2_MatchmakingStart{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[28] + mi := &file_cstrike15_gcmessages_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3045,7 +2987,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingStart) String() string { func (*CMsgGCCStrike15V2_MatchmakingStart) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchmakingStart) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[28] + mi := &file_cstrike15_gcmessages_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3058,7 +3000,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingStart) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgGCCStrike15V2_MatchmakingStart.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchmakingStart) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{28} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{27} } func (x *CMsgGCCStrike15V2_MatchmakingStart) GetAccountIds() []uint32 { @@ -3128,7 +3070,7 @@ type CMsgGCCStrike15V2_MatchmakingStop struct { func (x *CMsgGCCStrike15V2_MatchmakingStop) Reset() { *x = CMsgGCCStrike15V2_MatchmakingStop{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[29] + mi := &file_cstrike15_gcmessages_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3141,7 +3083,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingStop) String() string { func (*CMsgGCCStrike15V2_MatchmakingStop) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchmakingStop) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[29] + mi := &file_cstrike15_gcmessages_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3154,7 +3096,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingStop) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgGCCStrike15V2_MatchmakingStop.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchmakingStop) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{29} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{28} } func (x *CMsgGCCStrike15V2_MatchmakingStop) GetAbandon() int32 { @@ -3180,7 +3122,7 @@ type CMsgGCCStrike15V2_MatchmakingClient2ServerPing struct { func (x *CMsgGCCStrike15V2_MatchmakingClient2ServerPing) Reset() { *x = CMsgGCCStrike15V2_MatchmakingClient2ServerPing{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[30] + mi := &file_cstrike15_gcmessages_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3193,7 +3135,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingClient2ServerPing) String() string { func (*CMsgGCCStrike15V2_MatchmakingClient2ServerPing) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchmakingClient2ServerPing) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[30] + mi := &file_cstrike15_gcmessages_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3206,7 +3148,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingClient2ServerPing) ProtoReflect() protoref // Deprecated: Use CMsgGCCStrike15V2_MatchmakingClient2ServerPing.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchmakingClient2ServerPing) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{30} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{29} } func (x *CMsgGCCStrike15V2_MatchmakingClient2ServerPing) GetGameserverpings() []*GameServerPing { @@ -3277,7 +3219,7 @@ type CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate struct { func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate) Reset() { *x = CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[31] + mi := &file_cstrike15_gcmessages_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3290,7 +3232,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate) String() string { func (*CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[31] + mi := &file_cstrike15_gcmessages_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3303,7 +3245,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate) ProtoReflect() protorefle // Deprecated: Use CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{31} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{30} } func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate) GetMatchmaking() int32 { @@ -3423,22 +3365,32 @@ type CDataGCCStrike15V2_TournamentMatchDraft struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - EventId *int32 `protobuf:"varint,1,opt,name=event_id,json=eventId" json:"event_id,omitempty"` - EventStageId *int32 `protobuf:"varint,2,opt,name=event_stage_id,json=eventStageId" json:"event_stage_id,omitempty"` - TeamId_0 *int32 `protobuf:"varint,3,opt,name=team_id_0,json=teamId0" json:"team_id_0,omitempty"` - TeamId_1 *int32 `protobuf:"varint,4,opt,name=team_id_1,json=teamId1" json:"team_id_1,omitempty"` - MapsCount *int32 `protobuf:"varint,5,opt,name=maps_count,json=mapsCount" json:"maps_count,omitempty"` - MapsCurrent *int32 `protobuf:"varint,6,opt,name=maps_current,json=mapsCurrent" json:"maps_current,omitempty"` - TeamIdStart *int32 `protobuf:"varint,7,opt,name=team_id_start,json=teamIdStart" json:"team_id_start,omitempty"` - TeamIdVeto1 *int32 `protobuf:"varint,8,opt,name=team_id_veto1,json=teamIdVeto1" json:"team_id_veto1,omitempty"` - TeamIdPickn *int32 `protobuf:"varint,9,opt,name=team_id_pickn,json=teamIdPickn" json:"team_id_pickn,omitempty"` - Drafts []*CDataGCCStrike15V2_TournamentMatchDraft_Entry `protobuf:"bytes,10,rep,name=drafts" json:"drafts,omitempty"` + EventId *int32 `protobuf:"varint,1,opt,name=event_id,json=eventId" json:"event_id,omitempty"` + EventStageId *int32 `protobuf:"varint,2,opt,name=event_stage_id,json=eventStageId" json:"event_stage_id,omitempty"` + TeamId_0 *int32 `protobuf:"varint,3,opt,name=team_id_0,json=teamId0" json:"team_id_0,omitempty"` + TeamId_1 *int32 `protobuf:"varint,4,opt,name=team_id_1,json=teamId1" json:"team_id_1,omitempty"` + MapsCount *int32 `protobuf:"varint,5,opt,name=maps_count,json=mapsCount" json:"maps_count,omitempty"` + MapsCurrent *int32 `protobuf:"varint,6,opt,name=maps_current,json=mapsCurrent" json:"maps_current,omitempty"` + TeamIdStart *int32 `protobuf:"varint,7,opt,name=team_id_start,json=teamIdStart" json:"team_id_start,omitempty"` + TeamIdVeto1 *int32 `protobuf:"varint,8,opt,name=team_id_veto1,json=teamIdVeto1" json:"team_id_veto1,omitempty"` + TeamIdPickn *int32 `protobuf:"varint,9,opt,name=team_id_pickn,json=teamIdPickn" json:"team_id_pickn,omitempty"` + Drafts []*CDataGCCStrike15V2_TournamentMatchDraft_Entry `protobuf:"bytes,10,rep,name=drafts" json:"drafts,omitempty"` + VoteMapid_0 []int32 `protobuf:"varint,11,rep,name=vote_mapid_0,json=voteMapid0" json:"vote_mapid_0,omitempty"` + VoteMapid_1 []int32 `protobuf:"varint,12,rep,name=vote_mapid_1,json=voteMapid1" json:"vote_mapid_1,omitempty"` + VoteMapid_2 []int32 `protobuf:"varint,13,rep,name=vote_mapid_2,json=voteMapid2" json:"vote_mapid_2,omitempty"` + VoteMapid_3 []int32 `protobuf:"varint,14,rep,name=vote_mapid_3,json=voteMapid3" json:"vote_mapid_3,omitempty"` + VoteMapid_4 []int32 `protobuf:"varint,15,rep,name=vote_mapid_4,json=voteMapid4" json:"vote_mapid_4,omitempty"` + VoteMapid_5 []int32 `protobuf:"varint,16,rep,name=vote_mapid_5,json=voteMapid5" json:"vote_mapid_5,omitempty"` + VoteStartingSide []int32 `protobuf:"varint,17,rep,name=vote_starting_side,json=voteStartingSide" json:"vote_starting_side,omitempty"` + VotePhase *int32 `protobuf:"varint,18,opt,name=vote_phase,json=votePhase" json:"vote_phase,omitempty"` + VotePhaseStart *float32 `protobuf:"fixed32,19,opt,name=vote_phase_start,json=votePhaseStart" json:"vote_phase_start,omitempty"` + VotePhaseLength *float32 `protobuf:"fixed32,20,opt,name=vote_phase_length,json=votePhaseLength" json:"vote_phase_length,omitempty"` } func (x *CDataGCCStrike15V2_TournamentMatchDraft) Reset() { *x = CDataGCCStrike15V2_TournamentMatchDraft{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[32] + mi := &file_cstrike15_gcmessages_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3451,7 +3403,7 @@ func (x *CDataGCCStrike15V2_TournamentMatchDraft) String() string { func (*CDataGCCStrike15V2_TournamentMatchDraft) ProtoMessage() {} func (x *CDataGCCStrike15V2_TournamentMatchDraft) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[32] + mi := &file_cstrike15_gcmessages_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3464,7 +3416,7 @@ func (x *CDataGCCStrike15V2_TournamentMatchDraft) ProtoReflect() protoreflect.Me // Deprecated: Use CDataGCCStrike15V2_TournamentMatchDraft.ProtoReflect.Descriptor instead. func (*CDataGCCStrike15V2_TournamentMatchDraft) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{32} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{31} } func (x *CDataGCCStrike15V2_TournamentMatchDraft) GetEventId() int32 { @@ -3537,6 +3489,76 @@ func (x *CDataGCCStrike15V2_TournamentMatchDraft) GetDrafts() []*CDataGCCStrike1 return nil } +func (x *CDataGCCStrike15V2_TournamentMatchDraft) GetVoteMapid_0() []int32 { + if x != nil { + return x.VoteMapid_0 + } + return nil +} + +func (x *CDataGCCStrike15V2_TournamentMatchDraft) GetVoteMapid_1() []int32 { + if x != nil { + return x.VoteMapid_1 + } + return nil +} + +func (x *CDataGCCStrike15V2_TournamentMatchDraft) GetVoteMapid_2() []int32 { + if x != nil { + return x.VoteMapid_2 + } + return nil +} + +func (x *CDataGCCStrike15V2_TournamentMatchDraft) GetVoteMapid_3() []int32 { + if x != nil { + return x.VoteMapid_3 + } + return nil +} + +func (x *CDataGCCStrike15V2_TournamentMatchDraft) GetVoteMapid_4() []int32 { + if x != nil { + return x.VoteMapid_4 + } + return nil +} + +func (x *CDataGCCStrike15V2_TournamentMatchDraft) GetVoteMapid_5() []int32 { + if x != nil { + return x.VoteMapid_5 + } + return nil +} + +func (x *CDataGCCStrike15V2_TournamentMatchDraft) GetVoteStartingSide() []int32 { + if x != nil { + return x.VoteStartingSide + } + return nil +} + +func (x *CDataGCCStrike15V2_TournamentMatchDraft) GetVotePhase() int32 { + if x != nil && x.VotePhase != nil { + return *x.VotePhase + } + return 0 +} + +func (x *CDataGCCStrike15V2_TournamentMatchDraft) GetVotePhaseStart() float32 { + if x != nil && x.VotePhaseStart != nil { + return *x.VotePhaseStart + } + return 0 +} + +func (x *CDataGCCStrike15V2_TournamentMatchDraft) GetVotePhaseLength() float32 { + if x != nil && x.VotePhaseLength != nil { + return *x.VotePhaseLength + } + return 0 +} + type CPreMatchInfoData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3551,7 +3573,7 @@ type CPreMatchInfoData struct { func (x *CPreMatchInfoData) Reset() { *x = CPreMatchInfoData{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[33] + mi := &file_cstrike15_gcmessages_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3564,7 +3586,7 @@ func (x *CPreMatchInfoData) String() string { func (*CPreMatchInfoData) ProtoMessage() {} func (x *CPreMatchInfoData) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[33] + mi := &file_cstrike15_gcmessages_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3577,7 +3599,7 @@ func (x *CPreMatchInfoData) ProtoReflect() protoreflect.Message { // Deprecated: Use CPreMatchInfoData.ProtoReflect.Descriptor instead. func (*CPreMatchInfoData) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{33} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{32} } func (x *CPreMatchInfoData) GetPredictionsPct() int32 { @@ -3636,7 +3658,7 @@ type CMsgGCCStrike15V2_MatchmakingGC2ServerReserve struct { func (x *CMsgGCCStrike15V2_MatchmakingGC2ServerReserve) Reset() { *x = CMsgGCCStrike15V2_MatchmakingGC2ServerReserve{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[34] + mi := &file_cstrike15_gcmessages_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3649,7 +3671,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingGC2ServerReserve) String() string { func (*CMsgGCCStrike15V2_MatchmakingGC2ServerReserve) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchmakingGC2ServerReserve) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[34] + mi := &file_cstrike15_gcmessages_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3662,7 +3684,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingGC2ServerReserve) ProtoReflect() protorefl // Deprecated: Use CMsgGCCStrike15V2_MatchmakingGC2ServerReserve.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchmakingGC2ServerReserve) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{34} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{33} } func (x *CMsgGCCStrike15V2_MatchmakingGC2ServerReserve) GetAccountIds() []uint32 { @@ -3818,7 +3840,7 @@ type CMsgGCCStrike15V2_MatchmakingServerReservationResponse struct { func (x *CMsgGCCStrike15V2_MatchmakingServerReservationResponse) Reset() { *x = CMsgGCCStrike15V2_MatchmakingServerReservationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[35] + mi := &file_cstrike15_gcmessages_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3831,7 +3853,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingServerReservationResponse) String() string func (*CMsgGCCStrike15V2_MatchmakingServerReservationResponse) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchmakingServerReservationResponse) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[35] + mi := &file_cstrike15_gcmessages_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3844,7 +3866,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingServerReservationResponse) ProtoReflect() // Deprecated: Use CMsgGCCStrike15V2_MatchmakingServerReservationResponse.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchmakingServerReservationResponse) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{35} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{34} } func (x *CMsgGCCStrike15V2_MatchmakingServerReservationResponse) GetReservationid() uint64 { @@ -3983,7 +4005,7 @@ type CMsgGCCStrike15V2_MatchmakingGC2ClientReserve struct { func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientReserve) Reset() { *x = CMsgGCCStrike15V2_MatchmakingGC2ClientReserve{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[36] + mi := &file_cstrike15_gcmessages_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3996,7 +4018,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientReserve) String() string { func (*CMsgGCCStrike15V2_MatchmakingGC2ClientReserve) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientReserve) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[36] + mi := &file_cstrike15_gcmessages_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4009,7 +4031,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientReserve) ProtoReflect() protorefl // Deprecated: Use CMsgGCCStrike15V2_MatchmakingGC2ClientReserve.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchmakingGC2ClientReserve) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{36} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{35} } func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientReserve) GetServerid() uint64 { @@ -4102,7 +4124,7 @@ type CMsgGCCStrike15V2_MatchmakingServerRoundStats struct { func (x *CMsgGCCStrike15V2_MatchmakingServerRoundStats) Reset() { *x = CMsgGCCStrike15V2_MatchmakingServerRoundStats{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[37] + mi := &file_cstrike15_gcmessages_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4115,7 +4137,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingServerRoundStats) String() string { func (*CMsgGCCStrike15V2_MatchmakingServerRoundStats) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchmakingServerRoundStats) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[37] + mi := &file_cstrike15_gcmessages_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4128,7 +4150,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingServerRoundStats) ProtoReflect() protorefl // Deprecated: Use CMsgGCCStrike15V2_MatchmakingServerRoundStats.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchmakingServerRoundStats) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{37} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{36} } func (x *CMsgGCCStrike15V2_MatchmakingServerRoundStats) GetReservationid() uint64 { @@ -4357,7 +4379,7 @@ type CMsgGCCStrike15V2_MatchmakingClient2GCHello struct { func (x *CMsgGCCStrike15V2_MatchmakingClient2GCHello) Reset() { *x = CMsgGCCStrike15V2_MatchmakingClient2GCHello{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[38] + mi := &file_cstrike15_gcmessages_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4370,7 +4392,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingClient2GCHello) String() string { func (*CMsgGCCStrike15V2_MatchmakingClient2GCHello) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchmakingClient2GCHello) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[38] + mi := &file_cstrike15_gcmessages_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4383,7 +4405,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingClient2GCHello) ProtoReflect() protoreflec // Deprecated: Use CMsgGCCStrike15V2_MatchmakingClient2GCHello.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchmakingClient2GCHello) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{38} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{37} } type CMsgGCCStrike15V2_MatchmakingGC2ClientHello struct { @@ -4415,7 +4437,7 @@ type CMsgGCCStrike15V2_MatchmakingGC2ClientHello struct { func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientHello) Reset() { *x = CMsgGCCStrike15V2_MatchmakingGC2ClientHello{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[39] + mi := &file_cstrike15_gcmessages_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4428,7 +4450,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientHello) String() string { func (*CMsgGCCStrike15V2_MatchmakingGC2ClientHello) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientHello) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[39] + mi := &file_cstrike15_gcmessages_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4441,7 +4463,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientHello) ProtoReflect() protoreflec // Deprecated: Use CMsgGCCStrike15V2_MatchmakingGC2ClientHello.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchmakingGC2ClientHello) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{39} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{38} } func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientHello) GetAccountId() uint32 { @@ -4588,7 +4610,7 @@ type CMsgGCCStrike15V2_AccountPrivacySettings struct { func (x *CMsgGCCStrike15V2_AccountPrivacySettings) Reset() { *x = CMsgGCCStrike15V2_AccountPrivacySettings{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[40] + mi := &file_cstrike15_gcmessages_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4601,7 +4623,7 @@ func (x *CMsgGCCStrike15V2_AccountPrivacySettings) String() string { func (*CMsgGCCStrike15V2_AccountPrivacySettings) ProtoMessage() {} func (x *CMsgGCCStrike15V2_AccountPrivacySettings) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[40] + mi := &file_cstrike15_gcmessages_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4614,7 +4636,7 @@ func (x *CMsgGCCStrike15V2_AccountPrivacySettings) ProtoReflect() protoreflect.M // Deprecated: Use CMsgGCCStrike15V2_AccountPrivacySettings.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_AccountPrivacySettings) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{40} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{39} } func (x *CMsgGCCStrike15V2_AccountPrivacySettings) GetSettings() []*CMsgGCCStrike15V2_AccountPrivacySettings_Setting { @@ -4638,7 +4660,7 @@ type CMsgGCCStrike15V2_MatchmakingGC2ClientAbandon struct { func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientAbandon) Reset() { *x = CMsgGCCStrike15V2_MatchmakingGC2ClientAbandon{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[41] + mi := &file_cstrike15_gcmessages_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4651,7 +4673,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientAbandon) String() string { func (*CMsgGCCStrike15V2_MatchmakingGC2ClientAbandon) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientAbandon) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[41] + mi := &file_cstrike15_gcmessages_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4664,7 +4686,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientAbandon) ProtoReflect() protorefl // Deprecated: Use CMsgGCCStrike15V2_MatchmakingGC2ClientAbandon.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchmakingGC2ClientAbandon) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{41} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{40} } func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientAbandon) GetAccountId() uint32 { @@ -4706,7 +4728,7 @@ type CMsgGCCStrike15V2_ClientGCRankUpdate struct { func (x *CMsgGCCStrike15V2_ClientGCRankUpdate) Reset() { *x = CMsgGCCStrike15V2_ClientGCRankUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[42] + mi := &file_cstrike15_gcmessages_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4719,7 +4741,7 @@ func (x *CMsgGCCStrike15V2_ClientGCRankUpdate) String() string { func (*CMsgGCCStrike15V2_ClientGCRankUpdate) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientGCRankUpdate) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[42] + mi := &file_cstrike15_gcmessages_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4732,7 +4754,7 @@ func (x *CMsgGCCStrike15V2_ClientGCRankUpdate) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgGCCStrike15V2_ClientGCRankUpdate.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientGCRankUpdate) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{42} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{41} } func (x *CMsgGCCStrike15V2_ClientGCRankUpdate) GetRankings() []*PlayerRankingInfo { @@ -4753,7 +4775,7 @@ type CMsgGCCStrike15V2_MatchmakingOperator2GCBlogUpdate struct { func (x *CMsgGCCStrike15V2_MatchmakingOperator2GCBlogUpdate) Reset() { *x = CMsgGCCStrike15V2_MatchmakingOperator2GCBlogUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[43] + mi := &file_cstrike15_gcmessages_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4766,7 +4788,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingOperator2GCBlogUpdate) String() string { func (*CMsgGCCStrike15V2_MatchmakingOperator2GCBlogUpdate) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchmakingOperator2GCBlogUpdate) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[43] + mi := &file_cstrike15_gcmessages_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4779,7 +4801,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingOperator2GCBlogUpdate) ProtoReflect() prot // Deprecated: Use CMsgGCCStrike15V2_MatchmakingOperator2GCBlogUpdate.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchmakingOperator2GCBlogUpdate) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{43} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{42} } func (x *CMsgGCCStrike15V2_MatchmakingOperator2GCBlogUpdate) GetMainPostUrl() string { @@ -4803,7 +4825,7 @@ type CMsgGCCStrike15V2_ServerNotificationForUserPenalty struct { func (x *CMsgGCCStrike15V2_ServerNotificationForUserPenalty) Reset() { *x = CMsgGCCStrike15V2_ServerNotificationForUserPenalty{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[44] + mi := &file_cstrike15_gcmessages_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4816,7 +4838,7 @@ func (x *CMsgGCCStrike15V2_ServerNotificationForUserPenalty) String() string { func (*CMsgGCCStrike15V2_ServerNotificationForUserPenalty) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ServerNotificationForUserPenalty) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[44] + mi := &file_cstrike15_gcmessages_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4829,7 +4851,7 @@ func (x *CMsgGCCStrike15V2_ServerNotificationForUserPenalty) ProtoReflect() prot // Deprecated: Use CMsgGCCStrike15V2_ServerNotificationForUserPenalty.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ServerNotificationForUserPenalty) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{44} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{43} } func (x *CMsgGCCStrike15V2_ServerNotificationForUserPenalty) GetAccountId() uint32 { @@ -4879,7 +4901,7 @@ type CMsgGCCStrike15V2_ClientReportPlayer struct { func (x *CMsgGCCStrike15V2_ClientReportPlayer) Reset() { *x = CMsgGCCStrike15V2_ClientReportPlayer{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[45] + mi := &file_cstrike15_gcmessages_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4892,7 +4914,7 @@ func (x *CMsgGCCStrike15V2_ClientReportPlayer) String() string { func (*CMsgGCCStrike15V2_ClientReportPlayer) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientReportPlayer) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[45] + mi := &file_cstrike15_gcmessages_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4905,7 +4927,7 @@ func (x *CMsgGCCStrike15V2_ClientReportPlayer) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgGCCStrike15V2_ClientReportPlayer.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientReportPlayer) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{45} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{44} } func (x *CMsgGCCStrike15V2_ClientReportPlayer) GetAccountId() uint32 { @@ -4985,7 +5007,7 @@ type CMsgGCCStrike15V2_ClientCommendPlayer struct { func (x *CMsgGCCStrike15V2_ClientCommendPlayer) Reset() { *x = CMsgGCCStrike15V2_ClientCommendPlayer{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[46] + mi := &file_cstrike15_gcmessages_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4998,7 +5020,7 @@ func (x *CMsgGCCStrike15V2_ClientCommendPlayer) String() string { func (*CMsgGCCStrike15V2_ClientCommendPlayer) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientCommendPlayer) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[46] + mi := &file_cstrike15_gcmessages_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5011,7 +5033,7 @@ func (x *CMsgGCCStrike15V2_ClientCommendPlayer) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgGCCStrike15V2_ClientCommendPlayer.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientCommendPlayer) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{46} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{45} } func (x *CMsgGCCStrike15V2_ClientCommendPlayer) GetAccountId() uint32 { @@ -5058,7 +5080,7 @@ type CMsgGCCStrike15V2_ClientReportServer struct { func (x *CMsgGCCStrike15V2_ClientReportServer) Reset() { *x = CMsgGCCStrike15V2_ClientReportServer{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[47] + mi := &file_cstrike15_gcmessages_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5071,7 +5093,7 @@ func (x *CMsgGCCStrike15V2_ClientReportServer) String() string { func (*CMsgGCCStrike15V2_ClientReportServer) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientReportServer) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[47] + mi := &file_cstrike15_gcmessages_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5084,7 +5106,7 @@ func (x *CMsgGCCStrike15V2_ClientReportServer) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgGCCStrike15V2_ClientReportServer.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientReportServer) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{47} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{46} } func (x *CMsgGCCStrike15V2_ClientReportServer) GetRptPoorperf() uint32 { @@ -5145,7 +5167,7 @@ type CMsgGCCStrike15V2_ClientReportResponse struct { func (x *CMsgGCCStrike15V2_ClientReportResponse) Reset() { *x = CMsgGCCStrike15V2_ClientReportResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[48] + mi := &file_cstrike15_gcmessages_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5158,7 +5180,7 @@ func (x *CMsgGCCStrike15V2_ClientReportResponse) String() string { func (*CMsgGCCStrike15V2_ClientReportResponse) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientReportResponse) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[48] + mi := &file_cstrike15_gcmessages_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5171,7 +5193,7 @@ func (x *CMsgGCCStrike15V2_ClientReportResponse) ProtoReflect() protoreflect.Mes // Deprecated: Use CMsgGCCStrike15V2_ClientReportResponse.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientReportResponse) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{48} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{47} } func (x *CMsgGCCStrike15V2_ClientReportResponse) GetConfirmationId() uint64 { @@ -5232,7 +5254,7 @@ type CMsgGCCStrike15V2_ClientRequestWatchInfoFriends struct { func (x *CMsgGCCStrike15V2_ClientRequestWatchInfoFriends) Reset() { *x = CMsgGCCStrike15V2_ClientRequestWatchInfoFriends{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[49] + mi := &file_cstrike15_gcmessages_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5245,7 +5267,7 @@ func (x *CMsgGCCStrike15V2_ClientRequestWatchInfoFriends) String() string { func (*CMsgGCCStrike15V2_ClientRequestWatchInfoFriends) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientRequestWatchInfoFriends) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[49] + mi := &file_cstrike15_gcmessages_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5258,7 +5280,7 @@ func (x *CMsgGCCStrike15V2_ClientRequestWatchInfoFriends) ProtoReflect() protore // Deprecated: Use CMsgGCCStrike15V2_ClientRequestWatchInfoFriends.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientRequestWatchInfoFriends) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{49} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{48} } func (x *CMsgGCCStrike15V2_ClientRequestWatchInfoFriends) GetRequestId() uint32 { @@ -5326,7 +5348,7 @@ type WatchableMatchInfo struct { func (x *WatchableMatchInfo) Reset() { *x = WatchableMatchInfo{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[50] + mi := &file_cstrike15_gcmessages_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5339,7 +5361,7 @@ func (x *WatchableMatchInfo) String() string { func (*WatchableMatchInfo) ProtoMessage() {} func (x *WatchableMatchInfo) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[50] + mi := &file_cstrike15_gcmessages_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5352,7 +5374,7 @@ func (x *WatchableMatchInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use WatchableMatchInfo.ProtoReflect.Descriptor instead. func (*WatchableMatchInfo) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{50} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{49} } func (x *WatchableMatchInfo) GetServerIp() uint32 { @@ -5462,7 +5484,7 @@ type CMsgGCCStrike15V2_ClientRequestJoinFriendData struct { func (x *CMsgGCCStrike15V2_ClientRequestJoinFriendData) Reset() { *x = CMsgGCCStrike15V2_ClientRequestJoinFriendData{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[51] + mi := &file_cstrike15_gcmessages_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5475,7 +5497,7 @@ func (x *CMsgGCCStrike15V2_ClientRequestJoinFriendData) String() string { func (*CMsgGCCStrike15V2_ClientRequestJoinFriendData) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientRequestJoinFriendData) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[51] + mi := &file_cstrike15_gcmessages_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5488,7 +5510,7 @@ func (x *CMsgGCCStrike15V2_ClientRequestJoinFriendData) ProtoReflect() protorefl // Deprecated: Use CMsgGCCStrike15V2_ClientRequestJoinFriendData.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientRequestJoinFriendData) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{51} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{50} } func (x *CMsgGCCStrike15V2_ClientRequestJoinFriendData) GetVersion() uint32 { @@ -5550,7 +5572,7 @@ type CMsgGCCStrike15V2_ClientRequestJoinServerData struct { func (x *CMsgGCCStrike15V2_ClientRequestJoinServerData) Reset() { *x = CMsgGCCStrike15V2_ClientRequestJoinServerData{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[52] + mi := &file_cstrike15_gcmessages_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5563,7 +5585,7 @@ func (x *CMsgGCCStrike15V2_ClientRequestJoinServerData) String() string { func (*CMsgGCCStrike15V2_ClientRequestJoinServerData) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientRequestJoinServerData) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[52] + mi := &file_cstrike15_gcmessages_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5576,7 +5598,7 @@ func (x *CMsgGCCStrike15V2_ClientRequestJoinServerData) ProtoReflect() protorefl // Deprecated: Use CMsgGCCStrike15V2_ClientRequestJoinServerData.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientRequestJoinServerData) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{52} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{51} } func (x *CMsgGCCStrike15V2_ClientRequestJoinServerData) GetVersion() uint32 { @@ -5640,7 +5662,7 @@ type CMsgGCCstrike15V2_ClientRequestNewMission struct { func (x *CMsgGCCstrike15V2_ClientRequestNewMission) Reset() { *x = CMsgGCCstrike15V2_ClientRequestNewMission{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[53] + mi := &file_cstrike15_gcmessages_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5653,7 +5675,7 @@ func (x *CMsgGCCstrike15V2_ClientRequestNewMission) String() string { func (*CMsgGCCstrike15V2_ClientRequestNewMission) ProtoMessage() {} func (x *CMsgGCCstrike15V2_ClientRequestNewMission) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[53] + mi := &file_cstrike15_gcmessages_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5666,7 +5688,7 @@ func (x *CMsgGCCstrike15V2_ClientRequestNewMission) ProtoReflect() protoreflect. // Deprecated: Use CMsgGCCstrike15V2_ClientRequestNewMission.ProtoReflect.Descriptor instead. func (*CMsgGCCstrike15V2_ClientRequestNewMission) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{53} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{52} } func (x *CMsgGCCstrike15V2_ClientRequestNewMission) GetMissionId() uint32 { @@ -5697,7 +5719,7 @@ type CMsgGCCstrike15V2_ClientRedeemMissionReward struct { func (x *CMsgGCCstrike15V2_ClientRedeemMissionReward) Reset() { *x = CMsgGCCstrike15V2_ClientRedeemMissionReward{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[54] + mi := &file_cstrike15_gcmessages_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5710,7 +5732,7 @@ func (x *CMsgGCCstrike15V2_ClientRedeemMissionReward) String() string { func (*CMsgGCCstrike15V2_ClientRedeemMissionReward) ProtoMessage() {} func (x *CMsgGCCstrike15V2_ClientRedeemMissionReward) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[54] + mi := &file_cstrike15_gcmessages_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5723,7 +5745,7 @@ func (x *CMsgGCCstrike15V2_ClientRedeemMissionReward) ProtoReflect() protoreflec // Deprecated: Use CMsgGCCstrike15V2_ClientRedeemMissionReward.ProtoReflect.Descriptor instead. func (*CMsgGCCstrike15V2_ClientRedeemMissionReward) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{54} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{53} } func (x *CMsgGCCstrike15V2_ClientRedeemMissionReward) GetCampaignId() uint32 { @@ -5770,7 +5792,7 @@ type CMsgGCCstrike15V2_GC2ServerNotifyXPRewarded struct { func (x *CMsgGCCstrike15V2_GC2ServerNotifyXPRewarded) Reset() { *x = CMsgGCCstrike15V2_GC2ServerNotifyXPRewarded{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[55] + mi := &file_cstrike15_gcmessages_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5783,7 +5805,7 @@ func (x *CMsgGCCstrike15V2_GC2ServerNotifyXPRewarded) String() string { func (*CMsgGCCstrike15V2_GC2ServerNotifyXPRewarded) ProtoMessage() {} func (x *CMsgGCCstrike15V2_GC2ServerNotifyXPRewarded) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[55] + mi := &file_cstrike15_gcmessages_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5796,7 +5818,7 @@ func (x *CMsgGCCstrike15V2_GC2ServerNotifyXPRewarded) ProtoReflect() protoreflec // Deprecated: Use CMsgGCCstrike15V2_GC2ServerNotifyXPRewarded.ProtoReflect.Descriptor instead. func (*CMsgGCCstrike15V2_GC2ServerNotifyXPRewarded) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{55} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{54} } func (x *CMsgGCCstrike15V2_GC2ServerNotifyXPRewarded) GetXpProgressData() []*XpProgressData { @@ -5854,7 +5876,7 @@ type CMsgGCCStrike15_ClientDeepStats struct { func (x *CMsgGCCStrike15_ClientDeepStats) Reset() { *x = CMsgGCCStrike15_ClientDeepStats{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[56] + mi := &file_cstrike15_gcmessages_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5867,7 +5889,7 @@ func (x *CMsgGCCStrike15_ClientDeepStats) String() string { func (*CMsgGCCStrike15_ClientDeepStats) ProtoMessage() {} func (x *CMsgGCCStrike15_ClientDeepStats) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[56] + mi := &file_cstrike15_gcmessages_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5880,7 +5902,7 @@ func (x *CMsgGCCStrike15_ClientDeepStats) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCCStrike15_ClientDeepStats.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15_ClientDeepStats) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{56} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{55} } func (x *CMsgGCCStrike15_ClientDeepStats) GetAccountId() uint32 { @@ -5918,7 +5940,7 @@ type CMsgGCCStrike15V2_WatchInfoUsers struct { func (x *CMsgGCCStrike15V2_WatchInfoUsers) Reset() { *x = CMsgGCCStrike15V2_WatchInfoUsers{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[57] + mi := &file_cstrike15_gcmessages_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5931,7 +5953,7 @@ func (x *CMsgGCCStrike15V2_WatchInfoUsers) String() string { func (*CMsgGCCStrike15V2_WatchInfoUsers) ProtoMessage() {} func (x *CMsgGCCStrike15V2_WatchInfoUsers) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[57] + mi := &file_cstrike15_gcmessages_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5944,7 +5966,7 @@ func (x *CMsgGCCStrike15V2_WatchInfoUsers) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCCStrike15V2_WatchInfoUsers.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_WatchInfoUsers) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{57} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{56} } func (x *CMsgGCCStrike15V2_WatchInfoUsers) GetRequestId() uint32 { @@ -5989,7 +6011,7 @@ type CMsgGCCStrike15V2_ClientRequestPlayersProfile struct { func (x *CMsgGCCStrike15V2_ClientRequestPlayersProfile) Reset() { *x = CMsgGCCStrike15V2_ClientRequestPlayersProfile{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[58] + mi := &file_cstrike15_gcmessages_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6002,7 +6024,7 @@ func (x *CMsgGCCStrike15V2_ClientRequestPlayersProfile) String() string { func (*CMsgGCCStrike15V2_ClientRequestPlayersProfile) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientRequestPlayersProfile) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[58] + mi := &file_cstrike15_gcmessages_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6015,7 +6037,7 @@ func (x *CMsgGCCStrike15V2_ClientRequestPlayersProfile) ProtoReflect() protorefl // Deprecated: Use CMsgGCCStrike15V2_ClientRequestPlayersProfile.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientRequestPlayersProfile) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{58} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{57} } func (x *CMsgGCCStrike15V2_ClientRequestPlayersProfile) GetRequestId_Deprecated() uint32 { @@ -6058,7 +6080,7 @@ type CMsgGCCStrike15V2_PlayersProfile struct { func (x *CMsgGCCStrike15V2_PlayersProfile) Reset() { *x = CMsgGCCStrike15V2_PlayersProfile{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[59] + mi := &file_cstrike15_gcmessages_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6071,7 +6093,7 @@ func (x *CMsgGCCStrike15V2_PlayersProfile) String() string { func (*CMsgGCCStrike15V2_PlayersProfile) ProtoMessage() {} func (x *CMsgGCCStrike15V2_PlayersProfile) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[59] + mi := &file_cstrike15_gcmessages_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6084,7 +6106,7 @@ func (x *CMsgGCCStrike15V2_PlayersProfile) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCCStrike15V2_PlayersProfile.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_PlayersProfile) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{59} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{58} } func (x *CMsgGCCStrike15V2_PlayersProfile) GetRequestId() uint32 { @@ -6119,7 +6141,7 @@ type CMsgGCCStrike15V2_PlayerOverwatchCaseUpdate struct { func (x *CMsgGCCStrike15V2_PlayerOverwatchCaseUpdate) Reset() { *x = CMsgGCCStrike15V2_PlayerOverwatchCaseUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[60] + mi := &file_cstrike15_gcmessages_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6132,7 +6154,7 @@ func (x *CMsgGCCStrike15V2_PlayerOverwatchCaseUpdate) String() string { func (*CMsgGCCStrike15V2_PlayerOverwatchCaseUpdate) ProtoMessage() {} func (x *CMsgGCCStrike15V2_PlayerOverwatchCaseUpdate) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[60] + mi := &file_cstrike15_gcmessages_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6145,7 +6167,7 @@ func (x *CMsgGCCStrike15V2_PlayerOverwatchCaseUpdate) ProtoReflect() protoreflec // Deprecated: Use CMsgGCCStrike15V2_PlayerOverwatchCaseUpdate.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_PlayerOverwatchCaseUpdate) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{60} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{59} } func (x *CMsgGCCStrike15V2_PlayerOverwatchCaseUpdate) GetCaseid() uint64 { @@ -6225,7 +6247,7 @@ type CMsgGCCStrike15V2_PlayerOverwatchCaseAssignment struct { func (x *CMsgGCCStrike15V2_PlayerOverwatchCaseAssignment) Reset() { *x = CMsgGCCStrike15V2_PlayerOverwatchCaseAssignment{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[61] + mi := &file_cstrike15_gcmessages_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6238,7 +6260,7 @@ func (x *CMsgGCCStrike15V2_PlayerOverwatchCaseAssignment) String() string { func (*CMsgGCCStrike15V2_PlayerOverwatchCaseAssignment) ProtoMessage() {} func (x *CMsgGCCStrike15V2_PlayerOverwatchCaseAssignment) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[61] + mi := &file_cstrike15_gcmessages_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6251,7 +6273,7 @@ func (x *CMsgGCCStrike15V2_PlayerOverwatchCaseAssignment) ProtoReflect() protore // Deprecated: Use CMsgGCCStrike15V2_PlayerOverwatchCaseAssignment.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_PlayerOverwatchCaseAssignment) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{61} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{60} } func (x *CMsgGCCStrike15V2_PlayerOverwatchCaseAssignment) GetCaseid() uint64 { @@ -6343,7 +6365,7 @@ type CMsgGCCStrike15V2_PlayerOverwatchCaseStatus struct { func (x *CMsgGCCStrike15V2_PlayerOverwatchCaseStatus) Reset() { *x = CMsgGCCStrike15V2_PlayerOverwatchCaseStatus{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[62] + mi := &file_cstrike15_gcmessages_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6356,7 +6378,7 @@ func (x *CMsgGCCStrike15V2_PlayerOverwatchCaseStatus) String() string { func (*CMsgGCCStrike15V2_PlayerOverwatchCaseStatus) ProtoMessage() {} func (x *CMsgGCCStrike15V2_PlayerOverwatchCaseStatus) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[62] + mi := &file_cstrike15_gcmessages_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6369,7 +6391,7 @@ func (x *CMsgGCCStrike15V2_PlayerOverwatchCaseStatus) ProtoReflect() protoreflec // Deprecated: Use CMsgGCCStrike15V2_PlayerOverwatchCaseStatus.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_PlayerOverwatchCaseStatus) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{62} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{61} } func (x *CMsgGCCStrike15V2_PlayerOverwatchCaseStatus) GetCaseid() uint64 { @@ -6398,7 +6420,7 @@ type CClientHeaderOverwatchEvidence struct { func (x *CClientHeaderOverwatchEvidence) Reset() { *x = CClientHeaderOverwatchEvidence{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[63] + mi := &file_cstrike15_gcmessages_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6411,7 +6433,7 @@ func (x *CClientHeaderOverwatchEvidence) String() string { func (*CClientHeaderOverwatchEvidence) ProtoMessage() {} func (x *CClientHeaderOverwatchEvidence) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[63] + mi := &file_cstrike15_gcmessages_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6424,7 +6446,7 @@ func (x *CClientHeaderOverwatchEvidence) ProtoReflect() protoreflect.Message { // Deprecated: Use CClientHeaderOverwatchEvidence.ProtoReflect.Descriptor instead. func (*CClientHeaderOverwatchEvidence) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{63} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{62} } func (x *CClientHeaderOverwatchEvidence) GetAccountid() uint32 { @@ -6454,7 +6476,7 @@ type CMsgGCCStrike15V2_GC2ClientTextMsg struct { func (x *CMsgGCCStrike15V2_GC2ClientTextMsg) Reset() { *x = CMsgGCCStrike15V2_GC2ClientTextMsg{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[64] + mi := &file_cstrike15_gcmessages_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6467,7 +6489,7 @@ func (x *CMsgGCCStrike15V2_GC2ClientTextMsg) String() string { func (*CMsgGCCStrike15V2_GC2ClientTextMsg) ProtoMessage() {} func (x *CMsgGCCStrike15V2_GC2ClientTextMsg) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[64] + mi := &file_cstrike15_gcmessages_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6480,7 +6502,7 @@ func (x *CMsgGCCStrike15V2_GC2ClientTextMsg) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgGCCStrike15V2_GC2ClientTextMsg.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_GC2ClientTextMsg) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{64} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{63} } func (x *CMsgGCCStrike15V2_GC2ClientTextMsg) GetId() uint32 { @@ -6516,7 +6538,7 @@ type CMsgGCCStrike15V2_Client2GCTextMsg struct { func (x *CMsgGCCStrike15V2_Client2GCTextMsg) Reset() { *x = CMsgGCCStrike15V2_Client2GCTextMsg{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[65] + mi := &file_cstrike15_gcmessages_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6529,7 +6551,7 @@ func (x *CMsgGCCStrike15V2_Client2GCTextMsg) String() string { func (*CMsgGCCStrike15V2_Client2GCTextMsg) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Client2GCTextMsg) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[65] + mi := &file_cstrike15_gcmessages_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6542,7 +6564,7 @@ func (x *CMsgGCCStrike15V2_Client2GCTextMsg) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgGCCStrike15V2_Client2GCTextMsg.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Client2GCTextMsg) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{65} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{64} } func (x *CMsgGCCStrike15V2_Client2GCTextMsg) GetId() uint32 { @@ -6571,7 +6593,7 @@ type CMsgGCCStrike15V2_MatchEndRunRewardDrops struct { func (x *CMsgGCCStrike15V2_MatchEndRunRewardDrops) Reset() { *x = CMsgGCCStrike15V2_MatchEndRunRewardDrops{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[66] + mi := &file_cstrike15_gcmessages_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6584,7 +6606,7 @@ func (x *CMsgGCCStrike15V2_MatchEndRunRewardDrops) String() string { func (*CMsgGCCStrike15V2_MatchEndRunRewardDrops) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchEndRunRewardDrops) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[66] + mi := &file_cstrike15_gcmessages_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6597,7 +6619,7 @@ func (x *CMsgGCCStrike15V2_MatchEndRunRewardDrops) ProtoReflect() protoreflect.M // Deprecated: Use CMsgGCCStrike15V2_MatchEndRunRewardDrops.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchEndRunRewardDrops) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{66} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{65} } func (x *CMsgGCCStrike15V2_MatchEndRunRewardDrops) GetServerinfo() *CMsgGCCStrike15V2_MatchmakingServerReservationResponse { @@ -6642,7 +6664,7 @@ type CEconItemPreviewDataBlock struct { func (x *CEconItemPreviewDataBlock) Reset() { *x = CEconItemPreviewDataBlock{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[67] + mi := &file_cstrike15_gcmessages_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6655,7 +6677,7 @@ func (x *CEconItemPreviewDataBlock) String() string { func (*CEconItemPreviewDataBlock) ProtoMessage() {} func (x *CEconItemPreviewDataBlock) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[67] + mi := &file_cstrike15_gcmessages_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6668,7 +6690,7 @@ func (x *CEconItemPreviewDataBlock) ProtoReflect() protoreflect.Message { // Deprecated: Use CEconItemPreviewDataBlock.ProtoReflect.Descriptor instead. func (*CEconItemPreviewDataBlock) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{67} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{66} } func (x *CEconItemPreviewDataBlock) GetAccountid() uint32 { @@ -6808,7 +6830,7 @@ type CMsgGCCStrike15V2_MatchEndRewardDropsNotification struct { func (x *CMsgGCCStrike15V2_MatchEndRewardDropsNotification) Reset() { *x = CMsgGCCStrike15V2_MatchEndRewardDropsNotification{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[68] + mi := &file_cstrike15_gcmessages_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6821,7 +6843,7 @@ func (x *CMsgGCCStrike15V2_MatchEndRewardDropsNotification) String() string { func (*CMsgGCCStrike15V2_MatchEndRewardDropsNotification) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchEndRewardDropsNotification) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[68] + mi := &file_cstrike15_gcmessages_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6834,7 +6856,7 @@ func (x *CMsgGCCStrike15V2_MatchEndRewardDropsNotification) ProtoReflect() proto // Deprecated: Use CMsgGCCStrike15V2_MatchEndRewardDropsNotification.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchEndRewardDropsNotification) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{68} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{67} } func (x *CMsgGCCStrike15V2_MatchEndRewardDropsNotification) GetIteminfo() *CEconItemPreviewDataBlock { @@ -6844,53 +6866,6 @@ func (x *CMsgGCCStrike15V2_MatchEndRewardDropsNotification) GetIteminfo() *CEcon return nil } -type CMsgItemAcknowledged struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Iteminfo *CEconItemPreviewDataBlock `protobuf:"bytes,1,opt,name=iteminfo" json:"iteminfo,omitempty"` -} - -func (x *CMsgItemAcknowledged) Reset() { - *x = CMsgItemAcknowledged{} - if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[69] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CMsgItemAcknowledged) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CMsgItemAcknowledged) ProtoMessage() {} - -func (x *CMsgItemAcknowledged) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[69] - 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 CMsgItemAcknowledged.ProtoReflect.Descriptor instead. -func (*CMsgItemAcknowledged) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{69} -} - -func (x *CMsgItemAcknowledged) GetIteminfo() *CEconItemPreviewDataBlock { - if x != nil { - return x.Iteminfo - } - return nil -} - type CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -6905,7 +6880,7 @@ type CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest struct { func (x *CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest) Reset() { *x = CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[70] + mi := &file_cstrike15_gcmessages_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6918,7 +6893,7 @@ func (x *CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest) String() string func (*CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[70] + mi := &file_cstrike15_gcmessages_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6931,7 +6906,7 @@ func (x *CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest) ProtoReflect() // Deprecated: Use CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{70} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{68} } func (x *CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest) GetParamS() uint64 { @@ -6973,7 +6948,7 @@ type CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse struct { func (x *CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse) Reset() { *x = CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[71] + mi := &file_cstrike15_gcmessages_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6986,7 +6961,7 @@ func (x *CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse) String() strin func (*CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[71] + mi := &file_cstrike15_gcmessages_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6999,7 +6974,7 @@ func (x *CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse) ProtoReflect() // Deprecated: Use CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{71} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{69} } func (x *CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse) GetIteminfo() *CEconItemPreviewDataBlock { @@ -7018,7 +6993,7 @@ type CMsgGCCStrike15V2_MatchListRequestCurrentLiveGames struct { func (x *CMsgGCCStrike15V2_MatchListRequestCurrentLiveGames) Reset() { *x = CMsgGCCStrike15V2_MatchListRequestCurrentLiveGames{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[72] + mi := &file_cstrike15_gcmessages_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7031,7 +7006,7 @@ func (x *CMsgGCCStrike15V2_MatchListRequestCurrentLiveGames) String() string { func (*CMsgGCCStrike15V2_MatchListRequestCurrentLiveGames) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchListRequestCurrentLiveGames) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[72] + mi := &file_cstrike15_gcmessages_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7044,7 +7019,7 @@ func (x *CMsgGCCStrike15V2_MatchListRequestCurrentLiveGames) ProtoReflect() prot // Deprecated: Use CMsgGCCStrike15V2_MatchListRequestCurrentLiveGames.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchListRequestCurrentLiveGames) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{72} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{70} } type CMsgGCCStrike15V2_MatchListRequestLiveGameForUser struct { @@ -7058,7 +7033,7 @@ type CMsgGCCStrike15V2_MatchListRequestLiveGameForUser struct { func (x *CMsgGCCStrike15V2_MatchListRequestLiveGameForUser) Reset() { *x = CMsgGCCStrike15V2_MatchListRequestLiveGameForUser{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[73] + mi := &file_cstrike15_gcmessages_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7071,7 +7046,7 @@ func (x *CMsgGCCStrike15V2_MatchListRequestLiveGameForUser) String() string { func (*CMsgGCCStrike15V2_MatchListRequestLiveGameForUser) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchListRequestLiveGameForUser) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[73] + mi := &file_cstrike15_gcmessages_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7084,7 +7059,7 @@ func (x *CMsgGCCStrike15V2_MatchListRequestLiveGameForUser) ProtoReflect() proto // Deprecated: Use CMsgGCCStrike15V2_MatchListRequestLiveGameForUser.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchListRequestLiveGameForUser) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{73} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{71} } func (x *CMsgGCCStrike15V2_MatchListRequestLiveGameForUser) GetAccountid() uint32 { @@ -7105,7 +7080,7 @@ type CMsgGCCStrike15V2_MatchListRequestRecentUserGames struct { func (x *CMsgGCCStrike15V2_MatchListRequestRecentUserGames) Reset() { *x = CMsgGCCStrike15V2_MatchListRequestRecentUserGames{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[74] + mi := &file_cstrike15_gcmessages_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7118,7 +7093,7 @@ func (x *CMsgGCCStrike15V2_MatchListRequestRecentUserGames) String() string { func (*CMsgGCCStrike15V2_MatchListRequestRecentUserGames) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchListRequestRecentUserGames) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[74] + mi := &file_cstrike15_gcmessages_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7131,7 +7106,7 @@ func (x *CMsgGCCStrike15V2_MatchListRequestRecentUserGames) ProtoReflect() proto // Deprecated: Use CMsgGCCStrike15V2_MatchListRequestRecentUserGames.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchListRequestRecentUserGames) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{74} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{72} } func (x *CMsgGCCStrike15V2_MatchListRequestRecentUserGames) GetAccountid() uint32 { @@ -7152,7 +7127,7 @@ type CMsgGCCStrike15V2_MatchListRequestTournamentGames struct { func (x *CMsgGCCStrike15V2_MatchListRequestTournamentGames) Reset() { *x = CMsgGCCStrike15V2_MatchListRequestTournamentGames{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[75] + mi := &file_cstrike15_gcmessages_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7165,7 +7140,7 @@ func (x *CMsgGCCStrike15V2_MatchListRequestTournamentGames) String() string { func (*CMsgGCCStrike15V2_MatchListRequestTournamentGames) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchListRequestTournamentGames) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[75] + mi := &file_cstrike15_gcmessages_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7178,7 +7153,7 @@ func (x *CMsgGCCStrike15V2_MatchListRequestTournamentGames) ProtoReflect() proto // Deprecated: Use CMsgGCCStrike15V2_MatchListRequestTournamentGames.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchListRequestTournamentGames) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{75} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{73} } func (x *CMsgGCCStrike15V2_MatchListRequestTournamentGames) GetEventid() int32 { @@ -7201,7 +7176,7 @@ type CMsgGCCStrike15V2_MatchListRequestFullGameInfo struct { func (x *CMsgGCCStrike15V2_MatchListRequestFullGameInfo) Reset() { *x = CMsgGCCStrike15V2_MatchListRequestFullGameInfo{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[76] + mi := &file_cstrike15_gcmessages_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7214,7 +7189,7 @@ func (x *CMsgGCCStrike15V2_MatchListRequestFullGameInfo) String() string { func (*CMsgGCCStrike15V2_MatchListRequestFullGameInfo) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchListRequestFullGameInfo) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[76] + mi := &file_cstrike15_gcmessages_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7227,7 +7202,7 @@ func (x *CMsgGCCStrike15V2_MatchListRequestFullGameInfo) ProtoReflect() protoref // Deprecated: Use CMsgGCCStrike15V2_MatchListRequestFullGameInfo.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchListRequestFullGameInfo) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{76} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{74} } func (x *CMsgGCCStrike15V2_MatchListRequestFullGameInfo) GetMatchid() uint64 { @@ -7266,7 +7241,7 @@ type CDataGCCStrike15V2_MatchInfo struct { func (x *CDataGCCStrike15V2_MatchInfo) Reset() { *x = CDataGCCStrike15V2_MatchInfo{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[77] + mi := &file_cstrike15_gcmessages_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7279,7 +7254,7 @@ func (x *CDataGCCStrike15V2_MatchInfo) String() string { func (*CDataGCCStrike15V2_MatchInfo) ProtoMessage() {} func (x *CDataGCCStrike15V2_MatchInfo) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[77] + mi := &file_cstrike15_gcmessages_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7292,7 +7267,7 @@ func (x *CDataGCCStrike15V2_MatchInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use CDataGCCStrike15V2_MatchInfo.ProtoReflect.Descriptor instead. func (*CDataGCCStrike15V2_MatchInfo) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{77} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{75} } func (x *CDataGCCStrike15V2_MatchInfo) GetMatchid() uint64 { @@ -7343,7 +7318,7 @@ type CDataGCCStrike15V2_TournamentGroupTeam struct { func (x *CDataGCCStrike15V2_TournamentGroupTeam) Reset() { *x = CDataGCCStrike15V2_TournamentGroupTeam{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[78] + mi := &file_cstrike15_gcmessages_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7356,7 +7331,7 @@ func (x *CDataGCCStrike15V2_TournamentGroupTeam) String() string { func (*CDataGCCStrike15V2_TournamentGroupTeam) ProtoMessage() {} func (x *CDataGCCStrike15V2_TournamentGroupTeam) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[78] + mi := &file_cstrike15_gcmessages_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7369,7 +7344,7 @@ func (x *CDataGCCStrike15V2_TournamentGroupTeam) ProtoReflect() protoreflect.Mes // Deprecated: Use CDataGCCStrike15V2_TournamentGroupTeam.ProtoReflect.Descriptor instead. func (*CDataGCCStrike15V2_TournamentGroupTeam) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{78} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{76} } func (x *CDataGCCStrike15V2_TournamentGroupTeam) GetTeamId() int32 { @@ -7413,7 +7388,7 @@ type CDataGCCStrike15V2_TournamentGroup struct { func (x *CDataGCCStrike15V2_TournamentGroup) Reset() { *x = CDataGCCStrike15V2_TournamentGroup{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[79] + mi := &file_cstrike15_gcmessages_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7426,7 +7401,7 @@ func (x *CDataGCCStrike15V2_TournamentGroup) String() string { func (*CDataGCCStrike15V2_TournamentGroup) ProtoMessage() {} func (x *CDataGCCStrike15V2_TournamentGroup) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[79] + mi := &file_cstrike15_gcmessages_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7439,7 +7414,7 @@ func (x *CDataGCCStrike15V2_TournamentGroup) ProtoReflect() protoreflect.Message // Deprecated: Use CDataGCCStrike15V2_TournamentGroup.ProtoReflect.Descriptor instead. func (*CDataGCCStrike15V2_TournamentGroup) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{79} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{77} } func (x *CDataGCCStrike15V2_TournamentGroup) GetGroupid() uint32 { @@ -7526,7 +7501,7 @@ type CDataGCCStrike15V2_TournamentSection struct { func (x *CDataGCCStrike15V2_TournamentSection) Reset() { *x = CDataGCCStrike15V2_TournamentSection{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[80] + mi := &file_cstrike15_gcmessages_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7539,7 +7514,7 @@ func (x *CDataGCCStrike15V2_TournamentSection) String() string { func (*CDataGCCStrike15V2_TournamentSection) ProtoMessage() {} func (x *CDataGCCStrike15V2_TournamentSection) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[80] + mi := &file_cstrike15_gcmessages_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7552,7 +7527,7 @@ func (x *CDataGCCStrike15V2_TournamentSection) ProtoReflect() protoreflect.Messa // Deprecated: Use CDataGCCStrike15V2_TournamentSection.ProtoReflect.Descriptor instead. func (*CDataGCCStrike15V2_TournamentSection) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{80} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{78} } func (x *CDataGCCStrike15V2_TournamentSection) GetSectionid() uint32 { @@ -7596,7 +7571,7 @@ type CDataGCCStrike15V2_TournamentInfo struct { func (x *CDataGCCStrike15V2_TournamentInfo) Reset() { *x = CDataGCCStrike15V2_TournamentInfo{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[81] + mi := &file_cstrike15_gcmessages_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7609,7 +7584,7 @@ func (x *CDataGCCStrike15V2_TournamentInfo) String() string { func (*CDataGCCStrike15V2_TournamentInfo) ProtoMessage() {} func (x *CDataGCCStrike15V2_TournamentInfo) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[81] + mi := &file_cstrike15_gcmessages_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7622,7 +7597,7 @@ func (x *CDataGCCStrike15V2_TournamentInfo) ProtoReflect() protoreflect.Message // Deprecated: Use CDataGCCStrike15V2_TournamentInfo.ProtoReflect.Descriptor instead. func (*CDataGCCStrike15V2_TournamentInfo) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{81} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{79} } func (x *CDataGCCStrike15V2_TournamentInfo) GetSections() []*CDataGCCStrike15V2_TournamentSection { @@ -7662,7 +7637,7 @@ type CMsgGCCStrike15V2_MatchList struct { func (x *CMsgGCCStrike15V2_MatchList) Reset() { *x = CMsgGCCStrike15V2_MatchList{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[82] + mi := &file_cstrike15_gcmessages_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7675,7 +7650,7 @@ func (x *CMsgGCCStrike15V2_MatchList) String() string { func (*CMsgGCCStrike15V2_MatchList) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchList) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[82] + mi := &file_cstrike15_gcmessages_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7688,7 +7663,7 @@ func (x *CMsgGCCStrike15V2_MatchList) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCCStrike15V2_MatchList.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchList) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{82} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{80} } func (x *CMsgGCCStrike15V2_MatchList) GetMsgrequestid() uint32 { @@ -7738,14 +7713,15 @@ type CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Eventid *int32 `protobuf:"varint,1,opt,name=eventid" json:"eventid,omitempty"` - Matches []*CDataGCCStrike15V2_MatchInfo `protobuf:"bytes,2,rep,name=matches" json:"matches,omitempty"` + Eventid *int32 `protobuf:"varint,1,opt,name=eventid" json:"eventid,omitempty"` + Matches []*CDataGCCStrike15V2_MatchInfo `protobuf:"bytes,2,rep,name=matches" json:"matches,omitempty"` + Accountid *uint32 `protobuf:"varint,3,opt,name=accountid" json:"accountid,omitempty"` } func (x *CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt) Reset() { *x = CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[83] + mi := &file_cstrike15_gcmessages_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7758,7 +7734,7 @@ func (x *CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt) String() string { func (*CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[83] + mi := &file_cstrike15_gcmessages_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7771,7 +7747,7 @@ func (x *CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt) ProtoReflect() proto // Deprecated: Use CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{83} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{81} } func (x *CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt) GetEventid() int32 { @@ -7788,6 +7764,13 @@ func (x *CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt) GetMatches() []*CDat return nil } +func (x *CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt) GetAccountid() uint32 { + if x != nil && x.Accountid != nil { + return *x.Accountid + } + return 0 +} + type CMsgGCCStrike15V2_Predictions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -7800,7 +7783,7 @@ type CMsgGCCStrike15V2_Predictions struct { func (x *CMsgGCCStrike15V2_Predictions) Reset() { *x = CMsgGCCStrike15V2_Predictions{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[84] + mi := &file_cstrike15_gcmessages_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7813,7 +7796,7 @@ func (x *CMsgGCCStrike15V2_Predictions) String() string { func (*CMsgGCCStrike15V2_Predictions) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Predictions) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[84] + mi := &file_cstrike15_gcmessages_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7826,7 +7809,7 @@ func (x *CMsgGCCStrike15V2_Predictions) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCCStrike15V2_Predictions.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Predictions) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{84} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{82} } func (x *CMsgGCCStrike15V2_Predictions) GetEventId() uint32 { @@ -7855,7 +7838,7 @@ type CMsgGCCStrike15V2_Fantasy struct { func (x *CMsgGCCStrike15V2_Fantasy) Reset() { *x = CMsgGCCStrike15V2_Fantasy{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[85] + mi := &file_cstrike15_gcmessages_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7868,7 +7851,7 @@ func (x *CMsgGCCStrike15V2_Fantasy) String() string { func (*CMsgGCCStrike15V2_Fantasy) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Fantasy) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[85] + mi := &file_cstrike15_gcmessages_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7881,7 +7864,7 @@ func (x *CMsgGCCStrike15V2_Fantasy) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCCStrike15V2_Fantasy.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Fantasy) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{85} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{83} } func (x *CMsgGCCStrike15V2_Fantasy) GetEventId() uint32 { @@ -7898,31 +7881,41 @@ func (x *CMsgGCCStrike15V2_Fantasy) GetTeams() []*CMsgGCCStrike15V2_Fantasy_Fant return nil } -type CAttribute_String struct { +type CMsgLegacySource1ClientWelcome struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Value *string `protobuf:"bytes,1,opt,name=value" json:"value,omitempty"` -} - -func (x *CAttribute_String) Reset() { - *x = CAttribute_String{} + Version *uint32 `protobuf:"varint,1,opt,name=version" json:"version,omitempty"` + GameData []byte `protobuf:"bytes,2,opt,name=game_data,json=gameData" json:"game_data,omitempty"` + OutofdateSubscribedCaches []*CMsgSOCacheSubscribed `protobuf:"bytes,3,rep,name=outofdate_subscribed_caches,json=outofdateSubscribedCaches" json:"outofdate_subscribed_caches,omitempty"` + UptodateSubscribedCaches []*CMsgSOCacheSubscriptionCheck `protobuf:"bytes,4,rep,name=uptodate_subscribed_caches,json=uptodateSubscribedCaches" json:"uptodate_subscribed_caches,omitempty"` + Location *CMsgLegacySource1ClientWelcome_Location `protobuf:"bytes,5,opt,name=location" json:"location,omitempty"` + GameData2 []byte `protobuf:"bytes,6,opt,name=game_data2,json=gameData2" json:"game_data2,omitempty"` + Rtime32GcWelcomeTimestamp *uint32 `protobuf:"varint,7,opt,name=rtime32_gc_welcome_timestamp,json=rtime32GcWelcomeTimestamp" json:"rtime32_gc_welcome_timestamp,omitempty"` + Currency *uint32 `protobuf:"varint,8,opt,name=currency" json:"currency,omitempty"` + Balance *uint32 `protobuf:"varint,9,opt,name=balance" json:"balance,omitempty"` + BalanceUrl *string `protobuf:"bytes,10,opt,name=balance_url,json=balanceUrl" json:"balance_url,omitempty"` + TxnCountryCode *string `protobuf:"bytes,11,opt,name=txn_country_code,json=txnCountryCode" json:"txn_country_code,omitempty"` +} + +func (x *CMsgLegacySource1ClientWelcome) Reset() { + *x = CMsgLegacySource1ClientWelcome{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[86] + mi := &file_cstrike15_gcmessages_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CAttribute_String) String() string { +func (x *CMsgLegacySource1ClientWelcome) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CAttribute_String) ProtoMessage() {} +func (*CMsgLegacySource1ClientWelcome) ProtoMessage() {} -func (x *CAttribute_String) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[86] +func (x *CMsgLegacySource1ClientWelcome) ProtoReflect() protoreflect.Message { + mi := &file_cstrike15_gcmessages_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7933,20 +7926,90 @@ func (x *CAttribute_String) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CAttribute_String.ProtoReflect.Descriptor instead. -func (*CAttribute_String) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{86} +// Deprecated: Use CMsgLegacySource1ClientWelcome.ProtoReflect.Descriptor instead. +func (*CMsgLegacySource1ClientWelcome) Descriptor() ([]byte, []int) { + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{84} } -func (x *CAttribute_String) GetValue() string { - if x != nil && x.Value != nil { - return *x.Value +func (x *CMsgLegacySource1ClientWelcome) GetVersion() uint32 { + if x != nil && x.Version != nil { + return *x.Version } - return "" + return 0 } -type CMsgCStrike15Welcome struct { - state protoimpl.MessageState +func (x *CMsgLegacySource1ClientWelcome) GetGameData() []byte { + if x != nil { + return x.GameData + } + return nil +} + +func (x *CMsgLegacySource1ClientWelcome) GetOutofdateSubscribedCaches() []*CMsgSOCacheSubscribed { + if x != nil { + return x.OutofdateSubscribedCaches + } + return nil +} + +func (x *CMsgLegacySource1ClientWelcome) GetUptodateSubscribedCaches() []*CMsgSOCacheSubscriptionCheck { + if x != nil { + return x.UptodateSubscribedCaches + } + return nil +} + +func (x *CMsgLegacySource1ClientWelcome) GetLocation() *CMsgLegacySource1ClientWelcome_Location { + if x != nil { + return x.Location + } + return nil +} + +func (x *CMsgLegacySource1ClientWelcome) GetGameData2() []byte { + if x != nil { + return x.GameData2 + } + return nil +} + +func (x *CMsgLegacySource1ClientWelcome) GetRtime32GcWelcomeTimestamp() uint32 { + if x != nil && x.Rtime32GcWelcomeTimestamp != nil { + return *x.Rtime32GcWelcomeTimestamp + } + return 0 +} + +func (x *CMsgLegacySource1ClientWelcome) GetCurrency() uint32 { + if x != nil && x.Currency != nil { + return *x.Currency + } + return 0 +} + +func (x *CMsgLegacySource1ClientWelcome) GetBalance() uint32 { + if x != nil && x.Balance != nil { + return *x.Balance + } + return 0 +} + +func (x *CMsgLegacySource1ClientWelcome) GetBalanceUrl() string { + if x != nil && x.BalanceUrl != nil { + return *x.BalanceUrl + } + return "" +} + +func (x *CMsgLegacySource1ClientWelcome) GetTxnCountryCode() string { + if x != nil && x.TxnCountryCode != nil { + return *x.TxnCountryCode + } + return "" +} + +type CMsgCStrike15Welcome struct { + state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -7962,7 +8025,7 @@ type CMsgCStrike15Welcome struct { func (x *CMsgCStrike15Welcome) Reset() { *x = CMsgCStrike15Welcome{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[87] + mi := &file_cstrike15_gcmessages_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7975,7 +8038,7 @@ func (x *CMsgCStrike15Welcome) String() string { func (*CMsgCStrike15Welcome) ProtoMessage() {} func (x *CMsgCStrike15Welcome) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[87] + mi := &file_cstrike15_gcmessages_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7988,7 +8051,7 @@ func (x *CMsgCStrike15Welcome) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgCStrike15Welcome.ProtoReflect.Descriptor instead. func (*CMsgCStrike15Welcome) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{87} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{85} } func (x *CMsgCStrike15Welcome) GetStoreItemHash() uint32 { @@ -8055,7 +8118,7 @@ type CMsgGCCStrike15V2_ClientVarValueNotificationInfo struct { func (x *CMsgGCCStrike15V2_ClientVarValueNotificationInfo) Reset() { *x = CMsgGCCStrike15V2_ClientVarValueNotificationInfo{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[88] + mi := &file_cstrike15_gcmessages_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8068,7 +8131,7 @@ func (x *CMsgGCCStrike15V2_ClientVarValueNotificationInfo) String() string { func (*CMsgGCCStrike15V2_ClientVarValueNotificationInfo) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientVarValueNotificationInfo) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[88] + mi := &file_cstrike15_gcmessages_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8081,7 +8144,7 @@ func (x *CMsgGCCStrike15V2_ClientVarValueNotificationInfo) ProtoReflect() protor // Deprecated: Use CMsgGCCStrike15V2_ClientVarValueNotificationInfo.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientVarValueNotificationInfo) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{88} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{86} } func (x *CMsgGCCStrike15V2_ClientVarValueNotificationInfo) GetValueName() string { @@ -8133,7 +8196,7 @@ type CMsgGCCStrike15V2_ServerVarValueNotificationInfo struct { func (x *CMsgGCCStrike15V2_ServerVarValueNotificationInfo) Reset() { *x = CMsgGCCStrike15V2_ServerVarValueNotificationInfo{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[89] + mi := &file_cstrike15_gcmessages_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8146,7 +8209,7 @@ func (x *CMsgGCCStrike15V2_ServerVarValueNotificationInfo) String() string { func (*CMsgGCCStrike15V2_ServerVarValueNotificationInfo) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ServerVarValueNotificationInfo) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[89] + mi := &file_cstrike15_gcmessages_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8159,7 +8222,7 @@ func (x *CMsgGCCStrike15V2_ServerVarValueNotificationInfo) ProtoReflect() protor // Deprecated: Use CMsgGCCStrike15V2_ServerVarValueNotificationInfo.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ServerVarValueNotificationInfo) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{89} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{87} } func (x *CMsgGCCStrike15V2_ServerVarValueNotificationInfo) GetAccountid() uint32 { @@ -8199,7 +8262,7 @@ type CMsgGCCStrike15V2_GiftsLeaderboardRequest struct { func (x *CMsgGCCStrike15V2_GiftsLeaderboardRequest) Reset() { *x = CMsgGCCStrike15V2_GiftsLeaderboardRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[90] + mi := &file_cstrike15_gcmessages_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8212,7 +8275,7 @@ func (x *CMsgGCCStrike15V2_GiftsLeaderboardRequest) String() string { func (*CMsgGCCStrike15V2_GiftsLeaderboardRequest) ProtoMessage() {} func (x *CMsgGCCStrike15V2_GiftsLeaderboardRequest) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[90] + mi := &file_cstrike15_gcmessages_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8225,7 +8288,7 @@ func (x *CMsgGCCStrike15V2_GiftsLeaderboardRequest) ProtoReflect() protoreflect. // Deprecated: Use CMsgGCCStrike15V2_GiftsLeaderboardRequest.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_GiftsLeaderboardRequest) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{90} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{88} } type CMsgGCCStrike15V2_GiftsLeaderboardResponse struct { @@ -8243,7 +8306,7 @@ type CMsgGCCStrike15V2_GiftsLeaderboardResponse struct { func (x *CMsgGCCStrike15V2_GiftsLeaderboardResponse) Reset() { *x = CMsgGCCStrike15V2_GiftsLeaderboardResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[91] + mi := &file_cstrike15_gcmessages_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8256,7 +8319,7 @@ func (x *CMsgGCCStrike15V2_GiftsLeaderboardResponse) String() string { func (*CMsgGCCStrike15V2_GiftsLeaderboardResponse) ProtoMessage() {} func (x *CMsgGCCStrike15V2_GiftsLeaderboardResponse) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[91] + mi := &file_cstrike15_gcmessages_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8269,7 +8332,7 @@ func (x *CMsgGCCStrike15V2_GiftsLeaderboardResponse) ProtoReflect() protoreflect // Deprecated: Use CMsgGCCStrike15V2_GiftsLeaderboardResponse.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_GiftsLeaderboardResponse) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{91} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{89} } func (x *CMsgGCCStrike15V2_GiftsLeaderboardResponse) GetServertime() uint32 { @@ -8319,7 +8382,7 @@ type CMsgGCCStrike15V2_ClientSubmitSurveyVote struct { func (x *CMsgGCCStrike15V2_ClientSubmitSurveyVote) Reset() { *x = CMsgGCCStrike15V2_ClientSubmitSurveyVote{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[92] + mi := &file_cstrike15_gcmessages_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8332,7 +8395,7 @@ func (x *CMsgGCCStrike15V2_ClientSubmitSurveyVote) String() string { func (*CMsgGCCStrike15V2_ClientSubmitSurveyVote) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientSubmitSurveyVote) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[92] + mi := &file_cstrike15_gcmessages_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8345,7 +8408,7 @@ func (x *CMsgGCCStrike15V2_ClientSubmitSurveyVote) ProtoReflect() protoreflect.M // Deprecated: Use CMsgGCCStrike15V2_ClientSubmitSurveyVote.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientSubmitSurveyVote) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{92} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{90} } func (x *CMsgGCCStrike15V2_ClientSubmitSurveyVote) GetSurveyId() uint32 { @@ -8373,7 +8436,7 @@ type CMsgGCCStrike15V2_Server2GCClientValidate struct { func (x *CMsgGCCStrike15V2_Server2GCClientValidate) Reset() { *x = CMsgGCCStrike15V2_Server2GCClientValidate{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[93] + mi := &file_cstrike15_gcmessages_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8386,7 +8449,7 @@ func (x *CMsgGCCStrike15V2_Server2GCClientValidate) String() string { func (*CMsgGCCStrike15V2_Server2GCClientValidate) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Server2GCClientValidate) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[93] + mi := &file_cstrike15_gcmessages_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8399,7 +8462,7 @@ func (x *CMsgGCCStrike15V2_Server2GCClientValidate) ProtoReflect() protoreflect. // Deprecated: Use CMsgGCCStrike15V2_Server2GCClientValidate.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Server2GCClientValidate) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{93} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{91} } func (x *CMsgGCCStrike15V2_Server2GCClientValidate) GetAccountid() uint32 { @@ -8423,7 +8486,7 @@ type CMsgGCCStrike15V2_GC2ClientTournamentInfo struct { func (x *CMsgGCCStrike15V2_GC2ClientTournamentInfo) Reset() { *x = CMsgGCCStrike15V2_GC2ClientTournamentInfo{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[94] + mi := &file_cstrike15_gcmessages_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8436,7 +8499,7 @@ func (x *CMsgGCCStrike15V2_GC2ClientTournamentInfo) String() string { func (*CMsgGCCStrike15V2_GC2ClientTournamentInfo) ProtoMessage() {} func (x *CMsgGCCStrike15V2_GC2ClientTournamentInfo) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[94] + mi := &file_cstrike15_gcmessages_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8449,7 +8512,7 @@ func (x *CMsgGCCStrike15V2_GC2ClientTournamentInfo) ProtoReflect() protoreflect. // Deprecated: Use CMsgGCCStrike15V2_GC2ClientTournamentInfo.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_GC2ClientTournamentInfo) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{94} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{92} } func (x *CMsgGCCStrike15V2_GC2ClientTournamentInfo) GetEventid() uint32 { @@ -8493,7 +8556,7 @@ type CSOEconCoupon struct { func (x *CSOEconCoupon) Reset() { *x = CSOEconCoupon{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[95] + mi := &file_cstrike15_gcmessages_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8506,7 +8569,7 @@ func (x *CSOEconCoupon) String() string { func (*CSOEconCoupon) ProtoMessage() {} func (x *CSOEconCoupon) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[95] + mi := &file_cstrike15_gcmessages_proto_msgTypes[93] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8519,7 +8582,7 @@ func (x *CSOEconCoupon) ProtoReflect() protoreflect.Message { // Deprecated: Use CSOEconCoupon.ProtoReflect.Descriptor instead. func (*CSOEconCoupon) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{95} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{93} } func (x *CSOEconCoupon) GetEntryid() uint32 { @@ -8556,7 +8619,7 @@ type CSOQuestProgress struct { func (x *CSOQuestProgress) Reset() { *x = CSOQuestProgress{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[96] + mi := &file_cstrike15_gcmessages_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8569,7 +8632,7 @@ func (x *CSOQuestProgress) String() string { func (*CSOQuestProgress) ProtoMessage() {} func (x *CSOQuestProgress) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[96] + mi := &file_cstrike15_gcmessages_proto_msgTypes[94] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8582,7 +8645,7 @@ func (x *CSOQuestProgress) ProtoReflect() protoreflect.Message { // Deprecated: Use CSOQuestProgress.ProtoReflect.Descriptor instead. func (*CSOQuestProgress) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{96} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{94} } func (x *CSOQuestProgress) GetQuestid() uint32 { @@ -8623,7 +8686,7 @@ type CSOAccountSeasonalOperation struct { func (x *CSOAccountSeasonalOperation) Reset() { *x = CSOAccountSeasonalOperation{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[97] + mi := &file_cstrike15_gcmessages_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8636,7 +8699,7 @@ func (x *CSOAccountSeasonalOperation) String() string { func (*CSOAccountSeasonalOperation) ProtoMessage() {} func (x *CSOAccountSeasonalOperation) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[97] + mi := &file_cstrike15_gcmessages_proto_msgTypes[95] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8649,7 +8712,7 @@ func (x *CSOAccountSeasonalOperation) ProtoReflect() protoreflect.Message { // Deprecated: Use CSOAccountSeasonalOperation.ProtoReflect.Descriptor instead. func (*CSOAccountSeasonalOperation) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{97} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{95} } func (x *CSOAccountSeasonalOperation) GetSeasonValue() uint32 { @@ -8713,7 +8776,7 @@ type CSOAccountRecurringSubscription struct { func (x *CSOAccountRecurringSubscription) Reset() { *x = CSOAccountRecurringSubscription{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[98] + mi := &file_cstrike15_gcmessages_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8726,7 +8789,7 @@ func (x *CSOAccountRecurringSubscription) String() string { func (*CSOAccountRecurringSubscription) ProtoMessage() {} func (x *CSOAccountRecurringSubscription) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[98] + mi := &file_cstrike15_gcmessages_proto_msgTypes[96] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8739,7 +8802,7 @@ func (x *CSOAccountRecurringSubscription) ProtoReflect() protoreflect.Message { // Deprecated: Use CSOAccountRecurringSubscription.ProtoReflect.Descriptor instead. func (*CSOAccountRecurringSubscription) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{98} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{96} } func (x *CSOAccountRecurringSubscription) GetTimeNextCycle() uint32 { @@ -8769,7 +8832,7 @@ type CSOPersonaDataPublic struct { func (x *CSOPersonaDataPublic) Reset() { *x = CSOPersonaDataPublic{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[99] + mi := &file_cstrike15_gcmessages_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8782,7 +8845,7 @@ func (x *CSOPersonaDataPublic) String() string { func (*CSOPersonaDataPublic) ProtoMessage() {} func (x *CSOPersonaDataPublic) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[99] + mi := &file_cstrike15_gcmessages_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8795,7 +8858,7 @@ func (x *CSOPersonaDataPublic) ProtoReflect() protoreflect.Message { // Deprecated: Use CSOPersonaDataPublic.ProtoReflect.Descriptor instead. func (*CSOPersonaDataPublic) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{99} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{97} } func (x *CSOPersonaDataPublic) GetPlayerLevel() int32 { @@ -8830,7 +8893,7 @@ type CMsgGC_GlobalGame_Subscribe struct { func (x *CMsgGC_GlobalGame_Subscribe) Reset() { *x = CMsgGC_GlobalGame_Subscribe{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[100] + mi := &file_cstrike15_gcmessages_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8843,7 +8906,7 @@ func (x *CMsgGC_GlobalGame_Subscribe) String() string { func (*CMsgGC_GlobalGame_Subscribe) ProtoMessage() {} func (x *CMsgGC_GlobalGame_Subscribe) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[100] + mi := &file_cstrike15_gcmessages_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8856,7 +8919,7 @@ func (x *CMsgGC_GlobalGame_Subscribe) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGC_GlobalGame_Subscribe.ProtoReflect.Descriptor instead. func (*CMsgGC_GlobalGame_Subscribe) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{100} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{98} } func (x *CMsgGC_GlobalGame_Subscribe) GetTicket() uint64 { @@ -8877,7 +8940,7 @@ type CMsgGC_GlobalGame_Unsubscribe struct { func (x *CMsgGC_GlobalGame_Unsubscribe) Reset() { *x = CMsgGC_GlobalGame_Unsubscribe{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[101] + mi := &file_cstrike15_gcmessages_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8890,7 +8953,7 @@ func (x *CMsgGC_GlobalGame_Unsubscribe) String() string { func (*CMsgGC_GlobalGame_Unsubscribe) ProtoMessage() {} func (x *CMsgGC_GlobalGame_Unsubscribe) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[101] + mi := &file_cstrike15_gcmessages_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8903,7 +8966,7 @@ func (x *CMsgGC_GlobalGame_Unsubscribe) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGC_GlobalGame_Unsubscribe.ProtoReflect.Descriptor instead. func (*CMsgGC_GlobalGame_Unsubscribe) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{101} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{99} } func (x *CMsgGC_GlobalGame_Unsubscribe) GetTimeleft() int32 { @@ -8926,7 +8989,7 @@ type CMsgGC_GlobalGame_Play struct { func (x *CMsgGC_GlobalGame_Play) Reset() { *x = CMsgGC_GlobalGame_Play{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[102] + mi := &file_cstrike15_gcmessages_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8939,7 +9002,7 @@ func (x *CMsgGC_GlobalGame_Play) String() string { func (*CMsgGC_GlobalGame_Play) ProtoMessage() {} func (x *CMsgGC_GlobalGame_Play) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[102] + mi := &file_cstrike15_gcmessages_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8952,7 +9015,7 @@ func (x *CMsgGC_GlobalGame_Play) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGC_GlobalGame_Play.ProtoReflect.Descriptor instead. func (*CMsgGC_GlobalGame_Play) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{102} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{100} } func (x *CMsgGC_GlobalGame_Play) GetTicket() uint64 { @@ -8987,7 +9050,7 @@ type CMsgGCCStrike15V2_AcknowledgePenalty struct { func (x *CMsgGCCStrike15V2_AcknowledgePenalty) Reset() { *x = CMsgGCCStrike15V2_AcknowledgePenalty{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[103] + mi := &file_cstrike15_gcmessages_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9000,7 +9063,7 @@ func (x *CMsgGCCStrike15V2_AcknowledgePenalty) String() string { func (*CMsgGCCStrike15V2_AcknowledgePenalty) ProtoMessage() {} func (x *CMsgGCCStrike15V2_AcknowledgePenalty) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[103] + mi := &file_cstrike15_gcmessages_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9013,7 +9076,7 @@ func (x *CMsgGCCStrike15V2_AcknowledgePenalty) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgGCCStrike15V2_AcknowledgePenalty.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_AcknowledgePenalty) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{103} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{101} } func (x *CMsgGCCStrike15V2_AcknowledgePenalty) GetAcknowledged() int32 { @@ -9037,7 +9100,7 @@ type CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin struct { func (x *CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin) Reset() { *x = CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[104] + mi := &file_cstrike15_gcmessages_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9050,7 +9113,7 @@ func (x *CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin) String() string { func (*CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[104] + mi := &file_cstrike15_gcmessages_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9063,7 +9126,7 @@ func (x *CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin) ProtoReflect() protoref // Deprecated: Use CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{104} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{102} } func (x *CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin) GetDefindex() uint32 { @@ -9106,7 +9169,7 @@ type CMsgGCCStrike15V2_Client2GCStreamUnlock struct { func (x *CMsgGCCStrike15V2_Client2GCStreamUnlock) Reset() { *x = CMsgGCCStrike15V2_Client2GCStreamUnlock{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[105] + mi := &file_cstrike15_gcmessages_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9119,7 +9182,7 @@ func (x *CMsgGCCStrike15V2_Client2GCStreamUnlock) String() string { func (*CMsgGCCStrike15V2_Client2GCStreamUnlock) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Client2GCStreamUnlock) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[105] + mi := &file_cstrike15_gcmessages_proto_msgTypes[103] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9132,7 +9195,7 @@ func (x *CMsgGCCStrike15V2_Client2GCStreamUnlock) ProtoReflect() protoreflect.Me // Deprecated: Use CMsgGCCStrike15V2_Client2GCStreamUnlock.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Client2GCStreamUnlock) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{105} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{103} } func (x *CMsgGCCStrike15V2_Client2GCStreamUnlock) GetTicket() uint64 { @@ -9160,7 +9223,7 @@ type CMsgGCCStrike15V2_ClientToGCRequestElevate struct { func (x *CMsgGCCStrike15V2_ClientToGCRequestElevate) Reset() { *x = CMsgGCCStrike15V2_ClientToGCRequestElevate{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[106] + mi := &file_cstrike15_gcmessages_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9173,7 +9236,7 @@ func (x *CMsgGCCStrike15V2_ClientToGCRequestElevate) String() string { func (*CMsgGCCStrike15V2_ClientToGCRequestElevate) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientToGCRequestElevate) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[106] + mi := &file_cstrike15_gcmessages_proto_msgTypes[104] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9186,7 +9249,7 @@ func (x *CMsgGCCStrike15V2_ClientToGCRequestElevate) ProtoReflect() protoreflect // Deprecated: Use CMsgGCCStrike15V2_ClientToGCRequestElevate.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientToGCRequestElevate) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{106} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{104} } func (x *CMsgGCCStrike15V2_ClientToGCRequestElevate) GetStage() uint32 { @@ -9208,7 +9271,7 @@ type CMsgGCCStrike15V2_ClientToGCChat struct { func (x *CMsgGCCStrike15V2_ClientToGCChat) Reset() { *x = CMsgGCCStrike15V2_ClientToGCChat{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[107] + mi := &file_cstrike15_gcmessages_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9221,7 +9284,7 @@ func (x *CMsgGCCStrike15V2_ClientToGCChat) String() string { func (*CMsgGCCStrike15V2_ClientToGCChat) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientToGCChat) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[107] + mi := &file_cstrike15_gcmessages_proto_msgTypes[105] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9234,7 +9297,7 @@ func (x *CMsgGCCStrike15V2_ClientToGCChat) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCCStrike15V2_ClientToGCChat.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientToGCChat) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{107} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{105} } func (x *CMsgGCCStrike15V2_ClientToGCChat) GetMatchId() uint64 { @@ -9263,7 +9326,7 @@ type CMsgGCCStrike15V2_GCToClientChat struct { func (x *CMsgGCCStrike15V2_GCToClientChat) Reset() { *x = CMsgGCCStrike15V2_GCToClientChat{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[108] + mi := &file_cstrike15_gcmessages_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9276,7 +9339,7 @@ func (x *CMsgGCCStrike15V2_GCToClientChat) String() string { func (*CMsgGCCStrike15V2_GCToClientChat) ProtoMessage() {} func (x *CMsgGCCStrike15V2_GCToClientChat) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[108] + mi := &file_cstrike15_gcmessages_proto_msgTypes[106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9289,7 +9352,7 @@ func (x *CMsgGCCStrike15V2_GCToClientChat) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCCStrike15V2_GCToClientChat.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_GCToClientChat) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{108} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{106} } func (x *CMsgGCCStrike15V2_GCToClientChat) GetAccountId() uint32 { @@ -9318,7 +9381,7 @@ type CMsgGCCStrike15V2_ClientAuthKeyCode struct { func (x *CMsgGCCStrike15V2_ClientAuthKeyCode) Reset() { *x = CMsgGCCStrike15V2_ClientAuthKeyCode{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[109] + mi := &file_cstrike15_gcmessages_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9331,7 +9394,7 @@ func (x *CMsgGCCStrike15V2_ClientAuthKeyCode) String() string { func (*CMsgGCCStrike15V2_ClientAuthKeyCode) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientAuthKeyCode) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[109] + mi := &file_cstrike15_gcmessages_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9344,7 +9407,7 @@ func (x *CMsgGCCStrike15V2_ClientAuthKeyCode) ProtoReflect() protoreflect.Messag // Deprecated: Use CMsgGCCStrike15V2_ClientAuthKeyCode.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientAuthKeyCode) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{109} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{107} } func (x *CMsgGCCStrike15V2_ClientAuthKeyCode) GetEventid() uint32 { @@ -9372,7 +9435,7 @@ type CMsgGCCStrike15_GotvSyncPacket struct { func (x *CMsgGCCStrike15_GotvSyncPacket) Reset() { *x = CMsgGCCStrike15_GotvSyncPacket{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[110] + mi := &file_cstrike15_gcmessages_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9385,7 +9448,7 @@ func (x *CMsgGCCStrike15_GotvSyncPacket) String() string { func (*CMsgGCCStrike15_GotvSyncPacket) ProtoMessage() {} func (x *CMsgGCCStrike15_GotvSyncPacket) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[110] + mi := &file_cstrike15_gcmessages_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9398,7 +9461,7 @@ func (x *CMsgGCCStrike15_GotvSyncPacket) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCCStrike15_GotvSyncPacket.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15_GotvSyncPacket) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{110} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{108} } func (x *CMsgGCCStrike15_GotvSyncPacket) GetData() *CEngineGotvSyncPacket { @@ -9418,7 +9481,7 @@ type PlayerDecalDigitalSignature struct { Rtime *uint32 `protobuf:"varint,3,opt,name=rtime" json:"rtime,omitempty"` Endpos []float32 `protobuf:"fixed32,4,rep,name=endpos" json:"endpos,omitempty"` Startpos []float32 `protobuf:"fixed32,5,rep,name=startpos" json:"startpos,omitempty"` - Right []float32 `protobuf:"fixed32,6,rep,name=right" json:"right,omitempty"` + Left []float32 `protobuf:"fixed32,6,rep,name=left" json:"left,omitempty"` TxDefidx *uint32 `protobuf:"varint,7,opt,name=tx_defidx,json=txDefidx" json:"tx_defidx,omitempty"` Entindex *int32 `protobuf:"varint,8,opt,name=entindex" json:"entindex,omitempty"` Hitbox *uint32 `protobuf:"varint,9,opt,name=hitbox" json:"hitbox,omitempty"` @@ -9432,7 +9495,7 @@ type PlayerDecalDigitalSignature struct { func (x *PlayerDecalDigitalSignature) Reset() { *x = PlayerDecalDigitalSignature{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[111] + mi := &file_cstrike15_gcmessages_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9445,7 +9508,7 @@ func (x *PlayerDecalDigitalSignature) String() string { func (*PlayerDecalDigitalSignature) ProtoMessage() {} func (x *PlayerDecalDigitalSignature) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[111] + mi := &file_cstrike15_gcmessages_proto_msgTypes[109] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9458,7 +9521,7 @@ func (x *PlayerDecalDigitalSignature) ProtoReflect() protoreflect.Message { // Deprecated: Use PlayerDecalDigitalSignature.ProtoReflect.Descriptor instead. func (*PlayerDecalDigitalSignature) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{111} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{109} } func (x *PlayerDecalDigitalSignature) GetSignature() []byte { @@ -9496,9 +9559,9 @@ func (x *PlayerDecalDigitalSignature) GetStartpos() []float32 { return nil } -func (x *PlayerDecalDigitalSignature) GetRight() []float32 { +func (x *PlayerDecalDigitalSignature) GetLeft() []float32 { if x != nil { - return x.Right + return x.Left } return nil } @@ -9571,7 +9634,7 @@ type CMsgGCCStrike15V2_ClientPlayerDecalSign struct { func (x *CMsgGCCStrike15V2_ClientPlayerDecalSign) Reset() { *x = CMsgGCCStrike15V2_ClientPlayerDecalSign{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[112] + mi := &file_cstrike15_gcmessages_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9584,7 +9647,7 @@ func (x *CMsgGCCStrike15V2_ClientPlayerDecalSign) String() string { func (*CMsgGCCStrike15V2_ClientPlayerDecalSign) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientPlayerDecalSign) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[112] + mi := &file_cstrike15_gcmessages_proto_msgTypes[110] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9597,7 +9660,7 @@ func (x *CMsgGCCStrike15V2_ClientPlayerDecalSign) ProtoReflect() protoreflect.Me // Deprecated: Use CMsgGCCStrike15V2_ClientPlayerDecalSign.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientPlayerDecalSign) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{112} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{110} } func (x *CMsgGCCStrike15V2_ClientPlayerDecalSign) GetData() *PlayerDecalDigitalSignature { @@ -9627,7 +9690,7 @@ type CMsgGCCStrike15V2_ClientLogonFatalError struct { func (x *CMsgGCCStrike15V2_ClientLogonFatalError) Reset() { *x = CMsgGCCStrike15V2_ClientLogonFatalError{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[113] + mi := &file_cstrike15_gcmessages_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9640,7 +9703,7 @@ func (x *CMsgGCCStrike15V2_ClientLogonFatalError) String() string { func (*CMsgGCCStrike15V2_ClientLogonFatalError) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientLogonFatalError) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[113] + mi := &file_cstrike15_gcmessages_proto_msgTypes[111] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9653,7 +9716,7 @@ func (x *CMsgGCCStrike15V2_ClientLogonFatalError) ProtoReflect() protoreflect.Me // Deprecated: Use CMsgGCCStrike15V2_ClientLogonFatalError.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientLogonFatalError) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{113} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{111} } func (x *CMsgGCCStrike15V2_ClientLogonFatalError) GetErrorcode() uint32 { @@ -9690,7 +9753,7 @@ type CMsgGCCStrike15V2_ClientPollState struct { func (x *CMsgGCCStrike15V2_ClientPollState) Reset() { *x = CMsgGCCStrike15V2_ClientPollState{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[114] + mi := &file_cstrike15_gcmessages_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9703,7 +9766,7 @@ func (x *CMsgGCCStrike15V2_ClientPollState) String() string { func (*CMsgGCCStrike15V2_ClientPollState) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientPollState) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[114] + mi := &file_cstrike15_gcmessages_proto_msgTypes[112] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9716,7 +9779,7 @@ func (x *CMsgGCCStrike15V2_ClientPollState) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgGCCStrike15V2_ClientPollState.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientPollState) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{114} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{112} } func (x *CMsgGCCStrike15V2_ClientPollState) GetPollid() uint32 { @@ -9759,7 +9822,7 @@ type CMsgGCCStrike15V2_Party_Register struct { func (x *CMsgGCCStrike15V2_Party_Register) Reset() { *x = CMsgGCCStrike15V2_Party_Register{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[115] + mi := &file_cstrike15_gcmessages_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9772,7 +9835,7 @@ func (x *CMsgGCCStrike15V2_Party_Register) String() string { func (*CMsgGCCStrike15V2_Party_Register) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Party_Register) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[115] + mi := &file_cstrike15_gcmessages_proto_msgTypes[113] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9785,7 +9848,7 @@ func (x *CMsgGCCStrike15V2_Party_Register) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCCStrike15V2_Party_Register.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Party_Register) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{115} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{113} } func (x *CMsgGCCStrike15V2_Party_Register) GetId() uint32 { @@ -9867,7 +9930,7 @@ type CMsgGCCStrike15V2_Party_Search struct { func (x *CMsgGCCStrike15V2_Party_Search) Reset() { *x = CMsgGCCStrike15V2_Party_Search{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[116] + mi := &file_cstrike15_gcmessages_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9880,7 +9943,7 @@ func (x *CMsgGCCStrike15V2_Party_Search) String() string { func (*CMsgGCCStrike15V2_Party_Search) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Party_Search) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[116] + mi := &file_cstrike15_gcmessages_proto_msgTypes[114] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9893,7 +9956,7 @@ func (x *CMsgGCCStrike15V2_Party_Search) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCCStrike15V2_Party_Search.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Party_Search) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{116} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{114} } func (x *CMsgGCCStrike15V2_Party_Search) GetVer() uint32 { @@ -9949,7 +10012,7 @@ type CMsgGCCStrike15V2_Party_SearchResults struct { func (x *CMsgGCCStrike15V2_Party_SearchResults) Reset() { *x = CMsgGCCStrike15V2_Party_SearchResults{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[117] + mi := &file_cstrike15_gcmessages_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9962,7 +10025,7 @@ func (x *CMsgGCCStrike15V2_Party_SearchResults) String() string { func (*CMsgGCCStrike15V2_Party_SearchResults) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Party_SearchResults) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[117] + mi := &file_cstrike15_gcmessages_proto_msgTypes[115] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9975,7 +10038,7 @@ func (x *CMsgGCCStrike15V2_Party_SearchResults) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgGCCStrike15V2_Party_SearchResults.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Party_SearchResults) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{117} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{115} } func (x *CMsgGCCStrike15V2_Party_SearchResults) GetEntries() []*CMsgGCCStrike15V2_Party_SearchResults_Entry { @@ -9997,7 +10060,7 @@ type CMsgGCCStrike15V2_Party_Invite struct { func (x *CMsgGCCStrike15V2_Party_Invite) Reset() { *x = CMsgGCCStrike15V2_Party_Invite{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[118] + mi := &file_cstrike15_gcmessages_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10010,7 +10073,7 @@ func (x *CMsgGCCStrike15V2_Party_Invite) String() string { func (*CMsgGCCStrike15V2_Party_Invite) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Party_Invite) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[118] + mi := &file_cstrike15_gcmessages_proto_msgTypes[116] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10023,7 +10086,7 @@ func (x *CMsgGCCStrike15V2_Party_Invite) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCCStrike15V2_Party_Invite.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Party_Invite) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{118} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{116} } func (x *CMsgGCCStrike15V2_Party_Invite) GetAccountid() uint32 { @@ -10052,7 +10115,7 @@ type CMsgGCCStrike15V2_Account_RequestCoPlays struct { func (x *CMsgGCCStrike15V2_Account_RequestCoPlays) Reset() { *x = CMsgGCCStrike15V2_Account_RequestCoPlays{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[119] + mi := &file_cstrike15_gcmessages_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10065,7 +10128,7 @@ func (x *CMsgGCCStrike15V2_Account_RequestCoPlays) String() string { func (*CMsgGCCStrike15V2_Account_RequestCoPlays) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Account_RequestCoPlays) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[119] + mi := &file_cstrike15_gcmessages_proto_msgTypes[117] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10078,7 +10141,7 @@ func (x *CMsgGCCStrike15V2_Account_RequestCoPlays) ProtoReflect() protoreflect.M // Deprecated: Use CMsgGCCStrike15V2_Account_RequestCoPlays.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Account_RequestCoPlays) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{119} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{117} } func (x *CMsgGCCStrike15V2_Account_RequestCoPlays) GetPlayers() []*CMsgGCCStrike15V2_Account_RequestCoPlays_Player { @@ -10109,7 +10172,7 @@ type CMsgGCCStrike15V2_ClientToGCRequestTicket struct { func (x *CMsgGCCStrike15V2_ClientToGCRequestTicket) Reset() { *x = CMsgGCCStrike15V2_ClientToGCRequestTicket{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[120] + mi := &file_cstrike15_gcmessages_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10122,7 +10185,7 @@ func (x *CMsgGCCStrike15V2_ClientToGCRequestTicket) String() string { func (*CMsgGCCStrike15V2_ClientToGCRequestTicket) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientToGCRequestTicket) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[120] + mi := &file_cstrike15_gcmessages_proto_msgTypes[118] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10135,7 +10198,7 @@ func (x *CMsgGCCStrike15V2_ClientToGCRequestTicket) ProtoReflect() protoreflect. // Deprecated: Use CMsgGCCStrike15V2_ClientToGCRequestTicket.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientToGCRequestTicket) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{120} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{118} } func (x *CMsgGCCStrike15V2_ClientToGCRequestTicket) GetAuthorizedSteamId() uint64 { @@ -10177,7 +10240,7 @@ type CMsgGCToClientSteamDatagramTicket struct { func (x *CMsgGCToClientSteamDatagramTicket) Reset() { *x = CMsgGCToClientSteamDatagramTicket{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[121] + mi := &file_cstrike15_gcmessages_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10190,7 +10253,7 @@ func (x *CMsgGCToClientSteamDatagramTicket) String() string { func (*CMsgGCToClientSteamDatagramTicket) ProtoMessage() {} func (x *CMsgGCToClientSteamDatagramTicket) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[121] + mi := &file_cstrike15_gcmessages_proto_msgTypes[119] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10203,7 +10266,7 @@ func (x *CMsgGCToClientSteamDatagramTicket) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgGCToClientSteamDatagramTicket.ProtoReflect.Descriptor instead. func (*CMsgGCToClientSteamDatagramTicket) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{121} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{119} } func (x *CMsgGCToClientSteamDatagramTicket) GetSerializedTicket() []byte { @@ -10222,7 +10285,7 @@ type CMsgGCCStrike15V2_ClientRequestOffers struct { func (x *CMsgGCCStrike15V2_ClientRequestOffers) Reset() { *x = CMsgGCCStrike15V2_ClientRequestOffers{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[122] + mi := &file_cstrike15_gcmessages_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10235,7 +10298,7 @@ func (x *CMsgGCCStrike15V2_ClientRequestOffers) String() string { func (*CMsgGCCStrike15V2_ClientRequestOffers) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientRequestOffers) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[122] + mi := &file_cstrike15_gcmessages_proto_msgTypes[120] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10248,7 +10311,7 @@ func (x *CMsgGCCStrike15V2_ClientRequestOffers) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgGCCStrike15V2_ClientRequestOffers.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientRequestOffers) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{122} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{120} } type CMsgGCCStrike15V2_ClientRequestSouvenir struct { @@ -10264,7 +10327,7 @@ type CMsgGCCStrike15V2_ClientRequestSouvenir struct { func (x *CMsgGCCStrike15V2_ClientRequestSouvenir) Reset() { *x = CMsgGCCStrike15V2_ClientRequestSouvenir{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[123] + mi := &file_cstrike15_gcmessages_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10277,7 +10340,7 @@ func (x *CMsgGCCStrike15V2_ClientRequestSouvenir) String() string { func (*CMsgGCCStrike15V2_ClientRequestSouvenir) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientRequestSouvenir) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[123] + mi := &file_cstrike15_gcmessages_proto_msgTypes[121] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10290,7 +10353,7 @@ func (x *CMsgGCCStrike15V2_ClientRequestSouvenir) ProtoReflect() protoreflect.Me // Deprecated: Use CMsgGCCStrike15V2_ClientRequestSouvenir.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientRequestSouvenir) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{123} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{121} } func (x *CMsgGCCStrike15V2_ClientRequestSouvenir) GetItemid() uint64 { @@ -10326,7 +10389,7 @@ type CMsgGCCStrike15V2_ClientAccountBalance struct { func (x *CMsgGCCStrike15V2_ClientAccountBalance) Reset() { *x = CMsgGCCStrike15V2_ClientAccountBalance{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[124] + mi := &file_cstrike15_gcmessages_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10339,7 +10402,7 @@ func (x *CMsgGCCStrike15V2_ClientAccountBalance) String() string { func (*CMsgGCCStrike15V2_ClientAccountBalance) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientAccountBalance) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[124] + mi := &file_cstrike15_gcmessages_proto_msgTypes[122] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10352,7 +10415,7 @@ func (x *CMsgGCCStrike15V2_ClientAccountBalance) ProtoReflect() protoreflect.Mes // Deprecated: Use CMsgGCCStrike15V2_ClientAccountBalance.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientAccountBalance) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{124} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{122} } func (x *CMsgGCCStrike15V2_ClientAccountBalance) GetAmount() uint64 { @@ -10381,7 +10444,7 @@ type CMsgGCCStrike15V2_ClientPartyJoinRelay struct { func (x *CMsgGCCStrike15V2_ClientPartyJoinRelay) Reset() { *x = CMsgGCCStrike15V2_ClientPartyJoinRelay{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[125] + mi := &file_cstrike15_gcmessages_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10394,7 +10457,7 @@ func (x *CMsgGCCStrike15V2_ClientPartyJoinRelay) String() string { func (*CMsgGCCStrike15V2_ClientPartyJoinRelay) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientPartyJoinRelay) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[125] + mi := &file_cstrike15_gcmessages_proto_msgTypes[123] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10407,7 +10470,7 @@ func (x *CMsgGCCStrike15V2_ClientPartyJoinRelay) ProtoReflect() protoreflect.Mes // Deprecated: Use CMsgGCCStrike15V2_ClientPartyJoinRelay.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientPartyJoinRelay) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{125} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{123} } func (x *CMsgGCCStrike15V2_ClientPartyJoinRelay) GetAccountid() uint32 { @@ -10435,7 +10498,7 @@ type CMsgGCCStrike15V2_ClientPartyWarning struct { func (x *CMsgGCCStrike15V2_ClientPartyWarning) Reset() { *x = CMsgGCCStrike15V2_ClientPartyWarning{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[126] + mi := &file_cstrike15_gcmessages_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10448,7 +10511,7 @@ func (x *CMsgGCCStrike15V2_ClientPartyWarning) String() string { func (*CMsgGCCStrike15V2_ClientPartyWarning) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientPartyWarning) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[126] + mi := &file_cstrike15_gcmessages_proto_msgTypes[124] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10461,7 +10524,7 @@ func (x *CMsgGCCStrike15V2_ClientPartyWarning) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgGCCStrike15V2_ClientPartyWarning.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientPartyWarning) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{126} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{124} } func (x *CMsgGCCStrike15V2_ClientPartyWarning) GetEntries() []*CMsgGCCStrike15V2_ClientPartyWarning_Entry { @@ -10483,7 +10546,7 @@ type CMsgGCCStrike15V2_SetEventFavorite struct { func (x *CMsgGCCStrike15V2_SetEventFavorite) Reset() { *x = CMsgGCCStrike15V2_SetEventFavorite{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[127] + mi := &file_cstrike15_gcmessages_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10496,7 +10559,7 @@ func (x *CMsgGCCStrike15V2_SetEventFavorite) String() string { func (*CMsgGCCStrike15V2_SetEventFavorite) ProtoMessage() {} func (x *CMsgGCCStrike15V2_SetEventFavorite) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[127] + mi := &file_cstrike15_gcmessages_proto_msgTypes[125] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10509,7 +10572,7 @@ func (x *CMsgGCCStrike15V2_SetEventFavorite) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgGCCStrike15V2_SetEventFavorite.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_SetEventFavorite) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{127} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{125} } func (x *CMsgGCCStrike15V2_SetEventFavorite) GetEventid() uint64 { @@ -10537,7 +10600,7 @@ type CMsgGCCStrike15V2_GetEventFavorites_Request struct { func (x *CMsgGCCStrike15V2_GetEventFavorites_Request) Reset() { *x = CMsgGCCStrike15V2_GetEventFavorites_Request{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[128] + mi := &file_cstrike15_gcmessages_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10550,7 +10613,7 @@ func (x *CMsgGCCStrike15V2_GetEventFavorites_Request) String() string { func (*CMsgGCCStrike15V2_GetEventFavorites_Request) ProtoMessage() {} func (x *CMsgGCCStrike15V2_GetEventFavorites_Request) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[128] + mi := &file_cstrike15_gcmessages_proto_msgTypes[126] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10563,7 +10626,7 @@ func (x *CMsgGCCStrike15V2_GetEventFavorites_Request) ProtoReflect() protoreflec // Deprecated: Use CMsgGCCStrike15V2_GetEventFavorites_Request.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_GetEventFavorites_Request) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{128} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{126} } func (x *CMsgGCCStrike15V2_GetEventFavorites_Request) GetAllEvents() bool { @@ -10586,7 +10649,7 @@ type CMsgGCCStrike15V2_GetEventFavorites_Response struct { func (x *CMsgGCCStrike15V2_GetEventFavorites_Response) Reset() { *x = CMsgGCCStrike15V2_GetEventFavorites_Response{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[129] + mi := &file_cstrike15_gcmessages_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10599,7 +10662,7 @@ func (x *CMsgGCCStrike15V2_GetEventFavorites_Response) String() string { func (*CMsgGCCStrike15V2_GetEventFavorites_Response) ProtoMessage() {} func (x *CMsgGCCStrike15V2_GetEventFavorites_Response) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[129] + mi := &file_cstrike15_gcmessages_proto_msgTypes[127] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10612,7 +10675,7 @@ func (x *CMsgGCCStrike15V2_GetEventFavorites_Response) ProtoReflect() protorefle // Deprecated: Use CMsgGCCStrike15V2_GetEventFavorites_Response.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_GetEventFavorites_Response) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{129} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{127} } func (x *CMsgGCCStrike15V2_GetEventFavorites_Response) GetAllEvents() bool { @@ -10647,7 +10710,7 @@ type CMsgGCCStrike15V2_ClientPerfReport struct { func (x *CMsgGCCStrike15V2_ClientPerfReport) Reset() { *x = CMsgGCCStrike15V2_ClientPerfReport{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[130] + mi := &file_cstrike15_gcmessages_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10660,7 +10723,7 @@ func (x *CMsgGCCStrike15V2_ClientPerfReport) String() string { func (*CMsgGCCStrike15V2_ClientPerfReport) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientPerfReport) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[130] + mi := &file_cstrike15_gcmessages_proto_msgTypes[128] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10673,7 +10736,7 @@ func (x *CMsgGCCStrike15V2_ClientPerfReport) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgGCCStrike15V2_ClientPerfReport.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientPerfReport) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{130} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{128} } func (x *CMsgGCCStrike15V2_ClientPerfReport) GetEntries() []*CMsgGCCStrike15V2_ClientPerfReport_Entry { @@ -10697,7 +10760,7 @@ type CVDiagnostic struct { func (x *CVDiagnostic) Reset() { *x = CVDiagnostic{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[131] + mi := &file_cstrike15_gcmessages_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10710,7 +10773,7 @@ func (x *CVDiagnostic) String() string { func (*CVDiagnostic) ProtoMessage() {} func (x *CVDiagnostic) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[131] + mi := &file_cstrike15_gcmessages_proto_msgTypes[129] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10723,7 +10786,7 @@ func (x *CVDiagnostic) ProtoReflect() protoreflect.Message { // Deprecated: Use CVDiagnostic.ProtoReflect.Descriptor instead. func (*CVDiagnostic) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{131} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{129} } func (x *CVDiagnostic) GetId() uint32 { @@ -10784,7 +10847,7 @@ type CMsgGCCStrike15V2_ClientReportValidation struct { func (x *CMsgGCCStrike15V2_ClientReportValidation) Reset() { *x = CMsgGCCStrike15V2_ClientReportValidation{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[132] + mi := &file_cstrike15_gcmessages_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10797,7 +10860,7 @@ func (x *CMsgGCCStrike15V2_ClientReportValidation) String() string { func (*CMsgGCCStrike15V2_ClientReportValidation) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientReportValidation) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[132] + mi := &file_cstrike15_gcmessages_proto_msgTypes[130] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10810,7 +10873,7 @@ func (x *CMsgGCCStrike15V2_ClientReportValidation) ProtoReflect() protoreflect.M // Deprecated: Use CMsgGCCStrike15V2_ClientReportValidation.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientReportValidation) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{132} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{130} } func (x *CMsgGCCStrike15V2_ClientReportValidation) GetFileReport() string { @@ -10972,7 +11035,7 @@ type CMsgGCCStrike15V2_GC2ClientRefuseSecureMode struct { func (x *CMsgGCCStrike15V2_GC2ClientRefuseSecureMode) Reset() { *x = CMsgGCCStrike15V2_GC2ClientRefuseSecureMode{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[133] + mi := &file_cstrike15_gcmessages_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10985,7 +11048,7 @@ func (x *CMsgGCCStrike15V2_GC2ClientRefuseSecureMode) String() string { func (*CMsgGCCStrike15V2_GC2ClientRefuseSecureMode) ProtoMessage() {} func (x *CMsgGCCStrike15V2_GC2ClientRefuseSecureMode) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[133] + mi := &file_cstrike15_gcmessages_proto_msgTypes[131] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10998,7 +11061,7 @@ func (x *CMsgGCCStrike15V2_GC2ClientRefuseSecureMode) ProtoReflect() protoreflec // Deprecated: Use CMsgGCCStrike15V2_GC2ClientRefuseSecureMode.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_GC2ClientRefuseSecureMode) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{133} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{131} } func (x *CMsgGCCStrike15V2_GC2ClientRefuseSecureMode) GetFileReport() string { @@ -11076,7 +11139,7 @@ type CMsgGCCStrike15V2_GC2ClientRequestValidation struct { func (x *CMsgGCCStrike15V2_GC2ClientRequestValidation) Reset() { *x = CMsgGCCStrike15V2_GC2ClientRequestValidation{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[134] + mi := &file_cstrike15_gcmessages_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11089,7 +11152,7 @@ func (x *CMsgGCCStrike15V2_GC2ClientRequestValidation) String() string { func (*CMsgGCCStrike15V2_GC2ClientRequestValidation) ProtoMessage() {} func (x *CMsgGCCStrike15V2_GC2ClientRequestValidation) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[134] + mi := &file_cstrike15_gcmessages_proto_msgTypes[132] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11102,7 +11165,7 @@ func (x *CMsgGCCStrike15V2_GC2ClientRequestValidation) ProtoReflect() protorefle // Deprecated: Use CMsgGCCStrike15V2_GC2ClientRequestValidation.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_GC2ClientRequestValidation) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{134} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{132} } func (x *CMsgGCCStrike15V2_GC2ClientRequestValidation) GetFullReport() bool { @@ -11138,7 +11201,7 @@ type CMsgGCCStrike15V2_GC2ClientInitSystem struct { func (x *CMsgGCCStrike15V2_GC2ClientInitSystem) Reset() { *x = CMsgGCCStrike15V2_GC2ClientInitSystem{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[135] + mi := &file_cstrike15_gcmessages_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11151,7 +11214,7 @@ func (x *CMsgGCCStrike15V2_GC2ClientInitSystem) String() string { func (*CMsgGCCStrike15V2_GC2ClientInitSystem) ProtoMessage() {} func (x *CMsgGCCStrike15V2_GC2ClientInitSystem) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[135] + mi := &file_cstrike15_gcmessages_proto_msgTypes[133] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11164,7 +11227,7 @@ func (x *CMsgGCCStrike15V2_GC2ClientInitSystem) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgGCCStrike15V2_GC2ClientInitSystem.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_GC2ClientInitSystem) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{135} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{133} } func (x *CMsgGCCStrike15V2_GC2ClientInitSystem) GetLoad() bool { @@ -11255,7 +11318,7 @@ const ( func (x *CMsgGCCStrike15V2_GC2ClientInitSystem_Response) Reset() { *x = CMsgGCCStrike15V2_GC2ClientInitSystem_Response{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[136] + mi := &file_cstrike15_gcmessages_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11268,7 +11331,7 @@ func (x *CMsgGCCStrike15V2_GC2ClientInitSystem_Response) String() string { func (*CMsgGCCStrike15V2_GC2ClientInitSystem_Response) ProtoMessage() {} func (x *CMsgGCCStrike15V2_GC2ClientInitSystem_Response) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[136] + mi := &file_cstrike15_gcmessages_proto_msgTypes[134] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11281,7 +11344,7 @@ func (x *CMsgGCCStrike15V2_GC2ClientInitSystem_Response) ProtoReflect() protoref // Deprecated: Use CMsgGCCStrike15V2_GC2ClientInitSystem_Response.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_GC2ClientInitSystem_Response) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{136} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{134} } func (x *CMsgGCCStrike15V2_GC2ClientInitSystem_Response) GetSuccess() bool { @@ -11366,7 +11429,7 @@ type ScoreLeaderboardData_Entry struct { func (x *ScoreLeaderboardData_Entry) Reset() { *x = ScoreLeaderboardData_Entry{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[137] + mi := &file_cstrike15_gcmessages_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11379,7 +11442,7 @@ func (x *ScoreLeaderboardData_Entry) String() string { func (*ScoreLeaderboardData_Entry) ProtoMessage() {} func (x *ScoreLeaderboardData_Entry) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[137] + mi := &file_cstrike15_gcmessages_proto_msgTypes[135] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11421,7 +11484,7 @@ type ScoreLeaderboardData_AccountEntries struct { func (x *ScoreLeaderboardData_AccountEntries) Reset() { *x = ScoreLeaderboardData_AccountEntries{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[138] + mi := &file_cstrike15_gcmessages_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11434,7 +11497,7 @@ func (x *ScoreLeaderboardData_AccountEntries) String() string { func (*ScoreLeaderboardData_AccountEntries) ProtoMessage() {} func (x *ScoreLeaderboardData_AccountEntries) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[138] + mi := &file_cstrike15_gcmessages_proto_msgTypes[136] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11477,7 +11540,7 @@ type PlayerQuestData_QuestItemData struct { func (x *PlayerQuestData_QuestItemData) Reset() { *x = PlayerQuestData_QuestItemData{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[139] + mi := &file_cstrike15_gcmessages_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11490,7 +11553,7 @@ func (x *PlayerQuestData_QuestItemData) String() string { func (*PlayerQuestData_QuestItemData) ProtoMessage() {} func (x *PlayerQuestData_QuestItemData) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[139] + mi := &file_cstrike15_gcmessages_proto_msgTypes[137] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11541,7 +11604,7 @@ type CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate_Note struct { func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate_Note) Reset() { *x = CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate_Note{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[140] + mi := &file_cstrike15_gcmessages_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11554,7 +11617,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate_Note) String() string { func (*CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate_Note) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate_Note) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[140] + mi := &file_cstrike15_gcmessages_proto_msgTypes[138] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11567,7 +11630,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate_Note) ProtoReflect() proto // Deprecated: Use CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate_Note.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate_Note) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{31, 0} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{30, 0} } func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate_Note) GetType() int32 { @@ -11610,7 +11673,7 @@ type CDataGCCStrike15V2_TournamentMatchDraft_Entry struct { func (x *CDataGCCStrike15V2_TournamentMatchDraft_Entry) Reset() { *x = CDataGCCStrike15V2_TournamentMatchDraft_Entry{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[141] + mi := &file_cstrike15_gcmessages_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11623,7 +11686,7 @@ func (x *CDataGCCStrike15V2_TournamentMatchDraft_Entry) String() string { func (*CDataGCCStrike15V2_TournamentMatchDraft_Entry) ProtoMessage() {} func (x *CDataGCCStrike15V2_TournamentMatchDraft_Entry) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[141] + mi := &file_cstrike15_gcmessages_proto_msgTypes[139] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11636,7 +11699,7 @@ func (x *CDataGCCStrike15V2_TournamentMatchDraft_Entry) ProtoReflect() protorefl // Deprecated: Use CDataGCCStrike15V2_TournamentMatchDraft_Entry.ProtoReflect.Descriptor instead. func (*CDataGCCStrike15V2_TournamentMatchDraft_Entry) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{32, 0} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{31, 0} } func (x *CDataGCCStrike15V2_TournamentMatchDraft_Entry) GetMapid() int32 { @@ -11666,7 +11729,7 @@ type CPreMatchInfoData_TeamStats struct { func (x *CPreMatchInfoData_TeamStats) Reset() { *x = CPreMatchInfoData_TeamStats{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[142] + mi := &file_cstrike15_gcmessages_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11679,7 +11742,7 @@ func (x *CPreMatchInfoData_TeamStats) String() string { func (*CPreMatchInfoData_TeamStats) ProtoMessage() {} func (x *CPreMatchInfoData_TeamStats) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[142] + mi := &file_cstrike15_gcmessages_proto_msgTypes[140] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11692,7 +11755,7 @@ func (x *CPreMatchInfoData_TeamStats) ProtoReflect() protoreflect.Message { // Deprecated: Use CPreMatchInfoData_TeamStats.ProtoReflect.Descriptor instead. func (*CPreMatchInfoData_TeamStats) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{33, 0} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{32, 0} } func (x *CPreMatchInfoData_TeamStats) GetMatchInfoIdxtxt() int32 { @@ -11727,7 +11790,7 @@ type CMsgGCCStrike15V2_MatchmakingServerRoundStats_DropInfo struct { func (x *CMsgGCCStrike15V2_MatchmakingServerRoundStats_DropInfo) Reset() { *x = CMsgGCCStrike15V2_MatchmakingServerRoundStats_DropInfo{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[143] + mi := &file_cstrike15_gcmessages_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11740,7 +11803,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingServerRoundStats_DropInfo) String() string func (*CMsgGCCStrike15V2_MatchmakingServerRoundStats_DropInfo) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchmakingServerRoundStats_DropInfo) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[143] + mi := &file_cstrike15_gcmessages_proto_msgTypes[141] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11753,7 +11816,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingServerRoundStats_DropInfo) ProtoReflect() // Deprecated: Use CMsgGCCStrike15V2_MatchmakingServerRoundStats_DropInfo.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchmakingServerRoundStats_DropInfo) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{37, 0} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{36, 0} } func (x *CMsgGCCStrike15V2_MatchmakingServerRoundStats_DropInfo) GetAccountMvp() uint32 { @@ -11775,7 +11838,7 @@ type CMsgGCCStrike15V2_AccountPrivacySettings_Setting struct { func (x *CMsgGCCStrike15V2_AccountPrivacySettings_Setting) Reset() { *x = CMsgGCCStrike15V2_AccountPrivacySettings_Setting{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[144] + mi := &file_cstrike15_gcmessages_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11788,7 +11851,7 @@ func (x *CMsgGCCStrike15V2_AccountPrivacySettings_Setting) String() string { func (*CMsgGCCStrike15V2_AccountPrivacySettings_Setting) ProtoMessage() {} func (x *CMsgGCCStrike15V2_AccountPrivacySettings_Setting) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[144] + mi := &file_cstrike15_gcmessages_proto_msgTypes[142] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11801,7 +11864,7 @@ func (x *CMsgGCCStrike15V2_AccountPrivacySettings_Setting) ProtoReflect() protor // Deprecated: Use CMsgGCCStrike15V2_AccountPrivacySettings_Setting.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_AccountPrivacySettings_Setting) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{40, 0} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{39, 0} } func (x *CMsgGCCStrike15V2_AccountPrivacySettings_Setting) GetSettingType() uint32 { @@ -11831,7 +11894,7 @@ type CMsgGCCStrike15_ClientDeepStats_DeepStatsRange struct { func (x *CMsgGCCStrike15_ClientDeepStats_DeepStatsRange) Reset() { *x = CMsgGCCStrike15_ClientDeepStats_DeepStatsRange{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[145] + mi := &file_cstrike15_gcmessages_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11844,7 +11907,7 @@ func (x *CMsgGCCStrike15_ClientDeepStats_DeepStatsRange) String() string { func (*CMsgGCCStrike15_ClientDeepStats_DeepStatsRange) ProtoMessage() {} func (x *CMsgGCCStrike15_ClientDeepStats_DeepStatsRange) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[145] + mi := &file_cstrike15_gcmessages_proto_msgTypes[143] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11857,7 +11920,7 @@ func (x *CMsgGCCStrike15_ClientDeepStats_DeepStatsRange) ProtoReflect() protoref // Deprecated: Use CMsgGCCStrike15_ClientDeepStats_DeepStatsRange.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15_ClientDeepStats_DeepStatsRange) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{56, 0} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{55, 0} } func (x *CMsgGCCStrike15_ClientDeepStats_DeepStatsRange) GetBegin() uint32 { @@ -11893,7 +11956,7 @@ type CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch struct { func (x *CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch) Reset() { *x = CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[146] + mi := &file_cstrike15_gcmessages_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11906,7 +11969,7 @@ func (x *CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch) String() string { func (*CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch) ProtoMessage() {} func (x *CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[146] + mi := &file_cstrike15_gcmessages_proto_msgTypes[144] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11919,7 +11982,7 @@ func (x *CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch) ProtoReflect() protoref // Deprecated: Use CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{56, 1} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{55, 1} } func (x *CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch) GetPlayer() *DeepPlayerStatsEntry { @@ -11952,7 +12015,7 @@ type CEconItemPreviewDataBlock_Sticker struct { func (x *CEconItemPreviewDataBlock_Sticker) Reset() { *x = CEconItemPreviewDataBlock_Sticker{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[147] + mi := &file_cstrike15_gcmessages_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11965,7 +12028,7 @@ func (x *CEconItemPreviewDataBlock_Sticker) String() string { func (*CEconItemPreviewDataBlock_Sticker) ProtoMessage() {} func (x *CEconItemPreviewDataBlock_Sticker) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[147] + mi := &file_cstrike15_gcmessages_proto_msgTypes[145] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11978,7 +12041,7 @@ func (x *CEconItemPreviewDataBlock_Sticker) ProtoReflect() protoreflect.Message // Deprecated: Use CEconItemPreviewDataBlock_Sticker.ProtoReflect.Descriptor instead. func (*CEconItemPreviewDataBlock_Sticker) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{67, 0} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{66, 0} } func (x *CEconItemPreviewDataBlock_Sticker) GetSlot() uint32 { @@ -12034,7 +12097,7 @@ type CDataGCCStrike15V2_TournamentGroup_Picks struct { func (x *CDataGCCStrike15V2_TournamentGroup_Picks) Reset() { *x = CDataGCCStrike15V2_TournamentGroup_Picks{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[148] + mi := &file_cstrike15_gcmessages_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12047,7 +12110,7 @@ func (x *CDataGCCStrike15V2_TournamentGroup_Picks) String() string { func (*CDataGCCStrike15V2_TournamentGroup_Picks) ProtoMessage() {} func (x *CDataGCCStrike15V2_TournamentGroup_Picks) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[148] + mi := &file_cstrike15_gcmessages_proto_msgTypes[146] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12060,7 +12123,7 @@ func (x *CDataGCCStrike15V2_TournamentGroup_Picks) ProtoReflect() protoreflect.M // Deprecated: Use CDataGCCStrike15V2_TournamentGroup_Picks.ProtoReflect.Descriptor instead. func (*CDataGCCStrike15V2_TournamentGroup_Picks) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{79, 0} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{77, 0} } func (x *CDataGCCStrike15V2_TournamentGroup_Picks) GetPickids() []int32 { @@ -12085,7 +12148,7 @@ type CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick struct { func (x *CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick) Reset() { *x = CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[149] + mi := &file_cstrike15_gcmessages_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12098,7 +12161,7 @@ func (x *CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick) String() string { func (*CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[149] + mi := &file_cstrike15_gcmessages_proto_msgTypes[147] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12111,7 +12174,7 @@ func (x *CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick) ProtoReflect() protor // Deprecated: Use CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{84, 0} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{82, 0} } func (x *CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick) GetSectionid() int32 { @@ -12162,7 +12225,7 @@ type CMsgGCCStrike15V2_Fantasy_FantasySlot struct { func (x *CMsgGCCStrike15V2_Fantasy_FantasySlot) Reset() { *x = CMsgGCCStrike15V2_Fantasy_FantasySlot{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[150] + mi := &file_cstrike15_gcmessages_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12175,7 +12238,7 @@ func (x *CMsgGCCStrike15V2_Fantasy_FantasySlot) String() string { func (*CMsgGCCStrike15V2_Fantasy_FantasySlot) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Fantasy_FantasySlot) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[150] + mi := &file_cstrike15_gcmessages_proto_msgTypes[148] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12188,7 +12251,7 @@ func (x *CMsgGCCStrike15V2_Fantasy_FantasySlot) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgGCCStrike15V2_Fantasy_FantasySlot.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Fantasy_FantasySlot) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{85, 0} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{83, 0} } func (x *CMsgGCCStrike15V2_Fantasy_FantasySlot) GetType() int32 { @@ -12224,7 +12287,7 @@ type CMsgGCCStrike15V2_Fantasy_FantasyTeam struct { func (x *CMsgGCCStrike15V2_Fantasy_FantasyTeam) Reset() { *x = CMsgGCCStrike15V2_Fantasy_FantasyTeam{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[151] + mi := &file_cstrike15_gcmessages_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12237,7 +12300,7 @@ func (x *CMsgGCCStrike15V2_Fantasy_FantasyTeam) String() string { func (*CMsgGCCStrike15V2_Fantasy_FantasyTeam) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Fantasy_FantasyTeam) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[151] + mi := &file_cstrike15_gcmessages_proto_msgTypes[149] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12250,7 +12313,7 @@ func (x *CMsgGCCStrike15V2_Fantasy_FantasyTeam) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgGCCStrike15V2_Fantasy_FantasyTeam.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Fantasy_FantasyTeam) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{85, 1} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{83, 1} } func (x *CMsgGCCStrike15V2_Fantasy_FantasyTeam) GetSectionid() int32 { @@ -12267,6 +12330,69 @@ func (x *CMsgGCCStrike15V2_Fantasy_FantasyTeam) GetSlots() []*CMsgGCCStrike15V2_ return nil } +type CMsgLegacySource1ClientWelcome_Location struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Latitude *float32 `protobuf:"fixed32,1,opt,name=latitude" json:"latitude,omitempty"` + Longitude *float32 `protobuf:"fixed32,2,opt,name=longitude" json:"longitude,omitempty"` + Country *string `protobuf:"bytes,3,opt,name=country" json:"country,omitempty"` +} + +func (x *CMsgLegacySource1ClientWelcome_Location) Reset() { + *x = CMsgLegacySource1ClientWelcome_Location{} + if protoimpl.UnsafeEnabled { + mi := &file_cstrike15_gcmessages_proto_msgTypes[150] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgLegacySource1ClientWelcome_Location) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgLegacySource1ClientWelcome_Location) ProtoMessage() {} + +func (x *CMsgLegacySource1ClientWelcome_Location) ProtoReflect() protoreflect.Message { + mi := &file_cstrike15_gcmessages_proto_msgTypes[150] + 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 CMsgLegacySource1ClientWelcome_Location.ProtoReflect.Descriptor instead. +func (*CMsgLegacySource1ClientWelcome_Location) Descriptor() ([]byte, []int) { + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{84, 0} +} + +func (x *CMsgLegacySource1ClientWelcome_Location) GetLatitude() float32 { + if x != nil && x.Latitude != nil { + return *x.Latitude + } + return 0 +} + +func (x *CMsgLegacySource1ClientWelcome_Location) GetLongitude() float32 { + if x != nil && x.Longitude != nil { + return *x.Longitude + } + return 0 +} + +func (x *CMsgLegacySource1ClientWelcome_Location) GetCountry() string { + if x != nil && x.Country != nil { + return *x.Country + } + return "" +} + type CMsgGCCStrike15V2_GiftsLeaderboardResponse_GiftLeaderboardEntry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -12279,7 +12405,7 @@ type CMsgGCCStrike15V2_GiftsLeaderboardResponse_GiftLeaderboardEntry struct { func (x *CMsgGCCStrike15V2_GiftsLeaderboardResponse_GiftLeaderboardEntry) Reset() { *x = CMsgGCCStrike15V2_GiftsLeaderboardResponse_GiftLeaderboardEntry{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[152] + mi := &file_cstrike15_gcmessages_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12292,7 +12418,7 @@ func (x *CMsgGCCStrike15V2_GiftsLeaderboardResponse_GiftLeaderboardEntry) String func (*CMsgGCCStrike15V2_GiftsLeaderboardResponse_GiftLeaderboardEntry) ProtoMessage() {} func (x *CMsgGCCStrike15V2_GiftsLeaderboardResponse_GiftLeaderboardEntry) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[152] + mi := &file_cstrike15_gcmessages_proto_msgTypes[151] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12305,7 +12431,7 @@ func (x *CMsgGCCStrike15V2_GiftsLeaderboardResponse_GiftLeaderboardEntry) ProtoR // Deprecated: Use CMsgGCCStrike15V2_GiftsLeaderboardResponse_GiftLeaderboardEntry.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_GiftsLeaderboardResponse_GiftLeaderboardEntry) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{91, 0} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{89, 0} } func (x *CMsgGCCStrike15V2_GiftsLeaderboardResponse_GiftLeaderboardEntry) GetAccountid() uint32 { @@ -12339,7 +12465,7 @@ type CMsgGCCStrike15V2_Party_SearchResults_Entry struct { func (x *CMsgGCCStrike15V2_Party_SearchResults_Entry) Reset() { *x = CMsgGCCStrike15V2_Party_SearchResults_Entry{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[153] + mi := &file_cstrike15_gcmessages_proto_msgTypes[152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12352,7 +12478,7 @@ func (x *CMsgGCCStrike15V2_Party_SearchResults_Entry) String() string { func (*CMsgGCCStrike15V2_Party_SearchResults_Entry) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Party_SearchResults_Entry) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[153] + mi := &file_cstrike15_gcmessages_proto_msgTypes[152] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12365,7 +12491,7 @@ func (x *CMsgGCCStrike15V2_Party_SearchResults_Entry) ProtoReflect() protoreflec // Deprecated: Use CMsgGCCStrike15V2_Party_SearchResults_Entry.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Party_SearchResults_Entry) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{117, 0} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{115, 0} } func (x *CMsgGCCStrike15V2_Party_SearchResults_Entry) GetId() uint32 { @@ -12430,7 +12556,7 @@ type CMsgGCCStrike15V2_Account_RequestCoPlays_Player struct { func (x *CMsgGCCStrike15V2_Account_RequestCoPlays_Player) Reset() { *x = CMsgGCCStrike15V2_Account_RequestCoPlays_Player{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[154] + mi := &file_cstrike15_gcmessages_proto_msgTypes[153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12443,7 +12569,7 @@ func (x *CMsgGCCStrike15V2_Account_RequestCoPlays_Player) String() string { func (*CMsgGCCStrike15V2_Account_RequestCoPlays_Player) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Account_RequestCoPlays_Player) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[154] + mi := &file_cstrike15_gcmessages_proto_msgTypes[153] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12456,7 +12582,7 @@ func (x *CMsgGCCStrike15V2_Account_RequestCoPlays_Player) ProtoReflect() protore // Deprecated: Use CMsgGCCStrike15V2_Account_RequestCoPlays_Player.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Account_RequestCoPlays_Player) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{119, 0} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{117, 0} } func (x *CMsgGCCStrike15V2_Account_RequestCoPlays_Player) GetAccountid() uint32 { @@ -12492,7 +12618,7 @@ type CMsgGCCStrike15V2_ClientPartyWarning_Entry struct { func (x *CMsgGCCStrike15V2_ClientPartyWarning_Entry) Reset() { *x = CMsgGCCStrike15V2_ClientPartyWarning_Entry{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[155] + mi := &file_cstrike15_gcmessages_proto_msgTypes[154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12505,7 +12631,7 @@ func (x *CMsgGCCStrike15V2_ClientPartyWarning_Entry) String() string { func (*CMsgGCCStrike15V2_ClientPartyWarning_Entry) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientPartyWarning_Entry) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[155] + mi := &file_cstrike15_gcmessages_proto_msgTypes[154] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12518,7 +12644,7 @@ func (x *CMsgGCCStrike15V2_ClientPartyWarning_Entry) ProtoReflect() protoreflect // Deprecated: Use CMsgGCCStrike15V2_ClientPartyWarning_Entry.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientPartyWarning_Entry) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{126, 0} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{124, 0} } func (x *CMsgGCCStrike15V2_ClientPartyWarning_Entry) GetAccountid() uint32 { @@ -12551,7 +12677,7 @@ type CMsgGCCStrike15V2_ClientPerfReport_Entry struct { func (x *CMsgGCCStrike15V2_ClientPerfReport_Entry) Reset() { *x = CMsgGCCStrike15V2_ClientPerfReport_Entry{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[156] + mi := &file_cstrike15_gcmessages_proto_msgTypes[155] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12564,7 +12690,7 @@ func (x *CMsgGCCStrike15V2_ClientPerfReport_Entry) String() string { func (*CMsgGCCStrike15V2_ClientPerfReport_Entry) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientPerfReport_Entry) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[156] + mi := &file_cstrike15_gcmessages_proto_msgTypes[155] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12577,7 +12703,7 @@ func (x *CMsgGCCStrike15V2_ClientPerfReport_Entry) ProtoReflect() protoreflect.M // Deprecated: Use CMsgGCCStrike15V2_ClientPerfReport_Entry.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientPerfReport_Entry) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{130, 0} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{128, 0} } func (x *CMsgGCCStrike15V2_ClientPerfReport_Entry) GetPerfcounter() uint32 { @@ -12629,119 +12755,124 @@ var file_cstrike15_gcmessages_proto_rawDesc = []byte{ 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x0e, 0x47, 0x61, - 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, - 0x70, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x70, - 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x4a, - 0x0a, 0x0e, 0x44, 0x61, 0x74, 0x61, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, - 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x43, 0x65, - 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x22, 0x8b, 0x01, 0x0a, 0x17, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x5f, 0x61, 0x76, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x41, 0x76, 0x67, 0x12, 0x2b, 0x0a, 0x11, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x69, 0x6e, 0x67, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x22, 0xfd, 0x01, 0x0a, 0x10, 0x54, 0x6f, 0x75, - 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1d, 0x0a, - 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x69, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x69, 0x63, 0x6b, 0x12, 0x1f, 0x0a, - 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, - 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x64, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x6f, 0x62, 0x12, 0x1f, 0x0a, - 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x27, - 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x73, 0x63, 0x22, 0xab, 0x01, 0x0a, 0x0e, 0x54, 0x6f, 0x75, - 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x74, - 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x65, - 0x61, 0x6d, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x61, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x67, 0x12, - 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1b, 0x0a, 0x09, - 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x07, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x54, 0x6f, 0x75, - 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0xd7, 0x02, 0x0a, 0x0f, 0x54, 0x6f, 0x75, 0x72, 0x6e, - 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, - 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x61, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e, - 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x75, - 0x62, 0x6c, 0x69, 0x63, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, - 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x22, 0xc8, 0x05, 0x0a, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, - 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x25, 0x0a, 0x0e, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x4f, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x5f, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, + 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x67, 0x63, 0x73, 0x64, + 0x6b, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x0e, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x50, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x4a, 0x0a, 0x0e, 0x44, 0x61, 0x74, 0x61, 0x43, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, + 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x70, 0x69, + 0x6e, 0x67, 0x22, 0x8b, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x1b, + 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x76, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, + 0x41, 0x76, 0x67, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x5f, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x69, 0x6e, 0x67, - 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x5f, 0x61, 0x76, 0x61, 0x69, - 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x27, 0x0a, - 0x0f, 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x76, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x41, 0x76, 0x67, 0x12, 0x45, - 0x0a, 0x11, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x63, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x52, 0x10, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x6f, - 0x73, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, - 0x69, 0x6e, 0x50, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x70, 0x70, 0x69, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x64, 0x41, 0x70, 0x70, 0x69, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x69, 0x63, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x5f, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x72, 0x69, - 0x63, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, - 0x0a, 0x16, 0x74, 0x77, 0x69, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, - 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, - 0x74, 0x77, 0x69, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x19, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, - 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, - 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, - 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, - 0x12, 0x28, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x75, 0x72, 0x76, 0x65, - 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x53, 0x75, 0x72, 0x76, 0x65, 0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x74, - 0x69, 0x6d, 0x65, 0x33, 0x32, 0x5f, 0x63, 0x75, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x33, 0x32, 0x43, 0x75, 0x72, 0x12, 0x2e, 0x0a, 0x13, 0x72, - 0x74, 0x69, 0x6d, 0x65, 0x33, 0x32, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x33, - 0x32, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x22, 0x4b, 0x0a, 0x1f, 0x4f, + 0x22, 0xfd, 0x01, 0x0a, 0x10, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, + 0x69, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x4e, 0x69, 0x63, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x5f, 0x64, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x44, 0x6f, 0x62, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x66, 0x6c, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x73, 0x63, + 0x22, 0xab, 0x01, 0x0a, 0x0e, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x54, + 0x65, 0x61, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, + 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x74, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, + 0x66, 0x6c, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, + 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x2b, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0xd7, + 0x02, 0x0a, 0x0f, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, + 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x24, 0x0a, 0x0e, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, + 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x67, + 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x80, 0x06, 0x0a, 0x10, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x25, 0x0a, + 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x4f, 0x6e, + 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x5f, + 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x73, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x69, 0x6e, 0x67, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x73, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67, + 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, + 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x26, + 0x0a, 0x0f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x76, + 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, + 0x69, 0x6d, 0x65, 0x41, 0x76, 0x67, 0x12, 0x45, 0x0a, 0x11, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x52, 0x10, 0x73, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x22, 0x0a, + 0x0d, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x50, 0x6f, 0x73, 0x74, 0x55, 0x72, + 0x6c, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x70, + 0x70, 0x69, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x14, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x41, 0x70, 0x70, 0x69, 0x64, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x69, 0x63, 0x65, + 0x73, 0x68, 0x65, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x72, 0x69, 0x63, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x77, 0x69, 0x74, 0x63, 0x68, + 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x74, 0x77, 0x69, 0x74, 0x63, 0x68, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x19, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x17, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, + 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x73, 0x75, 0x72, 0x76, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x75, 0x72, 0x76, 0x65, 0x79, + 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x33, 0x32, 0x5f, 0x63, 0x75, + 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x33, 0x32, + 0x43, 0x75, 0x72, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x33, 0x32, 0x5f, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x11, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x33, 0x32, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x12, 0x36, 0x0a, 0x17, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, + 0x61, 0x70, 0x70, 0x69, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x41, 0x70, + 0x70, 0x69, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x22, 0x4b, 0x0a, 0x1f, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, @@ -13049,2001 +13180,2043 @@ var file_cstrike15_gcmessages_proto_rawDesc = []byte{ 0x6f, 0x6e, 0x6c, 0x62, 0x73, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x6c, - 0x62, 0x73, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc4, 0x01, 0x0a, 0x30, 0x43, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x6b, - 0x65, 0x79, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, - 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6e, 0x61, 0x6d, - 0x65, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x50, 0x61, - 0x63, 0x6b, 0x65, 0x74, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0x78, 0x0a, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, - 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, - 0x43, 0x32, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, - 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x2d, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, - 0x43, 0x32, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x76, 0x69, 0x65, - 0x77, 0x65, 0x72, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x76, 0x69, 0x65, 0x77, 0x65, - 0x72, 0x73, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, - 0x34, 0x0a, 0x16, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x14, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x73, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x53, 0x74, 0x65, 0x61, 0x6d, 0x22, 0xc6, 0x02, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x62, 0x73, 0x64, 0x61, 0x74, 0x61, 0x22, 0x78, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x1f, 0x0a, - 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x1b, - 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x10, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, - 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, - 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, - 0x65, 0x74, 0x75, 0x70, 0x52, 0x0f, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x6d, 0x65, 0x5f, 0x6f, - 0x6e, 0x6c, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x72, 0x69, 0x6d, 0x65, - 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x76, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x76, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x49, 0x64, 0x22, 0x3e, - 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x53, 0x74, 0x6f, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x22, 0xa7, - 0x02, 0x0a, 0x2f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, + 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, + 0x0a, 0x05, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x22, 0x9b, 0x01, 0x0a, 0x2d, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, + 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x73, 0x5f, 0x65, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x14, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x73, 0x45, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x34, 0x0a, 0x16, 0x76, 0x69, 0x65, 0x77, + 0x65, 0x72, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x65, + 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, + 0x73, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x22, 0xc6, + 0x02, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, - 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x69, - 0x6e, 0x67, 0x12, 0x39, 0x0a, 0x0f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x47, 0x61, - 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x0f, 0x67, 0x61, - 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x21, 0x0a, - 0x0c, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x12, 0x3b, 0x0a, 0x11, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, - 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44, - 0x61, 0x74, 0x61, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x0f, 0x64, - 0x61, 0x74, 0x61, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x19, - 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x07, 0x6d, 0x61, 0x78, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x65, 0x73, - 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x07, 0x52, 0x09, 0x74, - 0x65, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xf3, 0x08, 0x0a, 0x2d, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x3d, 0x0a, 0x1b, - 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0d, 0x52, 0x18, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x49, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x12, 0x47, 0x0a, 0x20, 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x1d, 0x6f, 0x6e, 0x67, - 0x6f, 0x69, 0x6e, 0x67, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x0a, 0x0c, 0x67, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x11, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x63, 0x73, 0x52, 0x0b, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, - 0x12, 0x3f, 0x0a, 0x1c, 0x66, 0x61, 0x69, 0x6c, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x19, 0x66, 0x61, 0x69, 0x6c, 0x70, 0x69, 0x6e, 0x67, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x5f, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x09, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x18, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x41, 0x0a, 0x1d, 0x66, 0x61, 0x69, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x1a, 0x66, 0x61, 0x69, 0x6c, 0x72, 0x65, 0x61, - 0x64, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x1d, 0x76, 0x61, 0x63, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, - 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x1a, 0x76, 0x61, 0x63, 0x62, - 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x53, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x42, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x5f, 0x69, 0x70, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x70, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x49, 0x0a, 0x05, 0x6e, 0x6f, - 0x74, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x67, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x10, + 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, + 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x75, 0x70, 0x52, 0x0f, 0x74, + 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1d, + 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x6d, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x09, 0x70, 0x72, 0x69, 0x6d, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1d, 0x0a, + 0x0a, 0x74, 0x76, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x74, 0x76, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x19, 0x0a, 0x08, + 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, + 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x49, 0x64, 0x22, 0x3e, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6f, 0x70, 0x12, 0x18, 0x0a, + 0x07, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x22, 0xa7, 0x02, 0x0a, 0x2f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x05, - 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x21, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, + 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x32, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x39, 0x0a, 0x0f, 0x67, + 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x0f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6f, 0x66, + 0x66, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6e, + 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3b, 0x0a, 0x11, 0x64, 0x61, + 0x74, 0x61, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x43, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x43, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x70, + 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x50, 0x69, + 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x07, 0x52, 0x09, 0x74, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x22, 0xf3, 0x08, 0x0a, 0x2d, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, + 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, + 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x3d, 0x0a, 0x1b, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x67, 0x72, 0x65, 0x65, 0x6e, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d, - 0x52, 0x1d, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x47, 0x72, 0x65, 0x65, 0x6e, 0x12, - 0x3d, 0x0a, 0x1a, 0x69, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x6c, - 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0f, 0x20, - 0x03, 0x28, 0x0d, 0x52, 0x19, 0x69, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, - 0x74, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, - 0x0a, 0x1c, 0x76, 0x73, 0x6e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x10, - 0x20, 0x03, 0x28, 0x0d, 0x52, 0x19, 0x76, 0x73, 0x6e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x63, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x18, 0x77, 0x61, 0x69, 0x74, + 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x47, 0x0a, 0x20, 0x6f, 0x6e, + 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x0d, 0x52, 0x1d, 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x0a, 0x0c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x0b, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x3f, 0x0a, 0x1c, 0x66, 0x61, 0x69, + 0x6c, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, + 0x19, 0x66, 0x61, 0x69, 0x6c, 0x70, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x70, 0x65, + 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0d, 0x52, + 0x18, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, + 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x1d, 0x66, 0x61, 0x69, + 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, + 0x52, 0x1a, 0x66, 0x61, 0x69, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x1d, + 0x76, 0x61, 0x63, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0b, 0x20, + 0x03, 0x28, 0x0d, 0x52, 0x1a, 0x76, 0x61, 0x63, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x3c, 0x0a, 0x1a, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x73, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x11, 0x20, - 0x03, 0x28, 0x0d, 0x52, 0x18, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x72, 0x4d, 0x69, 0x73, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x0a, - 0x1c, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x12, 0x20, - 0x03, 0x28, 0x0d, 0x52, 0x19, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x6e, - 0x0a, 0x04, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x5f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x52, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xd7, - 0x03, 0x0a, 0x28, 0x43, 0x44, 0x61, 0x74, 0x61, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, - 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x72, 0x61, 0x66, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, - 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x09, - 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x5f, 0x30, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x30, 0x12, 0x1a, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, - 0x5f, 0x69, 0x64, 0x5f, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x65, 0x61, - 0x6d, 0x49, 0x64, 0x31, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x70, 0x73, 0x5f, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x61, 0x70, 0x73, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x70, 0x73, 0x5f, 0x63, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x70, 0x73, 0x43, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, - 0x64, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, - 0x65, 0x61, 0x6d, 0x49, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x65, - 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x5f, 0x76, 0x65, 0x74, 0x6f, 0x31, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0b, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x56, 0x65, 0x74, 0x6f, 0x31, 0x12, 0x22, - 0x0a, 0x0d, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x5f, 0x70, 0x69, 0x63, 0x6b, 0x6e, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x50, 0x69, 0x63, - 0x6b, 0x6e, 0x12, 0x47, 0x0a, 0x06, 0x64, 0x72, 0x61, 0x66, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x44, 0x61, 0x74, 0x61, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, - 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x72, 0x61, 0x66, 0x74, 0x2e, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x06, 0x64, 0x72, 0x61, 0x66, 0x74, 0x73, 0x1a, 0x3b, 0x0a, 0x05, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x61, 0x70, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x0a, 0x74, 0x65, - 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x5f, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x43, 0x74, 0x22, 0xcf, 0x02, 0x0a, 0x11, 0x43, 0x50, 0x72, - 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x12, 0x27, - 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x63, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x63, 0x74, 0x12, 0x3f, 0x0a, 0x05, 0x64, 0x72, 0x61, 0x66, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x43, 0x44, 0x61, 0x74, 0x61, 0x47, 0x43, - 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x54, 0x6f, 0x75, - 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x72, 0x61, 0x66, - 0x74, 0x52, 0x05, 0x64, 0x72, 0x61, 0x66, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x43, 0x50, 0x72, 0x65, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, - 0x77, 0x69, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x77, 0x69, 0x6e, 0x73, - 0x1a, 0x87, 0x01, 0x0a, 0x09, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2a, - 0x0a, 0x11, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x69, 0x64, 0x78, - 0x74, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x49, 0x6e, 0x66, 0x6f, 0x49, 0x64, 0x78, 0x74, 0x78, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x78, 0x74, - 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, - 0x65, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x22, 0xb3, 0x06, 0x0a, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, - 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x12, 0x1f, 0x0a, - 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x1b, - 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, - 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, - 0x61, 0x67, 0x73, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x18, - 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x61, - 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x69, - 0x6e, 0x67, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x65, 0x6e, 0x63, - 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x6e, - 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x75, 0x62, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x50, 0x75, 0x62, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, - 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x61, 0x72, - 0x74, 0x79, 0x49, 0x64, 0x73, 0x12, 0x2c, 0x0a, 0x09, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, - 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x49, 0x70, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x09, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, - 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x76, 0x5f, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, - 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, - 0x74, 0x76, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, - 0x3b, 0x0a, 0x10, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x54, 0x6f, 0x75, 0x72, - 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x74, 0x6f, 0x75, - 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x10, - 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x73, - 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, - 0x65, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x0f, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, - 0x65, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x43, 0x0a, 0x1e, 0x74, 0x6f, 0x75, 0x72, - 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, - 0x52, 0x1b, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x73, 0x74, - 0x65, 0x72, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x28, 0x0a, - 0x10, 0x74, 0x76, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, - 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x74, 0x76, 0x52, 0x65, 0x6c, 0x61, 0x79, - 0x53, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x38, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x5f, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x43, 0x50, 0x72, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x33, 0x32, 0x5f, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, - 0x72, 0x74, 0x69, 0x6d, 0x65, 0x33, 0x32, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x76, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, - 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x76, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x22, 0xcf, 0x06, 0x0a, 0x37, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, + 0x42, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x13, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x70, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4d, + 0x61, 0x73, 0x6b, 0x12, 0x49, 0x0a, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, - 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0d, - 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x69, 0x64, 0x12, 0x51, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6d, 0x61, 0x70, 0x12, 0x2e, 0x0a, 0x13, 0x67, 0x63, 0x5f, 0x72, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x67, 0x63, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x28, - 0x0a, 0x07, 0x74, 0x76, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x6c, 0x74, 0x76, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x06, 0x74, 0x76, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x14, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x30, - 0x0a, 0x14, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x69, 0x64, - 0x6c, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, - 0x12, 0x36, 0x0a, 0x18, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x5f, 0x64, 0x65, 0x66, 0x5f, 0x69, 0x64, 0x78, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x14, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x74, - 0x74, 0x72, 0x44, 0x65, 0x66, 0x49, 0x64, 0x78, 0x12, 0x33, 0x0a, 0x16, 0x72, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x49, 0x74, 0x65, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3c, 0x0a, - 0x1b, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x78, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x17, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x74, - 0x74, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x78, 0x12, 0x28, 0x0a, 0x10, 0x72, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x72, 0x6f, - 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, - 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x67, 0x12, 0x3a, 0x0a, 0x19, - 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x74, 0x61, - 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x17, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x74, 0x61, - 0x67, 0x72, 0x61, 0x6d, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x33, 0x0a, 0x15, 0x73, 0x74, 0x65, 0x61, - 0x6d, 0x64, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, - 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x64, 0x61, - 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, - 0x0a, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, - 0x07, 0x52, 0x09, 0x74, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, - 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, - 0x67, 0x73, 0x22, 0xca, 0x02, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, + 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x48, + 0x0a, 0x21, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x67, 0x72, + 0x65, 0x65, 0x6e, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x1d, 0x70, 0x65, 0x6e, 0x61, 0x6c, + 0x74, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x47, 0x72, 0x65, 0x65, 0x6e, 0x12, 0x3d, 0x0a, 0x1a, 0x69, 0x6e, 0x73, 0x75, + 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x73, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x19, 0x69, 0x6e, + 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x0a, 0x1c, 0x76, 0x73, 0x6e, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x73, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x19, 0x76, + 0x73, 0x6e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x1a, 0x6c, 0x61, 0x75, 0x6e, + 0x63, 0x68, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x18, 0x6c, 0x61, + 0x75, 0x6e, 0x63, 0x68, 0x65, 0x72, 0x4d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x0a, 0x1c, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x19, 0x69, 0x6e, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x6e, 0x0a, 0x04, 0x4e, 0x6f, 0x74, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x19, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x07, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x1a, 0x0a, 0x08, 0x64, + 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, + 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xc6, 0x06, 0x0a, 0x28, 0x43, 0x44, 0x61, 0x74, + 0x61, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, + 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, + 0x72, 0x61, 0x66, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x24, 0x0a, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, + 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, + 0x5f, 0x30, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, + 0x30, 0x12, 0x1a, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x5f, 0x31, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x31, 0x12, 0x1d, 0x0a, + 0x0a, 0x6d, 0x61, 0x70, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x6d, 0x61, 0x70, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, + 0x6d, 0x61, 0x70, 0x73, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x70, 0x73, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, + 0x22, 0x0a, 0x0d, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x5f, 0x76, + 0x65, 0x74, 0x6f, 0x31, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x65, 0x61, 0x6d, + 0x49, 0x64, 0x56, 0x65, 0x74, 0x6f, 0x31, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x65, 0x61, 0x6d, 0x5f, + 0x69, 0x64, 0x5f, 0x70, 0x69, 0x63, 0x6b, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, + 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x50, 0x69, 0x63, 0x6b, 0x6e, 0x12, 0x47, 0x0a, 0x06, 0x64, + 0x72, 0x61, 0x66, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x44, + 0x61, 0x74, 0x61, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, + 0x32, 0x5f, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x44, 0x72, 0x61, 0x66, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x64, 0x72, + 0x61, 0x66, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0c, 0x76, 0x6f, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, + 0x69, 0x64, 0x5f, 0x30, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x76, 0x6f, 0x74, 0x65, + 0x4d, 0x61, 0x70, 0x69, 0x64, 0x30, 0x12, 0x20, 0x0a, 0x0c, 0x76, 0x6f, 0x74, 0x65, 0x5f, 0x6d, + 0x61, 0x70, 0x69, 0x64, 0x5f, 0x31, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x76, 0x6f, + 0x74, 0x65, 0x4d, 0x61, 0x70, 0x69, 0x64, 0x31, 0x12, 0x20, 0x0a, 0x0c, 0x76, 0x6f, 0x74, 0x65, + 0x5f, 0x6d, 0x61, 0x70, 0x69, 0x64, 0x5f, 0x32, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, + 0x76, 0x6f, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x69, 0x64, 0x32, 0x12, 0x20, 0x0a, 0x0c, 0x76, 0x6f, + 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x69, 0x64, 0x5f, 0x33, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x05, + 0x52, 0x0a, 0x76, 0x6f, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x69, 0x64, 0x33, 0x12, 0x20, 0x0a, 0x0c, + 0x76, 0x6f, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x69, 0x64, 0x5f, 0x34, 0x18, 0x0f, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x0a, 0x76, 0x6f, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x69, 0x64, 0x34, 0x12, 0x20, + 0x0a, 0x0c, 0x76, 0x6f, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x69, 0x64, 0x5f, 0x35, 0x18, 0x10, + 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x76, 0x6f, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x69, 0x64, 0x35, + 0x12, 0x2c, 0x0a, 0x12, 0x76, 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, + 0x67, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x11, 0x20, 0x03, 0x28, 0x05, 0x52, 0x10, 0x76, 0x6f, + 0x74, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x76, 0x6f, 0x74, 0x65, 0x5f, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x12, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x09, 0x76, 0x6f, 0x74, 0x65, 0x50, 0x68, 0x61, 0x73, 0x65, 0x12, 0x28, 0x0a, + 0x10, 0x76, 0x6f, 0x74, 0x65, 0x5f, 0x70, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x76, 0x6f, 0x74, 0x65, 0x50, 0x68, 0x61, + 0x73, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x76, 0x6f, 0x74, 0x65, 0x5f, + 0x70, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x14, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x0f, 0x76, 0x6f, 0x74, 0x65, 0x50, 0x68, 0x61, 0x73, 0x65, 0x4c, 0x65, 0x6e, + 0x67, 0x74, 0x68, 0x1a, 0x3b, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x6d, 0x61, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x61, 0x70, + 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x0a, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x5f, 0x63, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x43, 0x74, + 0x22, 0xcf, 0x02, 0x0a, 0x11, 0x43, 0x50, 0x72, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, + 0x66, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0e, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x63, 0x74, 0x12, + 0x3f, 0x0a, 0x05, 0x64, 0x72, 0x61, 0x66, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x43, 0x44, 0x61, 0x74, 0x61, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, + 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, 0x05, 0x64, 0x72, 0x61, 0x66, 0x74, + 0x12, 0x32, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x43, 0x50, 0x72, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x44, + 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x69, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x04, 0x77, 0x69, 0x6e, 0x73, 0x1a, 0x87, 0x01, 0x0a, 0x09, 0x54, 0x65, 0x61, + 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x69, 0x64, 0x78, 0x74, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x49, 0x64, 0x78, 0x74, + 0x78, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x66, 0x6f, + 0x5f, 0x74, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x78, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x65, 0x61, + 0x6d, 0x73, 0x22, 0xb3, 0x06, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, - 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x69, - 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x64, 0x70, 0x5f, - 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x55, 0x64, 0x70, 0x49, 0x70, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, - 0x75, 0x64, 0x70, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x64, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x24, 0x0a, - 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x69, 0x64, 0x12, 0x51, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x70, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x61, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, - 0xf2, 0x09, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, - 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x12, 0x51, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, - 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, - 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, - 0x32, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x0b, - 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, - 0x61, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x61, 0x70, 0x12, 0x14, 0x0a, - 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x6f, - 0x75, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x05, 0x52, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x73, 0x73, - 0x69, 0x73, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x61, 0x73, 0x73, 0x69, - 0x73, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x18, 0x07, 0x20, - 0x03, 0x28, 0x05, 0x52, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x73, 0x63, 0x6f, - 0x72, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, - 0x28, 0x05, 0x52, 0x05, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x6f, 0x75, - 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0b, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x21, 0x0a, 0x0c, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x1f, 0x0a, 0x0b, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x0c, - 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x65, 0x61, 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, - 0x12, 0x49, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, - 0x6e, 0x67, 0x47, 0x43, 0x32, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x72, 0x6d, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x2b, 0x0a, 0x11, 0x72, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x10, - 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x4b, 0x69, 0x6c, 0x6c, 0x73, - 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x73, 0x68, - 0x6f, 0x74, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x65, 0x6e, 0x65, 0x6d, 0x79, - 0x48, 0x65, 0x61, 0x64, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x65, - 0x6d, 0x79, 0x5f, 0x33, 0x6b, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, - 0x65, 0x6d, 0x79, 0x33, 0x6b, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x5f, - 0x34, 0x6b, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, 0x65, 0x6d, 0x79, - 0x34, 0x6b, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x5f, 0x35, 0x6b, 0x73, - 0x18, 0x14, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x35, 0x6b, 0x73, - 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x76, 0x70, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04, - 0x6d, 0x76, 0x70, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, - 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, - 0x73, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x2e, 0x0a, 0x13, 0x73, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x76, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x73, 0x70, - 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x76, 0x12, - 0x30, 0x0a, 0x14, 0x73, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x6e, 0x6b, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x73, - 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x6e, - 0x6b, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, - 0x5f, 0x61, 0x67, 0x67, 0x18, 0x19, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x65, 0x6e, 0x65, 0x6d, - 0x79, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x41, 0x67, 0x67, 0x12, 0x55, 0x0a, 0x09, 0x64, 0x72, 0x6f, - 0x70, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x43, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x25, + 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x12, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x2e, 0x0a, 0x08, 0x72, + 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0d, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, + 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x75, 0x62, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, + 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x50, 0x75, 0x62, + 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, + 0x03, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x61, 0x72, 0x74, 0x79, 0x49, 0x64, 0x73, 0x12, 0x2c, 0x0a, + 0x09, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x61, 0x73, 0x6b, + 0x52, 0x09, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x74, + 0x76, 0x5f, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x74, 0x76, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, + 0x53, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x3b, 0x0a, 0x10, 0x74, 0x6f, 0x75, 0x72, 0x6e, + 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x10, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, + 0x2e, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52, + 0x0f, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x73, + 0x12, 0x43, 0x0a, 0x1e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, + 0x61, 0x73, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x1b, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, + 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x73, 0x74, 0x65, 0x72, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x76, 0x5f, 0x72, 0x65, 0x6c, 0x61, + 0x79, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0e, 0x74, 0x76, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, + 0x38, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x43, 0x50, 0x72, 0x65, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x70, 0x72, 0x65, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x74, 0x69, + 0x6d, 0x65, 0x33, 0x32, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x33, 0x32, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x76, 0x5f, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, + 0x76, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x22, 0xcf, 0x06, 0x0a, 0x37, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x72, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x12, 0x51, 0x0a, 0x0b, 0x72, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, + 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x47, 0x43, 0x32, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x52, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, + 0x03, 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x61, 0x70, 0x12, + 0x2e, 0x0a, 0x13, 0x67, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x67, 0x63, + 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6e, 0x74, 0x12, + 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x07, 0x74, 0x76, 0x5f, 0x69, 0x6e, 0x66, + 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x48, 0x6c, 0x74, 0x76, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x74, 0x76, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, + 0x52, 0x14, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x08, + 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x69, 0x64, 0x6c, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x18, 0x72, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x5f, 0x64, 0x65, 0x66, + 0x5f, 0x69, 0x64, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x72, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x44, 0x65, 0x66, 0x49, 0x64, 0x78, + 0x12, 0x33, 0x0a, 0x16, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, + 0x61, 0x74, 0x74, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x13, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x74, 0x74, 0x72, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3c, 0x0a, 0x1b, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, + 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x5f, 0x69, 0x64, 0x78, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x72, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x49, 0x64, 0x78, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x64, 0x72, + 0x6f, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x72, 0x6f, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x0a, + 0x0e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, + 0x74, 0x54, 0x61, 0x67, 0x12, 0x3a, 0x0a, 0x19, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x73, + 0x74, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x70, 0x6f, 0x72, + 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x53, + 0x74, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x50, 0x6f, 0x72, 0x74, + 0x12, 0x33, 0x0a, 0x15, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, + 0x6d, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x14, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x52, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x07, 0x52, 0x09, 0x74, 0x65, 0x73, 0x74, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x22, 0xca, 0x02, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, - 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x44, 0x72, - 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x64, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x28, 0x0a, 0x10, 0x62, 0x5f, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x74, - 0x65, 0x61, 0x6d, 0x73, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x62, 0x53, 0x77, 0x69, - 0x74, 0x63, 0x68, 0x65, 0x64, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, - 0x65, 0x6d, 0x79, 0x5f, 0x32, 0x6b, 0x73, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x65, - 0x6e, 0x65, 0x6d, 0x79, 0x32, 0x6b, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x5f, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x65, 0x64, 0x18, 0x1d, 0x20, 0x03, 0x28, 0x05, 0x52, - 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x65, 0x64, 0x12, 0x28, - 0x0a, 0x10, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x65, 0x61, 0x6d, 0x53, 0x70, - 0x61, 0x77, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f, - 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x61, - 0x78, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x1a, 0x2b, 0x0a, 0x08, 0x44, 0x72, 0x6f, 0x70, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, - 0x76, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x4d, 0x76, 0x70, 0x22, 0x2e, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, + 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x5f, 0x75, 0x64, 0x70, 0x5f, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0b, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x64, 0x70, 0x49, 0x70, 0x12, 0x26, 0x0a, + 0x0f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x6f, 0x72, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x64, + 0x70, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x72, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x12, 0x51, 0x0a, 0x0b, 0x72, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, + 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x47, 0x43, 0x32, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, + 0x0a, 0x03, 0x6d, 0x61, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x61, 0x70, + 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xf2, 0x09, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x64, + 0x12, 0x51, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, 0x43, 0x48, - 0x65, 0x6c, 0x6c, 0x6f, 0x22, 0xda, 0x07, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, - 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x53, 0x0a, 0x0c, 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x0c, 0x6f, 0x6e, 0x67, - 0x6f, 0x69, 0x6e, 0x67, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x34, 0x0a, 0x0c, 0x67, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x11, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, - 0x63, 0x73, 0x52, 0x0b, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, - 0x27, 0x0a, 0x0f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, - 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, - 0x79, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x65, 0x6e, 0x61, - 0x6c, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0d, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, - 0x1d, 0x0a, 0x0a, 0x76, 0x61, 0x63, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x09, 0x76, 0x61, 0x63, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x2c, - 0x0a, 0x07, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x3b, 0x0a, 0x0c, - 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x63, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x06, 0x6d, 0x65, 0x64, - 0x61, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x4d, 0x65, 0x64, 0x61, 0x6c, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x65, - 0x64, 0x61, 0x6c, 0x73, 0x12, 0x3a, 0x0a, 0x10, 0x6d, 0x79, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, - 0x2e, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x52, 0x0e, 0x6d, 0x79, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x12, 0x44, 0x0a, 0x16, 0x6d, 0x79, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0f, 0x2e, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x61, - 0x6d, 0x52, 0x13, 0x6d, 0x79, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x37, 0x0a, 0x0f, 0x6d, 0x79, 0x5f, 0x63, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0f, 0x2e, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, - 0x52, 0x0d, 0x6d, 0x79, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x12, - 0x47, 0x0a, 0x17, 0x6d, 0x79, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x10, 0x2e, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x52, 0x14, 0x6d, 0x79, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x75, 0x72, 0x76, - 0x65, 0x79, 0x5f, 0x76, 0x6f, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, - 0x75, 0x72, 0x76, 0x65, 0x79, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x08, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x75, 0x72, 0x5f, 0x78, 0x70, 0x18, 0x12, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x75, 0x72, 0x58, 0x70, 0x12, 0x31, - 0x0a, 0x15, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x78, 0x70, 0x5f, 0x62, 0x6f, 0x6e, 0x75, - 0x73, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x58, 0x70, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x46, 0x6c, 0x61, 0x67, - 0x73, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x14, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, - 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, - 0x73, 0x22, 0xce, 0x01, 0x0a, 0x29, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, - 0x4e, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x32, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, - 0x69, 0x76, 0x61, 0x63, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x1a, - 0x51, 0x0a, 0x07, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0b, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, - 0x0d, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x22, 0xf9, 0x01, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, + 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6d, 0x61, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6b, + 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x6b, 0x69, 0x6c, 0x6c, + 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, + 0x65, 0x61, 0x74, 0x68, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x64, 0x65, 0x61, + 0x74, 0x68, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x08, 0x20, + 0x03, 0x28, 0x05, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x70, + 0x69, 0x6e, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x70, 0x69, 0x6e, 0x67, + 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x65, 0x61, 0x6d, 0x5f, + 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x65, + 0x61, 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x12, 0x49, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x72, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x72, 0x6d, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, + 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, + 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x44, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x65, 0x6d, 0x79, + 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x65, 0x6e, + 0x65, 0x6d, 0x79, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6e, 0x65, 0x6d, + 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, + 0x05, 0x52, 0x0e, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x48, 0x65, 0x61, 0x64, 0x73, 0x68, 0x6f, 0x74, + 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x5f, 0x33, 0x6b, 0x73, 0x18, 0x12, + 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x33, 0x6b, 0x73, 0x12, 0x1b, + 0x0a, 0x09, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x5f, 0x34, 0x6b, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, + 0x05, 0x52, 0x08, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x34, 0x6b, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x65, + 0x6e, 0x65, 0x6d, 0x79, 0x5f, 0x35, 0x6b, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, + 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x35, 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x76, 0x70, 0x73, + 0x18, 0x15, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x6d, 0x76, 0x70, 0x73, 0x12, 0x29, 0x0a, 0x10, + 0x73, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, + 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x70, 0x65, 0x63, 0x74, + 0x61, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x76, 0x18, 0x17, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x73, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x73, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x76, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x70, 0x65, 0x63, 0x74, + 0x61, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x6e, 0x6b, 0x18, + 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x73, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, + 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x6e, 0x6b, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x6e, 0x65, + 0x6d, 0x79, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x5f, 0x61, 0x67, 0x67, 0x18, 0x19, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x0d, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x41, 0x67, + 0x67, 0x12, 0x55, 0x0a, 0x09, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x1a, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, - 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x62, - 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x58, 0x0a, 0x0f, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x65, - 0x64, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x6e, 0x64, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, + 0x64, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x10, 0x62, 0x5f, 0x73, 0x77, + 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x1b, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0e, 0x62, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x54, 0x65, 0x61, + 0x6d, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x5f, 0x32, 0x6b, 0x73, 0x18, + 0x1c, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x32, 0x6b, 0x73, 0x12, + 0x25, 0x0a, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x65, + 0x64, 0x18, 0x1d, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, + 0x70, 0x61, 0x77, 0x6e, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x73, + 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x05, + 0x52, 0x0e, 0x74, 0x65, 0x61, 0x6d, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x18, 0x1f, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x1a, + 0x2b, 0x0a, 0x08, 0x44, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x76, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x76, 0x70, 0x22, 0x2e, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, - 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, - 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x0e, - 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x27, - 0x0a, 0x0f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, - 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x65, 0x6e, 0x61, 0x6c, - 0x74, 0x79, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0d, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x57, - 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x47, 0x43, 0x52, 0x61, 0x6e, - 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x69, - 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x72, - 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x59, 0x0a, 0x33, 0x43, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x32, 0x47, 0x43, 0x42, 0x6c, 0x6f, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x22, - 0x0a, 0x0d, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x50, 0x6f, 0x73, 0x74, 0x55, - 0x72, 0x6c, 0x22, 0xbd, 0x01, 0x0a, 0x33, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, - 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x55, - 0x73, 0x65, 0x72, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x35, 0x0a, 0x16, 0x63, - 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6f, - 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x63, 0x6f, 0x6d, - 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, - 0x77, 0x6e, 0x22, 0xe1, 0x02, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, - 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, - 0x70, 0x74, 0x5f, 0x61, 0x69, 0x6d, 0x62, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x09, 0x72, 0x70, 0x74, 0x41, 0x69, 0x6d, 0x62, 0x6f, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x70, - 0x74, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x68, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0b, 0x72, 0x70, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x68, 0x61, 0x63, 0x6b, 0x12, 0x23, 0x0a, - 0x0d, 0x72, 0x70, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x68, 0x61, 0x63, 0x6b, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x70, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x68, 0x61, - 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x70, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x68, 0x61, - 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x70, 0x74, 0x54, 0x65, 0x61, - 0x6d, 0x68, 0x61, 0x72, 0x6d, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x70, 0x74, 0x5f, 0x74, 0x65, 0x78, - 0x74, 0x61, 0x62, 0x75, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x70, - 0x74, 0x54, 0x65, 0x78, 0x74, 0x61, 0x62, 0x75, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x70, - 0x74, 0x5f, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x61, 0x62, 0x75, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0d, 0x72, 0x70, 0x74, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x61, 0x62, 0x75, 0x73, - 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, - 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x64, 0x65, 0x6d, 0x6f, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, - 0x6f, 0x6d, 0x44, 0x65, 0x6d, 0x6f, 0x22, 0xb7, 0x01, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, 0x43, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x22, 0xda, 0x07, 0x0a, + 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, + 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, + 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x12, 0x1d, 0x0a, + 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x53, 0x0a, 0x0c, + 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, + 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x52, 0x0c, 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x12, 0x34, 0x0a, 0x0c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x0b, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x65, 0x6e, 0x61, 0x6c, + 0x74, 0x79, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0e, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, + 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, + 0x79, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, 0x63, 0x5f, 0x62, + 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x76, 0x61, 0x63, + 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x07, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, + 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x72, 0x61, 0x6e, + 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x3b, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x29, 0x0a, 0x06, 0x6d, 0x65, 0x64, 0x61, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x11, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x65, 0x64, 0x61, 0x6c, 0x73, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x65, 0x64, 0x61, 0x6c, 0x73, 0x12, 0x3a, 0x0a, 0x10, + 0x6d, 0x79, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, + 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x6d, 0x79, 0x43, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x44, 0x0a, 0x16, 0x6d, 0x79, 0x5f, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, + 0x6d, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x54, 0x6f, 0x75, 0x72, 0x6e, + 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x13, 0x6d, 0x79, 0x43, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x37, + 0x0a, 0x0f, 0x6d, 0x79, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, + 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, + 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x0d, 0x6d, 0x79, 0x43, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x47, 0x0a, 0x17, 0x6d, 0x79, 0x5f, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x67, + 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x54, 0x6f, 0x75, 0x72, 0x6e, + 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x14, 0x6d, 0x79, 0x43, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x73, + 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x75, 0x72, 0x76, 0x65, 0x79, 0x5f, 0x76, 0x6f, 0x74, 0x65, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x75, 0x72, 0x76, 0x65, 0x79, 0x56, 0x6f, 0x74, + 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, + 0x21, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x75, 0x72, + 0x5f, 0x78, 0x70, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x43, 0x75, 0x72, 0x58, 0x70, 0x12, 0x31, 0x0a, 0x15, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x5f, 0x78, 0x70, 0x5f, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, + 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x58, 0x70, 0x42, + 0x6f, 0x6e, 0x75, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x61, 0x6e, + 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x22, 0xce, 0x01, 0x0a, 0x29, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, + 0x5f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4e, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x73, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x51, 0x0a, 0x07, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xf9, 0x01, 0x0a, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, + 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, + 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x58, 0x0a, 0x0f, + 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, + 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x0e, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x65, + 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, + 0x79, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0e, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, + 0x25, 0x0a, 0x0e, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, + 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x57, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x47, 0x43, 0x52, 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, + 0x2e, 0x0a, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, + 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x22, + 0x59, 0x0a, 0x33, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, + 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x32, 0x47, 0x43, 0x42, 0x6c, 0x6f, 0x67, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x70, + 0x6f, 0x73, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, + 0x61, 0x69, 0x6e, 0x50, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x22, 0xbd, 0x01, 0x0a, 0x33, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, + 0x32, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x50, 0x65, 0x6e, 0x61, 0x6c, + 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, + 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x65, 0x63, 0x6f, + 0x6e, 0x64, 0x73, 0x12, 0x35, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x22, 0xe1, 0x02, 0x0a, 0x25, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, + 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x61, 0x69, 0x6d, 0x62, 0x6f, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x70, 0x74, 0x41, 0x69, 0x6d, 0x62, + 0x6f, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x70, 0x74, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x68, 0x61, + 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x70, 0x74, 0x57, 0x61, 0x6c, + 0x6c, 0x68, 0x61, 0x63, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x70, 0x74, 0x5f, 0x73, 0x70, 0x65, + 0x65, 0x64, 0x68, 0x61, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x70, + 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x68, 0x61, 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x70, + 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x68, 0x61, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0b, 0x72, 0x70, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x68, 0x61, 0x72, 0x6d, 0x12, 0x23, 0x0a, + 0x0d, 0x72, 0x70, 0x74, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x61, 0x62, 0x75, 0x73, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x70, 0x74, 0x54, 0x65, 0x78, 0x74, 0x61, 0x62, 0x75, + 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x70, 0x74, 0x5f, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x61, + 0x62, 0x75, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x72, 0x70, 0x74, 0x56, + 0x6f, 0x69, 0x63, 0x65, 0x61, 0x62, 0x75, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x66, + 0x72, 0x6f, 0x6d, 0x5f, 0x64, 0x65, 0x6d, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x44, 0x65, 0x6d, 0x6f, 0x22, 0xb7, + 0x01, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, + 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x16, 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x22, 0x8d, 0x02, 0x0a, 0x25, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x70, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x72, 0x70, 0x65, + 0x72, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x70, 0x74, 0x50, 0x6f, 0x6f, + 0x72, 0x70, 0x65, 0x72, 0x66, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x70, 0x74, 0x5f, 0x61, 0x62, 0x75, + 0x73, 0x69, 0x76, 0x65, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x10, 0x72, 0x70, 0x74, 0x41, 0x62, 0x75, 0x73, 0x69, 0x76, 0x65, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x70, 0x74, 0x5f, 0x62, 0x61, 0x64, 0x6d, 0x6f, 0x74, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x70, 0x74, 0x42, 0x61, 0x64, 0x6d, + 0x6f, 0x74, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x70, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x67, 0x61, 0x62, 0x75, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x72, + 0x70, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x61, 0x62, 0x75, 0x73, 0x65, 0x12, 0x2d, + 0x0a, 0x12, 0x72, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x61, + 0x62, 0x75, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x70, 0x74, 0x49, + 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x61, 0x62, 0x75, 0x73, 0x65, 0x12, 0x19, 0x0a, + 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x22, 0xf4, 0x01, 0x0a, 0x27, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, + 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, + 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x22, + 0x8e, 0x02, 0x0a, 0x30, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, + 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x46, 0x72, 0x69, + 0x65, 0x6e, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x69, 0x64, + 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x72, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x75, 0x6e, 0x63, + 0x68, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x11, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, + 0x2e, 0x44, 0x61, 0x74, 0x61, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x52, + 0x0f, 0x64, 0x61, 0x74, 0x61, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x73, + 0x22, 0xd3, 0x03, 0x0a, 0x12, 0x57, 0x61, 0x74, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x5f, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x49, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x76, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x76, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x0a, + 0x0d, 0x74, 0x76, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x76, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, + 0x72, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x76, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x76, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x74, + 0x76, 0x5f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x74, 0x76, 0x57, 0x61, 0x74, 0x63, 0x68, 0x50, + 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6c, 0x5f, 0x64, 0x65, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x10, 0x63, 0x6c, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x64, 0x61, + 0x74, 0x61, 0x4b, 0x65, 0x79, 0x12, 0x33, 0x0a, 0x16, 0x63, 0x6c, 0x5f, 0x64, 0x65, 0x63, 0x72, + 0x79, 0x70, 0x74, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x75, 0x62, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x63, 0x6c, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, + 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x50, 0x75, 0x62, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, + 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, + 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x61, 0x6d, 0x65, 0x5f, + 0x6d, 0x61, 0x70, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x67, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x19, 0x0a, 0x08, + 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x67, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, + 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x82, 0x02, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x0c, 0x63, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, - 0x22, 0x8d, 0x02, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, - 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x70, - 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x72, 0x70, 0x65, 0x72, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0b, 0x72, 0x70, 0x74, 0x50, 0x6f, 0x6f, 0x72, 0x70, 0x65, 0x72, 0x66, 0x12, 0x2b, 0x0a, - 0x11, 0x72, 0x70, 0x74, 0x5f, 0x61, 0x62, 0x75, 0x73, 0x69, 0x76, 0x65, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x70, 0x74, 0x41, 0x62, 0x75, - 0x73, 0x69, 0x76, 0x65, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x70, - 0x74, 0x5f, 0x62, 0x61, 0x64, 0x6d, 0x6f, 0x74, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x72, 0x70, 0x74, 0x42, 0x61, 0x64, 0x6d, 0x6f, 0x74, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x72, - 0x70, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x61, 0x62, 0x75, 0x73, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x72, 0x70, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, - 0x67, 0x61, 0x62, 0x75, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x70, 0x74, 0x5f, 0x69, 0x6e, - 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x61, 0x62, 0x75, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x11, 0x72, 0x70, 0x74, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, - 0x61, 0x62, 0x75, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, - 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, - 0x22, 0xf4, 0x01, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, - 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0f, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, - 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, - 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x16, 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x22, 0x8e, 0x02, 0x0a, 0x30, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, - 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, - 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x75, - 0x6e, 0x63, 0x68, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x11, 0x64, - 0x61, 0x74, 0x61, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x73, - 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x43, 0x65, 0x6e, - 0x74, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x43, 0x65, 0x6e, - 0x74, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x73, 0x22, 0xd3, 0x03, 0x0a, 0x12, 0x57, 0x61, 0x74, - 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x70, 0x12, 0x17, 0x0a, 0x07, - 0x74, 0x76, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, - 0x76, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x76, 0x5f, 0x73, 0x70, 0x65, 0x63, - 0x74, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x76, - 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x76, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x76, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x76, 0x5f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x5f, - 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, - 0x74, 0x76, 0x57, 0x61, 0x74, 0x63, 0x68, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, - 0x2c, 0x0a, 0x12, 0x63, 0x6c, 0x5f, 0x64, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x64, 0x61, 0x74, - 0x61, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x63, 0x6c, 0x44, - 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x12, 0x33, 0x0a, - 0x16, 0x63, 0x6c, 0x5f, 0x64, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x64, 0x61, 0x74, 0x61, 0x5f, - 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x75, 0x62, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x63, - 0x6c, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x50, - 0x75, 0x62, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x23, 0x0a, 0x0d, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x67, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x70, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x12, - 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x82, - 0x02, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, - 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6a, 0x6f, - 0x69, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, - 0x6a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x69, - 0x6e, 0x5f, 0x69, 0x70, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6a, 0x6f, 0x69, - 0x6e, 0x49, 0x70, 0x70, 0x12, 0x41, 0x0a, 0x03, 0x72, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, - 0x6e, 0x67, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x52, 0x03, 0x72, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x6d, 0x73, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x6d, 0x73, 0x67, 0x22, 0xa2, 0x02, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x41, 0x0a, 0x03, 0x72, 0x65, 0x73, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, - 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x03, 0x72, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x6d, 0x73, 0x67, 0x22, 0x6c, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x43, 0x73, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4e, 0x65, 0x77, 0x4d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x70, - 0x61, 0x69, 0x67, 0x6e, 0x49, 0x64, 0x22, 0xc0, 0x01, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x43, 0x73, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6d, 0x70, 0x61, - 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x61, - 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x64, 0x65, - 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x64, - 0x65, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x11, 0x72, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, - 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x78, 0x70, - 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x73, 0x74, 0x22, 0xaf, 0x02, 0x0a, 0x2c, 0x43, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x43, 0x73, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, - 0x5f, 0x47, 0x43, 0x32, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, - 0x58, 0x50, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x10, 0x78, 0x70, - 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x58, 0x70, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x78, 0x70, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, - 0x78, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x74, 0x58, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6c, - 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x70, 0x67, 0x72, - 0x61, 0x64, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x64, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0e, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x44, 0x65, 0x66, 0x69, 0x64, - 0x78, 0x12, 0x38, 0x0a, 0x18, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x61, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x16, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x41, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x22, 0x94, 0x03, 0x0a, 0x1f, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, - 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x45, - 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, + 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x46, + 0x72, 0x69, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x69, 0x70, 0x70, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6a, 0x6f, 0x69, 0x6e, 0x49, 0x70, 0x70, 0x12, 0x41, 0x0a, 0x03, + 0x72, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x03, 0x72, 0x65, 0x73, 0x12, + 0x1a, 0x0a, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x6d, 0x73, 0x67, 0x22, 0xa2, 0x02, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, - 0x44, 0x65, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x05, - 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x49, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, - 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, - 0x65, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x65, 0x70, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, - 0x1a, 0x50, 0x0a, 0x0e, 0x44, 0x65, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x05, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, - 0x6f, 0x7a, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x66, 0x72, 0x6f, 0x7a, - 0x65, 0x6e, 0x1a, 0x6e, 0x0a, 0x0e, 0x44, 0x65, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x12, 0x2d, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x44, 0x65, 0x65, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x44, 0x65, 0x65, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x22, 0xd7, 0x01, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, - 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x57, 0x61, 0x74, 0x63, 0x68, 0x49, - 0x6e, 0x66, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x47, 0x0a, 0x15, 0x77, 0x61, 0x74, 0x63, - 0x68, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x66, 0x6f, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x61, - 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x13, 0x77, 0x61, - 0x74, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, - 0x73, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x65, 0x78, 0x74, - 0x65, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0xe0, 0x01, 0x0a, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, - 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, - 0x33, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x5f, 0x64, - 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, - 0x61, 0x74, 0x65, 0x64, 0x12, 0x35, 0x0a, 0x17, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x73, 0x5f, 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x14, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, - 0x73, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, - 0x9c, 0x01, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x50, 0x72, - 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x12, 0x58, 0x0a, 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, + 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x4a, 0x6f, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x70, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x70, + 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x72, + 0x74, 0x12, 0x41, 0x0a, 0x03, 0x72, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, - 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x52, 0x0f, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x22, 0xa6, - 0x02, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, - 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x76, 0x65, 0x72, - 0x77, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x73, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x63, 0x61, 0x73, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x06, 0x63, 0x61, 0x73, 0x65, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x73, 0x70, 0x65, - 0x63, 0x74, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x75, 0x73, 0x70, - 0x65, 0x63, 0x74, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x72, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x61, 0x69, 0x6d, - 0x62, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x70, 0x74, 0x41, 0x69, - 0x6d, 0x62, 0x6f, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x70, 0x74, 0x5f, 0x77, 0x61, 0x6c, 0x6c, - 0x68, 0x61, 0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x70, 0x74, 0x57, - 0x61, 0x6c, 0x6c, 0x68, 0x61, 0x63, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x70, 0x74, 0x5f, 0x73, - 0x70, 0x65, 0x65, 0x64, 0x68, 0x61, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, - 0x72, 0x70, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x68, 0x61, 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0c, - 0x72, 0x70, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x68, 0x61, 0x72, 0x6d, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x70, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x68, 0x61, 0x72, 0x6d, 0x12, - 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x90, 0x03, 0x0a, 0x30, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, - 0x73, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x63, 0x61, 0x73, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, - 0x73, 0x65, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x73, 0x65, 0x75, 0x72, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x61, 0x73, 0x65, 0x75, 0x72, 0x6c, 0x12, 0x18, - 0x0a, 0x07, 0x76, 0x65, 0x72, 0x64, 0x69, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x07, 0x76, 0x65, 0x72, 0x64, 0x69, 0x63, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, - 0x6c, 0x65, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, - 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x64, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x75, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x64, 0x12, 0x1e, - 0x0a, 0x0a, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x12, 0x1c, - 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x6e, 0x75, 0x6d, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x12, 0x26, 0x0a, 0x0e, - 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x72, 0x6f, - 0x75, 0x6e, 0x64, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x63, 0x6f, - 0x6e, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x11, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x63, 0x6f, 0x6e, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x62, 0x0a, 0x2c, 0x43, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, - 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, - 0x43, 0x61, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, - 0x73, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x73, 0x65, - 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x69, 0x64, 0x22, 0x56, - 0x0a, 0x1e, 0x43, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4f, - 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x45, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x16, - 0x0a, 0x06, 0x63, 0x61, 0x73, 0x65, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, - 0x63, 0x61, 0x73, 0x65, 0x69, 0x64, 0x22, 0x63, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x49, 0x0a, 0x23, 0x43, + 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, + 0x03, 0x72, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x6d, 0x73, 0x67, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x6d, 0x73, 0x67, + 0x22, 0x6c, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x73, 0x74, 0x72, 0x69, 0x6b, + 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x4e, 0x65, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, + 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, + 0x0b, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x49, 0x64, 0x22, 0xc0, + 0x01, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x73, 0x74, 0x72, 0x69, 0x6b, 0x65, + 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x64, 0x65, + 0x65, 0x6d, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, + 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x49, 0x64, + 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x2d, 0x0a, + 0x12, 0x72, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x65, 0x64, 0x65, 0x65, + 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x73, + 0x74, 0x22, 0xaf, 0x02, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x73, 0x74, 0x72, + 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x58, 0x50, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x65, 0x64, 0x12, 0x39, 0x0a, 0x10, 0x78, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x58, + 0x70, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x78, + 0x70, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, + 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x78, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x09, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x58, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x66, + 0x69, 0x64, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x75, 0x70, 0x67, 0x72, 0x61, + 0x64, 0x65, 0x64, 0x44, 0x65, 0x66, 0x69, 0x64, 0x78, 0x12, 0x38, 0x0a, 0x18, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x61, 0x77, + 0x61, 0x72, 0x64, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x41, 0x77, 0x61, 0x72, + 0x64, 0x65, 0x64, 0x22, 0x94, 0x03, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, + 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x65, + 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, + 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x65, + 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x49, 0x0a, + 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, + 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x2e, 0x44, 0x65, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x1a, 0x50, 0x0a, 0x0e, 0x44, 0x65, 0x65, 0x70, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x65, + 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x62, 0x65, 0x67, 0x69, 0x6e, + 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x65, + 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x06, 0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x1a, 0x6e, 0x0a, 0x0e, 0x44, 0x65, + 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2d, 0x0a, 0x06, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x44, + 0x65, 0x65, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x06, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x44, 0x65, + 0x65, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xd7, 0x01, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, - 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, 0x43, 0x54, 0x65, 0x78, 0x74, 0x4d, - 0x73, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, - 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0xd5, 0x01, 0x0a, 0x29, 0x43, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, - 0x72, 0x6f, 0x70, 0x73, 0x12, 0x58, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x69, 0x6e, - 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x32, 0x5f, 0x57, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x73, + 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, + 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, + 0x12, 0x47, 0x0a, 0x15, 0x77, 0x61, 0x74, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x13, 0x77, 0x61, 0x74, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x78, 0x74, + 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x69, 0x6d, + 0x65, 0x6f, 0x75, 0x74, 0x22, 0xe0, 0x01, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, + 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x49, 0x64, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x35, 0x0a, 0x17, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x5f, 0x5f, 0x64, 0x65, 0x70, + 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x14, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, + 0x74, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x9c, 0x01, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1d, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x58, 0x0a, 0x10, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, + 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x52, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, + 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x22, 0xa6, 0x02, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x73, + 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x73, 0x65, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x73, 0x65, 0x69, 0x64, 0x12, + 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x73, 0x75, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x64, 0x12, 0x1e, 0x0a, + 0x0a, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0a, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x12, 0x1d, 0x0a, + 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x61, 0x69, 0x6d, 0x62, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x72, 0x70, 0x74, 0x41, 0x69, 0x6d, 0x62, 0x6f, 0x74, 0x12, 0x21, 0x0a, 0x0c, + 0x72, 0x70, 0x74, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x68, 0x61, 0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x70, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x68, 0x61, 0x63, 0x6b, 0x12, + 0x23, 0x0a, 0x0d, 0x72, 0x70, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x68, 0x61, 0x63, 0x6b, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x70, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, + 0x68, 0x61, 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x70, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, + 0x68, 0x61, 0x72, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x70, 0x74, 0x54, + 0x65, 0x61, 0x6d, 0x68, 0x61, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, + 0x90, 0x03, 0x0a, 0x30, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, + 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x76, 0x65, + 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x73, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x73, 0x65, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x73, 0x65, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x63, 0x61, 0x73, 0x65, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, + 0x61, 0x73, 0x65, 0x75, 0x72, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x64, 0x69, 0x63, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x64, 0x69, 0x63, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x28, + 0x0a, 0x0f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, + 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, + 0x65, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x73, 0x70, + 0x65, 0x63, 0x74, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x75, 0x73, + 0x70, 0x65, 0x63, 0x74, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x72, 0x6f, 0x75, + 0x6e, 0x64, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6e, 0x75, 0x6d, 0x72, 0x6f, + 0x75, 0x6e, 0x64, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x66, 0x72, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x12, 0x2c, 0x0a, 0x11, + 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x63, 0x6f, 0x6e, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x63, + 0x6f, 0x6e, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x22, 0x62, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, + 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, + 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x73, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x73, 0x65, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x69, 0x64, 0x22, 0x56, 0x0a, 0x1e, 0x43, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, + 0x45, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x73, 0x65, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x73, 0x65, 0x69, 0x64, 0x22, 0x63, + 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, + 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x65, + 0x78, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x22, 0x49, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, + 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x32, 0x47, 0x43, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, + 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0xd5, + 0x01, 0x0a, 0x29, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, + 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x52, 0x75, + 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x72, 0x6f, 0x70, 0x73, 0x12, 0x58, 0x0a, 0x0a, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x38, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, + 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x4e, 0x0a, 0x14, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x65, 0x6e, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x5f, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x11, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x51, 0x75, 0x65, + 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x22, 0xfd, 0x05, 0x0a, 0x19, 0x43, 0x45, 0x63, 0x6f, 0x6e, + 0x49, 0x74, 0x65, 0x6d, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x69, 0x6e, 0x74, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x61, 0x69, 0x6e, + 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, + 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x69, 0x6e, + 0x74, 0x77, 0x65, 0x61, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x69, + 0x6e, 0x74, 0x77, 0x65, 0x61, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x69, 0x6e, 0x74, 0x73, + 0x65, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x69, 0x6e, 0x74, + 0x73, 0x65, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x61, 0x74, 0x65, + 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x12, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x61, 0x74, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x61, 0x74, 0x65, + 0x72, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6b, 0x69, + 0x6c, 0x6c, 0x65, 0x61, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x08, + 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, + 0x2e, 0x43, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, + 0x77, 0x44, 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x53, 0x74, 0x69, 0x63, 0x6b, + 0x65, 0x72, 0x52, 0x08, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x1c, 0x0a, 0x09, + 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x09, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, + 0x69, 0x67, 0x69, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, + 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x64, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, + 0x64, 0x72, 0x6f, 0x70, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0a, 0x64, 0x72, 0x6f, 0x70, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, + 0x6d, 0x75, 0x73, 0x69, 0x63, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0a, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, + 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x1a, 0x9b, 0x01, 0x0a, 0x07, 0x53, 0x74, 0x69, + 0x63, 0x6b, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x69, 0x63, + 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, + 0x69, 0x63, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x65, 0x61, 0x72, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x77, 0x65, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, + 0x63, 0x61, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x08, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, + 0x07, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, + 0x74, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x6c, 0x0a, 0x32, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x45, 0x6e, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x72, 0x6f, 0x70, 0x73, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x08, + 0x69, 0x74, 0x65, 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x43, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, + 0x77, 0x44, 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, + 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x9d, 0x01, 0x0a, 0x37, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, + 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x32, 0x47, 0x43, 0x45, 0x63, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, + 0x44, 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x17, 0x0a, 0x07, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x53, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x5f, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x41, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x44, 0x12, 0x17, 0x0a, 0x07, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x4d, 0x22, 0x72, 0x0a, 0x38, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, + 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x32, 0x47, 0x43, 0x45, 0x63, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, + 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x36, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x43, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x72, + 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x08, + 0x69, 0x74, 0x65, 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x35, 0x0a, 0x33, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x76, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x22, + 0x52, 0x0a, 0x32, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, + 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x76, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x6f, + 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x69, 0x64, 0x22, 0x52, 0x0a, 0x32, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, + 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x22, 0x4e, 0x0a, 0x32, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x4e, - 0x0a, 0x14, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, - 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x11, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x45, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x22, 0xfd, - 0x05, 0x0a, 0x19, 0x43, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x72, 0x65, 0x76, - 0x69, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x1c, 0x0a, 0x09, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, - 0x65, 0x6d, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, - 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1e, - 0x0a, 0x0a, 0x70, 0x61, 0x69, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x61, 0x69, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, - 0x0a, 0x06, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, - 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, - 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, - 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x69, 0x6e, 0x74, 0x77, 0x65, 0x61, 0x72, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x69, 0x6e, 0x74, 0x77, 0x65, 0x61, 0x72, 0x12, 0x1c, - 0x0a, 0x09, 0x70, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x65, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x70, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x65, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x12, - 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x61, 0x74, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x61, - 0x74, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, - 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x61, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x61, 0x74, 0x65, 0x72, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, - 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x43, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, - 0x65, 0x6d, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x2e, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x52, 0x08, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x65, 0x72, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, - 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, - 0x72, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x72, 0x6f, 0x70, 0x72, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x72, 0x6f, 0x70, 0x72, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x1a, 0x9b, 0x01, 0x0a, 0x07, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, - 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, - 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x77, 0x65, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x77, - 0x65, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x72, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x6c, - 0x0a, 0x32, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x52, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x44, 0x72, 0x6f, 0x70, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x6e, 0x66, 0x6f, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x43, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, - 0x65, 0x6d, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x4e, 0x0a, 0x14, - 0x43, 0x4d, 0x73, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, - 0x64, 0x67, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x6e, 0x66, 0x6f, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x43, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, - 0x65, 0x6d, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x9d, 0x01, 0x0a, - 0x37, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, - 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, 0x43, 0x45, 0x63, 0x6f, - 0x6e, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x5f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x53, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x61, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x41, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x5f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x44, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6d, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x4d, 0x22, 0x72, 0x0a, 0x38, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, - 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, 0x43, 0x45, 0x63, 0x6f, 0x6e, - 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, - 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x43, 0x45, 0x63, - 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x61, 0x74, - 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x6e, 0x66, 0x6f, - 0x22, 0x35, 0x0a, 0x33, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x69, - 0x76, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x52, 0x0a, 0x32, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x6f, + 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x73, 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, 0x22, 0x7f, 0x0a, 0x2f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, - 0x76, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x0a, - 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x22, 0x52, 0x0a, 0x32, 0x43, + 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x75, + 0x6c, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, + 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xd1, 0x02, 0x0a, 0x1d, 0x43, 0x44, 0x61, + 0x74, 0x61, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, + 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x74, 0x69, + 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x12, 0x77, 0x61, 0x74, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x77, 0x61, 0x74, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x5c, 0x0a, 0x11, 0x72, 0x6f, 0x75, 0x6e, 0x64, + 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, + 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x52, 0x10, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x74, 0x61, 0x74, 0x73, 0x4c, + 0x65, 0x67, 0x61, 0x63, 0x79, 0x12, 0x55, 0x0a, 0x0d, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x74, + 0x61, 0x74, 0x73, 0x61, 0x6c, 0x6c, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, - 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65, - 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x22, - 0x4e, 0x0a, 0x32, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, - 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, - 0x47, 0x61, 0x6d, 0x65, 0x73, 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, 0x22, - 0x7f, 0x0a, 0x2f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, - 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, - 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x09, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x22, 0xd1, 0x02, 0x0a, 0x1d, 0x43, 0x44, 0x61, 0x74, 0x61, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x12, 0x77, 0x61, - 0x74, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x66, 0x6f, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x61, 0x62, - 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x77, 0x61, 0x74, - 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x66, 0x6f, 0x12, - 0x5c, 0x0a, 0x11, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x6c, 0x65, - 0x67, 0x61, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x10, 0x72, 0x6f, 0x75, - 0x6e, 0x64, 0x73, 0x74, 0x61, 0x74, 0x73, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x12, 0x55, 0x0a, - 0x0d, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x74, 0x61, 0x74, 0x73, 0x61, 0x6c, 0x6c, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, - 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, - 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x6e, 0x64, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0d, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x74, 0x61, 0x74, - 0x73, 0x61, 0x6c, 0x6c, 0x22, 0x7a, 0x0a, 0x27, 0x43, 0x44, 0x61, 0x74, 0x61, 0x47, 0x43, 0x43, - 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x54, 0x6f, 0x75, 0x72, - 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x65, 0x61, 0x6d, 0x12, - 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x20, - 0x0a, 0x0b, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x70, 0x69, 0x63, 0x6b, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x70, 0x69, 0x63, 0x6b, - 0x22, 0xd1, 0x03, 0x0a, 0x23, 0x43, 0x44, 0x61, 0x74, 0x61, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, - 0x65, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x69, - 0x63, 0x6b, 0x73, 0x5f, 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x69, 0x63, 0x6b, 0x73, 0x44, 0x65, 0x70, 0x72, - 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x3e, 0x0a, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, - 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x43, 0x44, 0x61, 0x74, 0x61, 0x47, 0x43, 0x43, - 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x54, 0x6f, 0x75, 0x72, - 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x65, 0x61, 0x6d, 0x52, - 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, - 0x69, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, - 0x49, 0x64, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x69, 0x63, 0x6b, 0x6c, 0x6f, 0x63, 0x6b, 0x75, - 0x6e, 0x74, 0x69, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, - 0x70, 0x69, 0x63, 0x6b, 0x6c, 0x6f, 0x63, 0x6b, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x74, 0x69, 0x6d, - 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x69, 0x63, 0x6b, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x65, 0x61, - 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x69, 0x63, 0x6b, 0x61, 0x62, - 0x6c, 0x65, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x69, 0x63, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0d, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x50, 0x65, 0x72, 0x50, 0x69, 0x63, 0x6b, 0x12, - 0x40, 0x0a, 0x05, 0x70, 0x69, 0x63, 0x6b, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, - 0x2e, 0x43, 0x44, 0x61, 0x74, 0x61, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x50, 0x69, 0x63, 0x6b, 0x73, 0x52, 0x05, 0x70, 0x69, 0x63, 0x6b, - 0x73, 0x1a, 0x21, 0x0a, 0x05, 0x50, 0x69, 0x63, 0x6b, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x69, - 0x63, 0x6b, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x70, 0x69, 0x63, - 0x6b, 0x69, 0x64, 0x73, 0x22, 0xab, 0x01, 0x0a, 0x25, 0x43, 0x44, 0x61, 0x74, 0x61, 0x47, 0x43, - 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x54, 0x6f, 0x75, - 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, - 0x0a, 0x09, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x64, 0x65, 0x73, 0x63, 0x12, 0x3c, 0x0a, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x43, 0x44, 0x61, 0x74, 0x61, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x54, 0x6f, 0x75, 0x72, 0x6e, - 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x06, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x22, 0xe1, 0x01, 0x0a, 0x22, 0x43, 0x44, 0x61, 0x74, 0x61, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x54, 0x6f, 0x75, 0x72, 0x6e, - 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x42, 0x0a, 0x08, 0x73, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x43, 0x44, - 0x61, 0x74, 0x61, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, - 0x32, 0x5f, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3b, 0x0a, - 0x10, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, - 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x74, 0x6f, 0x75, 0x72, 0x6e, - 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x10, 0x74, 0x6f, - 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, - 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x0f, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, - 0x74, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x22, 0xb2, 0x02, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x73, 0x67, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, - 0x73, 0x67, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x43, 0x44, 0x61, + 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0d, 0x72, + 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x74, 0x61, 0x74, 0x73, 0x61, 0x6c, 0x6c, 0x22, 0x7a, 0x0a, 0x27, + 0x43, 0x44, 0x61, 0x74, 0x61, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, + 0x5f, 0x76, 0x32, 0x5f, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, + 0x74, 0x70, 0x69, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, 0x6f, 0x72, + 0x72, 0x65, 0x63, 0x74, 0x70, 0x69, 0x63, 0x6b, 0x22, 0xd1, 0x03, 0x0a, 0x23, 0x43, 0x44, 0x61, 0x74, 0x61, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, - 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, - 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x4b, - 0x0a, 0x0e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x66, 0x6f, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x43, 0x44, 0x61, 0x74, 0x61, 0x47, 0x43, - 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x54, 0x6f, 0x75, - 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x74, 0x6f, 0x75, - 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x88, 0x01, 0x0a, 0x32, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, - 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x75, 0x72, - 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4d, 0x67, - 0x6d, 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, 0x38, 0x0a, 0x07, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x5f, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, + 0x73, 0x63, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x69, 0x63, 0x6b, 0x73, 0x5f, 0x5f, 0x64, 0x65, 0x70, + 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, + 0x69, 0x63, 0x6b, 0x73, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x3e, + 0x0a, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x43, 0x44, 0x61, 0x74, 0x61, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, - 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x22, 0xb9, 0x02, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x72, - 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x67, 0x0a, 0x16, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x70, 0x69, 0x63, 0x6b, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, - 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x54, 0x65, 0x61, 0x6d, 0x50, 0x69, 0x63, 0x6b, 0x52, 0x13, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x54, 0x65, 0x61, 0x6d, 0x50, 0x69, 0x63, 0x6b, 0x73, 0x1a, 0x92, 0x01, - 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x65, 0x61, 0x6d, - 0x50, 0x69, 0x63, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, - 0x65, 0x6d, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, - 0x69, 0x64, 0x22, 0xb1, 0x02, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, - 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, - 0x79, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x05, - 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, - 0x5f, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x2e, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, - 0x54, 0x65, 0x61, 0x6d, 0x52, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x1a, 0x4d, 0x0a, 0x0b, 0x46, - 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x53, 0x6c, 0x6f, 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, 0x70, 0x69, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x69, - 0x63, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x1a, 0x6a, 0x0a, 0x0b, 0x46, 0x61, - 0x6e, 0x74, 0x61, 0x73, 0x79, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x12, 0x3d, 0x0a, 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, - 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x46, 0x61, 0x6e, 0x74, - 0x61, 0x73, 0x79, 0x2e, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x53, 0x6c, 0x6f, 0x74, 0x52, - 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x22, 0x29, 0x0a, 0x11, 0x43, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x5f, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x22, 0xb2, 0x02, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x31, 0x35, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, - 0x73, 0x68, 0x12, 0x38, 0x0a, 0x17, 0x74, 0x69, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, - 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x17, 0x74, 0x69, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x63, - 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x12, 0x2a, 0x0a, 0x11, - 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x72, - 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6c, 0x61, 0x73, - 0x74, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x73, - 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, - 0x67, 0x73, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x6e, - 0x69, 0x71, 0x75, 0x65, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x75, 0x6e, - 0x69, 0x71, 0x75, 0x65, 0x69, 0x64, 0x22, 0xd6, 0x01, 0x0a, 0x31, 0x43, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, - 0x6f, 0x6b, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0c, 0x63, 0x68, 0x6f, 0x6b, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x22, - 0xa1, 0x01, 0x0a, 0x31, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x61, 0x72, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x69, 0x65, 0x77, 0x61, 0x6e, 0x67, 0x6c, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x76, 0x69, 0x65, 0x77, 0x61, 0x6e, 0x67, - 0x6c, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x64, - 0x61, 0x74, 0x61, 0x22, 0x2c, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, - 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x73, 0x4c, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x22, 0xf5, 0x02, 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x73, 0x4c, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x74, 0x69, 0x6d, - 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, - 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, - 0x74, 0x69, 0x6d, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, - 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x67, 0x69, 0x66, 0x74, 0x73, - 0x5f, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x47, 0x69, 0x66, 0x74, 0x73, 0x47, 0x69, 0x76, 0x65, 0x6e, 0x12, 0x21, 0x0a, - 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x67, 0x69, 0x76, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x69, 0x76, 0x65, 0x72, 0x73, - 0x12, 0x5b, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x41, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x73, 0x4c, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x47, 0x69, 0x66, 0x74, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x4a, 0x0a, - 0x14, 0x47, 0x69, 0x66, 0x74, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x69, 0x66, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x67, 0x69, 0x66, 0x74, 0x73, 0x22, 0x5c, 0x0a, 0x29, 0x43, 0x4d, 0x73, + 0x5f, 0x76, 0x32, 0x5f, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x1b, + 0x0a, 0x09, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x05, 0x52, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x70, + 0x69, 0x63, 0x6b, 0x6c, 0x6f, 0x63, 0x6b, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x69, 0x63, 0x6b, 0x6c, 0x6f, 0x63, 0x6b, + 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x69, 0x63, + 0x6b, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0d, 0x70, 0x69, 0x63, 0x6b, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x12, + 0x26, 0x0a, 0x0f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x69, + 0x63, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, + 0x50, 0x65, 0x72, 0x50, 0x69, 0x63, 0x6b, 0x12, 0x40, 0x0a, 0x05, 0x70, 0x69, 0x63, 0x6b, 0x73, + 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x43, 0x44, 0x61, 0x74, 0x61, 0x47, 0x43, + 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x54, 0x6f, 0x75, + 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x50, 0x69, 0x63, + 0x6b, 0x73, 0x52, 0x05, 0x70, 0x69, 0x63, 0x6b, 0x73, 0x1a, 0x21, 0x0a, 0x05, 0x50, 0x69, 0x63, + 0x6b, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x69, 0x63, 0x6b, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x05, 0x52, 0x07, 0x70, 0x69, 0x63, 0x6b, 0x69, 0x64, 0x73, 0x22, 0xab, 0x01, 0x0a, + 0x25, 0x43, 0x44, 0x61, 0x74, 0x61, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, + 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x53, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x3c, 0x0a, 0x06, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x43, + 0x44, 0x61, 0x74, 0x61, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, + 0x76, 0x32, 0x5f, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x52, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x22, 0xe1, 0x01, 0x0a, 0x22, 0x43, + 0x44, 0x61, 0x74, 0x61, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, + 0x76, 0x32, 0x5f, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x42, 0x0a, 0x08, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x43, 0x44, 0x61, 0x74, 0x61, 0x47, 0x43, 0x43, 0x53, 0x74, + 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, + 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x73, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3b, 0x0a, 0x10, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x52, 0x0f, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x10, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x54, + 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x0f, 0x74, + 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x22, 0xb2, + 0x02, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, + 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x22, 0x0a, 0x0c, 0x6d, 0x73, 0x67, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x73, 0x67, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, + 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x74, 0x69, 0x6d, + 0x65, 0x12, 0x38, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x43, 0x44, 0x61, 0x74, 0x61, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, + 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x07, 0x73, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x54, + 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x07, 0x73, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x4b, 0x0a, 0x0e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, + 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x43, 0x44, 0x61, 0x74, 0x61, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, + 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x69, + 0x6e, 0x66, 0x6f, 0x22, 0xa6, 0x01, 0x0a, 0x32, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, + 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4d, 0x67, 0x6d, 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, 0x38, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x43, 0x44, 0x61, 0x74, 0x61, 0x47, 0x43, 0x43, + 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x1c, + 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x22, 0xb9, 0x02, 0x0a, + 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, + 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x67, 0x0a, 0x16, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x70, + 0x69, 0x63, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x53, 0x75, 0x72, 0x76, - 0x65, 0x79, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x75, 0x72, 0x76, 0x65, 0x79, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x75, 0x72, 0x76, 0x65, - 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x22, 0x4a, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x32, 0x47, 0x43, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x69, 0x64, 0x22, 0x97, 0x01, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, - 0x73, 0x74, 0x61, 0x67, 0x65, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, - 0x74, 0x61, 0x67, 0x65, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x22, 0x70, 0x0a, - 0x0d, 0x43, 0x53, 0x4f, 0x45, 0x63, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x12, 0x1e, - 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, - 0x04, 0x80, 0xa6, 0x1d, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x69, 0x64, 0x12, 0x16, - 0x0a, 0x06, 0x64, 0x65, 0x66, 0x69, 0x64, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, - 0x64, 0x65, 0x66, 0x69, 0x64, 0x78, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, - 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x22, - 0x80, 0x01, 0x0a, 0x10, 0x43, 0x53, 0x4f, 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x04, 0x80, 0xa6, 0x1d, 0x01, 0x52, 0x07, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, - 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, - 0x21, 0x0a, 0x0c, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x50, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x22, 0xb7, 0x02, 0x0a, 0x1b, 0x43, 0x53, 0x4f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0c, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x04, 0x80, 0xa6, 0x1d, 0x01, 0x52, 0x0b, - 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, - 0x69, 0x65, 0x72, 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x69, 0x65, 0x72, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, - 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x5f, 0x74, 0x69, 0x65, 0x72, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, - 0x54, 0x69, 0x65, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x11, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, - 0x74, 0x65, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x61, 0x62, 0x6c, - 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x11, 0x72, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x73, - 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x70, 0x0a, 0x1f, - 0x43, 0x53, 0x4f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x75, 0x72, 0x72, - 0x69, 0x6e, 0x67, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x26, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x79, 0x63, - 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x4e, 0x65, - 0x78, 0x74, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x5f, - 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x22, 0x9d, - 0x01, 0x0a, 0x14, 0x43, 0x53, 0x4f, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x44, 0x61, 0x74, - 0x61, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x3b, 0x0a, 0x0c, 0x63, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6c, 0x65, 0x76, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0d, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x35, - 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x47, - 0x61, 0x6d, 0x65, 0x5f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x3b, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x5f, - 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x55, 0x6e, 0x73, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x6c, 0x65, - 0x66, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x6c, 0x65, - 0x66, 0x74, 0x22, 0x70, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x5f, 0x47, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x12, 0x16, 0x0a, 0x06, - 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, - 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x74, 0x69, - 0x6d, 0x65, 0x6d, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x73, 0x70, 0x65, 0x72, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x73, 0x70, 0x65, 0x72, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x4b, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x41, 0x63, 0x6b, 0x6e, 0x6f, - 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x12, 0x22, 0x0a, - 0x0c, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0c, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, - 0x64, 0x22, 0xa5, 0x01, 0x0a, 0x2f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, - 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x65, 0x73, 0x74, 0x69, 0x67, - 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x69, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, - 0x68, 0x6f, 0x75, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x65, 0x73, 0x74, 0x69, 0x67, - 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x65, - 0x73, 0x74, 0x69, 0x67, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x52, 0x0a, 0x28, 0x43, 0x4d, 0x73, + 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x65, 0x61, 0x6d, 0x50, 0x69, 0x63, 0x6b, 0x52, 0x13, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x65, 0x61, 0x6d, 0x50, 0x69, + 0x63, 0x6b, 0x73, 0x1a, 0x92, 0x01, 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x54, 0x65, 0x61, 0x6d, 0x50, 0x69, 0x63, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x61, 0x6d, + 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x22, 0xb1, 0x02, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, 0x43, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x55, - 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x0e, 0x0a, - 0x02, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6f, 0x73, 0x22, 0x43, 0x0a, - 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, - 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x74, 0x61, - 0x67, 0x65, 0x22, 0x52, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x6f, 0x47, 0x43, 0x43, 0x68, 0x61, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0x56, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x54, - 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, - 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0x54, - 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4b, - 0x65, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x22, 0x4c, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x47, 0x6f, 0x74, 0x76, 0x53, 0x79, 0x6e, 0x63, - 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x43, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x47, 0x6f, - 0x74, 0x76, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x22, 0x98, 0x03, 0x0a, 0x1b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x63, - 0x61, 0x6c, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, - 0x74, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x73, 0x12, 0x1a, 0x0a, 0x08, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x70, 0x6f, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x02, 0x52, 0x08, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x70, 0x6f, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x02, 0x52, 0x05, 0x72, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1b, - 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x64, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x08, 0x74, 0x78, 0x44, 0x65, 0x66, 0x69, 0x64, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x65, - 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, - 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x69, 0x74, 0x62, 0x6f, - 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x69, 0x74, 0x62, 0x6f, 0x78, 0x12, - 0x22, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, - 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x71, 0x75, 0x69, 0x70, 0x73, 0x6c, 0x6f, 0x74, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x65, 0x71, 0x75, 0x69, 0x70, 0x73, 0x6c, 0x6f, - 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, - 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, 0x6e, 0x6f, - 0x72, 0x6d, 0x61, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x74, 0x0a, - 0x28, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, - 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x44, 0x65, 0x63, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x30, 0x0a, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x44, 0x65, 0x63, 0x61, 0x6c, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x69, - 0x74, 0x65, 0x6d, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, - 0x6d, 0x69, 0x64, 0x22, 0x7c, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, + 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x27, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, + 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x2e, 0x46, + 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x05, 0x74, 0x65, 0x61, 0x6d, + 0x73, 0x1a, 0x4d, 0x0a, 0x0b, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x53, 0x6c, 0x6f, 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, 0x70, 0x69, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x70, 0x69, 0x63, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, + 0x1a, 0x6a, 0x0a, 0x0b, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x54, 0x65, 0x61, 0x6d, 0x12, + 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x09, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x12, 0x3d, 0x0a, + 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, + 0x32, 0x5f, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x2e, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, + 0x79, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x22, 0x93, 0x05, 0x0a, + 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x31, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, + 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x67, 0x61, + 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x56, 0x0a, 0x1b, 0x6f, 0x75, 0x74, 0x6f, 0x66, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x5f, 0x63, + 0x61, 0x63, 0x68, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x64, 0x52, 0x19, 0x6f, 0x75, 0x74, 0x6f, 0x66, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x73, 0x12, 0x5b, + 0x0a, 0x1a, 0x75, 0x70, 0x74, 0x6f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x62, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x52, 0x18, 0x75, 0x70, 0x74, 0x6f, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x62, 0x65, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x08, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x31, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x2e, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x32, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x32, + 0x12, 0x3f, 0x0a, 0x1c, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x33, 0x32, 0x5f, 0x67, 0x63, 0x5f, 0x77, + 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x33, 0x32, 0x47, + 0x63, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x18, 0x0a, + 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x78, 0x6e, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x74, 0x78, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, + 0x64, 0x65, 0x1a, 0x5e, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, + 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, + 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x6c, + 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x72, 0x79, 0x22, 0xb2, 0x02, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x53, 0x74, 0x72, 0x69, + 0x6b, 0x65, 0x31, 0x35, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x48, + 0x61, 0x73, 0x68, 0x12, 0x38, 0x0a, 0x17, 0x74, 0x69, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x64, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x74, 0x69, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, + 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x12, 0x2a, 0x0a, + 0x11, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x69, + 0x72, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x6c, 0x61, 0x73, + 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x69, 0x70, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6c, 0x61, + 0x73, 0x74, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x67, + 0x73, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0a, 0x67, 0x73, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, + 0x6e, 0x69, 0x71, 0x75, 0x65, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x75, + 0x6e, 0x69, 0x71, 0x75, 0x65, 0x69, 0x64, 0x22, 0xd6, 0x01, 0x0a, 0x31, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4e, 0x6f, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, + 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, + 0x68, 0x6f, 0x6b, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0c, 0x63, 0x68, 0x6f, 0x6b, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, + 0x22, 0xa1, 0x01, 0x0a, 0x31, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, + 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x61, + 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x69, 0x65, 0x77, 0x61, 0x6e, 0x67, 0x6c, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x76, 0x69, 0x65, 0x77, 0x61, 0x6e, + 0x67, 0x6c, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, + 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, + 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x73, + 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x22, 0xf5, 0x02, 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, + 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x73, 0x4c, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x74, 0x69, + 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, + 0x64, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x11, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x53, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x67, 0x69, 0x66, 0x74, + 0x73, 0x5f, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x69, 0x66, 0x74, 0x73, 0x47, 0x69, 0x76, 0x65, 0x6e, 0x12, 0x21, + 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x67, 0x69, 0x76, 0x65, 0x72, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x69, 0x76, 0x65, 0x72, + 0x73, 0x12, 0x5b, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, + 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x73, 0x4c, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x2e, 0x47, 0x69, 0x66, 0x74, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x4a, + 0x0a, 0x14, 0x47, 0x69, 0x66, 0x74, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x69, 0x66, 0x74, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x67, 0x69, 0x66, 0x74, 0x73, 0x22, 0x5c, 0x0a, 0x29, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, + 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x53, 0x75, 0x72, + 0x76, 0x65, 0x79, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x75, 0x72, 0x76, 0x65, + 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x75, 0x72, 0x76, + 0x65, 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x22, 0x4a, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x32, 0x47, 0x43, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x69, 0x64, 0x22, 0x97, 0x01, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, + 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x18, 0x0a, + 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x73, 0x74, 0x61, 0x67, 0x65, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x22, 0x70, + 0x0a, 0x0d, 0x43, 0x53, 0x4f, 0x45, 0x63, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x12, + 0x1e, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x42, 0x04, 0x80, 0xa6, 0x1d, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x69, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x64, 0x65, 0x66, 0x69, 0x64, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x06, 0x64, 0x65, 0x66, 0x69, 0x64, 0x78, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, + 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, + 0x22, 0x80, 0x01, 0x0a, 0x10, 0x43, 0x53, 0x4f, 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x04, 0x80, 0xa6, 0x1d, 0x01, 0x52, 0x07, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, + 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, + 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x50, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x22, 0xb7, 0x02, 0x0a, 0x1b, 0x43, 0x53, 0x4f, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0c, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x04, 0x80, 0xa6, 0x1d, 0x01, 0x52, + 0x0b, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x74, 0x69, 0x65, 0x72, 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x69, 0x65, 0x72, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, + 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x5f, 0x74, 0x69, 0x65, + 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x6d, 0x69, 0x75, + 0x6d, 0x54, 0x69, 0x65, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x11, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x74, 0x65, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x11, 0x72, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x70, 0x61, + 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x70, 0x0a, + 0x1f, 0x43, 0x53, 0x4f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x75, 0x72, + 0x72, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x79, + 0x63, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x4e, + 0x65, 0x78, 0x74, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, + 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x22, + 0x9d, 0x01, 0x0a, 0x14, 0x43, 0x53, 0x4f, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x44, 0x61, + 0x74, 0x61, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x3b, 0x0a, 0x0c, 0x63, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6c, 0x65, 0x76, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0d, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, + 0x35, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, + 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x3b, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x55, 0x6e, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x6c, + 0x65, 0x66, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x6c, + 0x65, 0x66, 0x74, 0x22, 0x70, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x5f, 0x47, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x12, 0x16, 0x0a, + 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x74, 0x69, 0x6d, + 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x74, + 0x69, 0x6d, 0x65, 0x6d, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x73, 0x70, 0x65, 0x72, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x73, 0x70, 0x65, 0x72, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x4b, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, + 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x41, 0x63, 0x6b, 0x6e, + 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x12, 0x22, + 0x0a, 0x0c, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, + 0x65, 0x64, 0x22, 0xa5, 0x01, 0x0a, 0x2f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x4c, 0x6f, 0x67, 0x6f, 0x6e, 0x46, 0x61, 0x74, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, - 0x1c, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, - 0x79, 0x22, 0x6a, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, - 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6f, - 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x6c, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0xdc, 0x01, - 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x03, 0x76, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x70, 0x72, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x03, 0x61, 0x70, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x6b, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x72, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x62, 0x79, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6e, 0x62, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x67, - 0x72, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x67, 0x72, 0x70, 0x12, 0x14, 0x0a, - 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x6c, - 0x6f, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x72, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x72, 0x12, - 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0xa4, 0x01, 0x0a, - 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, - 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x12, 0x10, 0x0a, 0x03, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x76, - 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x03, 0x61, 0x70, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x03, 0x61, 0x72, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x72, 0x70, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0d, 0x52, 0x04, 0x67, 0x72, 0x70, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, - 0x75, 0x6e, 0x63, 0x68, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x61, - 0x75, 0x6e, 0x63, 0x68, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x22, 0x8e, 0x02, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, - 0x5f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x47, - 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x2d, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, - 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x9a, 0x01, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x72, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, - 0x67, 0x72, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x61, 0x70, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, - 0x70, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x03, 0x61, 0x72, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x03, 0x6c, 0x6f, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x69, 0x64, 0x22, 0x59, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, - 0x5f, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x69, 0x64, 0x22, - 0xf4, 0x01, 0x0a, 0x29, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x50, 0x6c, 0x61, 0x79, 0x73, 0x12, 0x4b, 0x0a, - 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, - 0x5f, 0x76, 0x32, 0x5f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x43, 0x6f, 0x50, 0x6c, 0x61, 0x79, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x5a, 0x0a, 0x06, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x74, 0x63, 0x6f, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x74, 0x63, 0x6f, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x16, - 0x0a, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, - 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0xf4, 0x01, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x7a, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x06, 0x52, 0x11, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, - 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x7a, 0x65, 0x64, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x07, 0x52, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x50, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x70, 0x12, 0x2e, 0x0a, 0x13, 0x67, 0x61, 0x6d, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x06, 0x52, 0x11, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x67, 0x61, 0x6d, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x64, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, - 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x53, 0x64, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x50, 0x0a, - 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, - 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, - 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x73, - 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x22, - 0x28, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, - 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x22, 0x76, 0x0a, 0x28, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x6f, 0x75, - 0x76, 0x65, 0x6e, 0x69, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x12, 0x18, 0x0a, - 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, - 0x64, 0x22, 0x53, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, - 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x61, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x74, 0x79, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x65, 0x6c, 0x61, - 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x12, - 0x18, 0x0a, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x69, 0x64, 0x22, 0xb2, 0x01, 0x0a, 0x25, 0x43, 0x4d, + 0x32, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x65, 0x73, 0x74, 0x69, + 0x67, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x69, 0x64, + 0x12, 0x14, 0x0a, 0x05, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x05, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x65, 0x73, 0x74, 0x69, + 0x67, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, + 0x65, 0x73, 0x74, 0x69, 0x67, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x52, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, - 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x74, 0x79, 0x57, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x12, 0x46, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, + 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, 0x43, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6f, 0x73, 0x22, 0x43, + 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, + 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x67, 0x65, 0x22, 0x52, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x50, 0x61, 0x72, 0x74, 0x79, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x41, 0x0a, 0x05, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x22, 0x60, - 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x53, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x76, - 0x6f, 0x72, 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x12, - 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, - 0x22, 0x4d, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, - 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, - 0x9a, 0x01, 0x0a, 0x2d, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, - 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x12, 0x25, 0x0a, 0x0e, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6a, 0x73, 0x6f, 0x6e, 0x46, 0x61, - 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, - 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x6a, 0x73, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x22, 0x99, 0x02, 0x0a, + 0x54, 0x6f, 0x47, 0x43, 0x43, 0x68, 0x61, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0x56, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, + 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, + 0x54, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, + 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x74, 0x68, + 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x4c, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, + 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x47, 0x6f, 0x74, 0x76, 0x53, 0x79, 0x6e, + 0x63, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x43, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x47, + 0x6f, 0x74, 0x76, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x22, 0x96, 0x03, 0x0a, 0x1b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, + 0x63, 0x61, 0x6c, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x12, + 0x14, 0x0a, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, + 0x72, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x73, 0x12, 0x1a, 0x0a, + 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x70, 0x6f, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x02, 0x52, + 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x70, 0x6f, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x65, 0x66, + 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x02, 0x52, 0x04, 0x6c, 0x65, 0x66, 0x74, 0x12, 0x1b, 0x0a, + 0x09, 0x74, 0x78, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x64, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x74, 0x78, 0x44, 0x65, 0x66, 0x69, 0x64, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, + 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, + 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x69, 0x74, 0x62, 0x6f, 0x78, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x69, 0x74, 0x62, 0x6f, 0x78, 0x12, 0x22, + 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x71, 0x75, 0x69, 0x70, 0x73, 0x6c, 0x6f, 0x74, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x65, 0x71, 0x75, 0x69, 0x70, 0x73, 0x6c, 0x6f, 0x74, + 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6e, + 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, 0x6e, 0x6f, 0x72, + 0x6d, 0x61, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x74, 0x0a, 0x28, + 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, + 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, + 0x65, 0x63, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x30, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, + 0x65, 0x63, 0x61, 0x6c, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, + 0x65, 0x6d, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, + 0x69, 0x64, 0x22, 0x7c, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, + 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, + 0x6f, 0x67, 0x6f, 0x6e, 0x46, 0x61, 0x74, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1c, + 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, + 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, + 0x22, 0x6a, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, + 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, + 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x6c, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x14, + 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0xdc, 0x01, 0x0a, + 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, + 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x03, 0x76, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x70, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x03, 0x61, 0x70, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x6b, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x72, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x62, 0x79, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6e, 0x62, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x72, + 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x67, 0x72, 0x70, 0x12, 0x14, 0x0a, 0x05, + 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x6c, 0x6f, + 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x72, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x72, 0x12, 0x1b, + 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x1f, + 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, + 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, + 0x10, 0x0a, 0x03, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x76, 0x65, + 0x72, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, + 0x61, 0x70, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x03, 0x61, 0x72, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x72, 0x70, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0d, 0x52, 0x04, 0x67, 0x72, 0x70, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x75, + 0x6e, 0x63, 0x68, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x61, 0x75, + 0x6e, 0x63, 0x68, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x22, 0x8e, 0x02, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, + 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, 0x5f, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x47, 0x0a, + 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, + 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, + 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x9a, 0x01, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x10, 0x0a, 0x03, 0x67, 0x72, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x67, + 0x72, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x10, 0x0a, 0x03, 0x61, 0x70, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x70, + 0x72, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, + 0x61, 0x72, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x03, 0x6c, 0x6f, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x69, 0x64, 0x22, 0x59, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, + 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, 0x5f, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x69, 0x64, 0x22, 0xf4, + 0x01, 0x0a, 0x29, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, + 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x50, 0x6c, 0x61, 0x79, 0x73, 0x12, 0x4b, 0x0a, 0x07, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, + 0x76, 0x32, 0x5f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x43, 0x6f, 0x50, 0x6c, 0x61, 0x79, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x5a, 0x0a, 0x06, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x74, 0x63, 0x6f, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x74, 0x63, 0x6f, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x16, 0x0a, + 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6f, + 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0xf4, 0x01, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, + 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, + 0x65, 0x64, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x06, 0x52, 0x11, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x65, + 0x61, 0x6d, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, + 0x65, 0x64, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x07, 0x52, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x50, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x49, 0x70, 0x12, 0x2e, 0x0a, 0x13, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x06, 0x52, 0x11, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, + 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x64, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x53, 0x64, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x50, 0x0a, 0x21, + 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, + 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, + 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x73, 0x65, + 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x28, + 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, + 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x22, 0x76, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x6f, 0x75, 0x76, + 0x65, 0x6e, 0x69, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, + 0x22, 0x53, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, + 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x61, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, + 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x50, 0x61, 0x72, 0x74, 0x79, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x65, 0x6c, 0x61, 0x79, + 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x69, 0x64, 0x22, 0xb2, 0x01, 0x0a, 0x25, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x74, 0x79, 0x57, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x12, 0x46, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, + 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, + 0x61, 0x72, 0x74, 0x79, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x41, 0x0a, 0x05, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x22, 0x60, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, - 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x66, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x12, 0x44, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x50, 0x65, 0x72, 0x66, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0xab, 0x01, 0x0a, 0x05, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x66, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x66, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x1c, - 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x61, 0x63, - 0x74, 0x75, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x69, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x69, 0x64, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x73, 0x0a, 0x0c, 0x43, 0x56, 0x44, 0x69, - 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x74, 0x65, - 0x6e, 0x64, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x78, 0x74, 0x65, - 0x6e, 0x64, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xf9, 0x05, - 0x0a, 0x29, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x66, - 0x69, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x21, 0x0a, 0x0c, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x12, - 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x73, - 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x75, 0x73, 0x74, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x72, 0x75, - 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, - 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x73, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6f, 0x73, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x69, 0x64, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x64, - 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x31, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, - 0x63, 0x31, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, - 0x32, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, - 0x74, 0x69, 0x63, 0x32, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, - 0x69, 0x63, 0x33, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, - 0x6f, 0x73, 0x74, 0x69, 0x63, 0x33, 0x12, 0x28, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6c, - 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, - 0x69, 0x63, 0x34, 0x18, 0x12, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, - 0x6f, 0x73, 0x74, 0x69, 0x63, 0x34, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, - 0x73, 0x74, 0x69, 0x63, 0x35, 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x69, 0x61, - 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x35, 0x12, 0x2f, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, - 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, - 0x43, 0x56, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x0b, 0x64, 0x69, - 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x22, 0xc7, 0x03, 0x0a, 0x2c, 0x43, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, - 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, - 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, + 0x5f, 0x76, 0x32, 0x5f, 0x53, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x76, 0x6f, + 0x72, 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x1f, + 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x22, + 0x4d, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, + 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x61, + 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x9a, + 0x01, 0x0a, 0x2d, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, + 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x61, + 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, + 0x25, 0x0a, 0x0e, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6a, 0x73, 0x6f, 0x6e, 0x46, 0x61, 0x76, + 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, + 0x73, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x22, 0x99, 0x02, 0x0a, 0x23, + 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, + 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x66, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x12, 0x44, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, + 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x50, 0x65, 0x72, 0x66, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0xab, 0x01, 0x0a, 0x05, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x66, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x66, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x1c, 0x0a, + 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, + 0x63, 0x74, 0x75, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x61, 0x63, 0x74, + 0x75, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x69, 0x64, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x69, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x73, 0x0a, 0x0c, 0x43, 0x56, 0x44, 0x69, 0x61, + 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x74, 0x65, 0x6e, + 0x64, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x78, 0x74, 0x65, 0x6e, + 0x64, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xf9, 0x05, 0x0a, + 0x29, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, + 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x6f, - 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, - 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x49, - 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x6f, - 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x53, 0x65, 0x63, - 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x68, 0x6f, 0x77, 0x5f, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0e, 0x73, 0x68, 0x6f, 0x77, 0x55, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, - 0x69, 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x69, 0x63, 0x6b, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6b, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x12, 0x26, - 0x0a, 0x0f, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x75, - 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x68, 0x6f, 0x77, 0x54, 0x72, 0x75, - 0x73, 0x74, 0x65, 0x64, 0x55, 0x69, 0x12, 0x37, 0x0a, 0x18, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, - 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x68, 0x6f, 0x77, 0x57, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x74, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x12, - 0x3a, 0x0a, 0x1a, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, - 0x6e, 0x6f, 0x74, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x32, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x16, 0x73, 0x68, 0x6f, 0x77, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x4e, 0x6f, 0x74, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x32, 0x12, 0x36, 0x0a, 0x17, 0x66, - 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x74, - 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x66, 0x69, - 0x6c, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x54, 0x72, 0x75, 0x73, - 0x74, 0x65, 0x64, 0x22, 0x68, 0x0a, 0x2d, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, - 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x66, 0x75, 0x6c, 0x6c, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x22, 0xa2, 0x02, - 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, - 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x73, - 0x68, 0x61, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x73, - 0x68, 0x61, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x0d, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, - 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x79, 0x73, 0x74, - 0x65, 0x6d, 0x22, 0x92, 0x03, 0x0a, 0x2f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, - 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, - 0x12, 0x19, 0x0a, 0x08, 0x73, 0x68, 0x61, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x07, 0x73, 0x68, 0x61, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x31, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x31, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, - 0x65, 0x12, 0x52, 0x0a, 0x0c, 0x65, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3a, 0x1b, 0x6b, 0x5f, 0x45, - 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x0b, 0x65, 0x69, 0x6e, 0x69, 0x74, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x75, 0x78, 0x5f, 0x73, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x31, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x75, 0x78, 0x53, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x31, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x75, 0x78, 0x5f, 0x73, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x75, 0x78, - 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x32, 0x2a, 0x82, 0x27, 0x0a, 0x0a, 0x45, 0x43, 0x73, 0x67, - 0x6f, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x12, 0x1e, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x42, - 0x61, 0x73, 0x65, 0x10, 0x8c, 0x47, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x72, 0x74, 0x10, - 0x8d, 0x47, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6f, 0x70, 0x10, 0x8e, 0x47, 0x12, 0x36, 0x0a, - 0x31, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, - 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, - 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x69, - 0x6e, 0x67, 0x10, 0x8f, 0x47, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, + 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x1f, + 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, + 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x75, 0x73, 0x74, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x72, 0x75, 0x73, + 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, + 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, + 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, + 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x73, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6f, 0x73, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x69, 0x64, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x64, 0x12, + 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x31, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, + 0x31, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x32, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, + 0x69, 0x63, 0x32, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, + 0x63, 0x33, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, + 0x73, 0x74, 0x69, 0x63, 0x33, 0x12, 0x28, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6c, 0x61, + 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, + 0x63, 0x34, 0x18, 0x12, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, + 0x73, 0x74, 0x69, 0x63, 0x34, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, + 0x74, 0x69, 0x63, 0x35, 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, + 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x35, 0x12, 0x2f, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, + 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x43, + 0x56, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x0b, 0x64, 0x69, 0x61, + 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x22, 0xc7, 0x03, 0x0a, 0x2c, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, + 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6c, + 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x66, + 0x66, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x64, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x6e, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x6f, 0x66, + 0x66, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x53, 0x65, 0x63, 0x75, + 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x75, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0e, 0x73, 0x68, 0x6f, 0x77, 0x55, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x69, + 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x69, 0x63, 0x6b, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x08, 0x6b, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x12, 0x26, 0x0a, + 0x0f, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x69, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x68, 0x6f, 0x77, 0x54, 0x72, 0x75, 0x73, + 0x74, 0x65, 0x64, 0x55, 0x69, 0x12, 0x37, 0x0a, 0x18, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, + 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x68, 0x6f, 0x77, 0x57, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x74, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x12, 0x3a, + 0x0a, 0x1a, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6e, + 0x6f, 0x74, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x32, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x16, 0x73, 0x68, 0x6f, 0x77, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4e, + 0x6f, 0x74, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x32, 0x12, 0x36, 0x0a, 0x17, 0x66, 0x69, + 0x6c, 0x65, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x72, + 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x66, 0x69, 0x6c, + 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x54, 0x72, 0x75, 0x73, 0x74, + 0x65, 0x64, 0x22, 0x68, 0x0a, 0x2d, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, + 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x66, 0x75, 0x6c, 0x6c, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x22, 0xa2, 0x02, 0x0a, + 0x26, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, + 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x69, + 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x68, + 0x61, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x73, 0x68, + 0x61, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x0d, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x79, 0x73, 0x74, 0x65, + 0x6d, 0x22, 0x92, 0x03, 0x0a, 0x2f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, + 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, + 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, + 0x19, 0x0a, 0x08, 0x73, 0x68, 0x61, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x07, 0x73, 0x68, 0x61, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, + 0x63, 0x6f, 0x64, 0x65, 0x31, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x31, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, + 0x12, 0x52, 0x0a, 0x0c, 0x65, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3a, 0x1b, 0x6b, 0x5f, 0x45, 0x49, + 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, + 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x0b, 0x65, 0x69, 0x6e, 0x69, 0x74, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x75, 0x78, 0x5f, 0x73, 0x79, 0x73, 0x74, + 0x65, 0x6d, 0x31, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x75, 0x78, 0x53, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x31, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x75, 0x78, 0x5f, 0x73, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x75, 0x78, 0x53, + 0x79, 0x73, 0x74, 0x65, 0x6d, 0x32, 0x2a, 0xc9, 0x26, 0x0a, 0x0a, 0x45, 0x43, 0x73, 0x67, 0x6f, + 0x47, 0x43, 0x4d, 0x73, 0x67, 0x12, 0x1e, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x42, 0x61, + 0x73, 0x65, 0x10, 0x8c, 0x47, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x90, 0x47, 0x12, 0x3e, 0x0a, 0x39, 0x6b, - 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, - 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x92, 0x47, 0x12, 0x35, 0x0a, 0x30, 0x6b, + 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x72, 0x74, 0x10, 0x8d, + 0x47, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, + 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6f, 0x70, 0x10, 0x8e, 0x47, 0x12, 0x36, 0x0a, 0x31, + 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, + 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x69, 0x6e, + 0x67, 0x10, 0x8f, 0x47, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x90, 0x47, 0x12, 0x3e, 0x0a, 0x39, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, + 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x92, 0x47, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, + 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, + 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x10, 0x93, + 0x47, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, + 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, 0x43, 0x48, 0x65, + 0x6c, 0x6c, 0x6f, 0x10, 0x95, 0x47, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x10, 0x96, 0x47, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, - 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x10, - 0x93, 0x47, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, + 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x10, + 0x98, 0x47, 0x12, 0x3a, 0x0a, 0x35, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, 0x43, 0x48, - 0x65, 0x6c, 0x6c, 0x6f, 0x10, 0x95, 0x47, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, + 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x32, 0x47, + 0x43, 0x42, 0x6c, 0x6f, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x9d, 0x47, 0x12, 0x3a, + 0x0a, 0x35, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, + 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x6f, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, + 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x10, 0x9e, 0x47, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, + 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x10, 0x9f, 0x47, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, + 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x10, 0xa0, 0x47, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x10, 0xa1, 0x47, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x10, 0xa2, 0x47, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x10, 0xa3, 0x47, 0x12, 0x3a, 0x0a, 0x35, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, + 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x10, 0xa4, 0x47, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x57, 0x61, + 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x73, 0x10, 0xa6, 0x47, 0x12, + 0x35, 0x0a, 0x30, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, + 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x10, 0xa7, 0x47, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x10, 0xa8, 0x47, + 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, + 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, + 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x73, 0x65, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x10, 0xab, 0x47, 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x73, + 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0xac, 0x47, 0x12, 0x33, + 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, + 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x76, 0x65, + 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x10, 0xad, 0x47, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, + 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x73, 0x67, 0x10, 0xae, 0x47, 0x12, + 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, + 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, + 0x43, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x73, 0x67, 0x10, 0xaf, 0x47, 0x12, 0x30, 0x0a, 0x2b, 0x6b, + 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, + 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x72, 0x6f, 0x70, 0x73, 0x10, 0xb0, 0x47, 0x12, 0x39, 0x0a, + 0x34, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, + 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x44, 0x72, 0x6f, 0x70, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xb1, 0x47, 0x12, 0x38, 0x0a, 0x33, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, + 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x61, + 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x32, 0x10, + 0xb2, 0x47, 0x12, 0x23, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, + 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x4c, 0x69, 0x73, 0x74, 0x10, 0xb3, 0x47, 0x12, 0x3a, 0x0a, 0x35, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x10, 0x96, 0x47, 0x12, 0x35, 0x0a, 0x30, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, - 0x10, 0x98, 0x47, 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x76, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x73, + 0x10, 0xb4, 0x47, 0x12, 0x39, 0x0a, 0x34, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x10, 0x9b, 0x47, 0x12, 0x3a, 0x0a, 0x35, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x32, 0x47, 0x43, 0x42, 0x6c, 0x6f, 0x67, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x9d, 0x47, 0x12, 0x3a, 0x0a, 0x35, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, - 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, - 0x79, 0x10, 0x9e, 0x47, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x10, 0xb5, 0x47, 0x12, 0x34, + 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, + 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x10, 0xb6, 0x47, 0x12, 0x38, 0x0a, 0x33, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x10, - 0x9f, 0x47, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x10, 0xa0, 0x47, - 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x10, 0xa1, 0x47, 0x12, - 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, - 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xa2, 0x47, 0x12, - 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, - 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x10, 0xa3, 0x47, 0x12, 0x3a, 0x0a, 0x35, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, - 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xa4, 0x47, 0x12, - 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, - 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x57, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, - 0x6f, 0x55, 0x73, 0x65, 0x72, 0x73, 0x10, 0xa6, 0x47, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x5f, 0x45, + 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xb8, 0x47, 0x12, 0x39, + 0x0a, 0x34, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, + 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, + 0x74, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x10, 0xba, 0x47, 0x12, 0x36, 0x0a, 0x31, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, - 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x10, 0xa7, 0x47, - 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, - 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x10, 0xa8, 0x47, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, - 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, - 0x76, 0x32, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, - 0x63, 0x68, 0x43, 0x61, 0x73, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0xab, 0x47, 0x12, - 0x37, 0x0a, 0x32, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, - 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x76, - 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x73, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, - 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0xac, 0x47, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, + 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xbb, + 0x47, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, + 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x73, 0x4c, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x10, 0xbc, 0x47, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x69, 0x66, + 0x74, 0x73, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xbd, 0x47, 0x12, 0x38, 0x0a, 0x33, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, - 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, - 0x43, 0x61, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0xad, 0x47, 0x12, 0x2a, 0x0a, - 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, - 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x65, 0x78, 0x74, 0x4d, 0x73, 0x67, 0x10, 0xae, 0x47, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, - 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, 0x43, 0x54, 0x65, 0x78, 0x74, 0x4d, - 0x73, 0x67, 0x10, 0xaf, 0x47, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, - 0x72, 0x6f, 0x70, 0x73, 0x10, 0xb0, 0x47, 0x12, 0x39, 0x0a, 0x34, 0x6b, 0x5f, 0x45, 0x4d, 0x73, + 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x10, + 0xbe, 0x47, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, + 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x53, 0x75, 0x72, 0x76, 0x65, 0x79, 0x56, 0x6f, 0x74, + 0x65, 0x10, 0xc0, 0x47, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x32, 0x47, 0x43, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x10, 0xc1, 0x47, 0x12, 0x39, 0x0a, 0x34, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x72, - 0x6f, 0x70, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, - 0xb1, 0x47, 0x12, 0x38, 0x0a, 0x33, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x4c, 0x69, 0x76, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x10, + 0xc2, 0x47, 0x12, 0x3e, 0x0a, 0x39, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, - 0x6f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x32, 0x10, 0xb2, 0x47, 0x12, 0x23, 0x0a, 0x1e, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xb3, - 0x47, 0x12, 0x3a, 0x0a, 0x35, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, - 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x74, 0x4c, 0x69, 0x76, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x10, 0xb4, 0x47, 0x12, 0x39, 0x0a, - 0x34, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, - 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, - 0x47, 0x61, 0x6d, 0x65, 0x73, 0x10, 0xb5, 0x47, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, - 0x5f, 0x47, 0x43, 0x32, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0xb6, 0x47, 0x12, 0x38, - 0x0a, 0x33, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xb8, 0x47, 0x12, 0x39, 0x0a, 0x34, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, - 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x73, - 0x10, 0xba, 0x47, 0x12, 0x36, 0x0a, 0x31, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, + 0x74, 0x32, 0x47, 0x43, 0x45, 0x63, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, + 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, + 0xc4, 0x47, 0x12, 0x3f, 0x0a, 0x3a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, + 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x32, 0x47, 0x43, 0x45, 0x63, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, + 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x10, 0xc5, 0x47, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, + 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x10, 0xc6, 0x47, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x53, 0x65, + 0x74, 0x4d, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x10, + 0xc7, 0x47, 0x12, 0x3f, 0x0a, 0x3a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, + 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x75, 0x72, 0x6e, + 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x10, 0xc8, 0x47, 0x12, 0x3e, 0x0a, 0x39, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x75, 0x6c, 0x6c, - 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xbb, 0x47, 0x12, 0x31, 0x0a, 0x2c, 0x6b, + 0x68, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, + 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x10, 0xc9, 0x47, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, + 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x44, 0x72, 0x61, 0x66, + 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x10, 0xca, 0x47, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, - 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x73, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, - 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xbc, 0x47, 0x12, 0x32, - 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x73, 0x4c, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, - 0xbd, 0x47, 0x12, 0x38, 0x0a, 0x33, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x56, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xbe, 0x47, 0x12, 0x30, 0x0a, 0x2b, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6d, 0x69, - 0x74, 0x53, 0x75, 0x72, 0x76, 0x65, 0x79, 0x56, 0x6f, 0x74, 0x65, 0x10, 0xc0, 0x47, 0x12, 0x31, - 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x32, 0x47, 0x43, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x10, 0xc1, - 0x47, 0x12, 0x39, 0x0a, 0x34, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, - 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x76, 0x65, 0x47, 0x61, - 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x10, 0xc2, 0x47, 0x12, 0x3e, 0x0a, 0x39, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, 0x43, 0x45, 0x63, - 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xc4, 0x47, 0x12, 0x3f, 0x0a, 0x3a, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, 0x43, 0x45, 0x63, - 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xc5, 0x47, 0x12, 0x30, 0x0a, - 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, - 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x69, - 0x76, 0x61, 0x63, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x10, 0xc6, 0x47, 0x12, - 0x2b, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, - 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x53, 0x65, 0x74, 0x4d, 0x79, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xc7, 0x47, 0x12, 0x3f, 0x0a, 0x3a, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x50, - 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0xc8, 0x47, 0x12, 0x3e, 0x0a, - 0x39, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, - 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x55, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x50, - 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0xc9, 0x47, 0x12, 0x26, 0x0a, - 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, - 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x44, 0x72, 0x61, 0x66, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, - 0x72, 0x79, 0x10, 0xca, 0x47, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x46, - 0x72, 0x69, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x10, 0xcb, 0x47, 0x12, 0x35, 0x0a, 0x30, + 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x10, + 0xcb, 0x47, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, + 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0xcc, 0x47, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, + 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4e, + 0x65, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0xcd, 0x47, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, - 0x10, 0xcc, 0x47, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, - 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4e, 0x65, 0x77, 0x4d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x10, 0xcd, 0x47, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, - 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, - 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xcf, 0x47, 0x12, 0x22, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, + 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xcf, 0x47, 0x12, + 0x22, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x5f, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, + 0x10, 0xd0, 0x47, 0x12, 0x24, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x5f, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x55, 0x6e, 0x73, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x10, 0xd1, 0x47, 0x12, 0x1d, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, - 0x5f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x10, 0xd0, 0x47, 0x12, 0x24, 0x0a, - 0x1f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, - 0x10, 0xd1, 0x47, 0x12, 0x1d, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x5f, - 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x10, - 0xd2, 0x47, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x41, 0x63, 0x6b, 0x6e, 0x6f, - 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x10, 0xd3, 0x47, - 0x12, 0x36, 0x0a, 0x31, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, - 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x65, 0x73, 0x74, 0x69, 0x67, - 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0xd4, 0x47, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, - 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x10, 0xd5, 0x47, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x4d, + 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x10, 0xd2, 0x47, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, - 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, 0x43, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0xd6, 0x47, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, - 0x32, 0x5f, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x10, 0xd7, 0x47, 0x12, 0x31, 0x0a, - 0x2c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, - 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x10, 0xd8, 0x47, - 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, - 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x10, 0xd9, 0x47, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, - 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x10, 0xda, 0x47, 0x12, 0x32, 0x0a, 0x2d, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x65, 0x10, 0xdb, 0x47, - 0x12, 0x24, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x43, - 0x68, 0x61, 0x74, 0x10, 0xdc, 0x47, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x5f, 0x41, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x50, 0x65, 0x6e, 0x61, + 0x6c, 0x74, 0x79, 0x10, 0xd3, 0x47, 0x12, 0x36, 0x0a, 0x31, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, + 0x72, 0x65, 0x73, 0x74, 0x69, 0x67, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0xd4, 0x47, 0x12, 0x2e, + 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, + 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x10, 0xd5, 0x47, 0x12, 0x2f, + 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, + 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, 0x43, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0xd6, 0x47, 0x12, + 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, + 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x10, 0xd7, 0x47, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, + 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x46, 0x61, 0x6e, 0x74, + 0x61, 0x73, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x10, 0xd8, 0x47, 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x74, 0x5f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x62, 0x65, 0x10, 0xdd, 0x47, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x64, 0x61, + 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x10, 0xd9, 0x47, 0x12, + 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, + 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x10, + 0xda, 0x47, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, + 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x45, 0x6c, 0x65, 0x76, + 0x61, 0x74, 0x65, 0x10, 0xdb, 0x47, 0x12, 0x24, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x74, 0x5f, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x62, 0x65, 0x10, 0xde, 0x47, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, - 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x43, 0x6f, - 0x64, 0x65, 0x10, 0xdf, 0x47, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x6f, - 0x74, 0x76, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x10, 0xe0, 0x47, 0x12, - 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, - 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x10, 0xe1, 0x47, - 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, - 0x6f, 0x67, 0x6f, 0x6e, 0x46, 0x61, 0x74, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xe3, - 0x47, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, - 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x50, 0x6f, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0xe4, 0x47, 0x12, 0x28, 0x0a, 0x23, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x74, 0x10, 0xdc, 0x47, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x10, 0xe5, 0x47, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, - 0x61, 0x72, 0x74, 0x79, 0x5f, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x10, - 0xe6, 0x47, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, - 0x5f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x10, 0xe7, 0x47, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, - 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, - 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, - 0xe8, 0x47, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x50, 0x6c, 0x61, 0x79, - 0x73, 0x10, 0xe9, 0x47, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x47, 0x43, 0x52, 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, - 0xea, 0x47, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x10, 0xeb, - 0x47, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, - 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x10, 0xec, - 0x47, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, - 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x50, 0x61, 0x72, 0x74, 0x79, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x10, 0xed, - 0x47, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, - 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x50, 0x61, 0x72, 0x74, 0x79, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x10, 0xee, 0x47, 0x12, - 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, - 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x53, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x10, 0xf0, 0x47, 0x12, 0x33, 0x0a, 0x2e, 0x6b, + 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x74, 0x5f, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x10, 0xdd, 0x47, 0x12, 0x30, 0x0a, 0x2b, + 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, + 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x74, 0x5f, + 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x10, 0xde, 0x47, 0x12, 0x2b, + 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, + 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x74, + 0x68, 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x10, 0xdf, 0x47, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, - 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x76, 0x6f, - 0x72, 0x69, 0x74, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xf1, 0x47, - 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, - 0x65, 0x72, 0x66, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x10, 0xf2, 0x47, 0x12, 0x34, 0x0a, 0x2f, + 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x6f, 0x74, 0x76, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x10, 0xe0, 0x47, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x53, + 0x69, 0x67, 0x6e, 0x10, 0xe1, 0x47, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x6f, 0x6e, 0x46, 0x61, 0x74, 0x61, 0x6c, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x10, 0xe3, 0x47, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, + 0xe4, 0x47, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, + 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, + 0x5f, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x10, 0xe5, 0x47, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x76, - 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, - 0xf3, 0x47, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x6f, 0x75, 0x76, 0x65, 0x6e, 0x69, 0x72, - 0x10, 0xf4, 0x47, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, - 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x10, 0xf5, 0x47, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, - 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x53, 0x65, 0x63, - 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x10, 0xf6, 0x47, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x5f, + 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x55, 0x6e, 0x72, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x10, 0xe6, 0x47, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, + 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x10, 0xe7, 0x47, + 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, + 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x49, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, 0xe8, 0x47, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, + 0x5f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x43, 0x6f, 0x50, 0x6c, 0x61, 0x79, 0x73, 0x10, 0xe9, 0x47, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, - 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xf7, 0x47, - 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x64, 0x65, 0x65, 0x6d, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x10, 0xf9, 0x47, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x44, 0x65, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x10, 0xfa, 0x47, 0x12, 0x32, 0x0a, - 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, - 0x31, 0x35, 0x5f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xfb, - 0x47, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, - 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x10, 0xfc, 0x47, - 0x12, 0x36, 0x0a, 0x31, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xfd, 0x47, 0x12, 0x27, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x4d, + 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x47, 0x43, 0x52, 0x61, 0x6e, 0x6b, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0xea, 0x47, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, - 0x5f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x73, 0x10, 0xfe, - 0x47, 0x12, 0x39, 0x0a, 0x34, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, - 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, - 0x69, 0x73, 0x74, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4d, 0x67, 0x6d, 0x74, 0x10, 0xff, 0x47, 0x2a, 0x98, 0x01, 0x0a, - 0x12, 0x45, 0x43, 0x73, 0x67, 0x6f, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x53, - 0x74, 0x61, 0x74, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x43, 0x73, 0x67, 0x6f, 0x53, 0x74, - 0x65, 0x61, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x5f, 0x58, 0x70, 0x45, 0x61, - 0x72, 0x6e, 0x65, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x10, 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x6b, - 0x5f, 0x45, 0x43, 0x73, 0x67, 0x6f, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x53, - 0x74, 0x61, 0x74, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x57, 0x69, 0x6e, 0x73, 0x43, 0x6f, 0x6d, - 0x70, 0x65, 0x74, 0x69, 0x74, 0x69, 0x76, 0x65, 0x10, 0x02, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, - 0x45, 0x43, 0x73, 0x67, 0x6f, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, - 0x61, 0x74, 0x5f, 0x53, 0x75, 0x72, 0x76, 0x69, 0x76, 0x65, 0x64, 0x44, 0x61, 0x6e, 0x67, 0x65, - 0x72, 0x5a, 0x6f, 0x6e, 0x65, 0x10, 0x03, 0x2a, 0xa1, 0x01, 0x0a, 0x17, 0x45, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x66, + 0x66, 0x65, 0x72, 0x73, 0x10, 0xeb, 0x47, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x10, 0xec, 0x47, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x74, 0x79, 0x4a, 0x6f, 0x69, 0x6e, 0x52, + 0x65, 0x6c, 0x61, 0x79, 0x10, 0xed, 0x47, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x74, 0x79, 0x57, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x10, 0xee, 0x47, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x53, 0x65, + 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x10, 0xf0, + 0x47, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, + 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x10, 0xf1, 0x47, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x66, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x10, + 0xf2, 0x47, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, + 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x65, 0x74, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xf3, 0x47, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, + 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x6f, + 0x75, 0x76, 0x65, 0x6e, 0x69, 0x72, 0x10, 0xf4, 0x47, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, + 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xf5, 0x47, 0x12, 0x33, 0x0a, 0x2e, 0x6b, + 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, + 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x66, + 0x75, 0x73, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x10, 0xf6, 0x47, + 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, + 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x10, 0xf7, 0x47, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x4d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xf9, 0x47, 0x12, 0x26, 0x0a, 0x21, 0x6b, + 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, + 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x10, 0xfa, 0x47, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, + 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, + 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, + 0x47, 0x61, 0x6d, 0x65, 0x10, 0xfb, 0x47, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, + 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x10, 0xfc, 0x47, 0x12, 0x36, 0x0a, 0x31, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, + 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, + 0x65, 0x6d, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xfd, 0x47, 0x12, 0x27, + 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, + 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x51, 0x75, + 0x65, 0x75, 0x65, 0x73, 0x10, 0xfe, 0x47, 0x12, 0x39, 0x0a, 0x34, 0x6b, 0x5f, 0x45, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, + 0x65, 0x6e, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4d, 0x67, 0x6d, 0x74, 0x10, + 0xff, 0x47, 0x2a, 0x98, 0x01, 0x0a, 0x12, 0x45, 0x43, 0x73, 0x67, 0x6f, 0x53, 0x74, 0x65, 0x61, + 0x6d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, + 0x43, 0x73, 0x67, 0x6f, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x74, 0x5f, 0x58, 0x70, 0x45, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x10, + 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x43, 0x73, 0x67, 0x6f, 0x53, 0x74, 0x65, 0x61, + 0x6d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x57, + 0x69, 0x6e, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x74, 0x69, 0x74, 0x69, 0x76, 0x65, 0x10, 0x02, + 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x43, 0x73, 0x67, 0x6f, 0x53, 0x74, 0x65, 0x61, 0x6d, + 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x5f, 0x53, 0x75, 0x72, 0x76, 0x69, 0x76, 0x65, + 0x64, 0x44, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x5a, 0x6f, 0x6e, 0x65, 0x10, 0x03, 0x2a, 0xa1, 0x01, + 0x0a, 0x17, 0x45, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, + 0x6e, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x5f, 0x45, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x4f, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x10, 0x00, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x5f, 0x4f, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x29, 0x0a, - 0x25, 0x6b, 0x5f, 0x45, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x69, 0x6e, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x42, 0x65, 0x74, 0x61, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x01, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x54, 0x72, - 0x75, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x10, 0x02, 0x2a, 0xbe, 0x02, 0x0a, 0x11, - 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, - 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4e, 0x6f, 0x6e, 0x65, 0x10, - 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, - 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, - 0x64, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x45, 0x78, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x67, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x49, 0x6e, 0x69, 0x74, - 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x46, 0x61, 0x69, - 0x6c, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x6e, 0x10, 0x05, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, + 0x5f, 0x42, 0x65, 0x74, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x01, 0x12, 0x31, + 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x69, 0x6e, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x53, 0x75, 0x70, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x10, + 0x02, 0x2a, 0xbe, 0x02, 0x0a, 0x11, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, + 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x49, 0x6e, + 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, + 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x49, + 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, + 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x5f, 0x45, + 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x5f, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x49, 0x6e, + 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4e, + 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x5f, 0x4d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x6b, + 0x5f, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x10, 0x07, 0x12, - 0x1b, 0x0a, 0x17, 0x6b, 0x5f, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4d, 0x61, 0x78, 0x10, 0x08, 0x42, 0x05, 0x48, 0x01, - 0x80, 0x01, 0x00, + 0x6c, 0x74, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x6e, 0x10, 0x05, 0x12, + 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x10, + 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, + 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x49, + 0x6e, 0x69, 0x74, 0x10, 0x07, 0x12, 0x1b, 0x0a, 0x17, 0x6b, 0x5f, 0x45, 0x49, 0x6e, 0x69, 0x74, + 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4d, 0x61, 0x78, + 0x10, 0x08, } var ( @@ -15059,7 +15232,7 @@ func file_cstrike15_gcmessages_proto_rawDescGZIP() []byte { } var file_cstrike15_gcmessages_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_cstrike15_gcmessages_proto_msgTypes = make([]protoimpl.MessageInfo, 157) +var file_cstrike15_gcmessages_proto_msgTypes = make([]protoimpl.MessageInfo, 156) var file_cstrike15_gcmessages_proto_goTypes = []interface{}{ (ECsgoGCMsg)(0), // 0: ECsgoGCMsg (ECsgoSteamUserStat)(0), // 1: ECsgoSteamUserStat @@ -15090,232 +15263,233 @@ var file_cstrike15_gcmessages_proto_goTypes = []interface{}{ (*DeepPlayerStatsEntry)(nil), // 26: DeepPlayerStatsEntry (*DeepPlayerMatchEvent)(nil), // 27: DeepPlayerMatchEvent (*CMsgGC_ServerQuestUpdateData)(nil), // 28: CMsgGC_ServerQuestUpdateData - (*CMsgGCCStrike15V2_MatchmakingGCOperationalStats)(nil), // 29: CMsgGCCStrike15_v2_MatchmakingGCOperationalStats - (*CMsgGCCStrike15V2_MatchmakingGC2ServerConfirm)(nil), // 30: CMsgGCCStrike15_v2_MatchmakingGC2ServerConfirm - (*CMsgGCCStrike15V2_GC2ServerReservationUpdate)(nil), // 31: CMsgGCCStrike15_v2_GC2ServerReservationUpdate - (*CMsgGCCStrike15V2_MatchmakingStart)(nil), // 32: CMsgGCCStrike15_v2_MatchmakingStart - (*CMsgGCCStrike15V2_MatchmakingStop)(nil), // 33: CMsgGCCStrike15_v2_MatchmakingStop - (*CMsgGCCStrike15V2_MatchmakingClient2ServerPing)(nil), // 34: CMsgGCCStrike15_v2_MatchmakingClient2ServerPing - (*CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate)(nil), // 35: CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate - (*CDataGCCStrike15V2_TournamentMatchDraft)(nil), // 36: CDataGCCStrike15_v2_TournamentMatchDraft - (*CPreMatchInfoData)(nil), // 37: CPreMatchInfoData - (*CMsgGCCStrike15V2_MatchmakingGC2ServerReserve)(nil), // 38: CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve - (*CMsgGCCStrike15V2_MatchmakingServerReservationResponse)(nil), // 39: CMsgGCCStrike15_v2_MatchmakingServerReservationResponse - (*CMsgGCCStrike15V2_MatchmakingGC2ClientReserve)(nil), // 40: CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve - (*CMsgGCCStrike15V2_MatchmakingServerRoundStats)(nil), // 41: CMsgGCCStrike15_v2_MatchmakingServerRoundStats - (*CMsgGCCStrike15V2_MatchmakingClient2GCHello)(nil), // 42: CMsgGCCStrike15_v2_MatchmakingClient2GCHello - (*CMsgGCCStrike15V2_MatchmakingGC2ClientHello)(nil), // 43: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello - (*CMsgGCCStrike15V2_AccountPrivacySettings)(nil), // 44: CMsgGCCStrike15_v2_AccountPrivacySettings - (*CMsgGCCStrike15V2_MatchmakingGC2ClientAbandon)(nil), // 45: CMsgGCCStrike15_v2_MatchmakingGC2ClientAbandon - (*CMsgGCCStrike15V2_ClientGCRankUpdate)(nil), // 46: CMsgGCCStrike15_v2_ClientGCRankUpdate - (*CMsgGCCStrike15V2_MatchmakingOperator2GCBlogUpdate)(nil), // 47: CMsgGCCStrike15_v2_MatchmakingOperator2GCBlogUpdate - (*CMsgGCCStrike15V2_ServerNotificationForUserPenalty)(nil), // 48: CMsgGCCStrike15_v2_ServerNotificationForUserPenalty - (*CMsgGCCStrike15V2_ClientReportPlayer)(nil), // 49: CMsgGCCStrike15_v2_ClientReportPlayer - (*CMsgGCCStrike15V2_ClientCommendPlayer)(nil), // 50: CMsgGCCStrike15_v2_ClientCommendPlayer - (*CMsgGCCStrike15V2_ClientReportServer)(nil), // 51: CMsgGCCStrike15_v2_ClientReportServer - (*CMsgGCCStrike15V2_ClientReportResponse)(nil), // 52: CMsgGCCStrike15_v2_ClientReportResponse - (*CMsgGCCStrike15V2_ClientRequestWatchInfoFriends)(nil), // 53: CMsgGCCStrike15_v2_ClientRequestWatchInfoFriends - (*WatchableMatchInfo)(nil), // 54: WatchableMatchInfo - (*CMsgGCCStrike15V2_ClientRequestJoinFriendData)(nil), // 55: CMsgGCCStrike15_v2_ClientRequestJoinFriendData - (*CMsgGCCStrike15V2_ClientRequestJoinServerData)(nil), // 56: CMsgGCCStrike15_v2_ClientRequestJoinServerData - (*CMsgGCCstrike15V2_ClientRequestNewMission)(nil), // 57: CMsgGCCstrike15_v2_ClientRequestNewMission - (*CMsgGCCstrike15V2_ClientRedeemMissionReward)(nil), // 58: CMsgGCCstrike15_v2_ClientRedeemMissionReward - (*CMsgGCCstrike15V2_GC2ServerNotifyXPRewarded)(nil), // 59: CMsgGCCstrike15_v2_GC2ServerNotifyXPRewarded - (*CMsgGCCStrike15_ClientDeepStats)(nil), // 60: CMsgGCCStrike15_ClientDeepStats - (*CMsgGCCStrike15V2_WatchInfoUsers)(nil), // 61: CMsgGCCStrike15_v2_WatchInfoUsers - (*CMsgGCCStrike15V2_ClientRequestPlayersProfile)(nil), // 62: CMsgGCCStrike15_v2_ClientRequestPlayersProfile - (*CMsgGCCStrike15V2_PlayersProfile)(nil), // 63: CMsgGCCStrike15_v2_PlayersProfile - (*CMsgGCCStrike15V2_PlayerOverwatchCaseUpdate)(nil), // 64: CMsgGCCStrike15_v2_PlayerOverwatchCaseUpdate - (*CMsgGCCStrike15V2_PlayerOverwatchCaseAssignment)(nil), // 65: CMsgGCCStrike15_v2_PlayerOverwatchCaseAssignment - (*CMsgGCCStrike15V2_PlayerOverwatchCaseStatus)(nil), // 66: CMsgGCCStrike15_v2_PlayerOverwatchCaseStatus - (*CClientHeaderOverwatchEvidence)(nil), // 67: CClientHeaderOverwatchEvidence - (*CMsgGCCStrike15V2_GC2ClientTextMsg)(nil), // 68: CMsgGCCStrike15_v2_GC2ClientTextMsg - (*CMsgGCCStrike15V2_Client2GCTextMsg)(nil), // 69: CMsgGCCStrike15_v2_Client2GCTextMsg - (*CMsgGCCStrike15V2_MatchEndRunRewardDrops)(nil), // 70: CMsgGCCStrike15_v2_MatchEndRunRewardDrops - (*CEconItemPreviewDataBlock)(nil), // 71: CEconItemPreviewDataBlock - (*CMsgGCCStrike15V2_MatchEndRewardDropsNotification)(nil), // 72: CMsgGCCStrike15_v2_MatchEndRewardDropsNotification - (*CMsgItemAcknowledged)(nil), // 73: CMsgItemAcknowledged - (*CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest)(nil), // 74: CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockRequest - (*CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse)(nil), // 75: CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockResponse - (*CMsgGCCStrike15V2_MatchListRequestCurrentLiveGames)(nil), // 76: CMsgGCCStrike15_v2_MatchListRequestCurrentLiveGames - (*CMsgGCCStrike15V2_MatchListRequestLiveGameForUser)(nil), // 77: CMsgGCCStrike15_v2_MatchListRequestLiveGameForUser - (*CMsgGCCStrike15V2_MatchListRequestRecentUserGames)(nil), // 78: CMsgGCCStrike15_v2_MatchListRequestRecentUserGames - (*CMsgGCCStrike15V2_MatchListRequestTournamentGames)(nil), // 79: CMsgGCCStrike15_v2_MatchListRequestTournamentGames - (*CMsgGCCStrike15V2_MatchListRequestFullGameInfo)(nil), // 80: CMsgGCCStrike15_v2_MatchListRequestFullGameInfo - (*CDataGCCStrike15V2_MatchInfo)(nil), // 81: CDataGCCStrike15_v2_MatchInfo - (*CDataGCCStrike15V2_TournamentGroupTeam)(nil), // 82: CDataGCCStrike15_v2_TournamentGroupTeam - (*CDataGCCStrike15V2_TournamentGroup)(nil), // 83: CDataGCCStrike15_v2_TournamentGroup - (*CDataGCCStrike15V2_TournamentSection)(nil), // 84: CDataGCCStrike15_v2_TournamentSection - (*CDataGCCStrike15V2_TournamentInfo)(nil), // 85: CDataGCCStrike15_v2_TournamentInfo - (*CMsgGCCStrike15V2_MatchList)(nil), // 86: CMsgGCCStrike15_v2_MatchList - (*CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt)(nil), // 87: CMsgGCCStrike15_v2_MatchListTournamentOperatorMgmt - (*CMsgGCCStrike15V2_Predictions)(nil), // 88: CMsgGCCStrike15_v2_Predictions - (*CMsgGCCStrike15V2_Fantasy)(nil), // 89: CMsgGCCStrike15_v2_Fantasy - (*CAttribute_String)(nil), // 90: CAttribute_String - (*CMsgCStrike15Welcome)(nil), // 91: CMsgCStrike15Welcome - (*CMsgGCCStrike15V2_ClientVarValueNotificationInfo)(nil), // 92: CMsgGCCStrike15_v2_ClientVarValueNotificationInfo - (*CMsgGCCStrike15V2_ServerVarValueNotificationInfo)(nil), // 93: CMsgGCCStrike15_v2_ServerVarValueNotificationInfo - (*CMsgGCCStrike15V2_GiftsLeaderboardRequest)(nil), // 94: CMsgGCCStrike15_v2_GiftsLeaderboardRequest - (*CMsgGCCStrike15V2_GiftsLeaderboardResponse)(nil), // 95: CMsgGCCStrike15_v2_GiftsLeaderboardResponse - (*CMsgGCCStrike15V2_ClientSubmitSurveyVote)(nil), // 96: CMsgGCCStrike15_v2_ClientSubmitSurveyVote - (*CMsgGCCStrike15V2_Server2GCClientValidate)(nil), // 97: CMsgGCCStrike15_v2_Server2GCClientValidate - (*CMsgGCCStrike15V2_GC2ClientTournamentInfo)(nil), // 98: CMsgGCCStrike15_v2_GC2ClientTournamentInfo - (*CSOEconCoupon)(nil), // 99: CSOEconCoupon - (*CSOQuestProgress)(nil), // 100: CSOQuestProgress - (*CSOAccountSeasonalOperation)(nil), // 101: CSOAccountSeasonalOperation - (*CSOAccountRecurringSubscription)(nil), // 102: CSOAccountRecurringSubscription - (*CSOPersonaDataPublic)(nil), // 103: CSOPersonaDataPublic - (*CMsgGC_GlobalGame_Subscribe)(nil), // 104: CMsgGC_GlobalGame_Subscribe - (*CMsgGC_GlobalGame_Unsubscribe)(nil), // 105: CMsgGC_GlobalGame_Unsubscribe - (*CMsgGC_GlobalGame_Play)(nil), // 106: CMsgGC_GlobalGame_Play - (*CMsgGCCStrike15V2_AcknowledgePenalty)(nil), // 107: CMsgGCCStrike15_v2_AcknowledgePenalty - (*CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin)(nil), // 108: CMsgGCCStrike15_v2_Client2GCRequestPrestigeCoin - (*CMsgGCCStrike15V2_Client2GCStreamUnlock)(nil), // 109: CMsgGCCStrike15_v2_Client2GCStreamUnlock - (*CMsgGCCStrike15V2_ClientToGCRequestElevate)(nil), // 110: CMsgGCCStrike15_v2_ClientToGCRequestElevate - (*CMsgGCCStrike15V2_ClientToGCChat)(nil), // 111: CMsgGCCStrike15_v2_ClientToGCChat - (*CMsgGCCStrike15V2_GCToClientChat)(nil), // 112: CMsgGCCStrike15_v2_GCToClientChat - (*CMsgGCCStrike15V2_ClientAuthKeyCode)(nil), // 113: CMsgGCCStrike15_v2_ClientAuthKeyCode - (*CMsgGCCStrike15_GotvSyncPacket)(nil), // 114: CMsgGCCStrike15_GotvSyncPacket - (*PlayerDecalDigitalSignature)(nil), // 115: PlayerDecalDigitalSignature - (*CMsgGCCStrike15V2_ClientPlayerDecalSign)(nil), // 116: CMsgGCCStrike15_v2_ClientPlayerDecalSign - (*CMsgGCCStrike15V2_ClientLogonFatalError)(nil), // 117: CMsgGCCStrike15_v2_ClientLogonFatalError - (*CMsgGCCStrike15V2_ClientPollState)(nil), // 118: CMsgGCCStrike15_v2_ClientPollState - (*CMsgGCCStrike15V2_Party_Register)(nil), // 119: CMsgGCCStrike15_v2_Party_Register - (*CMsgGCCStrike15V2_Party_Search)(nil), // 120: CMsgGCCStrike15_v2_Party_Search - (*CMsgGCCStrike15V2_Party_SearchResults)(nil), // 121: CMsgGCCStrike15_v2_Party_SearchResults - (*CMsgGCCStrike15V2_Party_Invite)(nil), // 122: CMsgGCCStrike15_v2_Party_Invite - (*CMsgGCCStrike15V2_Account_RequestCoPlays)(nil), // 123: CMsgGCCStrike15_v2_Account_RequestCoPlays - (*CMsgGCCStrike15V2_ClientToGCRequestTicket)(nil), // 124: CMsgGCCStrike15_v2_ClientToGCRequestTicket - (*CMsgGCToClientSteamDatagramTicket)(nil), // 125: CMsgGCToClientSteamDatagramTicket - (*CMsgGCCStrike15V2_ClientRequestOffers)(nil), // 126: CMsgGCCStrike15_v2_ClientRequestOffers - (*CMsgGCCStrike15V2_ClientRequestSouvenir)(nil), // 127: CMsgGCCStrike15_v2_ClientRequestSouvenir - (*CMsgGCCStrike15V2_ClientAccountBalance)(nil), // 128: CMsgGCCStrike15_v2_ClientAccountBalance - (*CMsgGCCStrike15V2_ClientPartyJoinRelay)(nil), // 129: CMsgGCCStrike15_v2_ClientPartyJoinRelay - (*CMsgGCCStrike15V2_ClientPartyWarning)(nil), // 130: CMsgGCCStrike15_v2_ClientPartyWarning - (*CMsgGCCStrike15V2_SetEventFavorite)(nil), // 131: CMsgGCCStrike15_v2_SetEventFavorite - (*CMsgGCCStrike15V2_GetEventFavorites_Request)(nil), // 132: CMsgGCCStrike15_v2_GetEventFavorites_Request - (*CMsgGCCStrike15V2_GetEventFavorites_Response)(nil), // 133: CMsgGCCStrike15_v2_GetEventFavorites_Response - (*CMsgGCCStrike15V2_ClientPerfReport)(nil), // 134: CMsgGCCStrike15_v2_ClientPerfReport - (*CVDiagnostic)(nil), // 135: CVDiagnostic - (*CMsgGCCStrike15V2_ClientReportValidation)(nil), // 136: CMsgGCCStrike15_v2_ClientReportValidation - (*CMsgGCCStrike15V2_GC2ClientRefuseSecureMode)(nil), // 137: CMsgGCCStrike15_v2_GC2ClientRefuseSecureMode - (*CMsgGCCStrike15V2_GC2ClientRequestValidation)(nil), // 138: CMsgGCCStrike15_v2_GC2ClientRequestValidation - (*CMsgGCCStrike15V2_GC2ClientInitSystem)(nil), // 139: CMsgGCCStrike15_v2_GC2ClientInitSystem - (*CMsgGCCStrike15V2_GC2ClientInitSystem_Response)(nil), // 140: CMsgGCCStrike15_v2_GC2ClientInitSystem_Response - (*ScoreLeaderboardData_Entry)(nil), // 141: ScoreLeaderboardData.Entry - (*ScoreLeaderboardData_AccountEntries)(nil), // 142: ScoreLeaderboardData.AccountEntries - (*PlayerQuestData_QuestItemData)(nil), // 143: PlayerQuestData.QuestItemData - (*CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate_Note)(nil), // 144: CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate.Note - (*CDataGCCStrike15V2_TournamentMatchDraft_Entry)(nil), // 145: CDataGCCStrike15_v2_TournamentMatchDraft.Entry - (*CPreMatchInfoData_TeamStats)(nil), // 146: CPreMatchInfoData.TeamStats - (*CMsgGCCStrike15V2_MatchmakingServerRoundStats_DropInfo)(nil), // 147: CMsgGCCStrike15_v2_MatchmakingServerRoundStats.DropInfo - (*CMsgGCCStrike15V2_AccountPrivacySettings_Setting)(nil), // 148: CMsgGCCStrike15_v2_AccountPrivacySettings.Setting - (*CMsgGCCStrike15_ClientDeepStats_DeepStatsRange)(nil), // 149: CMsgGCCStrike15_ClientDeepStats.DeepStatsRange - (*CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch)(nil), // 150: CMsgGCCStrike15_ClientDeepStats.DeepStatsMatch - (*CEconItemPreviewDataBlock_Sticker)(nil), // 151: CEconItemPreviewDataBlock.Sticker - (*CDataGCCStrike15V2_TournamentGroup_Picks)(nil), // 152: CDataGCCStrike15_v2_TournamentGroup.Picks - (*CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick)(nil), // 153: CMsgGCCStrike15_v2_Predictions.GroupMatchTeamPick - (*CMsgGCCStrike15V2_Fantasy_FantasySlot)(nil), // 154: CMsgGCCStrike15_v2_Fantasy.FantasySlot - (*CMsgGCCStrike15V2_Fantasy_FantasyTeam)(nil), // 155: CMsgGCCStrike15_v2_Fantasy.FantasyTeam - (*CMsgGCCStrike15V2_GiftsLeaderboardResponse_GiftLeaderboardEntry)(nil), // 156: CMsgGCCStrike15_v2_GiftsLeaderboardResponse.GiftLeaderboardEntry - (*CMsgGCCStrike15V2_Party_SearchResults_Entry)(nil), // 157: CMsgGCCStrike15_v2_Party_SearchResults.Entry - (*CMsgGCCStrike15V2_Account_RequestCoPlays_Player)(nil), // 158: CMsgGCCStrike15_v2_Account_RequestCoPlays.Player - (*CMsgGCCStrike15V2_ClientPartyWarning_Entry)(nil), // 159: CMsgGCCStrike15_v2_ClientPartyWarning.Entry - (*CMsgGCCStrike15V2_ClientPerfReport_Entry)(nil), // 160: CMsgGCCStrike15_v2_ClientPerfReport.Entry - (*CEngineGotvSyncPacket)(nil), // 161: CEngineGotvSyncPacket + (*CMsgGCCStrike15V2_MatchmakingGC2ServerConfirm)(nil), // 29: CMsgGCCStrike15_v2_MatchmakingGC2ServerConfirm + (*CMsgGCCStrike15V2_GC2ServerReservationUpdate)(nil), // 30: CMsgGCCStrike15_v2_GC2ServerReservationUpdate + (*CMsgGCCStrike15V2_MatchmakingStart)(nil), // 31: CMsgGCCStrike15_v2_MatchmakingStart + (*CMsgGCCStrike15V2_MatchmakingStop)(nil), // 32: CMsgGCCStrike15_v2_MatchmakingStop + (*CMsgGCCStrike15V2_MatchmakingClient2ServerPing)(nil), // 33: CMsgGCCStrike15_v2_MatchmakingClient2ServerPing + (*CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate)(nil), // 34: CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate + (*CDataGCCStrike15V2_TournamentMatchDraft)(nil), // 35: CDataGCCStrike15_v2_TournamentMatchDraft + (*CPreMatchInfoData)(nil), // 36: CPreMatchInfoData + (*CMsgGCCStrike15V2_MatchmakingGC2ServerReserve)(nil), // 37: CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve + (*CMsgGCCStrike15V2_MatchmakingServerReservationResponse)(nil), // 38: CMsgGCCStrike15_v2_MatchmakingServerReservationResponse + (*CMsgGCCStrike15V2_MatchmakingGC2ClientReserve)(nil), // 39: CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve + (*CMsgGCCStrike15V2_MatchmakingServerRoundStats)(nil), // 40: CMsgGCCStrike15_v2_MatchmakingServerRoundStats + (*CMsgGCCStrike15V2_MatchmakingClient2GCHello)(nil), // 41: CMsgGCCStrike15_v2_MatchmakingClient2GCHello + (*CMsgGCCStrike15V2_MatchmakingGC2ClientHello)(nil), // 42: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello + (*CMsgGCCStrike15V2_AccountPrivacySettings)(nil), // 43: CMsgGCCStrike15_v2_AccountPrivacySettings + (*CMsgGCCStrike15V2_MatchmakingGC2ClientAbandon)(nil), // 44: CMsgGCCStrike15_v2_MatchmakingGC2ClientAbandon + (*CMsgGCCStrike15V2_ClientGCRankUpdate)(nil), // 45: CMsgGCCStrike15_v2_ClientGCRankUpdate + (*CMsgGCCStrike15V2_MatchmakingOperator2GCBlogUpdate)(nil), // 46: CMsgGCCStrike15_v2_MatchmakingOperator2GCBlogUpdate + (*CMsgGCCStrike15V2_ServerNotificationForUserPenalty)(nil), // 47: CMsgGCCStrike15_v2_ServerNotificationForUserPenalty + (*CMsgGCCStrike15V2_ClientReportPlayer)(nil), // 48: CMsgGCCStrike15_v2_ClientReportPlayer + (*CMsgGCCStrike15V2_ClientCommendPlayer)(nil), // 49: CMsgGCCStrike15_v2_ClientCommendPlayer + (*CMsgGCCStrike15V2_ClientReportServer)(nil), // 50: CMsgGCCStrike15_v2_ClientReportServer + (*CMsgGCCStrike15V2_ClientReportResponse)(nil), // 51: CMsgGCCStrike15_v2_ClientReportResponse + (*CMsgGCCStrike15V2_ClientRequestWatchInfoFriends)(nil), // 52: CMsgGCCStrike15_v2_ClientRequestWatchInfoFriends + (*WatchableMatchInfo)(nil), // 53: WatchableMatchInfo + (*CMsgGCCStrike15V2_ClientRequestJoinFriendData)(nil), // 54: CMsgGCCStrike15_v2_ClientRequestJoinFriendData + (*CMsgGCCStrike15V2_ClientRequestJoinServerData)(nil), // 55: CMsgGCCStrike15_v2_ClientRequestJoinServerData + (*CMsgGCCstrike15V2_ClientRequestNewMission)(nil), // 56: CMsgGCCstrike15_v2_ClientRequestNewMission + (*CMsgGCCstrike15V2_ClientRedeemMissionReward)(nil), // 57: CMsgGCCstrike15_v2_ClientRedeemMissionReward + (*CMsgGCCstrike15V2_GC2ServerNotifyXPRewarded)(nil), // 58: CMsgGCCstrike15_v2_GC2ServerNotifyXPRewarded + (*CMsgGCCStrike15_ClientDeepStats)(nil), // 59: CMsgGCCStrike15_ClientDeepStats + (*CMsgGCCStrike15V2_WatchInfoUsers)(nil), // 60: CMsgGCCStrike15_v2_WatchInfoUsers + (*CMsgGCCStrike15V2_ClientRequestPlayersProfile)(nil), // 61: CMsgGCCStrike15_v2_ClientRequestPlayersProfile + (*CMsgGCCStrike15V2_PlayersProfile)(nil), // 62: CMsgGCCStrike15_v2_PlayersProfile + (*CMsgGCCStrike15V2_PlayerOverwatchCaseUpdate)(nil), // 63: CMsgGCCStrike15_v2_PlayerOverwatchCaseUpdate + (*CMsgGCCStrike15V2_PlayerOverwatchCaseAssignment)(nil), // 64: CMsgGCCStrike15_v2_PlayerOverwatchCaseAssignment + (*CMsgGCCStrike15V2_PlayerOverwatchCaseStatus)(nil), // 65: CMsgGCCStrike15_v2_PlayerOverwatchCaseStatus + (*CClientHeaderOverwatchEvidence)(nil), // 66: CClientHeaderOverwatchEvidence + (*CMsgGCCStrike15V2_GC2ClientTextMsg)(nil), // 67: CMsgGCCStrike15_v2_GC2ClientTextMsg + (*CMsgGCCStrike15V2_Client2GCTextMsg)(nil), // 68: CMsgGCCStrike15_v2_Client2GCTextMsg + (*CMsgGCCStrike15V2_MatchEndRunRewardDrops)(nil), // 69: CMsgGCCStrike15_v2_MatchEndRunRewardDrops + (*CEconItemPreviewDataBlock)(nil), // 70: CEconItemPreviewDataBlock + (*CMsgGCCStrike15V2_MatchEndRewardDropsNotification)(nil), // 71: CMsgGCCStrike15_v2_MatchEndRewardDropsNotification + (*CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest)(nil), // 72: CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockRequest + (*CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse)(nil), // 73: CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockResponse + (*CMsgGCCStrike15V2_MatchListRequestCurrentLiveGames)(nil), // 74: CMsgGCCStrike15_v2_MatchListRequestCurrentLiveGames + (*CMsgGCCStrike15V2_MatchListRequestLiveGameForUser)(nil), // 75: CMsgGCCStrike15_v2_MatchListRequestLiveGameForUser + (*CMsgGCCStrike15V2_MatchListRequestRecentUserGames)(nil), // 76: CMsgGCCStrike15_v2_MatchListRequestRecentUserGames + (*CMsgGCCStrike15V2_MatchListRequestTournamentGames)(nil), // 77: CMsgGCCStrike15_v2_MatchListRequestTournamentGames + (*CMsgGCCStrike15V2_MatchListRequestFullGameInfo)(nil), // 78: CMsgGCCStrike15_v2_MatchListRequestFullGameInfo + (*CDataGCCStrike15V2_MatchInfo)(nil), // 79: CDataGCCStrike15_v2_MatchInfo + (*CDataGCCStrike15V2_TournamentGroupTeam)(nil), // 80: CDataGCCStrike15_v2_TournamentGroupTeam + (*CDataGCCStrike15V2_TournamentGroup)(nil), // 81: CDataGCCStrike15_v2_TournamentGroup + (*CDataGCCStrike15V2_TournamentSection)(nil), // 82: CDataGCCStrike15_v2_TournamentSection + (*CDataGCCStrike15V2_TournamentInfo)(nil), // 83: CDataGCCStrike15_v2_TournamentInfo + (*CMsgGCCStrike15V2_MatchList)(nil), // 84: CMsgGCCStrike15_v2_MatchList + (*CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt)(nil), // 85: CMsgGCCStrike15_v2_MatchListTournamentOperatorMgmt + (*CMsgGCCStrike15V2_Predictions)(nil), // 86: CMsgGCCStrike15_v2_Predictions + (*CMsgGCCStrike15V2_Fantasy)(nil), // 87: CMsgGCCStrike15_v2_Fantasy + (*CMsgLegacySource1ClientWelcome)(nil), // 88: CMsgLegacySource1ClientWelcome + (*CMsgCStrike15Welcome)(nil), // 89: CMsgCStrike15Welcome + (*CMsgGCCStrike15V2_ClientVarValueNotificationInfo)(nil), // 90: CMsgGCCStrike15_v2_ClientVarValueNotificationInfo + (*CMsgGCCStrike15V2_ServerVarValueNotificationInfo)(nil), // 91: CMsgGCCStrike15_v2_ServerVarValueNotificationInfo + (*CMsgGCCStrike15V2_GiftsLeaderboardRequest)(nil), // 92: CMsgGCCStrike15_v2_GiftsLeaderboardRequest + (*CMsgGCCStrike15V2_GiftsLeaderboardResponse)(nil), // 93: CMsgGCCStrike15_v2_GiftsLeaderboardResponse + (*CMsgGCCStrike15V2_ClientSubmitSurveyVote)(nil), // 94: CMsgGCCStrike15_v2_ClientSubmitSurveyVote + (*CMsgGCCStrike15V2_Server2GCClientValidate)(nil), // 95: CMsgGCCStrike15_v2_Server2GCClientValidate + (*CMsgGCCStrike15V2_GC2ClientTournamentInfo)(nil), // 96: CMsgGCCStrike15_v2_GC2ClientTournamentInfo + (*CSOEconCoupon)(nil), // 97: CSOEconCoupon + (*CSOQuestProgress)(nil), // 98: CSOQuestProgress + (*CSOAccountSeasonalOperation)(nil), // 99: CSOAccountSeasonalOperation + (*CSOAccountRecurringSubscription)(nil), // 100: CSOAccountRecurringSubscription + (*CSOPersonaDataPublic)(nil), // 101: CSOPersonaDataPublic + (*CMsgGC_GlobalGame_Subscribe)(nil), // 102: CMsgGC_GlobalGame_Subscribe + (*CMsgGC_GlobalGame_Unsubscribe)(nil), // 103: CMsgGC_GlobalGame_Unsubscribe + (*CMsgGC_GlobalGame_Play)(nil), // 104: CMsgGC_GlobalGame_Play + (*CMsgGCCStrike15V2_AcknowledgePenalty)(nil), // 105: CMsgGCCStrike15_v2_AcknowledgePenalty + (*CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin)(nil), // 106: CMsgGCCStrike15_v2_Client2GCRequestPrestigeCoin + (*CMsgGCCStrike15V2_Client2GCStreamUnlock)(nil), // 107: CMsgGCCStrike15_v2_Client2GCStreamUnlock + (*CMsgGCCStrike15V2_ClientToGCRequestElevate)(nil), // 108: CMsgGCCStrike15_v2_ClientToGCRequestElevate + (*CMsgGCCStrike15V2_ClientToGCChat)(nil), // 109: CMsgGCCStrike15_v2_ClientToGCChat + (*CMsgGCCStrike15V2_GCToClientChat)(nil), // 110: CMsgGCCStrike15_v2_GCToClientChat + (*CMsgGCCStrike15V2_ClientAuthKeyCode)(nil), // 111: CMsgGCCStrike15_v2_ClientAuthKeyCode + (*CMsgGCCStrike15_GotvSyncPacket)(nil), // 112: CMsgGCCStrike15_GotvSyncPacket + (*PlayerDecalDigitalSignature)(nil), // 113: PlayerDecalDigitalSignature + (*CMsgGCCStrike15V2_ClientPlayerDecalSign)(nil), // 114: CMsgGCCStrike15_v2_ClientPlayerDecalSign + (*CMsgGCCStrike15V2_ClientLogonFatalError)(nil), // 115: CMsgGCCStrike15_v2_ClientLogonFatalError + (*CMsgGCCStrike15V2_ClientPollState)(nil), // 116: CMsgGCCStrike15_v2_ClientPollState + (*CMsgGCCStrike15V2_Party_Register)(nil), // 117: CMsgGCCStrike15_v2_Party_Register + (*CMsgGCCStrike15V2_Party_Search)(nil), // 118: CMsgGCCStrike15_v2_Party_Search + (*CMsgGCCStrike15V2_Party_SearchResults)(nil), // 119: CMsgGCCStrike15_v2_Party_SearchResults + (*CMsgGCCStrike15V2_Party_Invite)(nil), // 120: CMsgGCCStrike15_v2_Party_Invite + (*CMsgGCCStrike15V2_Account_RequestCoPlays)(nil), // 121: CMsgGCCStrike15_v2_Account_RequestCoPlays + (*CMsgGCCStrike15V2_ClientToGCRequestTicket)(nil), // 122: CMsgGCCStrike15_v2_ClientToGCRequestTicket + (*CMsgGCToClientSteamDatagramTicket)(nil), // 123: CMsgGCToClientSteamDatagramTicket + (*CMsgGCCStrike15V2_ClientRequestOffers)(nil), // 124: CMsgGCCStrike15_v2_ClientRequestOffers + (*CMsgGCCStrike15V2_ClientRequestSouvenir)(nil), // 125: CMsgGCCStrike15_v2_ClientRequestSouvenir + (*CMsgGCCStrike15V2_ClientAccountBalance)(nil), // 126: CMsgGCCStrike15_v2_ClientAccountBalance + (*CMsgGCCStrike15V2_ClientPartyJoinRelay)(nil), // 127: CMsgGCCStrike15_v2_ClientPartyJoinRelay + (*CMsgGCCStrike15V2_ClientPartyWarning)(nil), // 128: CMsgGCCStrike15_v2_ClientPartyWarning + (*CMsgGCCStrike15V2_SetEventFavorite)(nil), // 129: CMsgGCCStrike15_v2_SetEventFavorite + (*CMsgGCCStrike15V2_GetEventFavorites_Request)(nil), // 130: CMsgGCCStrike15_v2_GetEventFavorites_Request + (*CMsgGCCStrike15V2_GetEventFavorites_Response)(nil), // 131: CMsgGCCStrike15_v2_GetEventFavorites_Response + (*CMsgGCCStrike15V2_ClientPerfReport)(nil), // 132: CMsgGCCStrike15_v2_ClientPerfReport + (*CVDiagnostic)(nil), // 133: CVDiagnostic + (*CMsgGCCStrike15V2_ClientReportValidation)(nil), // 134: CMsgGCCStrike15_v2_ClientReportValidation + (*CMsgGCCStrike15V2_GC2ClientRefuseSecureMode)(nil), // 135: CMsgGCCStrike15_v2_GC2ClientRefuseSecureMode + (*CMsgGCCStrike15V2_GC2ClientRequestValidation)(nil), // 136: CMsgGCCStrike15_v2_GC2ClientRequestValidation + (*CMsgGCCStrike15V2_GC2ClientInitSystem)(nil), // 137: CMsgGCCStrike15_v2_GC2ClientInitSystem + (*CMsgGCCStrike15V2_GC2ClientInitSystem_Response)(nil), // 138: CMsgGCCStrike15_v2_GC2ClientInitSystem_Response + (*ScoreLeaderboardData_Entry)(nil), // 139: ScoreLeaderboardData.Entry + (*ScoreLeaderboardData_AccountEntries)(nil), // 140: ScoreLeaderboardData.AccountEntries + (*PlayerQuestData_QuestItemData)(nil), // 141: PlayerQuestData.QuestItemData + (*CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate_Note)(nil), // 142: CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate.Note + (*CDataGCCStrike15V2_TournamentMatchDraft_Entry)(nil), // 143: CDataGCCStrike15_v2_TournamentMatchDraft.Entry + (*CPreMatchInfoData_TeamStats)(nil), // 144: CPreMatchInfoData.TeamStats + (*CMsgGCCStrike15V2_MatchmakingServerRoundStats_DropInfo)(nil), // 145: CMsgGCCStrike15_v2_MatchmakingServerRoundStats.DropInfo + (*CMsgGCCStrike15V2_AccountPrivacySettings_Setting)(nil), // 146: CMsgGCCStrike15_v2_AccountPrivacySettings.Setting + (*CMsgGCCStrike15_ClientDeepStats_DeepStatsRange)(nil), // 147: CMsgGCCStrike15_ClientDeepStats.DeepStatsRange + (*CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch)(nil), // 148: CMsgGCCStrike15_ClientDeepStats.DeepStatsMatch + (*CEconItemPreviewDataBlock_Sticker)(nil), // 149: CEconItemPreviewDataBlock.Sticker + (*CDataGCCStrike15V2_TournamentGroup_Picks)(nil), // 150: CDataGCCStrike15_v2_TournamentGroup.Picks + (*CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick)(nil), // 151: CMsgGCCStrike15_v2_Predictions.GroupMatchTeamPick + (*CMsgGCCStrike15V2_Fantasy_FantasySlot)(nil), // 152: CMsgGCCStrike15_v2_Fantasy.FantasySlot + (*CMsgGCCStrike15V2_Fantasy_FantasyTeam)(nil), // 153: CMsgGCCStrike15_v2_Fantasy.FantasyTeam + (*CMsgLegacySource1ClientWelcome_Location)(nil), // 154: CMsgLegacySource1ClientWelcome.Location + (*CMsgGCCStrike15V2_GiftsLeaderboardResponse_GiftLeaderboardEntry)(nil), // 155: CMsgGCCStrike15_v2_GiftsLeaderboardResponse.GiftLeaderboardEntry + (*CMsgGCCStrike15V2_Party_SearchResults_Entry)(nil), // 156: CMsgGCCStrike15_v2_Party_SearchResults.Entry + (*CMsgGCCStrike15V2_Account_RequestCoPlays_Player)(nil), // 157: CMsgGCCStrike15_v2_Account_RequestCoPlays.Player + (*CMsgGCCStrike15V2_ClientPartyWarning_Entry)(nil), // 158: CMsgGCCStrike15_v2_ClientPartyWarning.Entry + (*CMsgGCCStrike15V2_ClientPerfReport_Entry)(nil), // 159: CMsgGCCStrike15_v2_ClientPerfReport.Entry + (*CMsgSOCacheSubscribed)(nil), // 160: CMsgSOCacheSubscribed + (*CMsgSOCacheSubscriptionCheck)(nil), // 161: CMsgSOCacheSubscriptionCheck + (*CEngineGotvSyncPacket)(nil), // 162: CEngineGotvSyncPacket } var file_cstrike15_gcmessages_proto_depIdxs = []int32{ 7, // 0: TournamentTeam.players:type_name -> TournamentPlayer 6, // 1: GlobalStatistics.search_statistics:type_name -> DetailedSearchStatistic 12, // 2: OperationalStatisticsPacket.values:type_name -> OperationalStatisticElement - 142, // 3: ScoreLeaderboardData.accountentries:type_name -> ScoreLeaderboardData.AccountEntries - 141, // 4: ScoreLeaderboardData.matchentries:type_name -> ScoreLeaderboardData.Entry - 143, // 5: PlayerQuestData.quest_item_data:type_name -> PlayerQuestData.QuestItemData + 140, // 3: ScoreLeaderboardData.accountentries:type_name -> ScoreLeaderboardData.AccountEntries + 139, // 4: ScoreLeaderboardData.matchentries:type_name -> ScoreLeaderboardData.Entry + 141, // 5: PlayerQuestData.quest_item_data:type_name -> PlayerQuestData.QuestItemData 22, // 6: PlayerQuestData.xp_progress_data:type_name -> XpProgressData 23, // 7: PlayerQuestData.item_updates:type_name -> MatchEndItemUpdates 21, // 8: PlayerQuestData.userstatchanges:type_name -> CMsgCsgoSteamUserStatChange 25, // 9: CMsgGC_ServerQuestUpdateData.player_quest_data:type_name -> PlayerQuestData 24, // 10: CMsgGC_ServerQuestUpdateData.missionlbsdata:type_name -> ScoreLeaderboardData - 11, // 11: CMsgGCCStrike15_v2_MatchmakingGCOperationalStats.namekeys:type_name -> OperationalStatisticDescription - 13, // 12: CMsgGCCStrike15_v2_MatchmakingGCOperationalStats.packets:type_name -> OperationalStatisticsPacket - 18, // 13: CMsgGCCStrike15_v2_MatchmakingStart.tournament_match:type_name -> TournamentMatchSetup - 4, // 14: CMsgGCCStrike15_v2_MatchmakingClient2ServerPing.gameserverpings:type_name -> GameServerPing - 5, // 15: CMsgGCCStrike15_v2_MatchmakingClient2ServerPing.data_center_pings:type_name -> DataCenterPing - 10, // 16: CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate.global_stats:type_name -> GlobalStatistics - 20, // 17: CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate.server_ipaddress_mask:type_name -> IpAddressMask - 144, // 18: CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate.notes:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate.Note - 145, // 19: CDataGCCStrike15_v2_TournamentMatchDraft.drafts:type_name -> CDataGCCStrike15_v2_TournamentMatchDraft.Entry - 36, // 20: CPreMatchInfoData.draft:type_name -> CDataGCCStrike15_v2_TournamentMatchDraft - 146, // 21: CPreMatchInfoData.stats:type_name -> CPreMatchInfoData.TeamStats - 14, // 22: CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve.rankings:type_name -> PlayerRankingInfo - 20, // 23: CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve.whitelist:type_name -> IpAddressMask - 9, // 24: CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve.tournament_event:type_name -> TournamentEvent - 8, // 25: CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve.tournament_teams:type_name -> TournamentTeam - 37, // 26: CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve.pre_match_data:type_name -> CPreMatchInfoData - 38, // 27: CMsgGCCStrike15_v2_MatchmakingServerReservationResponse.reservation:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve - 19, // 28: CMsgGCCStrike15_v2_MatchmakingServerReservationResponse.tv_info:type_name -> ServerHltvInfo - 38, // 29: CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve.reservation:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve - 38, // 30: CMsgGCCStrike15_v2_MatchmakingServerRoundStats.reservation:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve - 30, // 31: CMsgGCCStrike15_v2_MatchmakingServerRoundStats.confirm:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ServerConfirm - 147, // 32: CMsgGCCStrike15_v2_MatchmakingServerRoundStats.drop_info:type_name -> CMsgGCCStrike15_v2_MatchmakingServerRoundStats.DropInfo - 40, // 33: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.ongoingmatch:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve - 10, // 34: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.global_stats:type_name -> GlobalStatistics - 14, // 35: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.ranking:type_name -> PlayerRankingInfo - 15, // 36: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.commendation:type_name -> PlayerCommendationInfo - 16, // 37: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.medals:type_name -> PlayerMedalsInfo - 9, // 38: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.my_current_event:type_name -> TournamentEvent - 8, // 39: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.my_current_event_teams:type_name -> TournamentTeam - 8, // 40: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.my_current_team:type_name -> TournamentTeam - 9, // 41: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.my_current_event_stages:type_name -> TournamentEvent - 17, // 42: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.activity:type_name -> AccountActivity - 14, // 43: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.rankings:type_name -> PlayerRankingInfo - 148, // 44: CMsgGCCStrike15_v2_AccountPrivacySettings.settings:type_name -> CMsgGCCStrike15_v2_AccountPrivacySettings.Setting - 40, // 45: CMsgGCCStrike15_v2_MatchmakingGC2ClientAbandon.abandoned_match:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve - 14, // 46: CMsgGCCStrike15_v2_ClientGCRankUpdate.rankings:type_name -> PlayerRankingInfo - 15, // 47: CMsgGCCStrike15_v2_ClientCommendPlayer.commendation:type_name -> PlayerCommendationInfo - 5, // 48: CMsgGCCStrike15_v2_ClientRequestWatchInfoFriends.data_center_pings:type_name -> DataCenterPing - 40, // 49: CMsgGCCStrike15_v2_ClientRequestJoinFriendData.res:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve - 40, // 50: CMsgGCCStrike15_v2_ClientRequestJoinServerData.res:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve - 22, // 51: CMsgGCCstrike15_v2_GC2ServerNotifyXPRewarded.xp_progress_data:type_name -> XpProgressData - 149, // 52: CMsgGCCStrike15_ClientDeepStats.range:type_name -> CMsgGCCStrike15_ClientDeepStats.DeepStatsRange - 150, // 53: CMsgGCCStrike15_ClientDeepStats.matches:type_name -> CMsgGCCStrike15_ClientDeepStats.DeepStatsMatch - 54, // 54: CMsgGCCStrike15_v2_WatchInfoUsers.watchable_match_infos:type_name -> WatchableMatchInfo - 43, // 55: CMsgGCCStrike15_v2_PlayersProfile.account_profiles:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ClientHello - 39, // 56: CMsgGCCStrike15_v2_MatchEndRunRewardDrops.serverinfo:type_name -> CMsgGCCStrike15_v2_MatchmakingServerReservationResponse - 28, // 57: CMsgGCCStrike15_v2_MatchEndRunRewardDrops.match_end_quest_data:type_name -> CMsgGC_ServerQuestUpdateData - 151, // 58: CEconItemPreviewDataBlock.stickers:type_name -> CEconItemPreviewDataBlock.Sticker - 71, // 59: CMsgGCCStrike15_v2_MatchEndRewardDropsNotification.iteminfo:type_name -> CEconItemPreviewDataBlock - 71, // 60: CMsgItemAcknowledged.iteminfo:type_name -> CEconItemPreviewDataBlock - 71, // 61: CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockResponse.iteminfo:type_name -> CEconItemPreviewDataBlock - 54, // 62: CDataGCCStrike15_v2_MatchInfo.watchablematchinfo:type_name -> WatchableMatchInfo - 41, // 63: CDataGCCStrike15_v2_MatchInfo.roundstats_legacy:type_name -> CMsgGCCStrike15_v2_MatchmakingServerRoundStats - 41, // 64: CDataGCCStrike15_v2_MatchInfo.roundstatsall:type_name -> CMsgGCCStrike15_v2_MatchmakingServerRoundStats - 82, // 65: CDataGCCStrike15_v2_TournamentGroup.teams:type_name -> CDataGCCStrike15_v2_TournamentGroupTeam - 152, // 66: CDataGCCStrike15_v2_TournamentGroup.picks:type_name -> CDataGCCStrike15_v2_TournamentGroup.Picks - 83, // 67: CDataGCCStrike15_v2_TournamentSection.groups:type_name -> CDataGCCStrike15_v2_TournamentGroup - 84, // 68: CDataGCCStrike15_v2_TournamentInfo.sections:type_name -> CDataGCCStrike15_v2_TournamentSection - 9, // 69: CDataGCCStrike15_v2_TournamentInfo.tournament_event:type_name -> TournamentEvent - 8, // 70: CDataGCCStrike15_v2_TournamentInfo.tournament_teams:type_name -> TournamentTeam - 81, // 71: CMsgGCCStrike15_v2_MatchList.matches:type_name -> CDataGCCStrike15_v2_MatchInfo - 8, // 72: CMsgGCCStrike15_v2_MatchList.streams:type_name -> TournamentTeam - 85, // 73: CMsgGCCStrike15_v2_MatchList.tournamentinfo:type_name -> CDataGCCStrike15_v2_TournamentInfo - 81, // 74: CMsgGCCStrike15_v2_MatchListTournamentOperatorMgmt.matches:type_name -> CDataGCCStrike15_v2_MatchInfo - 153, // 75: CMsgGCCStrike15_v2_Predictions.group_match_team_picks:type_name -> CMsgGCCStrike15_v2_Predictions.GroupMatchTeamPick - 155, // 76: CMsgGCCStrike15_v2_Fantasy.teams:type_name -> CMsgGCCStrike15_v2_Fantasy.FantasyTeam - 156, // 77: CMsgGCCStrike15_v2_GiftsLeaderboardResponse.entries:type_name -> CMsgGCCStrike15_v2_GiftsLeaderboardResponse.GiftLeaderboardEntry + 18, // 11: CMsgGCCStrike15_v2_MatchmakingStart.tournament_match:type_name -> TournamentMatchSetup + 4, // 12: CMsgGCCStrike15_v2_MatchmakingClient2ServerPing.gameserverpings:type_name -> GameServerPing + 5, // 13: CMsgGCCStrike15_v2_MatchmakingClient2ServerPing.data_center_pings:type_name -> DataCenterPing + 10, // 14: CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate.global_stats:type_name -> GlobalStatistics + 20, // 15: CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate.server_ipaddress_mask:type_name -> IpAddressMask + 142, // 16: CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate.notes:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate.Note + 143, // 17: CDataGCCStrike15_v2_TournamentMatchDraft.drafts:type_name -> CDataGCCStrike15_v2_TournamentMatchDraft.Entry + 35, // 18: CPreMatchInfoData.draft:type_name -> CDataGCCStrike15_v2_TournamentMatchDraft + 144, // 19: CPreMatchInfoData.stats:type_name -> CPreMatchInfoData.TeamStats + 14, // 20: CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve.rankings:type_name -> PlayerRankingInfo + 20, // 21: CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve.whitelist:type_name -> IpAddressMask + 9, // 22: CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve.tournament_event:type_name -> TournamentEvent + 8, // 23: CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve.tournament_teams:type_name -> TournamentTeam + 36, // 24: CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve.pre_match_data:type_name -> CPreMatchInfoData + 37, // 25: CMsgGCCStrike15_v2_MatchmakingServerReservationResponse.reservation:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve + 19, // 26: CMsgGCCStrike15_v2_MatchmakingServerReservationResponse.tv_info:type_name -> ServerHltvInfo + 37, // 27: CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve.reservation:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve + 37, // 28: CMsgGCCStrike15_v2_MatchmakingServerRoundStats.reservation:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve + 29, // 29: CMsgGCCStrike15_v2_MatchmakingServerRoundStats.confirm:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ServerConfirm + 145, // 30: CMsgGCCStrike15_v2_MatchmakingServerRoundStats.drop_info:type_name -> CMsgGCCStrike15_v2_MatchmakingServerRoundStats.DropInfo + 39, // 31: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.ongoingmatch:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve + 10, // 32: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.global_stats:type_name -> GlobalStatistics + 14, // 33: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.ranking:type_name -> PlayerRankingInfo + 15, // 34: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.commendation:type_name -> PlayerCommendationInfo + 16, // 35: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.medals:type_name -> PlayerMedalsInfo + 9, // 36: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.my_current_event:type_name -> TournamentEvent + 8, // 37: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.my_current_event_teams:type_name -> TournamentTeam + 8, // 38: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.my_current_team:type_name -> TournamentTeam + 9, // 39: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.my_current_event_stages:type_name -> TournamentEvent + 17, // 40: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.activity:type_name -> AccountActivity + 14, // 41: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.rankings:type_name -> PlayerRankingInfo + 146, // 42: CMsgGCCStrike15_v2_AccountPrivacySettings.settings:type_name -> CMsgGCCStrike15_v2_AccountPrivacySettings.Setting + 39, // 43: CMsgGCCStrike15_v2_MatchmakingGC2ClientAbandon.abandoned_match:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve + 14, // 44: CMsgGCCStrike15_v2_ClientGCRankUpdate.rankings:type_name -> PlayerRankingInfo + 15, // 45: CMsgGCCStrike15_v2_ClientCommendPlayer.commendation:type_name -> PlayerCommendationInfo + 5, // 46: CMsgGCCStrike15_v2_ClientRequestWatchInfoFriends.data_center_pings:type_name -> DataCenterPing + 39, // 47: CMsgGCCStrike15_v2_ClientRequestJoinFriendData.res:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve + 39, // 48: CMsgGCCStrike15_v2_ClientRequestJoinServerData.res:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve + 22, // 49: CMsgGCCstrike15_v2_GC2ServerNotifyXPRewarded.xp_progress_data:type_name -> XpProgressData + 147, // 50: CMsgGCCStrike15_ClientDeepStats.range:type_name -> CMsgGCCStrike15_ClientDeepStats.DeepStatsRange + 148, // 51: CMsgGCCStrike15_ClientDeepStats.matches:type_name -> CMsgGCCStrike15_ClientDeepStats.DeepStatsMatch + 53, // 52: CMsgGCCStrike15_v2_WatchInfoUsers.watchable_match_infos:type_name -> WatchableMatchInfo + 42, // 53: CMsgGCCStrike15_v2_PlayersProfile.account_profiles:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ClientHello + 38, // 54: CMsgGCCStrike15_v2_MatchEndRunRewardDrops.serverinfo:type_name -> CMsgGCCStrike15_v2_MatchmakingServerReservationResponse + 28, // 55: CMsgGCCStrike15_v2_MatchEndRunRewardDrops.match_end_quest_data:type_name -> CMsgGC_ServerQuestUpdateData + 149, // 56: CEconItemPreviewDataBlock.stickers:type_name -> CEconItemPreviewDataBlock.Sticker + 70, // 57: CMsgGCCStrike15_v2_MatchEndRewardDropsNotification.iteminfo:type_name -> CEconItemPreviewDataBlock + 70, // 58: CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockResponse.iteminfo:type_name -> CEconItemPreviewDataBlock + 53, // 59: CDataGCCStrike15_v2_MatchInfo.watchablematchinfo:type_name -> WatchableMatchInfo + 40, // 60: CDataGCCStrike15_v2_MatchInfo.roundstats_legacy:type_name -> CMsgGCCStrike15_v2_MatchmakingServerRoundStats + 40, // 61: CDataGCCStrike15_v2_MatchInfo.roundstatsall:type_name -> CMsgGCCStrike15_v2_MatchmakingServerRoundStats + 80, // 62: CDataGCCStrike15_v2_TournamentGroup.teams:type_name -> CDataGCCStrike15_v2_TournamentGroupTeam + 150, // 63: CDataGCCStrike15_v2_TournamentGroup.picks:type_name -> CDataGCCStrike15_v2_TournamentGroup.Picks + 81, // 64: CDataGCCStrike15_v2_TournamentSection.groups:type_name -> CDataGCCStrike15_v2_TournamentGroup + 82, // 65: CDataGCCStrike15_v2_TournamentInfo.sections:type_name -> CDataGCCStrike15_v2_TournamentSection + 9, // 66: CDataGCCStrike15_v2_TournamentInfo.tournament_event:type_name -> TournamentEvent + 8, // 67: CDataGCCStrike15_v2_TournamentInfo.tournament_teams:type_name -> TournamentTeam + 79, // 68: CMsgGCCStrike15_v2_MatchList.matches:type_name -> CDataGCCStrike15_v2_MatchInfo + 8, // 69: CMsgGCCStrike15_v2_MatchList.streams:type_name -> TournamentTeam + 83, // 70: CMsgGCCStrike15_v2_MatchList.tournamentinfo:type_name -> CDataGCCStrike15_v2_TournamentInfo + 79, // 71: CMsgGCCStrike15_v2_MatchListTournamentOperatorMgmt.matches:type_name -> CDataGCCStrike15_v2_MatchInfo + 151, // 72: CMsgGCCStrike15_v2_Predictions.group_match_team_picks:type_name -> CMsgGCCStrike15_v2_Predictions.GroupMatchTeamPick + 153, // 73: CMsgGCCStrike15_v2_Fantasy.teams:type_name -> CMsgGCCStrike15_v2_Fantasy.FantasyTeam + 160, // 74: CMsgLegacySource1ClientWelcome.outofdate_subscribed_caches:type_name -> CMsgSOCacheSubscribed + 161, // 75: CMsgLegacySource1ClientWelcome.uptodate_subscribed_caches:type_name -> CMsgSOCacheSubscriptionCheck + 154, // 76: CMsgLegacySource1ClientWelcome.location:type_name -> CMsgLegacySource1ClientWelcome.Location + 155, // 77: CMsgGCCStrike15_v2_GiftsLeaderboardResponse.entries:type_name -> CMsgGCCStrike15_v2_GiftsLeaderboardResponse.GiftLeaderboardEntry 15, // 78: CSOPersonaDataPublic.commendation:type_name -> PlayerCommendationInfo - 161, // 79: CMsgGCCStrike15_GotvSyncPacket.data:type_name -> CEngineGotvSyncPacket - 115, // 80: CMsgGCCStrike15_v2_ClientPlayerDecalSign.data:type_name -> PlayerDecalDigitalSignature - 157, // 81: CMsgGCCStrike15_v2_Party_SearchResults.entries:type_name -> CMsgGCCStrike15_v2_Party_SearchResults.Entry - 158, // 82: CMsgGCCStrike15_v2_Account_RequestCoPlays.players:type_name -> CMsgGCCStrike15_v2_Account_RequestCoPlays.Player - 159, // 83: CMsgGCCStrike15_v2_ClientPartyWarning.entries:type_name -> CMsgGCCStrike15_v2_ClientPartyWarning.Entry - 160, // 84: CMsgGCCStrike15_v2_ClientPerfReport.entries:type_name -> CMsgGCCStrike15_v2_ClientPerfReport.Entry - 135, // 85: CMsgGCCStrike15_v2_ClientReportValidation.diagnostics:type_name -> CVDiagnostic + 162, // 79: CMsgGCCStrike15_GotvSyncPacket.data:type_name -> CEngineGotvSyncPacket + 113, // 80: CMsgGCCStrike15_v2_ClientPlayerDecalSign.data:type_name -> PlayerDecalDigitalSignature + 156, // 81: CMsgGCCStrike15_v2_Party_SearchResults.entries:type_name -> CMsgGCCStrike15_v2_Party_SearchResults.Entry + 157, // 82: CMsgGCCStrike15_v2_Account_RequestCoPlays.players:type_name -> CMsgGCCStrike15_v2_Account_RequestCoPlays.Player + 158, // 83: CMsgGCCStrike15_v2_ClientPartyWarning.entries:type_name -> CMsgGCCStrike15_v2_ClientPartyWarning.Entry + 159, // 84: CMsgGCCStrike15_v2_ClientPerfReport.entries:type_name -> CMsgGCCStrike15_v2_ClientPerfReport.Entry + 133, // 85: CMsgGCCStrike15_v2_ClientReportValidation.diagnostics:type_name -> CVDiagnostic 3, // 86: CMsgGCCStrike15_v2_GC2ClientInitSystem_Response.einit_result:type_name -> EInitSystemResult - 141, // 87: ScoreLeaderboardData.AccountEntries.entries:type_name -> ScoreLeaderboardData.Entry + 139, // 87: ScoreLeaderboardData.AccountEntries.entries:type_name -> ScoreLeaderboardData.Entry 26, // 88: CMsgGCCStrike15_ClientDeepStats.DeepStatsMatch.player:type_name -> DeepPlayerStatsEntry 27, // 89: CMsgGCCStrike15_ClientDeepStats.DeepStatsMatch.events:type_name -> DeepPlayerMatchEvent - 154, // 90: CMsgGCCStrike15_v2_Fantasy.FantasyTeam.slots:type_name -> CMsgGCCStrike15_v2_Fantasy.FantasySlot + 152, // 90: CMsgGCCStrike15_v2_Fantasy.FantasyTeam.slots:type_name -> CMsgGCCStrike15_v2_Fantasy.FantasySlot 91, // [91:91] is the sub-list for method output_type 91, // [91:91] is the sub-list for method input_type 91, // [91:91] is the sub-list for extension type_name @@ -15330,6 +15504,7 @@ func file_cstrike15_gcmessages_proto_init() { } file_steammessages_proto_init() file_engine_gcmessages_proto_init() + file_gcsdk_gcmessages_proto_init() if !protoimpl.UnsafeEnabled { file_cstrike15_gcmessages_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GameServerPing); i { @@ -15632,7 +15807,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchmakingGCOperationalStats); i { + switch v := v.(*CMsgGCCStrike15V2_MatchmakingGC2ServerConfirm); i { case 0: return &v.state case 1: @@ -15644,7 +15819,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchmakingGC2ServerConfirm); i { + switch v := v.(*CMsgGCCStrike15V2_GC2ServerReservationUpdate); i { case 0: return &v.state case 1: @@ -15656,7 +15831,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_GC2ServerReservationUpdate); i { + switch v := v.(*CMsgGCCStrike15V2_MatchmakingStart); i { case 0: return &v.state case 1: @@ -15668,7 +15843,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchmakingStart); i { + switch v := v.(*CMsgGCCStrike15V2_MatchmakingStop); i { case 0: return &v.state case 1: @@ -15680,7 +15855,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchmakingStop); i { + switch v := v.(*CMsgGCCStrike15V2_MatchmakingClient2ServerPing); i { case 0: return &v.state case 1: @@ -15692,7 +15867,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchmakingClient2ServerPing); i { + switch v := v.(*CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate); i { case 0: return &v.state case 1: @@ -15704,7 +15879,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate); i { + switch v := v.(*CDataGCCStrike15V2_TournamentMatchDraft); i { case 0: return &v.state case 1: @@ -15716,7 +15891,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDataGCCStrike15V2_TournamentMatchDraft); i { + switch v := v.(*CPreMatchInfoData); i { case 0: return &v.state case 1: @@ -15728,7 +15903,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CPreMatchInfoData); i { + switch v := v.(*CMsgGCCStrike15V2_MatchmakingGC2ServerReserve); i { case 0: return &v.state case 1: @@ -15740,7 +15915,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchmakingGC2ServerReserve); i { + switch v := v.(*CMsgGCCStrike15V2_MatchmakingServerReservationResponse); i { case 0: return &v.state case 1: @@ -15752,7 +15927,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchmakingServerReservationResponse); i { + switch v := v.(*CMsgGCCStrike15V2_MatchmakingGC2ClientReserve); i { case 0: return &v.state case 1: @@ -15764,7 +15939,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchmakingGC2ClientReserve); i { + switch v := v.(*CMsgGCCStrike15V2_MatchmakingServerRoundStats); i { case 0: return &v.state case 1: @@ -15776,7 +15951,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchmakingServerRoundStats); i { + switch v := v.(*CMsgGCCStrike15V2_MatchmakingClient2GCHello); i { case 0: return &v.state case 1: @@ -15788,7 +15963,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchmakingClient2GCHello); i { + switch v := v.(*CMsgGCCStrike15V2_MatchmakingGC2ClientHello); i { case 0: return &v.state case 1: @@ -15800,7 +15975,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchmakingGC2ClientHello); i { + switch v := v.(*CMsgGCCStrike15V2_AccountPrivacySettings); i { case 0: return &v.state case 1: @@ -15812,7 +15987,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_AccountPrivacySettings); i { + switch v := v.(*CMsgGCCStrike15V2_MatchmakingGC2ClientAbandon); i { case 0: return &v.state case 1: @@ -15824,7 +15999,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchmakingGC2ClientAbandon); i { + switch v := v.(*CMsgGCCStrike15V2_ClientGCRankUpdate); i { case 0: return &v.state case 1: @@ -15836,7 +16011,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientGCRankUpdate); i { + switch v := v.(*CMsgGCCStrike15V2_MatchmakingOperator2GCBlogUpdate); i { case 0: return &v.state case 1: @@ -15848,7 +16023,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchmakingOperator2GCBlogUpdate); i { + switch v := v.(*CMsgGCCStrike15V2_ServerNotificationForUserPenalty); i { case 0: return &v.state case 1: @@ -15860,7 +16035,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ServerNotificationForUserPenalty); i { + switch v := v.(*CMsgGCCStrike15V2_ClientReportPlayer); i { case 0: return &v.state case 1: @@ -15872,7 +16047,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientReportPlayer); i { + switch v := v.(*CMsgGCCStrike15V2_ClientCommendPlayer); i { case 0: return &v.state case 1: @@ -15884,7 +16059,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientCommendPlayer); i { + switch v := v.(*CMsgGCCStrike15V2_ClientReportServer); i { case 0: return &v.state case 1: @@ -15896,7 +16071,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientReportServer); i { + switch v := v.(*CMsgGCCStrike15V2_ClientReportResponse); i { case 0: return &v.state case 1: @@ -15908,7 +16083,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientReportResponse); i { + switch v := v.(*CMsgGCCStrike15V2_ClientRequestWatchInfoFriends); i { case 0: return &v.state case 1: @@ -15920,7 +16095,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientRequestWatchInfoFriends); i { + switch v := v.(*WatchableMatchInfo); i { case 0: return &v.state case 1: @@ -15932,7 +16107,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WatchableMatchInfo); i { + switch v := v.(*CMsgGCCStrike15V2_ClientRequestJoinFriendData); i { case 0: return &v.state case 1: @@ -15944,7 +16119,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientRequestJoinFriendData); i { + switch v := v.(*CMsgGCCStrike15V2_ClientRequestJoinServerData); i { case 0: return &v.state case 1: @@ -15956,7 +16131,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientRequestJoinServerData); i { + switch v := v.(*CMsgGCCstrike15V2_ClientRequestNewMission); i { case 0: return &v.state case 1: @@ -15968,7 +16143,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCstrike15V2_ClientRequestNewMission); i { + switch v := v.(*CMsgGCCstrike15V2_ClientRedeemMissionReward); i { case 0: return &v.state case 1: @@ -15980,7 +16155,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCstrike15V2_ClientRedeemMissionReward); i { + switch v := v.(*CMsgGCCstrike15V2_GC2ServerNotifyXPRewarded); i { case 0: return &v.state case 1: @@ -15992,7 +16167,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCstrike15V2_GC2ServerNotifyXPRewarded); i { + switch v := v.(*CMsgGCCStrike15_ClientDeepStats); i { case 0: return &v.state case 1: @@ -16004,7 +16179,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15_ClientDeepStats); i { + switch v := v.(*CMsgGCCStrike15V2_WatchInfoUsers); i { case 0: return &v.state case 1: @@ -16016,7 +16191,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_WatchInfoUsers); i { + switch v := v.(*CMsgGCCStrike15V2_ClientRequestPlayersProfile); i { case 0: return &v.state case 1: @@ -16028,7 +16203,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientRequestPlayersProfile); i { + switch v := v.(*CMsgGCCStrike15V2_PlayersProfile); i { case 0: return &v.state case 1: @@ -16040,7 +16215,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_PlayersProfile); i { + switch v := v.(*CMsgGCCStrike15V2_PlayerOverwatchCaseUpdate); i { case 0: return &v.state case 1: @@ -16052,7 +16227,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_PlayerOverwatchCaseUpdate); i { + switch v := v.(*CMsgGCCStrike15V2_PlayerOverwatchCaseAssignment); i { case 0: return &v.state case 1: @@ -16064,7 +16239,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_PlayerOverwatchCaseAssignment); i { + switch v := v.(*CMsgGCCStrike15V2_PlayerOverwatchCaseStatus); i { case 0: return &v.state case 1: @@ -16076,7 +16251,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_PlayerOverwatchCaseStatus); i { + switch v := v.(*CClientHeaderOverwatchEvidence); i { case 0: return &v.state case 1: @@ -16088,7 +16263,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CClientHeaderOverwatchEvidence); i { + switch v := v.(*CMsgGCCStrike15V2_GC2ClientTextMsg); i { case 0: return &v.state case 1: @@ -16100,7 +16275,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_GC2ClientTextMsg); i { + switch v := v.(*CMsgGCCStrike15V2_Client2GCTextMsg); i { case 0: return &v.state case 1: @@ -16112,7 +16287,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Client2GCTextMsg); i { + switch v := v.(*CMsgGCCStrike15V2_MatchEndRunRewardDrops); i { case 0: return &v.state case 1: @@ -16124,7 +16299,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchEndRunRewardDrops); i { + switch v := v.(*CEconItemPreviewDataBlock); i { case 0: return &v.state case 1: @@ -16136,7 +16311,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CEconItemPreviewDataBlock); i { + switch v := v.(*CMsgGCCStrike15V2_MatchEndRewardDropsNotification); i { case 0: return &v.state case 1: @@ -16148,7 +16323,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchEndRewardDropsNotification); i { + switch v := v.(*CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest); i { case 0: return &v.state case 1: @@ -16160,7 +16335,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgItemAcknowledged); i { + switch v := v.(*CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse); i { case 0: return &v.state case 1: @@ -16172,7 +16347,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest); i { + switch v := v.(*CMsgGCCStrike15V2_MatchListRequestCurrentLiveGames); i { case 0: return &v.state case 1: @@ -16184,7 +16359,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse); i { + switch v := v.(*CMsgGCCStrike15V2_MatchListRequestLiveGameForUser); i { case 0: return &v.state case 1: @@ -16196,7 +16371,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchListRequestCurrentLiveGames); i { + switch v := v.(*CMsgGCCStrike15V2_MatchListRequestRecentUserGames); i { case 0: return &v.state case 1: @@ -16208,7 +16383,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchListRequestLiveGameForUser); i { + switch v := v.(*CMsgGCCStrike15V2_MatchListRequestTournamentGames); i { case 0: return &v.state case 1: @@ -16220,7 +16395,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchListRequestRecentUserGames); i { + switch v := v.(*CMsgGCCStrike15V2_MatchListRequestFullGameInfo); i { case 0: return &v.state case 1: @@ -16232,7 +16407,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchListRequestTournamentGames); i { + switch v := v.(*CDataGCCStrike15V2_MatchInfo); i { case 0: return &v.state case 1: @@ -16244,7 +16419,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchListRequestFullGameInfo); i { + switch v := v.(*CDataGCCStrike15V2_TournamentGroupTeam); i { case 0: return &v.state case 1: @@ -16256,7 +16431,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDataGCCStrike15V2_MatchInfo); i { + switch v := v.(*CDataGCCStrike15V2_TournamentGroup); i { case 0: return &v.state case 1: @@ -16268,7 +16443,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDataGCCStrike15V2_TournamentGroupTeam); i { + switch v := v.(*CDataGCCStrike15V2_TournamentSection); i { case 0: return &v.state case 1: @@ -16280,7 +16455,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDataGCCStrike15V2_TournamentGroup); i { + switch v := v.(*CDataGCCStrike15V2_TournamentInfo); i { case 0: return &v.state case 1: @@ -16292,7 +16467,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDataGCCStrike15V2_TournamentSection); i { + switch v := v.(*CMsgGCCStrike15V2_MatchList); i { case 0: return &v.state case 1: @@ -16304,7 +16479,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDataGCCStrike15V2_TournamentInfo); i { + switch v := v.(*CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt); i { case 0: return &v.state case 1: @@ -16316,7 +16491,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchList); i { + switch v := v.(*CMsgGCCStrike15V2_Predictions); i { case 0: return &v.state case 1: @@ -16328,7 +16503,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt); i { + switch v := v.(*CMsgGCCStrike15V2_Fantasy); i { case 0: return &v.state case 1: @@ -16340,7 +16515,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Predictions); i { + switch v := v.(*CMsgLegacySource1ClientWelcome); i { case 0: return &v.state case 1: @@ -16352,7 +16527,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Fantasy); i { + switch v := v.(*CMsgCStrike15Welcome); i { case 0: return &v.state case 1: @@ -16364,7 +16539,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CAttribute_String); i { + switch v := v.(*CMsgGCCStrike15V2_ClientVarValueNotificationInfo); i { case 0: return &v.state case 1: @@ -16376,7 +16551,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgCStrike15Welcome); i { + switch v := v.(*CMsgGCCStrike15V2_ServerVarValueNotificationInfo); i { case 0: return &v.state case 1: @@ -16388,7 +16563,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientVarValueNotificationInfo); i { + switch v := v.(*CMsgGCCStrike15V2_GiftsLeaderboardRequest); i { case 0: return &v.state case 1: @@ -16400,7 +16575,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ServerVarValueNotificationInfo); i { + switch v := v.(*CMsgGCCStrike15V2_GiftsLeaderboardResponse); i { case 0: return &v.state case 1: @@ -16412,7 +16587,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_GiftsLeaderboardRequest); i { + switch v := v.(*CMsgGCCStrike15V2_ClientSubmitSurveyVote); i { case 0: return &v.state case 1: @@ -16424,7 +16599,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_GiftsLeaderboardResponse); i { + switch v := v.(*CMsgGCCStrike15V2_Server2GCClientValidate); i { case 0: return &v.state case 1: @@ -16436,7 +16611,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientSubmitSurveyVote); i { + switch v := v.(*CMsgGCCStrike15V2_GC2ClientTournamentInfo); i { case 0: return &v.state case 1: @@ -16448,7 +16623,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Server2GCClientValidate); i { + switch v := v.(*CSOEconCoupon); i { case 0: return &v.state case 1: @@ -16460,7 +16635,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_GC2ClientTournamentInfo); i { + switch v := v.(*CSOQuestProgress); i { case 0: return &v.state case 1: @@ -16472,7 +16647,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSOEconCoupon); i { + switch v := v.(*CSOAccountSeasonalOperation); i { case 0: return &v.state case 1: @@ -16484,7 +16659,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSOQuestProgress); i { + switch v := v.(*CSOAccountRecurringSubscription); i { case 0: return &v.state case 1: @@ -16496,7 +16671,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSOAccountSeasonalOperation); i { + switch v := v.(*CSOPersonaDataPublic); i { case 0: return &v.state case 1: @@ -16508,7 +16683,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSOAccountRecurringSubscription); i { + switch v := v.(*CMsgGC_GlobalGame_Subscribe); i { case 0: return &v.state case 1: @@ -16520,7 +16695,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSOPersonaDataPublic); i { + switch v := v.(*CMsgGC_GlobalGame_Unsubscribe); i { case 0: return &v.state case 1: @@ -16532,7 +16707,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGC_GlobalGame_Subscribe); i { + switch v := v.(*CMsgGC_GlobalGame_Play); i { case 0: return &v.state case 1: @@ -16544,7 +16719,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGC_GlobalGame_Unsubscribe); i { + switch v := v.(*CMsgGCCStrike15V2_AcknowledgePenalty); i { case 0: return &v.state case 1: @@ -16556,7 +16731,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGC_GlobalGame_Play); i { + switch v := v.(*CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin); i { case 0: return &v.state case 1: @@ -16568,7 +16743,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_AcknowledgePenalty); i { + switch v := v.(*CMsgGCCStrike15V2_Client2GCStreamUnlock); i { case 0: return &v.state case 1: @@ -16580,7 +16755,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin); i { + switch v := v.(*CMsgGCCStrike15V2_ClientToGCRequestElevate); i { case 0: return &v.state case 1: @@ -16592,7 +16767,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Client2GCStreamUnlock); i { + switch v := v.(*CMsgGCCStrike15V2_ClientToGCChat); i { case 0: return &v.state case 1: @@ -16604,7 +16779,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientToGCRequestElevate); i { + switch v := v.(*CMsgGCCStrike15V2_GCToClientChat); i { case 0: return &v.state case 1: @@ -16616,7 +16791,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientToGCChat); i { + switch v := v.(*CMsgGCCStrike15V2_ClientAuthKeyCode); i { case 0: return &v.state case 1: @@ -16628,7 +16803,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_GCToClientChat); i { + switch v := v.(*CMsgGCCStrike15_GotvSyncPacket); i { case 0: return &v.state case 1: @@ -16640,7 +16815,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientAuthKeyCode); i { + switch v := v.(*PlayerDecalDigitalSignature); i { case 0: return &v.state case 1: @@ -16652,7 +16827,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15_GotvSyncPacket); i { + switch v := v.(*CMsgGCCStrike15V2_ClientPlayerDecalSign); i { case 0: return &v.state case 1: @@ -16664,7 +16839,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PlayerDecalDigitalSignature); i { + switch v := v.(*CMsgGCCStrike15V2_ClientLogonFatalError); i { case 0: return &v.state case 1: @@ -16676,7 +16851,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientPlayerDecalSign); i { + switch v := v.(*CMsgGCCStrike15V2_ClientPollState); i { case 0: return &v.state case 1: @@ -16688,7 +16863,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientLogonFatalError); i { + switch v := v.(*CMsgGCCStrike15V2_Party_Register); i { case 0: return &v.state case 1: @@ -16700,7 +16875,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientPollState); i { + switch v := v.(*CMsgGCCStrike15V2_Party_Search); i { case 0: return &v.state case 1: @@ -16712,7 +16887,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Party_Register); i { + switch v := v.(*CMsgGCCStrike15V2_Party_SearchResults); i { case 0: return &v.state case 1: @@ -16724,7 +16899,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Party_Search); i { + switch v := v.(*CMsgGCCStrike15V2_Party_Invite); i { case 0: return &v.state case 1: @@ -16736,7 +16911,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Party_SearchResults); i { + switch v := v.(*CMsgGCCStrike15V2_Account_RequestCoPlays); i { case 0: return &v.state case 1: @@ -16748,7 +16923,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Party_Invite); i { + switch v := v.(*CMsgGCCStrike15V2_ClientToGCRequestTicket); i { case 0: return &v.state case 1: @@ -16760,7 +16935,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Account_RequestCoPlays); i { + switch v := v.(*CMsgGCToClientSteamDatagramTicket); i { case 0: return &v.state case 1: @@ -16772,7 +16947,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientToGCRequestTicket); i { + switch v := v.(*CMsgGCCStrike15V2_ClientRequestOffers); i { case 0: return &v.state case 1: @@ -16784,7 +16959,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientSteamDatagramTicket); i { + switch v := v.(*CMsgGCCStrike15V2_ClientRequestSouvenir); i { case 0: return &v.state case 1: @@ -16796,7 +16971,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientRequestOffers); i { + switch v := v.(*CMsgGCCStrike15V2_ClientAccountBalance); i { case 0: return &v.state case 1: @@ -16808,7 +16983,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientRequestSouvenir); i { + switch v := v.(*CMsgGCCStrike15V2_ClientPartyJoinRelay); i { case 0: return &v.state case 1: @@ -16820,7 +16995,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientAccountBalance); i { + switch v := v.(*CMsgGCCStrike15V2_ClientPartyWarning); i { case 0: return &v.state case 1: @@ -16832,7 +17007,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientPartyJoinRelay); i { + switch v := v.(*CMsgGCCStrike15V2_SetEventFavorite); i { case 0: return &v.state case 1: @@ -16844,7 +17019,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientPartyWarning); i { + switch v := v.(*CMsgGCCStrike15V2_GetEventFavorites_Request); i { case 0: return &v.state case 1: @@ -16856,7 +17031,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_SetEventFavorite); i { + switch v := v.(*CMsgGCCStrike15V2_GetEventFavorites_Response); i { case 0: return &v.state case 1: @@ -16868,7 +17043,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_GetEventFavorites_Request); i { + switch v := v.(*CMsgGCCStrike15V2_ClientPerfReport); i { case 0: return &v.state case 1: @@ -16880,7 +17055,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_GetEventFavorites_Response); i { + switch v := v.(*CVDiagnostic); i { case 0: return &v.state case 1: @@ -16892,7 +17067,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientPerfReport); i { + switch v := v.(*CMsgGCCStrike15V2_ClientReportValidation); i { case 0: return &v.state case 1: @@ -16904,7 +17079,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CVDiagnostic); i { + switch v := v.(*CMsgGCCStrike15V2_GC2ClientRefuseSecureMode); i { case 0: return &v.state case 1: @@ -16916,7 +17091,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientReportValidation); i { + switch v := v.(*CMsgGCCStrike15V2_GC2ClientRequestValidation); i { case 0: return &v.state case 1: @@ -16928,7 +17103,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_GC2ClientRefuseSecureMode); i { + switch v := v.(*CMsgGCCStrike15V2_GC2ClientInitSystem); i { case 0: return &v.state case 1: @@ -16940,7 +17115,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_GC2ClientRequestValidation); i { + switch v := v.(*CMsgGCCStrike15V2_GC2ClientInitSystem_Response); i { case 0: return &v.state case 1: @@ -16952,7 +17127,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_GC2ClientInitSystem); i { + switch v := v.(*ScoreLeaderboardData_Entry); i { case 0: return &v.state case 1: @@ -16964,7 +17139,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_GC2ClientInitSystem_Response); i { + switch v := v.(*ScoreLeaderboardData_AccountEntries); i { case 0: return &v.state case 1: @@ -16976,7 +17151,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ScoreLeaderboardData_Entry); i { + switch v := v.(*PlayerQuestData_QuestItemData); i { case 0: return &v.state case 1: @@ -16988,7 +17163,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ScoreLeaderboardData_AccountEntries); i { + switch v := v.(*CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate_Note); i { case 0: return &v.state case 1: @@ -17000,7 +17175,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PlayerQuestData_QuestItemData); i { + switch v := v.(*CDataGCCStrike15V2_TournamentMatchDraft_Entry); i { case 0: return &v.state case 1: @@ -17012,7 +17187,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate_Note); i { + switch v := v.(*CPreMatchInfoData_TeamStats); i { case 0: return &v.state case 1: @@ -17024,7 +17199,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDataGCCStrike15V2_TournamentMatchDraft_Entry); i { + switch v := v.(*CMsgGCCStrike15V2_MatchmakingServerRoundStats_DropInfo); i { case 0: return &v.state case 1: @@ -17036,7 +17211,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CPreMatchInfoData_TeamStats); i { + switch v := v.(*CMsgGCCStrike15V2_AccountPrivacySettings_Setting); i { case 0: return &v.state case 1: @@ -17048,7 +17223,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchmakingServerRoundStats_DropInfo); i { + switch v := v.(*CMsgGCCStrike15_ClientDeepStats_DeepStatsRange); i { case 0: return &v.state case 1: @@ -17060,7 +17235,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_AccountPrivacySettings_Setting); i { + switch v := v.(*CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch); i { case 0: return &v.state case 1: @@ -17072,7 +17247,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15_ClientDeepStats_DeepStatsRange); i { + switch v := v.(*CEconItemPreviewDataBlock_Sticker); i { case 0: return &v.state case 1: @@ -17084,7 +17259,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch); i { + switch v := v.(*CDataGCCStrike15V2_TournamentGroup_Picks); i { case 0: return &v.state case 1: @@ -17096,7 +17271,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CEconItemPreviewDataBlock_Sticker); i { + switch v := v.(*CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick); i { case 0: return &v.state case 1: @@ -17108,7 +17283,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDataGCCStrike15V2_TournamentGroup_Picks); i { + switch v := v.(*CMsgGCCStrike15V2_Fantasy_FantasySlot); i { case 0: return &v.state case 1: @@ -17120,7 +17295,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick); i { + switch v := v.(*CMsgGCCStrike15V2_Fantasy_FantasyTeam); i { case 0: return &v.state case 1: @@ -17132,7 +17307,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Fantasy_FantasySlot); i { + switch v := v.(*CMsgLegacySource1ClientWelcome_Location); i { case 0: return &v.state case 1: @@ -17144,18 +17319,6 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Fantasy_FantasyTeam); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cstrike15_gcmessages_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCCStrike15V2_GiftsLeaderboardResponse_GiftLeaderboardEntry); i { case 0: return &v.state @@ -17167,7 +17330,7 @@ func file_cstrike15_gcmessages_proto_init() { return nil } } - file_cstrike15_gcmessages_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { + file_cstrike15_gcmessages_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCCStrike15V2_Party_SearchResults_Entry); i { case 0: return &v.state @@ -17179,7 +17342,7 @@ func file_cstrike15_gcmessages_proto_init() { return nil } } - file_cstrike15_gcmessages_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { + file_cstrike15_gcmessages_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCCStrike15V2_Account_RequestCoPlays_Player); i { case 0: return &v.state @@ -17191,7 +17354,7 @@ func file_cstrike15_gcmessages_proto_init() { return nil } } - file_cstrike15_gcmessages_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { + file_cstrike15_gcmessages_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCCStrike15V2_ClientPartyWarning_Entry); i { case 0: return &v.state @@ -17203,7 +17366,7 @@ func file_cstrike15_gcmessages_proto_init() { return nil } } - file_cstrike15_gcmessages_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { + file_cstrike15_gcmessages_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCCStrike15V2_ClientPerfReport_Entry); i { case 0: return &v.state @@ -17222,7 +17385,7 @@ func file_cstrike15_gcmessages_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cstrike15_gcmessages_proto_rawDesc, NumEnums: 4, - NumMessages: 157, + NumMessages: 156, NumExtensions: 0, NumServices: 0, }, diff --git a/pkg/demoinfocs/msg/cstrike15_usermessages.pb.go b/pkg/demoinfocs/msg/cstrike15_usermessages.pb.go index d3eb9ba8..d8db7146 100644 --- a/pkg/demoinfocs/msg/cstrike15_usermessages.pb.go +++ b/pkg/demoinfocs/msg/cstrike15_usermessages.pb.go @@ -9,7 +9,6 @@ package msg import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - _ "google.golang.org/protobuf/types/descriptorpb" reflect "reflect" sync "sync" ) @@ -24,241 +23,241 @@ const ( type ECstrike15UserMessages int32 const ( - ECstrike15UserMessages_CS_UM_VGUIMenu ECstrike15UserMessages = 1 - ECstrike15UserMessages_CS_UM_Geiger ECstrike15UserMessages = 2 - ECstrike15UserMessages_CS_UM_Train ECstrike15UserMessages = 3 - ECstrike15UserMessages_CS_UM_HudText ECstrike15UserMessages = 4 - ECstrike15UserMessages_CS_UM_SayText ECstrike15UserMessages = 5 - ECstrike15UserMessages_CS_UM_SayText2 ECstrike15UserMessages = 6 - ECstrike15UserMessages_CS_UM_TextMsg ECstrike15UserMessages = 7 - ECstrike15UserMessages_CS_UM_HudMsg ECstrike15UserMessages = 8 - ECstrike15UserMessages_CS_UM_ResetHud ECstrike15UserMessages = 9 - ECstrike15UserMessages_CS_UM_GameTitle ECstrike15UserMessages = 10 - ECstrike15UserMessages_CS_UM_Shake ECstrike15UserMessages = 12 - ECstrike15UserMessages_CS_UM_Fade ECstrike15UserMessages = 13 - ECstrike15UserMessages_CS_UM_Rumble ECstrike15UserMessages = 14 - ECstrike15UserMessages_CS_UM_CloseCaption ECstrike15UserMessages = 15 - ECstrike15UserMessages_CS_UM_CloseCaptionDirect ECstrike15UserMessages = 16 - ECstrike15UserMessages_CS_UM_SendAudio ECstrike15UserMessages = 17 - ECstrike15UserMessages_CS_UM_RawAudio ECstrike15UserMessages = 18 - ECstrike15UserMessages_CS_UM_VoiceMask ECstrike15UserMessages = 19 - ECstrike15UserMessages_CS_UM_RequestState ECstrike15UserMessages = 20 - ECstrike15UserMessages_CS_UM_Damage ECstrike15UserMessages = 21 - ECstrike15UserMessages_CS_UM_RadioText ECstrike15UserMessages = 22 - ECstrike15UserMessages_CS_UM_HintText ECstrike15UserMessages = 23 - ECstrike15UserMessages_CS_UM_KeyHintText ECstrike15UserMessages = 24 - ECstrike15UserMessages_CS_UM_ProcessSpottedEntityUpdate ECstrike15UserMessages = 25 - ECstrike15UserMessages_CS_UM_ReloadEffect ECstrike15UserMessages = 26 - ECstrike15UserMessages_CS_UM_AdjustMoney ECstrike15UserMessages = 27 - ECstrike15UserMessages_CS_UM_UpdateTeamMoney ECstrike15UserMessages = 28 - ECstrike15UserMessages_CS_UM_StopSpectatorMode ECstrike15UserMessages = 29 - ECstrike15UserMessages_CS_UM_KillCam ECstrike15UserMessages = 30 - ECstrike15UserMessages_CS_UM_DesiredTimescale ECstrike15UserMessages = 31 - ECstrike15UserMessages_CS_UM_CurrentTimescale ECstrike15UserMessages = 32 - ECstrike15UserMessages_CS_UM_AchievementEvent ECstrike15UserMessages = 33 - ECstrike15UserMessages_CS_UM_MatchEndConditions ECstrike15UserMessages = 34 - ECstrike15UserMessages_CS_UM_DisconnectToLobby ECstrike15UserMessages = 35 - ECstrike15UserMessages_CS_UM_PlayerStatsUpdate ECstrike15UserMessages = 36 - ECstrike15UserMessages_CS_UM_DisplayInventory ECstrike15UserMessages = 37 - ECstrike15UserMessages_CS_UM_WarmupHasEnded ECstrike15UserMessages = 38 - ECstrike15UserMessages_CS_UM_ClientInfo ECstrike15UserMessages = 39 - ECstrike15UserMessages_CS_UM_XRankGet ECstrike15UserMessages = 40 - ECstrike15UserMessages_CS_UM_XRankUpd ECstrike15UserMessages = 41 - ECstrike15UserMessages_CS_UM_CallVoteFailed ECstrike15UserMessages = 45 - ECstrike15UserMessages_CS_UM_VoteStart ECstrike15UserMessages = 46 - ECstrike15UserMessages_CS_UM_VotePass ECstrike15UserMessages = 47 - ECstrike15UserMessages_CS_UM_VoteFailed ECstrike15UserMessages = 48 - ECstrike15UserMessages_CS_UM_VoteSetup ECstrike15UserMessages = 49 - ECstrike15UserMessages_CS_UM_ServerRankRevealAll ECstrike15UserMessages = 50 - ECstrike15UserMessages_CS_UM_SendLastKillerDamageToClient ECstrike15UserMessages = 51 - ECstrike15UserMessages_CS_UM_ServerRankUpdate ECstrike15UserMessages = 52 - ECstrike15UserMessages_CS_UM_ItemPickup ECstrike15UserMessages = 53 - ECstrike15UserMessages_CS_UM_ShowMenu ECstrike15UserMessages = 54 - ECstrike15UserMessages_CS_UM_BarTime ECstrike15UserMessages = 55 - ECstrike15UserMessages_CS_UM_AmmoDenied ECstrike15UserMessages = 56 - ECstrike15UserMessages_CS_UM_MarkAchievement ECstrike15UserMessages = 57 - ECstrike15UserMessages_CS_UM_MatchStatsUpdate ECstrike15UserMessages = 58 - ECstrike15UserMessages_CS_UM_ItemDrop ECstrike15UserMessages = 59 - ECstrike15UserMessages_CS_UM_GlowPropTurnOff ECstrike15UserMessages = 60 - ECstrike15UserMessages_CS_UM_SendPlayerItemDrops ECstrike15UserMessages = 61 - ECstrike15UserMessages_CS_UM_RoundBackupFilenames ECstrike15UserMessages = 62 - ECstrike15UserMessages_CS_UM_SendPlayerItemFound ECstrike15UserMessages = 63 - ECstrike15UserMessages_CS_UM_ReportHit ECstrike15UserMessages = 64 - ECstrike15UserMessages_CS_UM_XpUpdate ECstrike15UserMessages = 65 - ECstrike15UserMessages_CS_UM_QuestProgress ECstrike15UserMessages = 66 - ECstrike15UserMessages_CS_UM_ScoreLeaderboardData ECstrike15UserMessages = 67 - ECstrike15UserMessages_CS_UM_PlayerDecalDigitalSignature ECstrike15UserMessages = 68 - ECstrike15UserMessages_CS_UM_WeaponSound ECstrike15UserMessages = 69 - ECstrike15UserMessages_CS_UM_UpdateScreenHealthBar ECstrike15UserMessages = 70 - ECstrike15UserMessages_CS_UM_EntityOutlineHighlight ECstrike15UserMessages = 71 - ECstrike15UserMessages_CS_UM_SSUI ECstrike15UserMessages = 72 - ECstrike15UserMessages_CS_UM_SurvivalStats ECstrike15UserMessages = 73 - ECstrike15UserMessages_CS_UM_DisconnectToLobby2 ECstrike15UserMessages = 74 - ECstrike15UserMessages_CS_UM_EndOfMatchAllPlayersData ECstrike15UserMessages = 75 - ECstrike15UserMessages_CS_UM_RoundImpactScoreData ECstrike15UserMessages = 79 - ECstrike15UserMessages_CS_UM_CurrentRoundOdds ECstrike15UserMessages = 80 - ECstrike15UserMessages_CS_UM_DeepStats ECstrike15UserMessages = 81 - ECstrike15UserMessages_CS_UM_UtilMsg ECstrike15UserMessages = 82 - ECstrike15UserMessages_CS_UM_UtilMsg_Response ECstrike15UserMessages = 83 + ECstrike15UserMessages_CS_UM_VGUIMenu ECstrike15UserMessages = 301 + ECstrike15UserMessages_CS_UM_Geiger ECstrike15UserMessages = 302 + ECstrike15UserMessages_CS_UM_Train ECstrike15UserMessages = 303 + ECstrike15UserMessages_CS_UM_HudText ECstrike15UserMessages = 304 + ECstrike15UserMessages_CS_UM_SayText ECstrike15UserMessages = 305 + ECstrike15UserMessages_CS_UM_SayText2 ECstrike15UserMessages = 306 + ECstrike15UserMessages_CS_UM_TextMsg ECstrike15UserMessages = 307 + ECstrike15UserMessages_CS_UM_HudMsg ECstrike15UserMessages = 308 + ECstrike15UserMessages_CS_UM_ResetHud ECstrike15UserMessages = 309 + ECstrike15UserMessages_CS_UM_GameTitle ECstrike15UserMessages = 310 + ECstrike15UserMessages_CS_UM_Shake ECstrike15UserMessages = 312 + ECstrike15UserMessages_CS_UM_Fade ECstrike15UserMessages = 313 + ECstrike15UserMessages_CS_UM_Rumble ECstrike15UserMessages = 314 + ECstrike15UserMessages_CS_UM_CloseCaption ECstrike15UserMessages = 315 + ECstrike15UserMessages_CS_UM_CloseCaptionDirect ECstrike15UserMessages = 316 + ECstrike15UserMessages_CS_UM_SendAudio ECstrike15UserMessages = 317 + ECstrike15UserMessages_CS_UM_RawAudio ECstrike15UserMessages = 318 + ECstrike15UserMessages_CS_UM_VoiceMask ECstrike15UserMessages = 319 + ECstrike15UserMessages_CS_UM_RequestState ECstrike15UserMessages = 320 + ECstrike15UserMessages_CS_UM_Damage ECstrike15UserMessages = 321 + ECstrike15UserMessages_CS_UM_RadioText ECstrike15UserMessages = 322 + ECstrike15UserMessages_CS_UM_HintText ECstrike15UserMessages = 323 + ECstrike15UserMessages_CS_UM_KeyHintText ECstrike15UserMessages = 324 + ECstrike15UserMessages_CS_UM_ProcessSpottedEntityUpdate ECstrike15UserMessages = 325 + ECstrike15UserMessages_CS_UM_ReloadEffect ECstrike15UserMessages = 326 + ECstrike15UserMessages_CS_UM_AdjustMoney ECstrike15UserMessages = 327 + ECstrike15UserMessages_CS_UM_UpdateTeamMoney ECstrike15UserMessages = 328 + ECstrike15UserMessages_CS_UM_StopSpectatorMode ECstrike15UserMessages = 329 + ECstrike15UserMessages_CS_UM_KillCam ECstrike15UserMessages = 330 + ECstrike15UserMessages_CS_UM_DesiredTimescale ECstrike15UserMessages = 331 + ECstrike15UserMessages_CS_UM_CurrentTimescale ECstrike15UserMessages = 332 + ECstrike15UserMessages_CS_UM_AchievementEvent ECstrike15UserMessages = 333 + ECstrike15UserMessages_CS_UM_MatchEndConditions ECstrike15UserMessages = 334 + ECstrike15UserMessages_CS_UM_DisconnectToLobby ECstrike15UserMessages = 335 + ECstrike15UserMessages_CS_UM_PlayerStatsUpdate ECstrike15UserMessages = 336 + ECstrike15UserMessages_CS_UM_WarmupHasEnded ECstrike15UserMessages = 338 + ECstrike15UserMessages_CS_UM_ClientInfo ECstrike15UserMessages = 339 + ECstrike15UserMessages_CS_UM_XRankGet ECstrike15UserMessages = 340 + ECstrike15UserMessages_CS_UM_XRankUpd ECstrike15UserMessages = 341 + ECstrike15UserMessages_CS_UM_CallVoteFailed ECstrike15UserMessages = 345 + ECstrike15UserMessages_CS_UM_VoteStart ECstrike15UserMessages = 346 + ECstrike15UserMessages_CS_UM_VotePass ECstrike15UserMessages = 347 + ECstrike15UserMessages_CS_UM_VoteFailed ECstrike15UserMessages = 348 + ECstrike15UserMessages_CS_UM_VoteSetup ECstrike15UserMessages = 349 + ECstrike15UserMessages_CS_UM_ServerRankRevealAll ECstrike15UserMessages = 350 + ECstrike15UserMessages_CS_UM_SendLastKillerDamageToClient ECstrike15UserMessages = 351 + ECstrike15UserMessages_CS_UM_ServerRankUpdate ECstrike15UserMessages = 352 + ECstrike15UserMessages_CS_UM_ItemPickup ECstrike15UserMessages = 353 + ECstrike15UserMessages_CS_UM_ShowMenu ECstrike15UserMessages = 354 + ECstrike15UserMessages_CS_UM_BarTime ECstrike15UserMessages = 355 + ECstrike15UserMessages_CS_UM_AmmoDenied ECstrike15UserMessages = 356 + ECstrike15UserMessages_CS_UM_MarkAchievement ECstrike15UserMessages = 357 + ECstrike15UserMessages_CS_UM_MatchStatsUpdate ECstrike15UserMessages = 358 + ECstrike15UserMessages_CS_UM_ItemDrop ECstrike15UserMessages = 359 + ECstrike15UserMessages_CS_UM_GlowPropTurnOff ECstrike15UserMessages = 360 + ECstrike15UserMessages_CS_UM_SendPlayerItemDrops ECstrike15UserMessages = 361 + ECstrike15UserMessages_CS_UM_RoundBackupFilenames ECstrike15UserMessages = 362 + ECstrike15UserMessages_CS_UM_SendPlayerItemFound ECstrike15UserMessages = 363 + ECstrike15UserMessages_CS_UM_ReportHit ECstrike15UserMessages = 364 + ECstrike15UserMessages_CS_UM_XpUpdate ECstrike15UserMessages = 365 + ECstrike15UserMessages_CS_UM_QuestProgress ECstrike15UserMessages = 366 + ECstrike15UserMessages_CS_UM_ScoreLeaderboardData ECstrike15UserMessages = 367 + ECstrike15UserMessages_CS_UM_PlayerDecalDigitalSignature ECstrike15UserMessages = 368 + ECstrike15UserMessages_CS_UM_WeaponSound ECstrike15UserMessages = 369 + ECstrike15UserMessages_CS_UM_UpdateScreenHealthBar ECstrike15UserMessages = 370 + ECstrike15UserMessages_CS_UM_EntityOutlineHighlight ECstrike15UserMessages = 371 + ECstrike15UserMessages_CS_UM_SSUI ECstrike15UserMessages = 372 + ECstrike15UserMessages_CS_UM_SurvivalStats ECstrike15UserMessages = 373 + ECstrike15UserMessages_CS_UM_DisconnectToLobby2 ECstrike15UserMessages = 374 + ECstrike15UserMessages_CS_UM_EndOfMatchAllPlayersData ECstrike15UserMessages = 375 + ECstrike15UserMessages_CS_UM_PostRoundDamageReport ECstrike15UserMessages = 376 + ECstrike15UserMessages_CS_UM_RoundEndReportData ECstrike15UserMessages = 379 + ECstrike15UserMessages_CS_UM_CurrentRoundOdds ECstrike15UserMessages = 380 + ECstrike15UserMessages_CS_UM_DeepStats ECstrike15UserMessages = 381 + ECstrike15UserMessages_CS_UM_UtilMsg ECstrike15UserMessages = 382 + ECstrike15UserMessages_CS_UM_ShootInfo ECstrike15UserMessages = 383 ) // Enum value maps for ECstrike15UserMessages. var ( ECstrike15UserMessages_name = map[int32]string{ - 1: "CS_UM_VGUIMenu", - 2: "CS_UM_Geiger", - 3: "CS_UM_Train", - 4: "CS_UM_HudText", - 5: "CS_UM_SayText", - 6: "CS_UM_SayText2", - 7: "CS_UM_TextMsg", - 8: "CS_UM_HudMsg", - 9: "CS_UM_ResetHud", - 10: "CS_UM_GameTitle", - 12: "CS_UM_Shake", - 13: "CS_UM_Fade", - 14: "CS_UM_Rumble", - 15: "CS_UM_CloseCaption", - 16: "CS_UM_CloseCaptionDirect", - 17: "CS_UM_SendAudio", - 18: "CS_UM_RawAudio", - 19: "CS_UM_VoiceMask", - 20: "CS_UM_RequestState", - 21: "CS_UM_Damage", - 22: "CS_UM_RadioText", - 23: "CS_UM_HintText", - 24: "CS_UM_KeyHintText", - 25: "CS_UM_ProcessSpottedEntityUpdate", - 26: "CS_UM_ReloadEffect", - 27: "CS_UM_AdjustMoney", - 28: "CS_UM_UpdateTeamMoney", - 29: "CS_UM_StopSpectatorMode", - 30: "CS_UM_KillCam", - 31: "CS_UM_DesiredTimescale", - 32: "CS_UM_CurrentTimescale", - 33: "CS_UM_AchievementEvent", - 34: "CS_UM_MatchEndConditions", - 35: "CS_UM_DisconnectToLobby", - 36: "CS_UM_PlayerStatsUpdate", - 37: "CS_UM_DisplayInventory", - 38: "CS_UM_WarmupHasEnded", - 39: "CS_UM_ClientInfo", - 40: "CS_UM_XRankGet", - 41: "CS_UM_XRankUpd", - 45: "CS_UM_CallVoteFailed", - 46: "CS_UM_VoteStart", - 47: "CS_UM_VotePass", - 48: "CS_UM_VoteFailed", - 49: "CS_UM_VoteSetup", - 50: "CS_UM_ServerRankRevealAll", - 51: "CS_UM_SendLastKillerDamageToClient", - 52: "CS_UM_ServerRankUpdate", - 53: "CS_UM_ItemPickup", - 54: "CS_UM_ShowMenu", - 55: "CS_UM_BarTime", - 56: "CS_UM_AmmoDenied", - 57: "CS_UM_MarkAchievement", - 58: "CS_UM_MatchStatsUpdate", - 59: "CS_UM_ItemDrop", - 60: "CS_UM_GlowPropTurnOff", - 61: "CS_UM_SendPlayerItemDrops", - 62: "CS_UM_RoundBackupFilenames", - 63: "CS_UM_SendPlayerItemFound", - 64: "CS_UM_ReportHit", - 65: "CS_UM_XpUpdate", - 66: "CS_UM_QuestProgress", - 67: "CS_UM_ScoreLeaderboardData", - 68: "CS_UM_PlayerDecalDigitalSignature", - 69: "CS_UM_WeaponSound", - 70: "CS_UM_UpdateScreenHealthBar", - 71: "CS_UM_EntityOutlineHighlight", - 72: "CS_UM_SSUI", - 73: "CS_UM_SurvivalStats", - 74: "CS_UM_DisconnectToLobby2", - 75: "CS_UM_EndOfMatchAllPlayersData", - 79: "CS_UM_RoundImpactScoreData", - 80: "CS_UM_CurrentRoundOdds", - 81: "CS_UM_DeepStats", - 82: "CS_UM_UtilMsg", - 83: "CS_UM_UtilMsg_Response", + 301: "CS_UM_VGUIMenu", + 302: "CS_UM_Geiger", + 303: "CS_UM_Train", + 304: "CS_UM_HudText", + 305: "CS_UM_SayText", + 306: "CS_UM_SayText2", + 307: "CS_UM_TextMsg", + 308: "CS_UM_HudMsg", + 309: "CS_UM_ResetHud", + 310: "CS_UM_GameTitle", + 312: "CS_UM_Shake", + 313: "CS_UM_Fade", + 314: "CS_UM_Rumble", + 315: "CS_UM_CloseCaption", + 316: "CS_UM_CloseCaptionDirect", + 317: "CS_UM_SendAudio", + 318: "CS_UM_RawAudio", + 319: "CS_UM_VoiceMask", + 320: "CS_UM_RequestState", + 321: "CS_UM_Damage", + 322: "CS_UM_RadioText", + 323: "CS_UM_HintText", + 324: "CS_UM_KeyHintText", + 325: "CS_UM_ProcessSpottedEntityUpdate", + 326: "CS_UM_ReloadEffect", + 327: "CS_UM_AdjustMoney", + 328: "CS_UM_UpdateTeamMoney", + 329: "CS_UM_StopSpectatorMode", + 330: "CS_UM_KillCam", + 331: "CS_UM_DesiredTimescale", + 332: "CS_UM_CurrentTimescale", + 333: "CS_UM_AchievementEvent", + 334: "CS_UM_MatchEndConditions", + 335: "CS_UM_DisconnectToLobby", + 336: "CS_UM_PlayerStatsUpdate", + 338: "CS_UM_WarmupHasEnded", + 339: "CS_UM_ClientInfo", + 340: "CS_UM_XRankGet", + 341: "CS_UM_XRankUpd", + 345: "CS_UM_CallVoteFailed", + 346: "CS_UM_VoteStart", + 347: "CS_UM_VotePass", + 348: "CS_UM_VoteFailed", + 349: "CS_UM_VoteSetup", + 350: "CS_UM_ServerRankRevealAll", + 351: "CS_UM_SendLastKillerDamageToClient", + 352: "CS_UM_ServerRankUpdate", + 353: "CS_UM_ItemPickup", + 354: "CS_UM_ShowMenu", + 355: "CS_UM_BarTime", + 356: "CS_UM_AmmoDenied", + 357: "CS_UM_MarkAchievement", + 358: "CS_UM_MatchStatsUpdate", + 359: "CS_UM_ItemDrop", + 360: "CS_UM_GlowPropTurnOff", + 361: "CS_UM_SendPlayerItemDrops", + 362: "CS_UM_RoundBackupFilenames", + 363: "CS_UM_SendPlayerItemFound", + 364: "CS_UM_ReportHit", + 365: "CS_UM_XpUpdate", + 366: "CS_UM_QuestProgress", + 367: "CS_UM_ScoreLeaderboardData", + 368: "CS_UM_PlayerDecalDigitalSignature", + 369: "CS_UM_WeaponSound", + 370: "CS_UM_UpdateScreenHealthBar", + 371: "CS_UM_EntityOutlineHighlight", + 372: "CS_UM_SSUI", + 373: "CS_UM_SurvivalStats", + 374: "CS_UM_DisconnectToLobby2", + 375: "CS_UM_EndOfMatchAllPlayersData", + 376: "CS_UM_PostRoundDamageReport", + 379: "CS_UM_RoundEndReportData", + 380: "CS_UM_CurrentRoundOdds", + 381: "CS_UM_DeepStats", + 382: "CS_UM_UtilMsg", + 383: "CS_UM_ShootInfo", } ECstrike15UserMessages_value = map[string]int32{ - "CS_UM_VGUIMenu": 1, - "CS_UM_Geiger": 2, - "CS_UM_Train": 3, - "CS_UM_HudText": 4, - "CS_UM_SayText": 5, - "CS_UM_SayText2": 6, - "CS_UM_TextMsg": 7, - "CS_UM_HudMsg": 8, - "CS_UM_ResetHud": 9, - "CS_UM_GameTitle": 10, - "CS_UM_Shake": 12, - "CS_UM_Fade": 13, - "CS_UM_Rumble": 14, - "CS_UM_CloseCaption": 15, - "CS_UM_CloseCaptionDirect": 16, - "CS_UM_SendAudio": 17, - "CS_UM_RawAudio": 18, - "CS_UM_VoiceMask": 19, - "CS_UM_RequestState": 20, - "CS_UM_Damage": 21, - "CS_UM_RadioText": 22, - "CS_UM_HintText": 23, - "CS_UM_KeyHintText": 24, - "CS_UM_ProcessSpottedEntityUpdate": 25, - "CS_UM_ReloadEffect": 26, - "CS_UM_AdjustMoney": 27, - "CS_UM_UpdateTeamMoney": 28, - "CS_UM_StopSpectatorMode": 29, - "CS_UM_KillCam": 30, - "CS_UM_DesiredTimescale": 31, - "CS_UM_CurrentTimescale": 32, - "CS_UM_AchievementEvent": 33, - "CS_UM_MatchEndConditions": 34, - "CS_UM_DisconnectToLobby": 35, - "CS_UM_PlayerStatsUpdate": 36, - "CS_UM_DisplayInventory": 37, - "CS_UM_WarmupHasEnded": 38, - "CS_UM_ClientInfo": 39, - "CS_UM_XRankGet": 40, - "CS_UM_XRankUpd": 41, - "CS_UM_CallVoteFailed": 45, - "CS_UM_VoteStart": 46, - "CS_UM_VotePass": 47, - "CS_UM_VoteFailed": 48, - "CS_UM_VoteSetup": 49, - "CS_UM_ServerRankRevealAll": 50, - "CS_UM_SendLastKillerDamageToClient": 51, - "CS_UM_ServerRankUpdate": 52, - "CS_UM_ItemPickup": 53, - "CS_UM_ShowMenu": 54, - "CS_UM_BarTime": 55, - "CS_UM_AmmoDenied": 56, - "CS_UM_MarkAchievement": 57, - "CS_UM_MatchStatsUpdate": 58, - "CS_UM_ItemDrop": 59, - "CS_UM_GlowPropTurnOff": 60, - "CS_UM_SendPlayerItemDrops": 61, - "CS_UM_RoundBackupFilenames": 62, - "CS_UM_SendPlayerItemFound": 63, - "CS_UM_ReportHit": 64, - "CS_UM_XpUpdate": 65, - "CS_UM_QuestProgress": 66, - "CS_UM_ScoreLeaderboardData": 67, - "CS_UM_PlayerDecalDigitalSignature": 68, - "CS_UM_WeaponSound": 69, - "CS_UM_UpdateScreenHealthBar": 70, - "CS_UM_EntityOutlineHighlight": 71, - "CS_UM_SSUI": 72, - "CS_UM_SurvivalStats": 73, - "CS_UM_DisconnectToLobby2": 74, - "CS_UM_EndOfMatchAllPlayersData": 75, - "CS_UM_RoundImpactScoreData": 79, - "CS_UM_CurrentRoundOdds": 80, - "CS_UM_DeepStats": 81, - "CS_UM_UtilMsg": 82, - "CS_UM_UtilMsg_Response": 83, + "CS_UM_VGUIMenu": 301, + "CS_UM_Geiger": 302, + "CS_UM_Train": 303, + "CS_UM_HudText": 304, + "CS_UM_SayText": 305, + "CS_UM_SayText2": 306, + "CS_UM_TextMsg": 307, + "CS_UM_HudMsg": 308, + "CS_UM_ResetHud": 309, + "CS_UM_GameTitle": 310, + "CS_UM_Shake": 312, + "CS_UM_Fade": 313, + "CS_UM_Rumble": 314, + "CS_UM_CloseCaption": 315, + "CS_UM_CloseCaptionDirect": 316, + "CS_UM_SendAudio": 317, + "CS_UM_RawAudio": 318, + "CS_UM_VoiceMask": 319, + "CS_UM_RequestState": 320, + "CS_UM_Damage": 321, + "CS_UM_RadioText": 322, + "CS_UM_HintText": 323, + "CS_UM_KeyHintText": 324, + "CS_UM_ProcessSpottedEntityUpdate": 325, + "CS_UM_ReloadEffect": 326, + "CS_UM_AdjustMoney": 327, + "CS_UM_UpdateTeamMoney": 328, + "CS_UM_StopSpectatorMode": 329, + "CS_UM_KillCam": 330, + "CS_UM_DesiredTimescale": 331, + "CS_UM_CurrentTimescale": 332, + "CS_UM_AchievementEvent": 333, + "CS_UM_MatchEndConditions": 334, + "CS_UM_DisconnectToLobby": 335, + "CS_UM_PlayerStatsUpdate": 336, + "CS_UM_WarmupHasEnded": 338, + "CS_UM_ClientInfo": 339, + "CS_UM_XRankGet": 340, + "CS_UM_XRankUpd": 341, + "CS_UM_CallVoteFailed": 345, + "CS_UM_VoteStart": 346, + "CS_UM_VotePass": 347, + "CS_UM_VoteFailed": 348, + "CS_UM_VoteSetup": 349, + "CS_UM_ServerRankRevealAll": 350, + "CS_UM_SendLastKillerDamageToClient": 351, + "CS_UM_ServerRankUpdate": 352, + "CS_UM_ItemPickup": 353, + "CS_UM_ShowMenu": 354, + "CS_UM_BarTime": 355, + "CS_UM_AmmoDenied": 356, + "CS_UM_MarkAchievement": 357, + "CS_UM_MatchStatsUpdate": 358, + "CS_UM_ItemDrop": 359, + "CS_UM_GlowPropTurnOff": 360, + "CS_UM_SendPlayerItemDrops": 361, + "CS_UM_RoundBackupFilenames": 362, + "CS_UM_SendPlayerItemFound": 363, + "CS_UM_ReportHit": 364, + "CS_UM_XpUpdate": 365, + "CS_UM_QuestProgress": 366, + "CS_UM_ScoreLeaderboardData": 367, + "CS_UM_PlayerDecalDigitalSignature": 368, + "CS_UM_WeaponSound": 369, + "CS_UM_UpdateScreenHealthBar": 370, + "CS_UM_EntityOutlineHighlight": 371, + "CS_UM_SSUI": 372, + "CS_UM_SurvivalStats": 373, + "CS_UM_DisconnectToLobby2": 374, + "CS_UM_EndOfMatchAllPlayersData": 375, + "CS_UM_PostRoundDamageReport": 376, + "CS_UM_RoundEndReportData": 379, + "CS_UM_CurrentRoundOdds": 380, + "CS_UM_DeepStats": 381, + "CS_UM_UtilMsg": 382, + "CS_UM_ShootInfo": 383, } ) @@ -360,9 +359,9 @@ type CCSUsrMsg_VGUIMenu struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` - Show *bool `protobuf:"varint,2,opt,name=show" json:"show,omitempty"` - Subkeys []*CCSUsrMsg_VGUIMenu_Subkey `protobuf:"bytes,3,rep,name=subkeys" json:"subkeys,omitempty"` + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + Show *bool `protobuf:"varint,2,opt,name=show" json:"show,omitempty"` + Keys []*CCSUsrMsg_VGUIMenu_Keys `protobuf:"bytes,3,rep,name=keys" json:"keys,omitempty"` } func (x *CCSUsrMsg_VGUIMenu) Reset() { @@ -411,9 +410,9 @@ func (x *CCSUsrMsg_VGUIMenu) GetShow() bool { return false } -func (x *CCSUsrMsg_VGUIMenu) GetSubkeys() []*CCSUsrMsg_VGUIMenu_Subkey { +func (x *CCSUsrMsg_VGUIMenu) GetKeys() []*CCSUsrMsg_VGUIMenu_Keys { if x != nil { - return x.Subkeys + return x.Keys } return nil } @@ -559,211 +558,6 @@ func (x *CCSUsrMsg_HudText) GetText() string { return "" } -type CCSUsrMsg_SayText struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - EntIdx *int32 `protobuf:"varint,1,opt,name=ent_idx,json=entIdx" json:"ent_idx,omitempty"` - Text *string `protobuf:"bytes,2,opt,name=text" json:"text,omitempty"` - Chat *bool `protobuf:"varint,3,opt,name=chat" json:"chat,omitempty"` - Textallchat *bool `protobuf:"varint,4,opt,name=textallchat" json:"textallchat,omitempty"` -} - -func (x *CCSUsrMsg_SayText) Reset() { - *x = CCSUsrMsg_SayText{} - if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CCSUsrMsg_SayText) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CCSUsrMsg_SayText) ProtoMessage() {} - -func (x *CCSUsrMsg_SayText) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_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 CCSUsrMsg_SayText.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_SayText) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{4} -} - -func (x *CCSUsrMsg_SayText) GetEntIdx() int32 { - if x != nil && x.EntIdx != nil { - return *x.EntIdx - } - return 0 -} - -func (x *CCSUsrMsg_SayText) GetText() string { - if x != nil && x.Text != nil { - return *x.Text - } - return "" -} - -func (x *CCSUsrMsg_SayText) GetChat() bool { - if x != nil && x.Chat != nil { - return *x.Chat - } - return false -} - -func (x *CCSUsrMsg_SayText) GetTextallchat() bool { - if x != nil && x.Textallchat != nil { - return *x.Textallchat - } - return false -} - -type CCSUsrMsg_SayText2 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - EntIdx *int32 `protobuf:"varint,1,opt,name=ent_idx,json=entIdx" json:"ent_idx,omitempty"` - Chat *bool `protobuf:"varint,2,opt,name=chat" json:"chat,omitempty"` - MsgName *string `protobuf:"bytes,3,opt,name=msg_name,json=msgName" json:"msg_name,omitempty"` - Params []string `protobuf:"bytes,4,rep,name=params" json:"params,omitempty"` - Textallchat *bool `protobuf:"varint,5,opt,name=textallchat" json:"textallchat,omitempty"` -} - -func (x *CCSUsrMsg_SayText2) Reset() { - *x = CCSUsrMsg_SayText2{} - if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CCSUsrMsg_SayText2) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CCSUsrMsg_SayText2) ProtoMessage() {} - -func (x *CCSUsrMsg_SayText2) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_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 CCSUsrMsg_SayText2.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_SayText2) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{5} -} - -func (x *CCSUsrMsg_SayText2) GetEntIdx() int32 { - if x != nil && x.EntIdx != nil { - return *x.EntIdx - } - return 0 -} - -func (x *CCSUsrMsg_SayText2) GetChat() bool { - if x != nil && x.Chat != nil { - return *x.Chat - } - return false -} - -func (x *CCSUsrMsg_SayText2) GetMsgName() string { - if x != nil && x.MsgName != nil { - return *x.MsgName - } - return "" -} - -func (x *CCSUsrMsg_SayText2) GetParams() []string { - if x != nil { - return x.Params - } - return nil -} - -func (x *CCSUsrMsg_SayText2) GetTextallchat() bool { - if x != nil && x.Textallchat != nil { - return *x.Textallchat - } - return false -} - -type CCSUsrMsg_TextMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MsgDst *int32 `protobuf:"varint,1,opt,name=msg_dst,json=msgDst" json:"msg_dst,omitempty"` - Params []string `protobuf:"bytes,3,rep,name=params" json:"params,omitempty"` -} - -func (x *CCSUsrMsg_TextMsg) Reset() { - *x = CCSUsrMsg_TextMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CCSUsrMsg_TextMsg) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CCSUsrMsg_TextMsg) ProtoMessage() {} - -func (x *CCSUsrMsg_TextMsg) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_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 CCSUsrMsg_TextMsg.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_TextMsg) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{6} -} - -func (x *CCSUsrMsg_TextMsg) GetMsgDst() int32 { - if x != nil && x.MsgDst != nil { - return *x.MsgDst - } - return 0 -} - -func (x *CCSUsrMsg_TextMsg) GetParams() []string { - if x != nil { - return x.Params - } - return nil -} - type CCSUsrMsg_HudMsg struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -784,7 +578,7 @@ type CCSUsrMsg_HudMsg struct { func (x *CCSUsrMsg_HudMsg) Reset() { *x = CCSUsrMsg_HudMsg{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[7] + mi := &file_cstrike15_usermessages_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -797,7 +591,7 @@ func (x *CCSUsrMsg_HudMsg) String() string { func (*CCSUsrMsg_HudMsg) ProtoMessage() {} func (x *CCSUsrMsg_HudMsg) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[7] + mi := &file_cstrike15_usermessages_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -810,7 +604,7 @@ func (x *CCSUsrMsg_HudMsg) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_HudMsg.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_HudMsg) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{7} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{4} } func (x *CCSUsrMsg_HudMsg) GetChannel() int32 { @@ -897,7 +691,7 @@ type CCSUsrMsg_Shake struct { func (x *CCSUsrMsg_Shake) Reset() { *x = CCSUsrMsg_Shake{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[8] + mi := &file_cstrike15_usermessages_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -910,7 +704,7 @@ func (x *CCSUsrMsg_Shake) String() string { func (*CCSUsrMsg_Shake) ProtoMessage() {} func (x *CCSUsrMsg_Shake) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[8] + mi := &file_cstrike15_usermessages_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -923,7 +717,7 @@ func (x *CCSUsrMsg_Shake) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_Shake.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_Shake) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{8} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{5} } func (x *CCSUsrMsg_Shake) GetCommand() int32 { @@ -968,7 +762,7 @@ type CCSUsrMsg_Fade struct { func (x *CCSUsrMsg_Fade) Reset() { *x = CCSUsrMsg_Fade{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[9] + mi := &file_cstrike15_usermessages_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -981,7 +775,7 @@ func (x *CCSUsrMsg_Fade) String() string { func (*CCSUsrMsg_Fade) ProtoMessage() {} func (x *CCSUsrMsg_Fade) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[9] + mi := &file_cstrike15_usermessages_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -994,7 +788,7 @@ func (x *CCSUsrMsg_Fade) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_Fade.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_Fade) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{9} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{6} } func (x *CCSUsrMsg_Fade) GetDuration() int32 { @@ -1038,7 +832,7 @@ type CCSUsrMsg_Rumble struct { func (x *CCSUsrMsg_Rumble) Reset() { *x = CCSUsrMsg_Rumble{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[10] + mi := &file_cstrike15_usermessages_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1051,7 +845,7 @@ func (x *CCSUsrMsg_Rumble) String() string { func (*CCSUsrMsg_Rumble) ProtoMessage() {} func (x *CCSUsrMsg_Rumble) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[10] + mi := &file_cstrike15_usermessages_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1064,7 +858,7 @@ func (x *CCSUsrMsg_Rumble) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_Rumble.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_Rumble) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{10} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{7} } func (x *CCSUsrMsg_Rumble) GetIndex() int32 { @@ -1102,7 +896,7 @@ type CCSUsrMsg_CloseCaption struct { func (x *CCSUsrMsg_CloseCaption) Reset() { *x = CCSUsrMsg_CloseCaption{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[11] + mi := &file_cstrike15_usermessages_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1115,7 +909,7 @@ func (x *CCSUsrMsg_CloseCaption) String() string { func (*CCSUsrMsg_CloseCaption) ProtoMessage() {} func (x *CCSUsrMsg_CloseCaption) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[11] + mi := &file_cstrike15_usermessages_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1128,7 +922,7 @@ func (x *CCSUsrMsg_CloseCaption) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_CloseCaption.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_CloseCaption) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{11} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{8} } func (x *CCSUsrMsg_CloseCaption) GetHash() uint32 { @@ -1172,7 +966,7 @@ type CCSUsrMsg_CloseCaptionDirect struct { func (x *CCSUsrMsg_CloseCaptionDirect) Reset() { *x = CCSUsrMsg_CloseCaptionDirect{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[12] + mi := &file_cstrike15_usermessages_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1185,7 +979,7 @@ func (x *CCSUsrMsg_CloseCaptionDirect) String() string { func (*CCSUsrMsg_CloseCaptionDirect) ProtoMessage() {} func (x *CCSUsrMsg_CloseCaptionDirect) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[12] + mi := &file_cstrike15_usermessages_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1198,7 +992,7 @@ func (x *CCSUsrMsg_CloseCaptionDirect) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_CloseCaptionDirect.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_CloseCaptionDirect) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{12} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{9} } func (x *CCSUsrMsg_CloseCaptionDirect) GetHash() uint32 { @@ -1233,7 +1027,7 @@ type CCSUsrMsg_SendAudio struct { func (x *CCSUsrMsg_SendAudio) Reset() { *x = CCSUsrMsg_SendAudio{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[13] + mi := &file_cstrike15_usermessages_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1246,7 +1040,7 @@ func (x *CCSUsrMsg_SendAudio) String() string { func (*CCSUsrMsg_SendAudio) ProtoMessage() {} func (x *CCSUsrMsg_SendAudio) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[13] + mi := &file_cstrike15_usermessages_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1259,7 +1053,7 @@ func (x *CCSUsrMsg_SendAudio) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_SendAudio.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_SendAudio) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{13} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{10} } func (x *CCSUsrMsg_SendAudio) GetRadioSound() string { @@ -1275,15 +1069,20 @@ type CCSUsrMsg_RawAudio struct { unknownFields protoimpl.UnknownFields Pitch *int32 `protobuf:"varint,1,opt,name=pitch" json:"pitch,omitempty"` - Entidx *int32 `protobuf:"varint,2,opt,name=entidx" json:"entidx,omitempty"` + Entidx *int32 `protobuf:"varint,2,opt,name=entidx,def=-1" json:"entidx,omitempty"` Duration *float32 `protobuf:"fixed32,3,opt,name=duration" json:"duration,omitempty"` VoiceFilename *string `protobuf:"bytes,4,opt,name=voice_filename,json=voiceFilename" json:"voice_filename,omitempty"` } +// Default values for CCSUsrMsg_RawAudio fields. +const ( + Default_CCSUsrMsg_RawAudio_Entidx = int32(-1) +) + func (x *CCSUsrMsg_RawAudio) Reset() { *x = CCSUsrMsg_RawAudio{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[14] + mi := &file_cstrike15_usermessages_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1296,7 +1095,7 @@ func (x *CCSUsrMsg_RawAudio) String() string { func (*CCSUsrMsg_RawAudio) ProtoMessage() {} func (x *CCSUsrMsg_RawAudio) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[14] + mi := &file_cstrike15_usermessages_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1309,7 +1108,7 @@ func (x *CCSUsrMsg_RawAudio) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_RawAudio.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_RawAudio) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{14} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{11} } func (x *CCSUsrMsg_RawAudio) GetPitch() int32 { @@ -1323,7 +1122,7 @@ func (x *CCSUsrMsg_RawAudio) GetEntidx() int32 { if x != nil && x.Entidx != nil { return *x.Entidx } - return 0 + return Default_CCSUsrMsg_RawAudio_Entidx } func (x *CCSUsrMsg_RawAudio) GetDuration() float32 { @@ -1352,7 +1151,7 @@ type CCSUsrMsg_VoiceMask struct { func (x *CCSUsrMsg_VoiceMask) Reset() { *x = CCSUsrMsg_VoiceMask{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[15] + mi := &file_cstrike15_usermessages_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1365,7 +1164,7 @@ func (x *CCSUsrMsg_VoiceMask) String() string { func (*CCSUsrMsg_VoiceMask) ProtoMessage() {} func (x *CCSUsrMsg_VoiceMask) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[15] + mi := &file_cstrike15_usermessages_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1378,7 +1177,7 @@ func (x *CCSUsrMsg_VoiceMask) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_VoiceMask.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_VoiceMask) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{15} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{12} } func (x *CCSUsrMsg_VoiceMask) GetPlayerMasks() []*CCSUsrMsg_VoiceMask_PlayerMask { @@ -1402,13 +1201,18 @@ type CCSUsrMsg_Damage struct { Amount *int32 `protobuf:"varint,1,opt,name=amount" json:"amount,omitempty"` InflictorWorldPos *CMsgVector `protobuf:"bytes,2,opt,name=inflictor_world_pos,json=inflictorWorldPos" json:"inflictor_world_pos,omitempty"` - VictimEntindex *int32 `protobuf:"varint,3,opt,name=victim_entindex,json=victimEntindex" json:"victim_entindex,omitempty"` + VictimEntindex *int32 `protobuf:"varint,3,opt,name=victim_entindex,json=victimEntindex,def=-1" json:"victim_entindex,omitempty"` } +// Default values for CCSUsrMsg_Damage fields. +const ( + Default_CCSUsrMsg_Damage_VictimEntindex = int32(-1) +) + func (x *CCSUsrMsg_Damage) Reset() { *x = CCSUsrMsg_Damage{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[16] + mi := &file_cstrike15_usermessages_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1421,7 +1225,7 @@ func (x *CCSUsrMsg_Damage) String() string { func (*CCSUsrMsg_Damage) ProtoMessage() {} func (x *CCSUsrMsg_Damage) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[16] + mi := &file_cstrike15_usermessages_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1434,7 +1238,7 @@ func (x *CCSUsrMsg_Damage) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_Damage.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_Damage) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{16} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{13} } func (x *CCSUsrMsg_Damage) GetAmount() int32 { @@ -1455,7 +1259,7 @@ func (x *CCSUsrMsg_Damage) GetVictimEntindex() int32 { if x != nil && x.VictimEntindex != nil { return *x.VictimEntindex } - return 0 + return Default_CCSUsrMsg_Damage_VictimEntindex } type CCSUsrMsg_RadioText struct { @@ -1464,15 +1268,20 @@ type CCSUsrMsg_RadioText struct { unknownFields protoimpl.UnknownFields MsgDst *int32 `protobuf:"varint,1,opt,name=msg_dst,json=msgDst" json:"msg_dst,omitempty"` - Client *int32 `protobuf:"varint,2,opt,name=client" json:"client,omitempty"` + Client *int32 `protobuf:"varint,2,opt,name=client,def=-1" json:"client,omitempty"` MsgName *string `protobuf:"bytes,3,opt,name=msg_name,json=msgName" json:"msg_name,omitempty"` Params []string `protobuf:"bytes,4,rep,name=params" json:"params,omitempty"` } +// Default values for CCSUsrMsg_RadioText fields. +const ( + Default_CCSUsrMsg_RadioText_Client = int32(-1) +) + func (x *CCSUsrMsg_RadioText) Reset() { *x = CCSUsrMsg_RadioText{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[17] + mi := &file_cstrike15_usermessages_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1485,7 +1294,7 @@ func (x *CCSUsrMsg_RadioText) String() string { func (*CCSUsrMsg_RadioText) ProtoMessage() {} func (x *CCSUsrMsg_RadioText) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[17] + mi := &file_cstrike15_usermessages_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1498,7 +1307,7 @@ func (x *CCSUsrMsg_RadioText) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_RadioText.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_RadioText) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{17} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{14} } func (x *CCSUsrMsg_RadioText) GetMsgDst() int32 { @@ -1512,7 +1321,7 @@ func (x *CCSUsrMsg_RadioText) GetClient() int32 { if x != nil && x.Client != nil { return *x.Client } - return 0 + return Default_CCSUsrMsg_RadioText_Client } func (x *CCSUsrMsg_RadioText) GetMsgName() string { @@ -1534,13 +1343,13 @@ type CCSUsrMsg_HintText struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Text *string `protobuf:"bytes,1,opt,name=text" json:"text,omitempty"` + Message *string `protobuf:"bytes,1,opt,name=message" json:"message,omitempty"` } func (x *CCSUsrMsg_HintText) Reset() { *x = CCSUsrMsg_HintText{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[18] + mi := &file_cstrike15_usermessages_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1553,7 +1362,7 @@ func (x *CCSUsrMsg_HintText) String() string { func (*CCSUsrMsg_HintText) ProtoMessage() {} func (x *CCSUsrMsg_HintText) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[18] + mi := &file_cstrike15_usermessages_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1566,12 +1375,12 @@ func (x *CCSUsrMsg_HintText) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_HintText.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_HintText) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{18} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{15} } -func (x *CCSUsrMsg_HintText) GetText() string { - if x != nil && x.Text != nil { - return *x.Text +func (x *CCSUsrMsg_HintText) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message } return "" } @@ -1581,13 +1390,13 @@ type CCSUsrMsg_KeyHintText struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Hints []string `protobuf:"bytes,1,rep,name=hints" json:"hints,omitempty"` + Messages []string `protobuf:"bytes,1,rep,name=messages" json:"messages,omitempty"` } func (x *CCSUsrMsg_KeyHintText) Reset() { *x = CCSUsrMsg_KeyHintText{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[19] + mi := &file_cstrike15_usermessages_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1600,7 +1409,7 @@ func (x *CCSUsrMsg_KeyHintText) String() string { func (*CCSUsrMsg_KeyHintText) ProtoMessage() {} func (x *CCSUsrMsg_KeyHintText) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[19] + mi := &file_cstrike15_usermessages_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1613,12 +1422,12 @@ func (x *CCSUsrMsg_KeyHintText) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_KeyHintText.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_KeyHintText) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{19} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{16} } -func (x *CCSUsrMsg_KeyHintText) GetHints() []string { +func (x *CCSUsrMsg_KeyHintText) GetMessages() []string { if x != nil { - return x.Hints + return x.Messages } return nil } @@ -1635,7 +1444,7 @@ type CCSUsrMsg_ProcessSpottedEntityUpdate struct { func (x *CCSUsrMsg_ProcessSpottedEntityUpdate) Reset() { *x = CCSUsrMsg_ProcessSpottedEntityUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[20] + mi := &file_cstrike15_usermessages_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1648,7 +1457,7 @@ func (x *CCSUsrMsg_ProcessSpottedEntityUpdate) String() string { func (*CCSUsrMsg_ProcessSpottedEntityUpdate) ProtoMessage() {} func (x *CCSUsrMsg_ProcessSpottedEntityUpdate) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[20] + mi := &file_cstrike15_usermessages_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1661,7 +1470,7 @@ func (x *CCSUsrMsg_ProcessSpottedEntityUpdate) ProtoReflect() protoreflect.Messa // Deprecated: Use CCSUsrMsg_ProcessSpottedEntityUpdate.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_ProcessSpottedEntityUpdate) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{20} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{17} } func (x *CCSUsrMsg_ProcessSpottedEntityUpdate) GetNewUpdate() bool { @@ -1689,7 +1498,7 @@ type CCSUsrMsg_SendPlayerItemDrops struct { func (x *CCSUsrMsg_SendPlayerItemDrops) Reset() { *x = CCSUsrMsg_SendPlayerItemDrops{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[21] + mi := &file_cstrike15_usermessages_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1702,7 +1511,7 @@ func (x *CCSUsrMsg_SendPlayerItemDrops) String() string { func (*CCSUsrMsg_SendPlayerItemDrops) ProtoMessage() {} func (x *CCSUsrMsg_SendPlayerItemDrops) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[21] + mi := &file_cstrike15_usermessages_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1715,7 +1524,7 @@ func (x *CCSUsrMsg_SendPlayerItemDrops) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_SendPlayerItemDrops.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_SendPlayerItemDrops) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{21} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{18} } func (x *CCSUsrMsg_SendPlayerItemDrops) GetEntityUpdates() []*CEconItemPreviewDataBlock { @@ -1730,14 +1539,19 @@ type CCSUsrMsg_SendPlayerItemFound struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Iteminfo *CEconItemPreviewDataBlock `protobuf:"bytes,1,opt,name=iteminfo" json:"iteminfo,omitempty"` - Entindex *int32 `protobuf:"varint,2,opt,name=entindex" json:"entindex,omitempty"` + Iteminfo *CEconItemPreviewDataBlock `protobuf:"bytes,1,opt,name=iteminfo" json:"iteminfo,omitempty"` + Playerslot *int32 `protobuf:"varint,2,opt,name=playerslot,def=-1" json:"playerslot,omitempty"` } +// Default values for CCSUsrMsg_SendPlayerItemFound fields. +const ( + Default_CCSUsrMsg_SendPlayerItemFound_Playerslot = int32(-1) +) + func (x *CCSUsrMsg_SendPlayerItemFound) Reset() { *x = CCSUsrMsg_SendPlayerItemFound{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[22] + mi := &file_cstrike15_usermessages_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1750,7 +1564,7 @@ func (x *CCSUsrMsg_SendPlayerItemFound) String() string { func (*CCSUsrMsg_SendPlayerItemFound) ProtoMessage() {} func (x *CCSUsrMsg_SendPlayerItemFound) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[22] + mi := &file_cstrike15_usermessages_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1763,7 +1577,7 @@ func (x *CCSUsrMsg_SendPlayerItemFound) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_SendPlayerItemFound.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_SendPlayerItemFound) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{22} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{19} } func (x *CCSUsrMsg_SendPlayerItemFound) GetIteminfo() *CEconItemPreviewDataBlock { @@ -1773,11 +1587,11 @@ func (x *CCSUsrMsg_SendPlayerItemFound) GetIteminfo() *CEconItemPreviewDataBlock return nil } -func (x *CCSUsrMsg_SendPlayerItemFound) GetEntindex() int32 { - if x != nil && x.Entindex != nil { - return *x.Entindex +func (x *CCSUsrMsg_SendPlayerItemFound) GetPlayerslot() int32 { + if x != nil && x.Playerslot != nil { + return *x.Playerslot } - return 0 + return Default_CCSUsrMsg_SendPlayerItemFound_Playerslot } type CCSUsrMsg_ReloadEffect struct { @@ -1785,17 +1599,22 @@ type CCSUsrMsg_ReloadEffect struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Entidx *int32 `protobuf:"varint,1,opt,name=entidx" json:"entidx,omitempty"` + Entidx *int32 `protobuf:"varint,1,opt,name=entidx,def=-1" json:"entidx,omitempty"` Actanim *int32 `protobuf:"varint,2,opt,name=actanim" json:"actanim,omitempty"` OriginX *float32 `protobuf:"fixed32,3,opt,name=origin_x,json=originX" json:"origin_x,omitempty"` OriginY *float32 `protobuf:"fixed32,4,opt,name=origin_y,json=originY" json:"origin_y,omitempty"` OriginZ *float32 `protobuf:"fixed32,5,opt,name=origin_z,json=originZ" json:"origin_z,omitempty"` } +// Default values for CCSUsrMsg_ReloadEffect fields. +const ( + Default_CCSUsrMsg_ReloadEffect_Entidx = int32(-1) +) + func (x *CCSUsrMsg_ReloadEffect) Reset() { *x = CCSUsrMsg_ReloadEffect{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[23] + mi := &file_cstrike15_usermessages_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1808,7 +1627,7 @@ func (x *CCSUsrMsg_ReloadEffect) String() string { func (*CCSUsrMsg_ReloadEffect) ProtoMessage() {} func (x *CCSUsrMsg_ReloadEffect) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[23] + mi := &file_cstrike15_usermessages_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1821,14 +1640,14 @@ func (x *CCSUsrMsg_ReloadEffect) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_ReloadEffect.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_ReloadEffect) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{23} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{20} } func (x *CCSUsrMsg_ReloadEffect) GetEntidx() int32 { if x != nil && x.Entidx != nil { return *x.Entidx } - return 0 + return Default_CCSUsrMsg_ReloadEffect_Entidx } func (x *CCSUsrMsg_ReloadEffect) GetActanim() int32 { @@ -1864,18 +1683,24 @@ type CCSUsrMsg_WeaponSound struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Entidx *int32 `protobuf:"varint,1,opt,name=entidx" json:"entidx,omitempty"` - OriginX *float32 `protobuf:"fixed32,2,opt,name=origin_x,json=originX" json:"origin_x,omitempty"` - OriginY *float32 `protobuf:"fixed32,3,opt,name=origin_y,json=originY" json:"origin_y,omitempty"` - OriginZ *float32 `protobuf:"fixed32,4,opt,name=origin_z,json=originZ" json:"origin_z,omitempty"` - Sound *string `protobuf:"bytes,5,opt,name=sound" json:"sound,omitempty"` - Timestamp *float32 `protobuf:"fixed32,6,opt,name=timestamp" json:"timestamp,omitempty"` + Entidx *int32 `protobuf:"varint,1,opt,name=entidx,def=-1" json:"entidx,omitempty"` + OriginX *float32 `protobuf:"fixed32,2,opt,name=origin_x,json=originX" json:"origin_x,omitempty"` + OriginY *float32 `protobuf:"fixed32,3,opt,name=origin_y,json=originY" json:"origin_y,omitempty"` + OriginZ *float32 `protobuf:"fixed32,4,opt,name=origin_z,json=originZ" json:"origin_z,omitempty"` + Sound *string `protobuf:"bytes,5,opt,name=sound" json:"sound,omitempty"` + GameTimestamp *float32 `protobuf:"fixed32,6,opt,name=game_timestamp,json=gameTimestamp" json:"game_timestamp,omitempty"` + SourceSoundscapeid *uint32 `protobuf:"fixed32,7,opt,name=source_soundscapeid,json=sourceSoundscapeid" json:"source_soundscapeid,omitempty"` } +// Default values for CCSUsrMsg_WeaponSound fields. +const ( + Default_CCSUsrMsg_WeaponSound_Entidx = int32(-1) +) + func (x *CCSUsrMsg_WeaponSound) Reset() { *x = CCSUsrMsg_WeaponSound{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[24] + mi := &file_cstrike15_usermessages_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1888,7 +1713,7 @@ func (x *CCSUsrMsg_WeaponSound) String() string { func (*CCSUsrMsg_WeaponSound) ProtoMessage() {} func (x *CCSUsrMsg_WeaponSound) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[24] + mi := &file_cstrike15_usermessages_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1901,14 +1726,14 @@ func (x *CCSUsrMsg_WeaponSound) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_WeaponSound.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_WeaponSound) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{24} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{21} } func (x *CCSUsrMsg_WeaponSound) GetEntidx() int32 { if x != nil && x.Entidx != nil { return *x.Entidx } - return 0 + return Default_CCSUsrMsg_WeaponSound_Entidx } func (x *CCSUsrMsg_WeaponSound) GetOriginX() float32 { @@ -1939,9 +1764,16 @@ func (x *CCSUsrMsg_WeaponSound) GetSound() string { return "" } -func (x *CCSUsrMsg_WeaponSound) GetTimestamp() float32 { - if x != nil && x.Timestamp != nil { - return *x.Timestamp +func (x *CCSUsrMsg_WeaponSound) GetGameTimestamp() float32 { + if x != nil && x.GameTimestamp != nil { + return *x.GameTimestamp + } + return 0 +} + +func (x *CCSUsrMsg_WeaponSound) GetSourceSoundscapeid() uint32 { + if x != nil && x.SourceSoundscapeid != nil { + return *x.SourceSoundscapeid } return 0 } @@ -1951,16 +1783,21 @@ type CCSUsrMsg_UpdateScreenHealthBar struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Entidx *int32 `protobuf:"varint,1,opt,name=entidx" json:"entidx,omitempty"` + Entidx *int32 `protobuf:"varint,1,opt,name=entidx,def=-1" json:"entidx,omitempty"` HealthratioOld *float32 `protobuf:"fixed32,2,opt,name=healthratio_old,json=healthratioOld" json:"healthratio_old,omitempty"` HealthratioNew *float32 `protobuf:"fixed32,3,opt,name=healthratio_new,json=healthratioNew" json:"healthratio_new,omitempty"` Style *int32 `protobuf:"varint,4,opt,name=style" json:"style,omitempty"` } +// Default values for CCSUsrMsg_UpdateScreenHealthBar fields. +const ( + Default_CCSUsrMsg_UpdateScreenHealthBar_Entidx = int32(-1) +) + func (x *CCSUsrMsg_UpdateScreenHealthBar) Reset() { *x = CCSUsrMsg_UpdateScreenHealthBar{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[25] + mi := &file_cstrike15_usermessages_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1973,7 +1810,7 @@ func (x *CCSUsrMsg_UpdateScreenHealthBar) String() string { func (*CCSUsrMsg_UpdateScreenHealthBar) ProtoMessage() {} func (x *CCSUsrMsg_UpdateScreenHealthBar) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[25] + mi := &file_cstrike15_usermessages_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1986,14 +1823,14 @@ func (x *CCSUsrMsg_UpdateScreenHealthBar) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_UpdateScreenHealthBar.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_UpdateScreenHealthBar) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{25} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{22} } func (x *CCSUsrMsg_UpdateScreenHealthBar) GetEntidx() int32 { if x != nil && x.Entidx != nil { return *x.Entidx } - return 0 + return Default_CCSUsrMsg_UpdateScreenHealthBar_Entidx } func (x *CCSUsrMsg_UpdateScreenHealthBar) GetHealthratioOld() float32 { @@ -2022,14 +1859,19 @@ type CCSUsrMsg_EntityOutlineHighlight struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Entidx *int32 `protobuf:"varint,1,opt,name=entidx" json:"entidx,omitempty"` + Entidx *int32 `protobuf:"varint,1,opt,name=entidx,def=-1" json:"entidx,omitempty"` Removehighlight *bool `protobuf:"varint,2,opt,name=removehighlight" json:"removehighlight,omitempty"` } +// Default values for CCSUsrMsg_EntityOutlineHighlight fields. +const ( + Default_CCSUsrMsg_EntityOutlineHighlight_Entidx = int32(-1) +) + func (x *CCSUsrMsg_EntityOutlineHighlight) Reset() { *x = CCSUsrMsg_EntityOutlineHighlight{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[26] + mi := &file_cstrike15_usermessages_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2042,7 +1884,7 @@ func (x *CCSUsrMsg_EntityOutlineHighlight) String() string { func (*CCSUsrMsg_EntityOutlineHighlight) ProtoMessage() {} func (x *CCSUsrMsg_EntityOutlineHighlight) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[26] + mi := &file_cstrike15_usermessages_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2055,14 +1897,14 @@ func (x *CCSUsrMsg_EntityOutlineHighlight) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_EntityOutlineHighlight.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_EntityOutlineHighlight) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{26} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{23} } func (x *CCSUsrMsg_EntityOutlineHighlight) GetEntidx() int32 { if x != nil && x.Entidx != nil { return *x.Entidx } - return 0 + return Default_CCSUsrMsg_EntityOutlineHighlight_Entidx } func (x *CCSUsrMsg_EntityOutlineHighlight) GetRemovehighlight() bool { @@ -2083,7 +1925,7 @@ type CCSUsrMsg_AdjustMoney struct { func (x *CCSUsrMsg_AdjustMoney) Reset() { *x = CCSUsrMsg_AdjustMoney{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[27] + mi := &file_cstrike15_usermessages_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2096,7 +1938,7 @@ func (x *CCSUsrMsg_AdjustMoney) String() string { func (*CCSUsrMsg_AdjustMoney) ProtoMessage() {} func (x *CCSUsrMsg_AdjustMoney) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[27] + mi := &file_cstrike15_usermessages_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2109,7 +1951,7 @@ func (x *CCSUsrMsg_AdjustMoney) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_AdjustMoney.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_AdjustMoney) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{27} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{24} } func (x *CCSUsrMsg_AdjustMoney) GetAmount() int32 { @@ -2133,7 +1975,7 @@ type CCSUsrMsg_ReportHit struct { func (x *CCSUsrMsg_ReportHit) Reset() { *x = CCSUsrMsg_ReportHit{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[28] + mi := &file_cstrike15_usermessages_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2146,7 +1988,7 @@ func (x *CCSUsrMsg_ReportHit) String() string { func (*CCSUsrMsg_ReportHit) ProtoMessage() {} func (x *CCSUsrMsg_ReportHit) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[28] + mi := &file_cstrike15_usermessages_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2159,7 +2001,7 @@ func (x *CCSUsrMsg_ReportHit) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_ReportHit.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_ReportHit) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{28} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{25} } func (x *CCSUsrMsg_ReportHit) GetPosX() float32 { @@ -2196,14 +2038,20 @@ type CCSUsrMsg_KillCam struct { unknownFields protoimpl.UnknownFields ObsMode *int32 `protobuf:"varint,1,opt,name=obs_mode,json=obsMode" json:"obs_mode,omitempty"` - FirstTarget *int32 `protobuf:"varint,2,opt,name=first_target,json=firstTarget" json:"first_target,omitempty"` - SecondTarget *int32 `protobuf:"varint,3,opt,name=second_target,json=secondTarget" json:"second_target,omitempty"` + FirstTarget *int32 `protobuf:"varint,2,opt,name=first_target,json=firstTarget,def=-1" json:"first_target,omitempty"` + SecondTarget *int32 `protobuf:"varint,3,opt,name=second_target,json=secondTarget,def=-1" json:"second_target,omitempty"` } +// Default values for CCSUsrMsg_KillCam fields. +const ( + Default_CCSUsrMsg_KillCam_FirstTarget = int32(-1) + Default_CCSUsrMsg_KillCam_SecondTarget = int32(-1) +) + func (x *CCSUsrMsg_KillCam) Reset() { *x = CCSUsrMsg_KillCam{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[29] + mi := &file_cstrike15_usermessages_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2216,7 +2064,7 @@ func (x *CCSUsrMsg_KillCam) String() string { func (*CCSUsrMsg_KillCam) ProtoMessage() {} func (x *CCSUsrMsg_KillCam) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[29] + mi := &file_cstrike15_usermessages_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2229,7 +2077,7 @@ func (x *CCSUsrMsg_KillCam) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_KillCam.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_KillCam) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{29} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{26} } func (x *CCSUsrMsg_KillCam) GetObsMode() int32 { @@ -2243,14 +2091,14 @@ func (x *CCSUsrMsg_KillCam) GetFirstTarget() int32 { if x != nil && x.FirstTarget != nil { return *x.FirstTarget } - return 0 + return Default_CCSUsrMsg_KillCam_FirstTarget } func (x *CCSUsrMsg_KillCam) GetSecondTarget() int32 { if x != nil && x.SecondTarget != nil { return *x.SecondTarget } - return 0 + return Default_CCSUsrMsg_KillCam_SecondTarget } type CCSUsrMsg_DesiredTimescale struct { @@ -2267,7 +2115,7 @@ type CCSUsrMsg_DesiredTimescale struct { func (x *CCSUsrMsg_DesiredTimescale) Reset() { *x = CCSUsrMsg_DesiredTimescale{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[30] + mi := &file_cstrike15_usermessages_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2280,7 +2128,7 @@ func (x *CCSUsrMsg_DesiredTimescale) String() string { func (*CCSUsrMsg_DesiredTimescale) ProtoMessage() {} func (x *CCSUsrMsg_DesiredTimescale) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[30] + mi := &file_cstrike15_usermessages_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2293,7 +2141,7 @@ func (x *CCSUsrMsg_DesiredTimescale) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_DesiredTimescale.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_DesiredTimescale) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{30} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{27} } func (x *CCSUsrMsg_DesiredTimescale) GetDesiredTimescale() float32 { @@ -2335,7 +2183,7 @@ type CCSUsrMsg_CurrentTimescale struct { func (x *CCSUsrMsg_CurrentTimescale) Reset() { *x = CCSUsrMsg_CurrentTimescale{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[31] + mi := &file_cstrike15_usermessages_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2348,7 +2196,7 @@ func (x *CCSUsrMsg_CurrentTimescale) String() string { func (*CCSUsrMsg_CurrentTimescale) ProtoMessage() {} func (x *CCSUsrMsg_CurrentTimescale) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[31] + mi := &file_cstrike15_usermessages_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2361,7 +2209,7 @@ func (x *CCSUsrMsg_CurrentTimescale) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_CurrentTimescale.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_CurrentTimescale) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{31} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{28} } func (x *CCSUsrMsg_CurrentTimescale) GetCurTimescale() float32 { @@ -2384,7 +2232,7 @@ type CCSUsrMsg_AchievementEvent struct { func (x *CCSUsrMsg_AchievementEvent) Reset() { *x = CCSUsrMsg_AchievementEvent{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[32] + mi := &file_cstrike15_usermessages_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2397,7 +2245,7 @@ func (x *CCSUsrMsg_AchievementEvent) String() string { func (*CCSUsrMsg_AchievementEvent) ProtoMessage() {} func (x *CCSUsrMsg_AchievementEvent) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[32] + mi := &file_cstrike15_usermessages_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2410,7 +2258,7 @@ func (x *CCSUsrMsg_AchievementEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_AchievementEvent.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_AchievementEvent) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{32} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{29} } func (x *CCSUsrMsg_AchievementEvent) GetAchievement() int32 { @@ -2439,16 +2287,16 @@ type CCSUsrMsg_MatchEndConditions struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Fraglimit *int32 `protobuf:"varint,1,opt,name=fraglimit" json:"fraglimit,omitempty"` - MpMaxrounds *int32 `protobuf:"varint,2,opt,name=mp_maxrounds,json=mpMaxrounds" json:"mp_maxrounds,omitempty"` - MpWinlimit *int32 `protobuf:"varint,3,opt,name=mp_winlimit,json=mpWinlimit" json:"mp_winlimit,omitempty"` - MpTimelimit *int32 `protobuf:"varint,4,opt,name=mp_timelimit,json=mpTimelimit" json:"mp_timelimit,omitempty"` + Fraglimit *int32 `protobuf:"varint,1,opt,name=fraglimit" json:"fraglimit,omitempty"` + MpMaxrounds *int32 `protobuf:"varint,2,opt,name=mp_maxrounds,json=mpMaxrounds" json:"mp_maxrounds,omitempty"` + MpWinlimit *int32 `protobuf:"varint,3,opt,name=mp_winlimit,json=mpWinlimit" json:"mp_winlimit,omitempty"` + MpTimelimit *float32 `protobuf:"fixed32,4,opt,name=mp_timelimit,json=mpTimelimit" json:"mp_timelimit,omitempty"` } func (x *CCSUsrMsg_MatchEndConditions) Reset() { *x = CCSUsrMsg_MatchEndConditions{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[33] + mi := &file_cstrike15_usermessages_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2461,7 +2309,7 @@ func (x *CCSUsrMsg_MatchEndConditions) String() string { func (*CCSUsrMsg_MatchEndConditions) ProtoMessage() {} func (x *CCSUsrMsg_MatchEndConditions) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[33] + mi := &file_cstrike15_usermessages_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2474,7 +2322,7 @@ func (x *CCSUsrMsg_MatchEndConditions) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_MatchEndConditions.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_MatchEndConditions) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{33} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{30} } func (x *CCSUsrMsg_MatchEndConditions) GetFraglimit() int32 { @@ -2498,7 +2346,7 @@ func (x *CCSUsrMsg_MatchEndConditions) GetMpWinlimit() int32 { return 0 } -func (x *CCSUsrMsg_MatchEndConditions) GetMpTimelimit() int32 { +func (x *CCSUsrMsg_MatchEndConditions) GetMpTimelimit() float32 { if x != nil && x.MpTimelimit != nil { return *x.MpTimelimit } @@ -2512,14 +2360,14 @@ type CCSUsrMsg_PlayerStatsUpdate struct { Version *int32 `protobuf:"varint,1,opt,name=version" json:"version,omitempty"` Stats []*CCSUsrMsg_PlayerStatsUpdate_Stat `protobuf:"bytes,4,rep,name=stats" json:"stats,omitempty"` - UserId *int32 `protobuf:"varint,5,opt,name=user_id,json=userId" json:"user_id,omitempty"` + Ehandle *uint32 `protobuf:"varint,5,opt,name=ehandle" json:"ehandle,omitempty"` Crc *int32 `protobuf:"varint,6,opt,name=crc" json:"crc,omitempty"` } func (x *CCSUsrMsg_PlayerStatsUpdate) Reset() { *x = CCSUsrMsg_PlayerStatsUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[34] + mi := &file_cstrike15_usermessages_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2532,7 +2380,7 @@ func (x *CCSUsrMsg_PlayerStatsUpdate) String() string { func (*CCSUsrMsg_PlayerStatsUpdate) ProtoMessage() {} func (x *CCSUsrMsg_PlayerStatsUpdate) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[34] + mi := &file_cstrike15_usermessages_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2545,7 +2393,7 @@ func (x *CCSUsrMsg_PlayerStatsUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_PlayerStatsUpdate.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_PlayerStatsUpdate) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{34} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{31} } func (x *CCSUsrMsg_PlayerStatsUpdate) GetVersion() int32 { @@ -2562,9 +2410,9 @@ func (x *CCSUsrMsg_PlayerStatsUpdate) GetStats() []*CCSUsrMsg_PlayerStatsUpdate_ return nil } -func (x *CCSUsrMsg_PlayerStatsUpdate) GetUserId() int32 { - if x != nil && x.UserId != nil { - return *x.UserId +func (x *CCSUsrMsg_PlayerStatsUpdate) GetEhandle() uint32 { + if x != nil && x.Ehandle != nil { + return *x.Ehandle } return 0 } @@ -2576,61 +2424,6 @@ func (x *CCSUsrMsg_PlayerStatsUpdate) GetCrc() int32 { return 0 } -type CCSUsrMsg_DisplayInventory struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Display *bool `protobuf:"varint,1,opt,name=display" json:"display,omitempty"` - UserId *int32 `protobuf:"varint,2,opt,name=user_id,json=userId" json:"user_id,omitempty"` -} - -func (x *CCSUsrMsg_DisplayInventory) Reset() { - *x = CCSUsrMsg_DisplayInventory{} - if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CCSUsrMsg_DisplayInventory) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CCSUsrMsg_DisplayInventory) ProtoMessage() {} - -func (x *CCSUsrMsg_DisplayInventory) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_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 CCSUsrMsg_DisplayInventory.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_DisplayInventory) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{35} -} - -func (x *CCSUsrMsg_DisplayInventory) GetDisplay() bool { - if x != nil && x.Display != nil { - return *x.Display - } - return false -} - -func (x *CCSUsrMsg_DisplayInventory) GetUserId() int32 { - if x != nil && x.UserId != nil { - return *x.UserId - } - return 0 -} - type CCSUsrMsg_QuestProgress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2645,7 +2438,7 @@ type CCSUsrMsg_QuestProgress struct { func (x *CCSUsrMsg_QuestProgress) Reset() { *x = CCSUsrMsg_QuestProgress{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[36] + mi := &file_cstrike15_usermessages_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2658,7 +2451,7 @@ func (x *CCSUsrMsg_QuestProgress) String() string { func (*CCSUsrMsg_QuestProgress) ProtoMessage() {} func (x *CCSUsrMsg_QuestProgress) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[36] + mi := &file_cstrike15_usermessages_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2671,7 +2464,7 @@ func (x *CCSUsrMsg_QuestProgress) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_QuestProgress.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_QuestProgress) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{36} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{32} } func (x *CCSUsrMsg_QuestProgress) GetQuestId() uint32 { @@ -2713,7 +2506,7 @@ type CCSUsrMsg_ScoreLeaderboardData struct { func (x *CCSUsrMsg_ScoreLeaderboardData) Reset() { *x = CCSUsrMsg_ScoreLeaderboardData{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[37] + mi := &file_cstrike15_usermessages_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2726,7 +2519,7 @@ func (x *CCSUsrMsg_ScoreLeaderboardData) String() string { func (*CCSUsrMsg_ScoreLeaderboardData) ProtoMessage() {} func (x *CCSUsrMsg_ScoreLeaderboardData) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[37] + mi := &file_cstrike15_usermessages_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2739,7 +2532,7 @@ func (x *CCSUsrMsg_ScoreLeaderboardData) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_ScoreLeaderboardData.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_ScoreLeaderboardData) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{37} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{33} } func (x *CCSUsrMsg_ScoreLeaderboardData) GetData() *ScoreLeaderboardData { @@ -2760,7 +2553,7 @@ type CCSUsrMsg_PlayerDecalDigitalSignature struct { func (x *CCSUsrMsg_PlayerDecalDigitalSignature) Reset() { *x = CCSUsrMsg_PlayerDecalDigitalSignature{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[38] + mi := &file_cstrike15_usermessages_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2773,7 +2566,7 @@ func (x *CCSUsrMsg_PlayerDecalDigitalSignature) String() string { func (*CCSUsrMsg_PlayerDecalDigitalSignature) ProtoMessage() {} func (x *CCSUsrMsg_PlayerDecalDigitalSignature) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[38] + mi := &file_cstrike15_usermessages_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2786,7 +2579,7 @@ func (x *CCSUsrMsg_PlayerDecalDigitalSignature) ProtoReflect() protoreflect.Mess // Deprecated: Use CCSUsrMsg_PlayerDecalDigitalSignature.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_PlayerDecalDigitalSignature) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{38} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{34} } func (x *CCSUsrMsg_PlayerDecalDigitalSignature) GetData() *PlayerDecalDigitalSignature { @@ -2808,7 +2601,7 @@ type CCSUsrMsg_XRankGet struct { func (x *CCSUsrMsg_XRankGet) Reset() { *x = CCSUsrMsg_XRankGet{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[39] + mi := &file_cstrike15_usermessages_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2821,7 +2614,7 @@ func (x *CCSUsrMsg_XRankGet) String() string { func (*CCSUsrMsg_XRankGet) ProtoMessage() {} func (x *CCSUsrMsg_XRankGet) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[39] + mi := &file_cstrike15_usermessages_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2834,7 +2627,7 @@ func (x *CCSUsrMsg_XRankGet) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_XRankGet.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_XRankGet) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{39} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{35} } func (x *CCSUsrMsg_XRankGet) GetModeIdx() int32 { @@ -2864,7 +2657,7 @@ type CCSUsrMsg_XRankUpd struct { func (x *CCSUsrMsg_XRankUpd) Reset() { *x = CCSUsrMsg_XRankUpd{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[40] + mi := &file_cstrike15_usermessages_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2877,7 +2670,7 @@ func (x *CCSUsrMsg_XRankUpd) String() string { func (*CCSUsrMsg_XRankUpd) ProtoMessage() {} func (x *CCSUsrMsg_XRankUpd) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[40] + mi := &file_cstrike15_usermessages_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2890,7 +2683,7 @@ func (x *CCSUsrMsg_XRankUpd) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_XRankUpd.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_XRankUpd) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{40} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{36} } func (x *CCSUsrMsg_XRankUpd) GetModeIdx() int32 { @@ -2926,7 +2719,7 @@ type CCSUsrMsg_CallVoteFailed struct { func (x *CCSUsrMsg_CallVoteFailed) Reset() { *x = CCSUsrMsg_CallVoteFailed{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[41] + mi := &file_cstrike15_usermessages_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2939,7 +2732,7 @@ func (x *CCSUsrMsg_CallVoteFailed) String() string { func (*CCSUsrMsg_CallVoteFailed) ProtoMessage() {} func (x *CCSUsrMsg_CallVoteFailed) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[41] + mi := &file_cstrike15_usermessages_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2952,7 +2745,7 @@ func (x *CCSUsrMsg_CallVoteFailed) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_CallVoteFailed.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_CallVoteFailed) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{41} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{37} } func (x *CCSUsrMsg_CallVoteFailed) GetReason() int32 { @@ -2974,20 +2767,26 @@ type CCSUsrMsg_VoteStart struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Team *int32 `protobuf:"varint,1,opt,name=team" json:"team,omitempty"` - EntIdx *int32 `protobuf:"varint,2,opt,name=ent_idx,json=entIdx" json:"ent_idx,omitempty"` - VoteType *int32 `protobuf:"varint,3,opt,name=vote_type,json=voteType" json:"vote_type,omitempty"` - DispStr *string `protobuf:"bytes,4,opt,name=disp_str,json=dispStr" json:"disp_str,omitempty"` - DetailsStr *string `protobuf:"bytes,5,opt,name=details_str,json=detailsStr" json:"details_str,omitempty"` - OtherTeamStr *string `protobuf:"bytes,6,opt,name=other_team_str,json=otherTeamStr" json:"other_team_str,omitempty"` - IsYesNoVote *bool `protobuf:"varint,7,opt,name=is_yes_no_vote,json=isYesNoVote" json:"is_yes_no_vote,omitempty"` - EntidxTarget *int32 `protobuf:"varint,8,opt,name=entidx_target,json=entidxTarget" json:"entidx_target,omitempty"` + Team *int32 `protobuf:"varint,1,opt,name=team" json:"team,omitempty"` + PlayerSlot *int32 `protobuf:"varint,2,opt,name=player_slot,json=playerSlot,def=-1" json:"player_slot,omitempty"` + VoteType *int32 `protobuf:"varint,3,opt,name=vote_type,json=voteType" json:"vote_type,omitempty"` + DispStr *string `protobuf:"bytes,4,opt,name=disp_str,json=dispStr" json:"disp_str,omitempty"` + DetailsStr *string `protobuf:"bytes,5,opt,name=details_str,json=detailsStr" json:"details_str,omitempty"` + OtherTeamStr *string `protobuf:"bytes,6,opt,name=other_team_str,json=otherTeamStr" json:"other_team_str,omitempty"` + IsYesNoVote *bool `protobuf:"varint,7,opt,name=is_yes_no_vote,json=isYesNoVote" json:"is_yes_no_vote,omitempty"` + PlayerSlotTarget *int32 `protobuf:"varint,8,opt,name=player_slot_target,json=playerSlotTarget,def=-1" json:"player_slot_target,omitempty"` } +// Default values for CCSUsrMsg_VoteStart fields. +const ( + Default_CCSUsrMsg_VoteStart_PlayerSlot = int32(-1) + Default_CCSUsrMsg_VoteStart_PlayerSlotTarget = int32(-1) +) + func (x *CCSUsrMsg_VoteStart) Reset() { *x = CCSUsrMsg_VoteStart{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[42] + mi := &file_cstrike15_usermessages_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3000,7 +2799,7 @@ func (x *CCSUsrMsg_VoteStart) String() string { func (*CCSUsrMsg_VoteStart) ProtoMessage() {} func (x *CCSUsrMsg_VoteStart) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[42] + mi := &file_cstrike15_usermessages_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3013,7 +2812,7 @@ func (x *CCSUsrMsg_VoteStart) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_VoteStart.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_VoteStart) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{42} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{38} } func (x *CCSUsrMsg_VoteStart) GetTeam() int32 { @@ -3023,11 +2822,11 @@ func (x *CCSUsrMsg_VoteStart) GetTeam() int32 { return 0 } -func (x *CCSUsrMsg_VoteStart) GetEntIdx() int32 { - if x != nil && x.EntIdx != nil { - return *x.EntIdx +func (x *CCSUsrMsg_VoteStart) GetPlayerSlot() int32 { + if x != nil && x.PlayerSlot != nil { + return *x.PlayerSlot } - return 0 + return Default_CCSUsrMsg_VoteStart_PlayerSlot } func (x *CCSUsrMsg_VoteStart) GetVoteType() int32 { @@ -3065,11 +2864,11 @@ func (x *CCSUsrMsg_VoteStart) GetIsYesNoVote() bool { return false } -func (x *CCSUsrMsg_VoteStart) GetEntidxTarget() int32 { - if x != nil && x.EntidxTarget != nil { - return *x.EntidxTarget +func (x *CCSUsrMsg_VoteStart) GetPlayerSlotTarget() int32 { + if x != nil && x.PlayerSlotTarget != nil { + return *x.PlayerSlotTarget } - return 0 + return Default_CCSUsrMsg_VoteStart_PlayerSlotTarget } type CCSUsrMsg_VotePass struct { @@ -3086,7 +2885,7 @@ type CCSUsrMsg_VotePass struct { func (x *CCSUsrMsg_VotePass) Reset() { *x = CCSUsrMsg_VotePass{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[43] + mi := &file_cstrike15_usermessages_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3099,7 +2898,7 @@ func (x *CCSUsrMsg_VotePass) String() string { func (*CCSUsrMsg_VotePass) ProtoMessage() {} func (x *CCSUsrMsg_VotePass) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[43] + mi := &file_cstrike15_usermessages_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3112,7 +2911,7 @@ func (x *CCSUsrMsg_VotePass) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_VotePass.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_VotePass) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{43} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{39} } func (x *CCSUsrMsg_VotePass) GetTeam() int32 { @@ -3155,7 +2954,7 @@ type CCSUsrMsg_VoteFailed struct { func (x *CCSUsrMsg_VoteFailed) Reset() { *x = CCSUsrMsg_VoteFailed{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[44] + mi := &file_cstrike15_usermessages_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3168,7 +2967,7 @@ func (x *CCSUsrMsg_VoteFailed) String() string { func (*CCSUsrMsg_VoteFailed) ProtoMessage() {} func (x *CCSUsrMsg_VoteFailed) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[44] + mi := &file_cstrike15_usermessages_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3181,7 +2980,7 @@ func (x *CCSUsrMsg_VoteFailed) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_VoteFailed.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_VoteFailed) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{44} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{40} } func (x *CCSUsrMsg_VoteFailed) GetTeam() int32 { @@ -3209,7 +3008,7 @@ type CCSUsrMsg_VoteSetup struct { func (x *CCSUsrMsg_VoteSetup) Reset() { *x = CCSUsrMsg_VoteSetup{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[45] + mi := &file_cstrike15_usermessages_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3222,7 +3021,7 @@ func (x *CCSUsrMsg_VoteSetup) String() string { func (*CCSUsrMsg_VoteSetup) ProtoMessage() {} func (x *CCSUsrMsg_VoteSetup) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[45] + mi := &file_cstrike15_usermessages_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3235,7 +3034,7 @@ func (x *CCSUsrMsg_VoteSetup) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_VoteSetup.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_VoteSetup) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{45} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{41} } func (x *CCSUsrMsg_VoteSetup) GetPotentialIssues() []string { @@ -3250,16 +3049,18 @@ type CCSUsrMsg_SendLastKillerDamageToClient struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - NumHitsGiven *int32 `protobuf:"varint,1,opt,name=num_hits_given,json=numHitsGiven" json:"num_hits_given,omitempty"` - DamageGiven *int32 `protobuf:"varint,2,opt,name=damage_given,json=damageGiven" json:"damage_given,omitempty"` - NumHitsTaken *int32 `protobuf:"varint,3,opt,name=num_hits_taken,json=numHitsTaken" json:"num_hits_taken,omitempty"` - DamageTaken *int32 `protobuf:"varint,4,opt,name=damage_taken,json=damageTaken" json:"damage_taken,omitempty"` + NumHitsGiven *int32 `protobuf:"varint,1,opt,name=num_hits_given,json=numHitsGiven" json:"num_hits_given,omitempty"` + DamageGiven *int32 `protobuf:"varint,2,opt,name=damage_given,json=damageGiven" json:"damage_given,omitempty"` + NumHitsTaken *int32 `protobuf:"varint,3,opt,name=num_hits_taken,json=numHitsTaken" json:"num_hits_taken,omitempty"` + DamageTaken *int32 `protobuf:"varint,4,opt,name=damage_taken,json=damageTaken" json:"damage_taken,omitempty"` + ActualDamageGiven *int32 `protobuf:"varint,5,opt,name=actual_damage_given,json=actualDamageGiven" json:"actual_damage_given,omitempty"` + ActualDamageTaken *int32 `protobuf:"varint,6,opt,name=actual_damage_taken,json=actualDamageTaken" json:"actual_damage_taken,omitempty"` } func (x *CCSUsrMsg_SendLastKillerDamageToClient) Reset() { *x = CCSUsrMsg_SendLastKillerDamageToClient{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[46] + mi := &file_cstrike15_usermessages_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3272,7 +3073,7 @@ func (x *CCSUsrMsg_SendLastKillerDamageToClient) String() string { func (*CCSUsrMsg_SendLastKillerDamageToClient) ProtoMessage() {} func (x *CCSUsrMsg_SendLastKillerDamageToClient) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[46] + mi := &file_cstrike15_usermessages_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3285,7 +3086,7 @@ func (x *CCSUsrMsg_SendLastKillerDamageToClient) ProtoReflect() protoreflect.Mes // Deprecated: Use CCSUsrMsg_SendLastKillerDamageToClient.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_SendLastKillerDamageToClient) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{46} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{42} } func (x *CCSUsrMsg_SendLastKillerDamageToClient) GetNumHitsGiven() int32 { @@ -3316,6 +3117,20 @@ func (x *CCSUsrMsg_SendLastKillerDamageToClient) GetDamageTaken() int32 { return 0 } +func (x *CCSUsrMsg_SendLastKillerDamageToClient) GetActualDamageGiven() int32 { + if x != nil && x.ActualDamageGiven != nil { + return *x.ActualDamageGiven + } + return 0 +} + +func (x *CCSUsrMsg_SendLastKillerDamageToClient) GetActualDamageTaken() int32 { + if x != nil && x.ActualDamageTaken != nil { + return *x.ActualDamageTaken + } + return 0 +} + type CCSUsrMsg_ServerRankUpdate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3327,7 +3142,7 @@ type CCSUsrMsg_ServerRankUpdate struct { func (x *CCSUsrMsg_ServerRankUpdate) Reset() { *x = CCSUsrMsg_ServerRankUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[47] + mi := &file_cstrike15_usermessages_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3340,7 +3155,7 @@ func (x *CCSUsrMsg_ServerRankUpdate) String() string { func (*CCSUsrMsg_ServerRankUpdate) ProtoMessage() {} func (x *CCSUsrMsg_ServerRankUpdate) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[47] + mi := &file_cstrike15_usermessages_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3353,7 +3168,7 @@ func (x *CCSUsrMsg_ServerRankUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_ServerRankUpdate.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_ServerRankUpdate) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{47} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{43} } func (x *CCSUsrMsg_ServerRankUpdate) GetRankUpdate() []*CCSUsrMsg_ServerRankUpdate_RankUpdate { @@ -3374,7 +3189,7 @@ type CCSUsrMsg_XpUpdate struct { func (x *CCSUsrMsg_XpUpdate) Reset() { *x = CCSUsrMsg_XpUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[48] + mi := &file_cstrike15_usermessages_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3387,7 +3202,7 @@ func (x *CCSUsrMsg_XpUpdate) String() string { func (*CCSUsrMsg_XpUpdate) ProtoMessage() {} func (x *CCSUsrMsg_XpUpdate) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[48] + mi := &file_cstrike15_usermessages_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3400,7 +3215,7 @@ func (x *CCSUsrMsg_XpUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_XpUpdate.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_XpUpdate) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{48} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{44} } func (x *CCSUsrMsg_XpUpdate) GetData() *CMsgGCCstrike15V2_GC2ServerNotifyXPRewarded { @@ -3421,7 +3236,7 @@ type CCSUsrMsg_ItemPickup struct { func (x *CCSUsrMsg_ItemPickup) Reset() { *x = CCSUsrMsg_ItemPickup{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[49] + mi := &file_cstrike15_usermessages_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3434,7 +3249,7 @@ func (x *CCSUsrMsg_ItemPickup) String() string { func (*CCSUsrMsg_ItemPickup) ProtoMessage() {} func (x *CCSUsrMsg_ItemPickup) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[49] + mi := &file_cstrike15_usermessages_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3447,7 +3262,7 @@ func (x *CCSUsrMsg_ItemPickup) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_ItemPickup.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_ItemPickup) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{49} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{45} } func (x *CCSUsrMsg_ItemPickup) GetItem() string { @@ -3470,7 +3285,7 @@ type CCSUsrMsg_ShowMenu struct { func (x *CCSUsrMsg_ShowMenu) Reset() { *x = CCSUsrMsg_ShowMenu{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[50] + mi := &file_cstrike15_usermessages_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3483,7 +3298,7 @@ func (x *CCSUsrMsg_ShowMenu) String() string { func (*CCSUsrMsg_ShowMenu) ProtoMessage() {} func (x *CCSUsrMsg_ShowMenu) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[50] + mi := &file_cstrike15_usermessages_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3496,7 +3311,7 @@ func (x *CCSUsrMsg_ShowMenu) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_ShowMenu.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_ShowMenu) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{50} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{46} } func (x *CCSUsrMsg_ShowMenu) GetBitsValidSlots() int32 { @@ -3531,7 +3346,7 @@ type CCSUsrMsg_BarTime struct { func (x *CCSUsrMsg_BarTime) Reset() { *x = CCSUsrMsg_BarTime{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[51] + mi := &file_cstrike15_usermessages_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3544,7 +3359,7 @@ func (x *CCSUsrMsg_BarTime) String() string { func (*CCSUsrMsg_BarTime) ProtoMessage() {} func (x *CCSUsrMsg_BarTime) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[51] + mi := &file_cstrike15_usermessages_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3557,7 +3372,7 @@ func (x *CCSUsrMsg_BarTime) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_BarTime.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_BarTime) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{51} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{47} } func (x *CCSUsrMsg_BarTime) GetTime() string { @@ -3572,13 +3387,13 @@ type CCSUsrMsg_AmmoDenied struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AmmoIdx *int32 `protobuf:"varint,1,opt,name=ammoIdx" json:"ammoIdx,omitempty"` + Ammoidx *int32 `protobuf:"varint,1,opt,name=ammoidx" json:"ammoidx,omitempty"` } func (x *CCSUsrMsg_AmmoDenied) Reset() { *x = CCSUsrMsg_AmmoDenied{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[52] + mi := &file_cstrike15_usermessages_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3591,7 +3406,7 @@ func (x *CCSUsrMsg_AmmoDenied) String() string { func (*CCSUsrMsg_AmmoDenied) ProtoMessage() {} func (x *CCSUsrMsg_AmmoDenied) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[52] + mi := &file_cstrike15_usermessages_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3604,12 +3419,12 @@ func (x *CCSUsrMsg_AmmoDenied) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_AmmoDenied.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_AmmoDenied) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{52} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{48} } -func (x *CCSUsrMsg_AmmoDenied) GetAmmoIdx() int32 { - if x != nil && x.AmmoIdx != nil { - return *x.AmmoIdx +func (x *CCSUsrMsg_AmmoDenied) GetAmmoidx() int32 { + if x != nil && x.Ammoidx != nil { + return *x.Ammoidx } return 0 } @@ -3625,7 +3440,7 @@ type CCSUsrMsg_MarkAchievement struct { func (x *CCSUsrMsg_MarkAchievement) Reset() { *x = CCSUsrMsg_MarkAchievement{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[53] + mi := &file_cstrike15_usermessages_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3638,7 +3453,7 @@ func (x *CCSUsrMsg_MarkAchievement) String() string { func (*CCSUsrMsg_MarkAchievement) ProtoMessage() {} func (x *CCSUsrMsg_MarkAchievement) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[53] + mi := &file_cstrike15_usermessages_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3651,7 +3466,7 @@ func (x *CCSUsrMsg_MarkAchievement) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_MarkAchievement.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_MarkAchievement) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{53} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{49} } func (x *CCSUsrMsg_MarkAchievement) GetAchievement() string { @@ -3672,7 +3487,7 @@ type CCSUsrMsg_MatchStatsUpdate struct { func (x *CCSUsrMsg_MatchStatsUpdate) Reset() { *x = CCSUsrMsg_MatchStatsUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[54] + mi := &file_cstrike15_usermessages_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3685,7 +3500,7 @@ func (x *CCSUsrMsg_MatchStatsUpdate) String() string { func (*CCSUsrMsg_MatchStatsUpdate) ProtoMessage() {} func (x *CCSUsrMsg_MatchStatsUpdate) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[54] + mi := &file_cstrike15_usermessages_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3698,7 +3513,7 @@ func (x *CCSUsrMsg_MatchStatsUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_MatchStatsUpdate.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_MatchStatsUpdate) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{54} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{50} } func (x *CCSUsrMsg_MatchStatsUpdate) GetUpdate() string { @@ -3720,7 +3535,7 @@ type CCSUsrMsg_ItemDrop struct { func (x *CCSUsrMsg_ItemDrop) Reset() { *x = CCSUsrMsg_ItemDrop{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[55] + mi := &file_cstrike15_usermessages_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3733,7 +3548,7 @@ func (x *CCSUsrMsg_ItemDrop) String() string { func (*CCSUsrMsg_ItemDrop) ProtoMessage() {} func (x *CCSUsrMsg_ItemDrop) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[55] + mi := &file_cstrike15_usermessages_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3746,7 +3561,7 @@ func (x *CCSUsrMsg_ItemDrop) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_ItemDrop.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_ItemDrop) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{55} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{51} } func (x *CCSUsrMsg_ItemDrop) GetItemid() int64 { @@ -3768,13 +3583,18 @@ type CCSUsrMsg_GlowPropTurnOff struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Entidx *int32 `protobuf:"varint,1,opt,name=entidx" json:"entidx,omitempty"` + Entidx *int32 `protobuf:"varint,1,opt,name=entidx,def=-1" json:"entidx,omitempty"` } +// Default values for CCSUsrMsg_GlowPropTurnOff fields. +const ( + Default_CCSUsrMsg_GlowPropTurnOff_Entidx = int32(-1) +) + func (x *CCSUsrMsg_GlowPropTurnOff) Reset() { *x = CCSUsrMsg_GlowPropTurnOff{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[56] + mi := &file_cstrike15_usermessages_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3787,7 +3607,7 @@ func (x *CCSUsrMsg_GlowPropTurnOff) String() string { func (*CCSUsrMsg_GlowPropTurnOff) ProtoMessage() {} func (x *CCSUsrMsg_GlowPropTurnOff) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[56] + mi := &file_cstrike15_usermessages_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3800,14 +3620,14 @@ func (x *CCSUsrMsg_GlowPropTurnOff) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_GlowPropTurnOff.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_GlowPropTurnOff) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{56} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{52} } func (x *CCSUsrMsg_GlowPropTurnOff) GetEntidx() int32 { if x != nil && x.Entidx != nil { return *x.Entidx } - return 0 + return Default_CCSUsrMsg_GlowPropTurnOff_Entidx } type CCSUsrMsg_RoundBackupFilenames struct { @@ -3824,7 +3644,7 @@ type CCSUsrMsg_RoundBackupFilenames struct { func (x *CCSUsrMsg_RoundBackupFilenames) Reset() { *x = CCSUsrMsg_RoundBackupFilenames{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[57] + mi := &file_cstrike15_usermessages_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3837,7 +3657,7 @@ func (x *CCSUsrMsg_RoundBackupFilenames) String() string { func (*CCSUsrMsg_RoundBackupFilenames) ProtoMessage() {} func (x *CCSUsrMsg_RoundBackupFilenames) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[57] + mi := &file_cstrike15_usermessages_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3850,7 +3670,7 @@ func (x *CCSUsrMsg_RoundBackupFilenames) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_RoundBackupFilenames.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_RoundBackupFilenames) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{57} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{53} } func (x *CCSUsrMsg_RoundBackupFilenames) GetCount() int32 { @@ -3894,7 +3714,7 @@ type CCSUsrMsg_SSUI struct { func (x *CCSUsrMsg_SSUI) Reset() { *x = CCSUsrMsg_SSUI{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[58] + mi := &file_cstrike15_usermessages_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3907,7 +3727,7 @@ func (x *CCSUsrMsg_SSUI) String() string { func (*CCSUsrMsg_SSUI) ProtoMessage() {} func (x *CCSUsrMsg_SSUI) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[58] + mi := &file_cstrike15_usermessages_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3920,7 +3740,7 @@ func (x *CCSUsrMsg_SSUI) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_SSUI.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_SSUI) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{58} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{54} } func (x *CCSUsrMsg_SSUI) GetShow() bool { @@ -3959,7 +3779,7 @@ type CCSUsrMsg_SurvivalStats struct { func (x *CCSUsrMsg_SurvivalStats) Reset() { *x = CCSUsrMsg_SurvivalStats{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[59] + mi := &file_cstrike15_usermessages_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3972,7 +3792,7 @@ func (x *CCSUsrMsg_SurvivalStats) String() string { func (*CCSUsrMsg_SurvivalStats) ProtoMessage() {} func (x *CCSUsrMsg_SurvivalStats) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[59] + mi := &file_cstrike15_usermessages_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3985,7 +3805,7 @@ func (x *CCSUsrMsg_SurvivalStats) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_SurvivalStats.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_SurvivalStats) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{59} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{55} } func (x *CCSUsrMsg_SurvivalStats) GetXuid() uint64 { @@ -4035,7 +3855,7 @@ type CCSUsrMsg_EndOfMatchAllPlayersData struct { func (x *CCSUsrMsg_EndOfMatchAllPlayersData) Reset() { *x = CCSUsrMsg_EndOfMatchAllPlayersData{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[60] + mi := &file_cstrike15_usermessages_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4048,7 +3868,7 @@ func (x *CCSUsrMsg_EndOfMatchAllPlayersData) String() string { func (*CCSUsrMsg_EndOfMatchAllPlayersData) ProtoMessage() {} func (x *CCSUsrMsg_EndOfMatchAllPlayersData) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[60] + mi := &file_cstrike15_usermessages_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4061,7 +3881,7 @@ func (x *CCSUsrMsg_EndOfMatchAllPlayersData) ProtoReflect() protoreflect.Message // Deprecated: Use CCSUsrMsg_EndOfMatchAllPlayersData.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_EndOfMatchAllPlayersData) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{60} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{56} } func (x *CCSUsrMsg_EndOfMatchAllPlayersData) GetAllplayerdata() []*CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData { @@ -4078,32 +3898,32 @@ func (x *CCSUsrMsg_EndOfMatchAllPlayersData) GetScene() int32 { return 0 } -type CCSUsrMsg_RoundImpactScoreData struct { +type CCSUsrMsg_RoundEndReportData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - InitConditions *CCSUsrMsg_RoundImpactScoreData_InitialConditions `protobuf:"bytes,1,opt,name=init_conditions,json=initConditions" json:"init_conditions,omitempty"` - AllRisEventData []*CCSUsrMsg_RoundImpactScoreData_RisEvent `protobuf:"bytes,2,rep,name=all_ris_event_data,json=allRisEventData" json:"all_ris_event_data,omitempty"` + InitConditions *CCSUsrMsg_RoundEndReportData_InitialConditions `protobuf:"bytes,1,opt,name=init_conditions,json=initConditions" json:"init_conditions,omitempty"` + AllRerEventData []*CCSUsrMsg_RoundEndReportData_RerEvent `protobuf:"bytes,2,rep,name=all_rer_event_data,json=allRerEventData" json:"all_rer_event_data,omitempty"` } -func (x *CCSUsrMsg_RoundImpactScoreData) Reset() { - *x = CCSUsrMsg_RoundImpactScoreData{} +func (x *CCSUsrMsg_RoundEndReportData) Reset() { + *x = CCSUsrMsg_RoundEndReportData{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[61] + mi := &file_cstrike15_usermessages_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCSUsrMsg_RoundImpactScoreData) String() string { +func (x *CCSUsrMsg_RoundEndReportData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCSUsrMsg_RoundImpactScoreData) ProtoMessage() {} +func (*CCSUsrMsg_RoundEndReportData) ProtoMessage() {} -func (x *CCSUsrMsg_RoundImpactScoreData) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[61] +func (x *CCSUsrMsg_RoundEndReportData) ProtoReflect() protoreflect.Message { + mi := &file_cstrike15_usermessages_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4114,25 +3934,120 @@ func (x *CCSUsrMsg_RoundImpactScoreData) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CCSUsrMsg_RoundImpactScoreData.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_RoundImpactScoreData) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{61} +// Deprecated: Use CCSUsrMsg_RoundEndReportData.ProtoReflect.Descriptor instead. +func (*CCSUsrMsg_RoundEndReportData) Descriptor() ([]byte, []int) { + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{57} } -func (x *CCSUsrMsg_RoundImpactScoreData) GetInitConditions() *CCSUsrMsg_RoundImpactScoreData_InitialConditions { +func (x *CCSUsrMsg_RoundEndReportData) GetInitConditions() *CCSUsrMsg_RoundEndReportData_InitialConditions { if x != nil { return x.InitConditions } return nil } -func (x *CCSUsrMsg_RoundImpactScoreData) GetAllRisEventData() []*CCSUsrMsg_RoundImpactScoreData_RisEvent { +func (x *CCSUsrMsg_RoundEndReportData) GetAllRerEventData() []*CCSUsrMsg_RoundEndReportData_RerEvent { if x != nil { - return x.AllRisEventData + return x.AllRerEventData } return nil } +type CCSUsrMsg_PostRoundDamageReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OtherXuid *uint64 `protobuf:"varint,1,opt,name=other_xuid,json=otherXuid" json:"other_xuid,omitempty"` + GivenKillType *int32 `protobuf:"varint,2,opt,name=given_kill_type,json=givenKillType" json:"given_kill_type,omitempty"` + GivenHealthRemoved *int32 `protobuf:"varint,3,opt,name=given_health_removed,json=givenHealthRemoved" json:"given_health_removed,omitempty"` + GivenNumHits *int32 `protobuf:"varint,4,opt,name=given_num_hits,json=givenNumHits" json:"given_num_hits,omitempty"` + TakenKillType *int32 `protobuf:"varint,5,opt,name=taken_kill_type,json=takenKillType" json:"taken_kill_type,omitempty"` + TakenHealthRemoved *int32 `protobuf:"varint,6,opt,name=taken_health_removed,json=takenHealthRemoved" json:"taken_health_removed,omitempty"` + TakenNumHits *int32 `protobuf:"varint,7,opt,name=taken_num_hits,json=takenNumHits" json:"taken_num_hits,omitempty"` +} + +func (x *CCSUsrMsg_PostRoundDamageReport) Reset() { + *x = CCSUsrMsg_PostRoundDamageReport{} + if protoimpl.UnsafeEnabled { + mi := &file_cstrike15_usermessages_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CCSUsrMsg_PostRoundDamageReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CCSUsrMsg_PostRoundDamageReport) ProtoMessage() {} + +func (x *CCSUsrMsg_PostRoundDamageReport) ProtoReflect() protoreflect.Message { + mi := &file_cstrike15_usermessages_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 CCSUsrMsg_PostRoundDamageReport.ProtoReflect.Descriptor instead. +func (*CCSUsrMsg_PostRoundDamageReport) Descriptor() ([]byte, []int) { + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{58} +} + +func (x *CCSUsrMsg_PostRoundDamageReport) GetOtherXuid() uint64 { + if x != nil && x.OtherXuid != nil { + return *x.OtherXuid + } + return 0 +} + +func (x *CCSUsrMsg_PostRoundDamageReport) GetGivenKillType() int32 { + if x != nil && x.GivenKillType != nil { + return *x.GivenKillType + } + return 0 +} + +func (x *CCSUsrMsg_PostRoundDamageReport) GetGivenHealthRemoved() int32 { + if x != nil && x.GivenHealthRemoved != nil { + return *x.GivenHealthRemoved + } + return 0 +} + +func (x *CCSUsrMsg_PostRoundDamageReport) GetGivenNumHits() int32 { + if x != nil && x.GivenNumHits != nil { + return *x.GivenNumHits + } + return 0 +} + +func (x *CCSUsrMsg_PostRoundDamageReport) GetTakenKillType() int32 { + if x != nil && x.TakenKillType != nil { + return *x.TakenKillType + } + return 0 +} + +func (x *CCSUsrMsg_PostRoundDamageReport) GetTakenHealthRemoved() int32 { + if x != nil && x.TakenHealthRemoved != nil { + return *x.TakenHealthRemoved + } + return 0 +} + +func (x *CCSUsrMsg_PostRoundDamageReport) GetTakenNumHits() int32 { + if x != nil && x.TakenNumHits != nil { + return *x.TakenNumHits + } + return 0 +} + type CCSUsrMsg_CurrentRoundOdds struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -4144,7 +4059,7 @@ type CCSUsrMsg_CurrentRoundOdds struct { func (x *CCSUsrMsg_CurrentRoundOdds) Reset() { *x = CCSUsrMsg_CurrentRoundOdds{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[62] + mi := &file_cstrike15_usermessages_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4154,10 +4069,57 @@ func (x *CCSUsrMsg_CurrentRoundOdds) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCSUsrMsg_CurrentRoundOdds) ProtoMessage() {} +func (*CCSUsrMsg_CurrentRoundOdds) ProtoMessage() {} + +func (x *CCSUsrMsg_CurrentRoundOdds) ProtoReflect() protoreflect.Message { + mi := &file_cstrike15_usermessages_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 CCSUsrMsg_CurrentRoundOdds.ProtoReflect.Descriptor instead. +func (*CCSUsrMsg_CurrentRoundOdds) Descriptor() ([]byte, []int) { + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{59} +} + +func (x *CCSUsrMsg_CurrentRoundOdds) GetOdds() int32 { + if x != nil && x.Odds != nil { + return *x.Odds + } + return 0 +} + +type CCSUsrMsg_DeepStats struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Stats *CMsgGCCStrike15_ClientDeepStats `protobuf:"bytes,1,opt,name=stats" json:"stats,omitempty"` +} + +func (x *CCSUsrMsg_DeepStats) Reset() { + *x = CCSUsrMsg_DeepStats{} + if protoimpl.UnsafeEnabled { + mi := &file_cstrike15_usermessages_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CCSUsrMsg_DeepStats) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CCSUsrMsg_DeepStats) ProtoMessage() {} -func (x *CCSUsrMsg_CurrentRoundOdds) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[62] +func (x *CCSUsrMsg_DeepStats) ProtoReflect() protoreflect.Message { + mi := &file_cstrike15_usermessages_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4168,43 +4130,46 @@ func (x *CCSUsrMsg_CurrentRoundOdds) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CCSUsrMsg_CurrentRoundOdds.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_CurrentRoundOdds) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{62} +// Deprecated: Use CCSUsrMsg_DeepStats.ProtoReflect.Descriptor instead. +func (*CCSUsrMsg_DeepStats) Descriptor() ([]byte, []int) { + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{60} } -func (x *CCSUsrMsg_CurrentRoundOdds) GetOdds() int32 { - if x != nil && x.Odds != nil { - return *x.Odds +func (x *CCSUsrMsg_DeepStats) GetStats() *CMsgGCCStrike15_ClientDeepStats { + if x != nil { + return x.Stats } - return 0 + return nil } -type CCSUsrMsg_DeepStats struct { +type CCSUsrMsg_ShootInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Stats *CMsgGCCStrike15_ClientDeepStats `protobuf:"bytes,1,opt,name=stats" json:"stats,omitempty"` + FrameNumber *int32 `protobuf:"varint,1,opt,name=frame_number,json=frameNumber" json:"frame_number,omitempty"` + HitboxTransforms []*CMsgTransform `protobuf:"bytes,2,rep,name=hitbox_transforms,json=hitboxTransforms" json:"hitbox_transforms,omitempty"` + ShootPos *CMsgVector `protobuf:"bytes,3,opt,name=shoot_pos,json=shootPos" json:"shoot_pos,omitempty"` + ShootDir *CMsgQAngle `protobuf:"bytes,4,opt,name=shoot_dir,json=shootDir" json:"shoot_dir,omitempty"` } -func (x *CCSUsrMsg_DeepStats) Reset() { - *x = CCSUsrMsg_DeepStats{} +func (x *CCSUsrMsg_ShootInfo) Reset() { + *x = CCSUsrMsg_ShootInfo{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[63] + mi := &file_cstrike15_usermessages_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCSUsrMsg_DeepStats) String() string { +func (x *CCSUsrMsg_ShootInfo) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCSUsrMsg_DeepStats) ProtoMessage() {} +func (*CCSUsrMsg_ShootInfo) ProtoMessage() {} -func (x *CCSUsrMsg_DeepStats) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[63] +func (x *CCSUsrMsg_ShootInfo) ProtoReflect() protoreflect.Message { + mi := &file_cstrike15_usermessages_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4215,14 +4180,35 @@ func (x *CCSUsrMsg_DeepStats) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CCSUsrMsg_DeepStats.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_DeepStats) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{63} +// Deprecated: Use CCSUsrMsg_ShootInfo.ProtoReflect.Descriptor instead. +func (*CCSUsrMsg_ShootInfo) Descriptor() ([]byte, []int) { + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{61} } -func (x *CCSUsrMsg_DeepStats) GetStats() *CMsgGCCStrike15_ClientDeepStats { +func (x *CCSUsrMsg_ShootInfo) GetFrameNumber() int32 { + if x != nil && x.FrameNumber != nil { + return *x.FrameNumber + } + return 0 +} + +func (x *CCSUsrMsg_ShootInfo) GetHitboxTransforms() []*CMsgTransform { if x != nil { - return x.Stats + return x.HitboxTransforms + } + return nil +} + +func (x *CCSUsrMsg_ShootInfo) GetShootPos() *CMsgVector { + if x != nil { + return x.ShootPos + } + return nil +} + +func (x *CCSUsrMsg_ShootInfo) GetShootDir() *CMsgQAngle { + if x != nil { + return x.ShootDir } return nil } @@ -4238,7 +4224,7 @@ type CCSUsrMsg_ResetHud struct { func (x *CCSUsrMsg_ResetHud) Reset() { *x = CCSUsrMsg_ResetHud{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[64] + mi := &file_cstrike15_usermessages_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4251,7 +4237,7 @@ func (x *CCSUsrMsg_ResetHud) String() string { func (*CCSUsrMsg_ResetHud) ProtoMessage() {} func (x *CCSUsrMsg_ResetHud) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[64] + mi := &file_cstrike15_usermessages_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4264,7 +4250,7 @@ func (x *CCSUsrMsg_ResetHud) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_ResetHud.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_ResetHud) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{64} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{62} } func (x *CCSUsrMsg_ResetHud) GetReset_() bool { @@ -4285,7 +4271,7 @@ type CCSUsrMsg_GameTitle struct { func (x *CCSUsrMsg_GameTitle) Reset() { *x = CCSUsrMsg_GameTitle{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[65] + mi := &file_cstrike15_usermessages_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4298,7 +4284,7 @@ func (x *CCSUsrMsg_GameTitle) String() string { func (*CCSUsrMsg_GameTitle) ProtoMessage() {} func (x *CCSUsrMsg_GameTitle) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[65] + mi := &file_cstrike15_usermessages_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4311,7 +4297,7 @@ func (x *CCSUsrMsg_GameTitle) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_GameTitle.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_GameTitle) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{65} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{63} } func (x *CCSUsrMsg_GameTitle) GetDummy() int32 { @@ -4332,7 +4318,7 @@ type CCSUsrMsg_RequestState struct { func (x *CCSUsrMsg_RequestState) Reset() { *x = CCSUsrMsg_RequestState{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[66] + mi := &file_cstrike15_usermessages_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4345,7 +4331,7 @@ func (x *CCSUsrMsg_RequestState) String() string { func (*CCSUsrMsg_RequestState) ProtoMessage() {} func (x *CCSUsrMsg_RequestState) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[66] + mi := &file_cstrike15_usermessages_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4358,7 +4344,7 @@ func (x *CCSUsrMsg_RequestState) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_RequestState.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_RequestState) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{66} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{64} } func (x *CCSUsrMsg_RequestState) GetDummy() int32 { @@ -4379,7 +4365,7 @@ type CCSUsrMsg_StopSpectatorMode struct { func (x *CCSUsrMsg_StopSpectatorMode) Reset() { *x = CCSUsrMsg_StopSpectatorMode{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[67] + mi := &file_cstrike15_usermessages_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4392,7 +4378,7 @@ func (x *CCSUsrMsg_StopSpectatorMode) String() string { func (*CCSUsrMsg_StopSpectatorMode) ProtoMessage() {} func (x *CCSUsrMsg_StopSpectatorMode) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[67] + mi := &file_cstrike15_usermessages_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4405,7 +4391,7 @@ func (x *CCSUsrMsg_StopSpectatorMode) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_StopSpectatorMode.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_StopSpectatorMode) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{67} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{65} } func (x *CCSUsrMsg_StopSpectatorMode) GetDummy() int32 { @@ -4426,7 +4412,7 @@ type CCSUsrMsg_DisconnectToLobby struct { func (x *CCSUsrMsg_DisconnectToLobby) Reset() { *x = CCSUsrMsg_DisconnectToLobby{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[68] + mi := &file_cstrike15_usermessages_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4439,7 +4425,7 @@ func (x *CCSUsrMsg_DisconnectToLobby) String() string { func (*CCSUsrMsg_DisconnectToLobby) ProtoMessage() {} func (x *CCSUsrMsg_DisconnectToLobby) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[68] + mi := &file_cstrike15_usermessages_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4452,7 +4438,7 @@ func (x *CCSUsrMsg_DisconnectToLobby) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_DisconnectToLobby.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_DisconnectToLobby) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{68} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{66} } func (x *CCSUsrMsg_DisconnectToLobby) GetDummy() int32 { @@ -4473,7 +4459,7 @@ type CCSUsrMsg_WarmupHasEnded struct { func (x *CCSUsrMsg_WarmupHasEnded) Reset() { *x = CCSUsrMsg_WarmupHasEnded{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[69] + mi := &file_cstrike15_usermessages_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4486,7 +4472,7 @@ func (x *CCSUsrMsg_WarmupHasEnded) String() string { func (*CCSUsrMsg_WarmupHasEnded) ProtoMessage() {} func (x *CCSUsrMsg_WarmupHasEnded) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[69] + mi := &file_cstrike15_usermessages_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4499,7 +4485,7 @@ func (x *CCSUsrMsg_WarmupHasEnded) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_WarmupHasEnded.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_WarmupHasEnded) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{69} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{67} } func (x *CCSUsrMsg_WarmupHasEnded) GetDummy() int32 { @@ -4520,7 +4506,7 @@ type CCSUsrMsg_ClientInfo struct { func (x *CCSUsrMsg_ClientInfo) Reset() { *x = CCSUsrMsg_ClientInfo{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[70] + mi := &file_cstrike15_usermessages_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4533,7 +4519,7 @@ func (x *CCSUsrMsg_ClientInfo) String() string { func (*CCSUsrMsg_ClientInfo) ProtoMessage() {} func (x *CCSUsrMsg_ClientInfo) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[70] + mi := &file_cstrike15_usermessages_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4546,7 +4532,7 @@ func (x *CCSUsrMsg_ClientInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_ClientInfo.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_ClientInfo) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{70} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{68} } func (x *CCSUsrMsg_ClientInfo) GetDummy() int32 { @@ -4568,7 +4554,7 @@ type CCSUsrMsg_ServerRankRevealAll struct { func (x *CCSUsrMsg_ServerRankRevealAll) Reset() { *x = CCSUsrMsg_ServerRankRevealAll{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[71] + mi := &file_cstrike15_usermessages_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4581,7 +4567,7 @@ func (x *CCSUsrMsg_ServerRankRevealAll) String() string { func (*CCSUsrMsg_ServerRankRevealAll) ProtoMessage() {} func (x *CCSUsrMsg_ServerRankRevealAll) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[71] + mi := &file_cstrike15_usermessages_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4594,7 +4580,7 @@ func (x *CCSUsrMsg_ServerRankRevealAll) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_ServerRankRevealAll.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_ServerRankRevealAll) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{71} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{69} } func (x *CCSUsrMsg_ServerRankRevealAll) GetSecondsTillShutdown() int32 { @@ -4611,127 +4597,33 @@ func (x *CCSUsrMsg_ServerRankRevealAll) GetReservation() *CMsgGCCStrike15V2_Matc return nil } -type CCSUsrMsg_UtilMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UtilAction *string `protobuf:"bytes,1,opt,name=util_action,json=utilAction" json:"util_action,omitempty"` - Util1 *int32 `protobuf:"varint,2,opt,name=util1" json:"util1,omitempty"` - Util2 *int32 `protobuf:"varint,3,opt,name=util2" json:"util2,omitempty"` - Util3 *int32 `protobuf:"varint,4,opt,name=util3" json:"util3,omitempty"` - Util4 *int32 `protobuf:"varint,5,opt,name=util4" json:"util4,omitempty"` - Util5 *int32 `protobuf:"varint,6,opt,name=util5" json:"util5,omitempty"` -} - -func (x *CCSUsrMsg_UtilMsg) Reset() { - *x = CCSUsrMsg_UtilMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[72] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CCSUsrMsg_UtilMsg) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CCSUsrMsg_UtilMsg) ProtoMessage() {} - -func (x *CCSUsrMsg_UtilMsg) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[72] - 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 CCSUsrMsg_UtilMsg.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_UtilMsg) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{72} -} - -func (x *CCSUsrMsg_UtilMsg) GetUtilAction() string { - if x != nil && x.UtilAction != nil { - return *x.UtilAction - } - return "" -} - -func (x *CCSUsrMsg_UtilMsg) GetUtil1() int32 { - if x != nil && x.Util1 != nil { - return *x.Util1 - } - return 0 -} - -func (x *CCSUsrMsg_UtilMsg) GetUtil2() int32 { - if x != nil && x.Util2 != nil { - return *x.Util2 - } - return 0 -} - -func (x *CCSUsrMsg_UtilMsg) GetUtil3() int32 { - if x != nil && x.Util3 != nil { - return *x.Util3 - } - return 0 -} - -func (x *CCSUsrMsg_UtilMsg) GetUtil4() int32 { - if x != nil && x.Util4 != nil { - return *x.Util4 - } - return 0 -} - -func (x *CCSUsrMsg_UtilMsg) GetUtil5() int32 { - if x != nil && x.Util5 != nil { - return *x.Util5 - } - return 0 -} - -type CCSUsrMsg_UtilMsg_Response struct { +type CCSUsrMsgPreMatchSayText struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Crc *uint32 `protobuf:"fixed32,1,opt,name=crc" json:"crc,omitempty"` - ItemCount *int32 `protobuf:"varint,2,opt,name=item_count,json=itemCount" json:"item_count,omitempty"` - Crc2 *uint32 `protobuf:"fixed32,3,opt,name=crc2" json:"crc2,omitempty"` - ItemCount2 *int32 `protobuf:"varint,4,opt,name=item_count2,json=itemCount2" json:"item_count2,omitempty"` - CrcPart []int32 `protobuf:"varint,5,rep,name=crc_part,json=crcPart" json:"crc_part,omitempty"` - CrcPart2 []int32 `protobuf:"varint,6,rep,name=crc_part2,json=crcPart2" json:"crc_part2,omitempty"` - ClientTimestamp *int32 `protobuf:"varint,7,opt,name=client_timestamp,json=clientTimestamp" json:"client_timestamp,omitempty"` - Platform *int32 `protobuf:"varint,8,opt,name=platform" json:"platform,omitempty"` - Itemdetails []*CCSUsrMsg_UtilMsg_Response_ItemDetail `protobuf:"bytes,9,rep,name=itemdetails" json:"itemdetails,omitempty"` - Itemgroup *int32 `protobuf:"varint,10,opt,name=itemgroup" json:"itemgroup,omitempty"` + AccountId *uint32 `protobuf:"varint,1,opt,name=account_id,json=accountId" json:"account_id,omitempty"` + Text *string `protobuf:"bytes,2,opt,name=text" json:"text,omitempty"` + AllChat *bool `protobuf:"varint,3,opt,name=all_chat,json=allChat" json:"all_chat,omitempty"` } -func (x *CCSUsrMsg_UtilMsg_Response) Reset() { - *x = CCSUsrMsg_UtilMsg_Response{} +func (x *CCSUsrMsgPreMatchSayText) Reset() { + *x = CCSUsrMsgPreMatchSayText{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[73] + mi := &file_cstrike15_usermessages_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCSUsrMsg_UtilMsg_Response) String() string { +func (x *CCSUsrMsgPreMatchSayText) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCSUsrMsg_UtilMsg_Response) ProtoMessage() {} +func (*CCSUsrMsgPreMatchSayText) ProtoMessage() {} -func (x *CCSUsrMsg_UtilMsg_Response) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[73] +func (x *CCSUsrMsgPreMatchSayText) ProtoReflect() protoreflect.Message { + mi := &file_cstrike15_usermessages_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4742,107 +4634,58 @@ func (x *CCSUsrMsg_UtilMsg_Response) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CCSUsrMsg_UtilMsg_Response.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_UtilMsg_Response) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{73} -} - -func (x *CCSUsrMsg_UtilMsg_Response) GetCrc() uint32 { - if x != nil && x.Crc != nil { - return *x.Crc - } - return 0 -} - -func (x *CCSUsrMsg_UtilMsg_Response) GetItemCount() int32 { - if x != nil && x.ItemCount != nil { - return *x.ItemCount - } - return 0 -} - -func (x *CCSUsrMsg_UtilMsg_Response) GetCrc2() uint32 { - if x != nil && x.Crc2 != nil { - return *x.Crc2 - } - return 0 -} - -func (x *CCSUsrMsg_UtilMsg_Response) GetItemCount2() int32 { - if x != nil && x.ItemCount2 != nil { - return *x.ItemCount2 - } - return 0 -} - -func (x *CCSUsrMsg_UtilMsg_Response) GetCrcPart() []int32 { - if x != nil { - return x.CrcPart - } - return nil -} - -func (x *CCSUsrMsg_UtilMsg_Response) GetCrcPart2() []int32 { - if x != nil { - return x.CrcPart2 - } - return nil -} - -func (x *CCSUsrMsg_UtilMsg_Response) GetClientTimestamp() int32 { - if x != nil && x.ClientTimestamp != nil { - return *x.ClientTimestamp - } - return 0 +// Deprecated: Use CCSUsrMsgPreMatchSayText.ProtoReflect.Descriptor instead. +func (*CCSUsrMsgPreMatchSayText) Descriptor() ([]byte, []int) { + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{70} } -func (x *CCSUsrMsg_UtilMsg_Response) GetPlatform() int32 { - if x != nil && x.Platform != nil { - return *x.Platform +func (x *CCSUsrMsgPreMatchSayText) GetAccountId() uint32 { + if x != nil && x.AccountId != nil { + return *x.AccountId } return 0 } -func (x *CCSUsrMsg_UtilMsg_Response) GetItemdetails() []*CCSUsrMsg_UtilMsg_Response_ItemDetail { - if x != nil { - return x.Itemdetails +func (x *CCSUsrMsgPreMatchSayText) GetText() string { + if x != nil && x.Text != nil { + return *x.Text } - return nil + return "" } -func (x *CCSUsrMsg_UtilMsg_Response) GetItemgroup() int32 { - if x != nil && x.Itemgroup != nil { - return *x.Itemgroup +func (x *CCSUsrMsgPreMatchSayText) GetAllChat() bool { + if x != nil && x.AllChat != nil { + return *x.AllChat } - return 0 + return false } -type CCSUsrMsg_VGUIMenu_Subkey struct { +type CCSUsrMsg_VGUIMenu_Keys struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` - Str *string `protobuf:"bytes,2,opt,name=str" json:"str,omitempty"` + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + Value *string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` } -func (x *CCSUsrMsg_VGUIMenu_Subkey) Reset() { - *x = CCSUsrMsg_VGUIMenu_Subkey{} +func (x *CCSUsrMsg_VGUIMenu_Keys) Reset() { + *x = CCSUsrMsg_VGUIMenu_Keys{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[74] + mi := &file_cstrike15_usermessages_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCSUsrMsg_VGUIMenu_Subkey) String() string { +func (x *CCSUsrMsg_VGUIMenu_Keys) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCSUsrMsg_VGUIMenu_Subkey) ProtoMessage() {} +func (*CCSUsrMsg_VGUIMenu_Keys) ProtoMessage() {} -func (x *CCSUsrMsg_VGUIMenu_Subkey) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[74] +func (x *CCSUsrMsg_VGUIMenu_Keys) ProtoReflect() protoreflect.Message { + mi := &file_cstrike15_usermessages_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4853,21 +4696,21 @@ func (x *CCSUsrMsg_VGUIMenu_Subkey) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CCSUsrMsg_VGUIMenu_Subkey.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_VGUIMenu_Subkey) Descriptor() ([]byte, []int) { +// Deprecated: Use CCSUsrMsg_VGUIMenu_Keys.ProtoReflect.Descriptor instead. +func (*CCSUsrMsg_VGUIMenu_Keys) Descriptor() ([]byte, []int) { return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{0, 0} } -func (x *CCSUsrMsg_VGUIMenu_Subkey) GetName() string { +func (x *CCSUsrMsg_VGUIMenu_Keys) GetName() string { if x != nil && x.Name != nil { return *x.Name } return "" } -func (x *CCSUsrMsg_VGUIMenu_Subkey) GetStr() string { - if x != nil && x.Str != nil { - return *x.Str +func (x *CCSUsrMsg_VGUIMenu_Keys) GetValue() string { + if x != nil && x.Value != nil { + return *x.Value } return "" } @@ -4884,7 +4727,7 @@ type CCSUsrMsg_VoiceMask_PlayerMask struct { func (x *CCSUsrMsg_VoiceMask_PlayerMask) Reset() { *x = CCSUsrMsg_VoiceMask_PlayerMask{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[75] + mi := &file_cstrike15_usermessages_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4897,7 +4740,7 @@ func (x *CCSUsrMsg_VoiceMask_PlayerMask) String() string { func (*CCSUsrMsg_VoiceMask_PlayerMask) ProtoMessage() {} func (x *CCSUsrMsg_VoiceMask_PlayerMask) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[75] + mi := &file_cstrike15_usermessages_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4910,7 +4753,7 @@ func (x *CCSUsrMsg_VoiceMask_PlayerMask) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_VoiceMask_PlayerMask.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_VoiceMask_PlayerMask) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{15, 0} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{12, 0} } func (x *CCSUsrMsg_VoiceMask_PlayerMask) GetGameRulesMask() int32 { @@ -4932,7 +4775,7 @@ type CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - EntityIdx *int32 `protobuf:"varint,1,opt,name=entity_idx,json=entityIdx" json:"entity_idx,omitempty"` + EntityIdx *int32 `protobuf:"varint,1,opt,name=entity_idx,json=entityIdx,def=-1" json:"entity_idx,omitempty"` ClassId *int32 `protobuf:"varint,2,opt,name=class_id,json=classId" json:"class_id,omitempty"` OriginX *int32 `protobuf:"varint,3,opt,name=origin_x,json=originX" json:"origin_x,omitempty"` OriginY *int32 `protobuf:"varint,4,opt,name=origin_y,json=originY" json:"origin_y,omitempty"` @@ -4943,10 +4786,15 @@ type CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate struct { PlayerHasC4 *bool `protobuf:"varint,9,opt,name=player_has_c4,json=playerHasC4" json:"player_has_c4,omitempty"` } +// Default values for CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate fields. +const ( + Default_CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate_EntityIdx = int32(-1) +) + func (x *CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate) Reset() { *x = CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[76] + mi := &file_cstrike15_usermessages_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4959,7 +4807,7 @@ func (x *CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate) String() stri func (*CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate) ProtoMessage() {} func (x *CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[76] + mi := &file_cstrike15_usermessages_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4972,14 +4820,14 @@ func (x *CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate) ProtoReflect( // Deprecated: Use CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{20, 0} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{17, 0} } func (x *CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate) GetEntityIdx() int32 { if x != nil && x.EntityIdx != nil { return *x.EntityIdx } - return 0 + return Default_CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate_EntityIdx } func (x *CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate) GetClassId() int32 { @@ -5050,7 +4898,7 @@ type CCSUsrMsg_PlayerStatsUpdate_Stat struct { func (x *CCSUsrMsg_PlayerStatsUpdate_Stat) Reset() { *x = CCSUsrMsg_PlayerStatsUpdate_Stat{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[77] + mi := &file_cstrike15_usermessages_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5063,7 +4911,7 @@ func (x *CCSUsrMsg_PlayerStatsUpdate_Stat) String() string { func (*CCSUsrMsg_PlayerStatsUpdate_Stat) ProtoMessage() {} func (x *CCSUsrMsg_PlayerStatsUpdate_Stat) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[77] + mi := &file_cstrike15_usermessages_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5076,7 +4924,7 @@ func (x *CCSUsrMsg_PlayerStatsUpdate_Stat) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_PlayerStatsUpdate_Stat.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_PlayerStatsUpdate_Stat) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{34, 0} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{31, 0} } func (x *CCSUsrMsg_PlayerStatsUpdate_Stat) GetIdx() int32 { @@ -5109,7 +4957,7 @@ type CCSUsrMsg_ServerRankUpdate_RankUpdate struct { func (x *CCSUsrMsg_ServerRankUpdate_RankUpdate) Reset() { *x = CCSUsrMsg_ServerRankUpdate_RankUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[78] + mi := &file_cstrike15_usermessages_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5122,7 +4970,7 @@ func (x *CCSUsrMsg_ServerRankUpdate_RankUpdate) String() string { func (*CCSUsrMsg_ServerRankUpdate_RankUpdate) ProtoMessage() {} func (x *CCSUsrMsg_ServerRankUpdate_RankUpdate) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[78] + mi := &file_cstrike15_usermessages_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5135,7 +4983,7 @@ func (x *CCSUsrMsg_ServerRankUpdate_RankUpdate) ProtoReflect() protoreflect.Mess // Deprecated: Use CCSUsrMsg_ServerRankUpdate_RankUpdate.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_ServerRankUpdate_RankUpdate) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{47, 0} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{43, 0} } func (x *CCSUsrMsg_ServerRankUpdate_RankUpdate) GetAccountId() int32 { @@ -5194,7 +5042,7 @@ type CCSUsrMsg_SurvivalStats_Fact struct { func (x *CCSUsrMsg_SurvivalStats_Fact) Reset() { *x = CCSUsrMsg_SurvivalStats_Fact{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[79] + mi := &file_cstrike15_usermessages_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5207,7 +5055,7 @@ func (x *CCSUsrMsg_SurvivalStats_Fact) String() string { func (*CCSUsrMsg_SurvivalStats_Fact) ProtoMessage() {} func (x *CCSUsrMsg_SurvivalStats_Fact) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[79] + mi := &file_cstrike15_usermessages_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5220,7 +5068,7 @@ func (x *CCSUsrMsg_SurvivalStats_Fact) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_SurvivalStats_Fact.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_SurvivalStats_Fact) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{59, 0} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{55, 0} } func (x *CCSUsrMsg_SurvivalStats_Fact) GetType() int32 { @@ -5264,7 +5112,7 @@ type CCSUsrMsg_SurvivalStats_Placement struct { func (x *CCSUsrMsg_SurvivalStats_Placement) Reset() { *x = CCSUsrMsg_SurvivalStats_Placement{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[80] + mi := &file_cstrike15_usermessages_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5277,7 +5125,7 @@ func (x *CCSUsrMsg_SurvivalStats_Placement) String() string { func (*CCSUsrMsg_SurvivalStats_Placement) ProtoMessage() {} func (x *CCSUsrMsg_SurvivalStats_Placement) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[80] + mi := &file_cstrike15_usermessages_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5290,7 +5138,7 @@ func (x *CCSUsrMsg_SurvivalStats_Placement) ProtoReflect() protoreflect.Message // Deprecated: Use CCSUsrMsg_SurvivalStats_Placement.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_SurvivalStats_Placement) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{59, 1} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{55, 1} } func (x *CCSUsrMsg_SurvivalStats_Placement) GetXuid() uint64 { @@ -5329,7 +5177,7 @@ type CCSUsrMsg_SurvivalStats_Damage struct { func (x *CCSUsrMsg_SurvivalStats_Damage) Reset() { *x = CCSUsrMsg_SurvivalStats_Damage{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[81] + mi := &file_cstrike15_usermessages_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5342,7 +5190,7 @@ func (x *CCSUsrMsg_SurvivalStats_Damage) String() string { func (*CCSUsrMsg_SurvivalStats_Damage) ProtoMessage() {} func (x *CCSUsrMsg_SurvivalStats_Damage) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[81] + mi := &file_cstrike15_usermessages_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5355,7 +5203,7 @@ func (x *CCSUsrMsg_SurvivalStats_Damage) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_SurvivalStats_Damage.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_SurvivalStats_Damage) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{59, 2} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{55, 2} } func (x *CCSUsrMsg_SurvivalStats_Damage) GetXuid() uint64 { @@ -5406,7 +5254,7 @@ type CCSUsrMsg_EndOfMatchAllPlayersData_Accolade struct { func (x *CCSUsrMsg_EndOfMatchAllPlayersData_Accolade) Reset() { *x = CCSUsrMsg_EndOfMatchAllPlayersData_Accolade{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[82] + mi := &file_cstrike15_usermessages_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5419,7 +5267,7 @@ func (x *CCSUsrMsg_EndOfMatchAllPlayersData_Accolade) String() string { func (*CCSUsrMsg_EndOfMatchAllPlayersData_Accolade) ProtoMessage() {} func (x *CCSUsrMsg_EndOfMatchAllPlayersData_Accolade) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[82] + mi := &file_cstrike15_usermessages_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5432,7 +5280,7 @@ func (x *CCSUsrMsg_EndOfMatchAllPlayersData_Accolade) ProtoReflect() protoreflec // Deprecated: Use CCSUsrMsg_EndOfMatchAllPlayersData_Accolade.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_EndOfMatchAllPlayersData_Accolade) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{60, 0} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{56, 0} } func (x *CCSUsrMsg_EndOfMatchAllPlayersData_Accolade) GetEaccolade() int32 { @@ -5461,7 +5309,7 @@ type CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Entindex *int32 `protobuf:"varint,1,opt,name=entindex" json:"entindex,omitempty"` + Slot *int32 `protobuf:"varint,1,opt,name=slot,def=-1" json:"slot,omitempty"` Xuid *uint64 `protobuf:"varint,2,opt,name=xuid" json:"xuid,omitempty"` Name *string `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"` Teamnumber *int32 `protobuf:"varint,4,opt,name=teamnumber" json:"teamnumber,omitempty"` @@ -5471,10 +5319,15 @@ type CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData struct { Isbot *bool `protobuf:"varint,8,opt,name=isbot" json:"isbot,omitempty"` } +// Default values for CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData fields. +const ( + Default_CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData_Slot = int32(-1) +) + func (x *CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData) Reset() { *x = CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[83] + mi := &file_cstrike15_usermessages_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5487,7 +5340,7 @@ func (x *CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData) String() string { func (*CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData) ProtoMessage() {} func (x *CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[83] + mi := &file_cstrike15_usermessages_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5500,14 +5353,14 @@ func (x *CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData) ProtoReflect() protorefl // Deprecated: Use CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{60, 1} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{56, 1} } -func (x *CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData) GetEntindex() int32 { - if x != nil && x.Entindex != nil { - return *x.Entindex +func (x *CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData) GetSlot() int32 { + if x != nil && x.Slot != nil { + return *x.Slot } - return 0 + return Default_CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData_Slot } func (x *CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData) GetXuid() uint64 { @@ -5559,37 +5412,37 @@ func (x *CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData) GetIsbot() bool { return false } -type CCSUsrMsg_RoundImpactScoreData_RisEvent struct { +type CCSUsrMsg_RoundEndReportData_RerEvent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Timestamp *float32 `protobuf:"fixed32,1,opt,name=timestamp" json:"timestamp,omitempty"` - TerroristOdds *int32 `protobuf:"varint,2,opt,name=terrorist_odds,json=terroristOdds" json:"terrorist_odds,omitempty"` - CtAlive *int32 `protobuf:"varint,3,opt,name=ct_alive,json=ctAlive" json:"ct_alive,omitempty"` - TAlive *int32 `protobuf:"varint,4,opt,name=t_alive,json=tAlive" json:"t_alive,omitempty"` - VictimData *CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim `protobuf:"bytes,5,opt,name=victim_data,json=victimData" json:"victim_data,omitempty"` - ObjectiveData *CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective `protobuf:"bytes,6,opt,name=objective_data,json=objectiveData" json:"objective_data,omitempty"` - AllDamageData []*CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage `protobuf:"bytes,7,rep,name=all_damage_data,json=allDamageData" json:"all_damage_data,omitempty"` + Timestamp *float32 `protobuf:"fixed32,1,opt,name=timestamp" json:"timestamp,omitempty"` + TerroristOdds *int32 `protobuf:"varint,2,opt,name=terrorist_odds,json=terroristOdds" json:"terrorist_odds,omitempty"` + CtAlive *int32 `protobuf:"varint,3,opt,name=ct_alive,json=ctAlive" json:"ct_alive,omitempty"` + TAlive *int32 `protobuf:"varint,4,opt,name=t_alive,json=tAlive" json:"t_alive,omitempty"` + VictimData *CCSUsrMsg_RoundEndReportData_RerEvent_Victim `protobuf:"bytes,5,opt,name=victim_data,json=victimData" json:"victim_data,omitempty"` + ObjectiveData *CCSUsrMsg_RoundEndReportData_RerEvent_Objective `protobuf:"bytes,6,opt,name=objective_data,json=objectiveData" json:"objective_data,omitempty"` + AllDamageData []*CCSUsrMsg_RoundEndReportData_RerEvent_Damage `protobuf:"bytes,7,rep,name=all_damage_data,json=allDamageData" json:"all_damage_data,omitempty"` } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent) Reset() { - *x = CCSUsrMsg_RoundImpactScoreData_RisEvent{} +func (x *CCSUsrMsg_RoundEndReportData_RerEvent) Reset() { + *x = CCSUsrMsg_RoundEndReportData_RerEvent{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[84] + mi := &file_cstrike15_usermessages_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent) String() string { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCSUsrMsg_RoundImpactScoreData_RisEvent) ProtoMessage() {} +func (*CCSUsrMsg_RoundEndReportData_RerEvent) ProtoMessage() {} -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[84] +func (x *CCSUsrMsg_RoundEndReportData_RerEvent) ProtoReflect() protoreflect.Message { + mi := &file_cstrike15_usermessages_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5600,61 +5453,61 @@ func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent) ProtoReflect() protoreflect.Me return mi.MessageOf(x) } -// Deprecated: Use CCSUsrMsg_RoundImpactScoreData_RisEvent.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_RoundImpactScoreData_RisEvent) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{61, 0} +// Deprecated: Use CCSUsrMsg_RoundEndReportData_RerEvent.ProtoReflect.Descriptor instead. +func (*CCSUsrMsg_RoundEndReportData_RerEvent) Descriptor() ([]byte, []int) { + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{57, 0} } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent) GetTimestamp() float32 { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent) GetTimestamp() float32 { if x != nil && x.Timestamp != nil { return *x.Timestamp } return 0 } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent) GetTerroristOdds() int32 { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent) GetTerroristOdds() int32 { if x != nil && x.TerroristOdds != nil { return *x.TerroristOdds } return 0 } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent) GetCtAlive() int32 { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent) GetCtAlive() int32 { if x != nil && x.CtAlive != nil { return *x.CtAlive } return 0 } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent) GetTAlive() int32 { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent) GetTAlive() int32 { if x != nil && x.TAlive != nil { return *x.TAlive } return 0 } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent) GetVictimData() *CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent) GetVictimData() *CCSUsrMsg_RoundEndReportData_RerEvent_Victim { if x != nil { return x.VictimData } return nil } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent) GetObjectiveData() *CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent) GetObjectiveData() *CCSUsrMsg_RoundEndReportData_RerEvent_Objective { if x != nil { return x.ObjectiveData } return nil } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent) GetAllDamageData() []*CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent) GetAllDamageData() []*CCSUsrMsg_RoundEndReportData_RerEvent_Damage { if x != nil { return x.AllDamageData } return nil } -type CCSUsrMsg_RoundImpactScoreData_InitialConditions struct { +type CCSUsrMsg_RoundEndReportData_InitialConditions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -5664,23 +5517,23 @@ type CCSUsrMsg_RoundImpactScoreData_InitialConditions struct { TerroristOdds *int32 `protobuf:"varint,3,opt,name=terrorist_odds,json=terroristOdds" json:"terrorist_odds,omitempty"` } -func (x *CCSUsrMsg_RoundImpactScoreData_InitialConditions) Reset() { - *x = CCSUsrMsg_RoundImpactScoreData_InitialConditions{} +func (x *CCSUsrMsg_RoundEndReportData_InitialConditions) Reset() { + *x = CCSUsrMsg_RoundEndReportData_InitialConditions{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[85] + mi := &file_cstrike15_usermessages_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCSUsrMsg_RoundImpactScoreData_InitialConditions) String() string { +func (x *CCSUsrMsg_RoundEndReportData_InitialConditions) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCSUsrMsg_RoundImpactScoreData_InitialConditions) ProtoMessage() {} +func (*CCSUsrMsg_RoundEndReportData_InitialConditions) ProtoMessage() {} -func (x *CCSUsrMsg_RoundImpactScoreData_InitialConditions) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[85] +func (x *CCSUsrMsg_RoundEndReportData_InitialConditions) ProtoReflect() protoreflect.Message { + mi := &file_cstrike15_usermessages_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5691,62 +5544,67 @@ func (x *CCSUsrMsg_RoundImpactScoreData_InitialConditions) ProtoReflect() protor return mi.MessageOf(x) } -// Deprecated: Use CCSUsrMsg_RoundImpactScoreData_InitialConditions.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_RoundImpactScoreData_InitialConditions) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{61, 1} +// Deprecated: Use CCSUsrMsg_RoundEndReportData_InitialConditions.ProtoReflect.Descriptor instead. +func (*CCSUsrMsg_RoundEndReportData_InitialConditions) Descriptor() ([]byte, []int) { + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{57, 1} } -func (x *CCSUsrMsg_RoundImpactScoreData_InitialConditions) GetCtEquipValue() int32 { +func (x *CCSUsrMsg_RoundEndReportData_InitialConditions) GetCtEquipValue() int32 { if x != nil && x.CtEquipValue != nil { return *x.CtEquipValue } return 0 } -func (x *CCSUsrMsg_RoundImpactScoreData_InitialConditions) GetTEquipValue() int32 { +func (x *CCSUsrMsg_RoundEndReportData_InitialConditions) GetTEquipValue() int32 { if x != nil && x.TEquipValue != nil { return *x.TEquipValue } return 0 } -func (x *CCSUsrMsg_RoundImpactScoreData_InitialConditions) GetTerroristOdds() int32 { +func (x *CCSUsrMsg_RoundEndReportData_InitialConditions) GetTerroristOdds() int32 { if x != nil && x.TerroristOdds != nil { return *x.TerroristOdds } return 0 } -type CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim struct { +type CCSUsrMsg_RoundEndReportData_RerEvent_Victim struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TeamNumber *int32 `protobuf:"varint,1,opt,name=team_number,json=teamNumber" json:"team_number,omitempty"` - Entindex *int32 `protobuf:"varint,2,opt,name=entindex" json:"entindex,omitempty"` + Playerslot *int32 `protobuf:"varint,2,opt,name=playerslot,def=-1" json:"playerslot,omitempty"` Xuid *uint64 `protobuf:"varint,3,opt,name=xuid" json:"xuid,omitempty"` Color *int32 `protobuf:"varint,4,opt,name=color" json:"color,omitempty"` IsBot *bool `protobuf:"varint,5,opt,name=is_bot,json=isBot" json:"is_bot,omitempty"` IsDead *bool `protobuf:"varint,6,opt,name=is_dead,json=isDead" json:"is_dead,omitempty"` } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim) Reset() { - *x = CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim{} +// Default values for CCSUsrMsg_RoundEndReportData_RerEvent_Victim fields. +const ( + Default_CCSUsrMsg_RoundEndReportData_RerEvent_Victim_Playerslot = int32(-1) +) + +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Victim) Reset() { + *x = CCSUsrMsg_RoundEndReportData_RerEvent_Victim{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[86] + mi := &file_cstrike15_usermessages_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim) String() string { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Victim) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim) ProtoMessage() {} +func (*CCSUsrMsg_RoundEndReportData_RerEvent_Victim) ProtoMessage() {} -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[86] +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Victim) ProtoReflect() protoreflect.Message { + mi := &file_cstrike15_usermessages_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5757,54 +5615,54 @@ func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim) ProtoReflect() protoref return mi.MessageOf(x) } -// Deprecated: Use CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{61, 0, 0} +// Deprecated: Use CCSUsrMsg_RoundEndReportData_RerEvent_Victim.ProtoReflect.Descriptor instead. +func (*CCSUsrMsg_RoundEndReportData_RerEvent_Victim) Descriptor() ([]byte, []int) { + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{57, 0, 0} } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim) GetTeamNumber() int32 { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Victim) GetTeamNumber() int32 { if x != nil && x.TeamNumber != nil { return *x.TeamNumber } return 0 } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim) GetEntindex() int32 { - if x != nil && x.Entindex != nil { - return *x.Entindex +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Victim) GetPlayerslot() int32 { + if x != nil && x.Playerslot != nil { + return *x.Playerslot } - return 0 + return Default_CCSUsrMsg_RoundEndReportData_RerEvent_Victim_Playerslot } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim) GetXuid() uint64 { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Victim) GetXuid() uint64 { if x != nil && x.Xuid != nil { return *x.Xuid } return 0 } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim) GetColor() int32 { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Victim) GetColor() int32 { if x != nil && x.Color != nil { return *x.Color } return 0 } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim) GetIsBot() bool { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Victim) GetIsBot() bool { if x != nil && x.IsBot != nil { return *x.IsBot } return false } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim) GetIsDead() bool { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Victim) GetIsDead() bool { if x != nil && x.IsDead != nil { return *x.IsDead } return false } -type CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective struct { +type CCSUsrMsg_RoundEndReportData_RerEvent_Objective struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -5812,23 +5670,23 @@ type CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective struct { Type *int32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective) Reset() { - *x = CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective{} +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Objective) Reset() { + *x = CCSUsrMsg_RoundEndReportData_RerEvent_Objective{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[87] + mi := &file_cstrike15_usermessages_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective) String() string { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Objective) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective) ProtoMessage() {} +func (*CCSUsrMsg_RoundEndReportData_RerEvent_Objective) ProtoMessage() {} -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[87] +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Objective) ProtoReflect() protoreflect.Message { + mi := &file_cstrike15_usermessages_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5839,48 +5697,53 @@ func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective) ProtoReflect() proto return mi.MessageOf(x) } -// Deprecated: Use CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{61, 0, 1} +// Deprecated: Use CCSUsrMsg_RoundEndReportData_RerEvent_Objective.ProtoReflect.Descriptor instead. +func (*CCSUsrMsg_RoundEndReportData_RerEvent_Objective) Descriptor() ([]byte, []int) { + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{57, 0, 1} } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective) GetType() int32 { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Objective) GetType() int32 { if x != nil && x.Type != nil { return *x.Type } return 0 } -type CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage struct { +type CCSUsrMsg_RoundEndReportData_RerEvent_Damage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TargetEntindex *int32 `protobuf:"varint,1,opt,name=target_entindex,json=targetEntindex" json:"target_entindex,omitempty"` - TargetXuid *uint64 `protobuf:"varint,2,opt,name=target_xuid,json=targetXuid" json:"target_xuid,omitempty"` + OtherPlayerslot *int32 `protobuf:"varint,1,opt,name=other_playerslot,json=otherPlayerslot,def=-1" json:"other_playerslot,omitempty"` + OtherXuid *uint64 `protobuf:"varint,2,opt,name=other_xuid,json=otherXuid" json:"other_xuid,omitempty"` HealthRemoved *int32 `protobuf:"varint,3,opt,name=health_removed,json=healthRemoved" json:"health_removed,omitempty"` NumHits *int32 `protobuf:"varint,4,opt,name=num_hits,json=numHits" json:"num_hits,omitempty"` ReturnHealthRemoved *int32 `protobuf:"varint,5,opt,name=return_health_removed,json=returnHealthRemoved" json:"return_health_removed,omitempty"` - NumReturnHits *int32 `protobuf:"varint,6,opt,name=num_return_hits,json=numReturnHits" json:"num_return_hits,omitempty"` + ReturnNumHits *int32 `protobuf:"varint,6,opt,name=return_num_hits,json=returnNumHits" json:"return_num_hits,omitempty"` } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage) Reset() { - *x = CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage{} +// Default values for CCSUsrMsg_RoundEndReportData_RerEvent_Damage fields. +const ( + Default_CCSUsrMsg_RoundEndReportData_RerEvent_Damage_OtherPlayerslot = int32(-1) +) + +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Damage) Reset() { + *x = CCSUsrMsg_RoundEndReportData_RerEvent_Damage{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[88] + mi := &file_cstrike15_usermessages_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage) String() string { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Damage) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage) ProtoMessage() {} +func (*CCSUsrMsg_RoundEndReportData_RerEvent_Damage) ProtoMessage() {} -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[88] +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Damage) ProtoReflect() protoreflect.Message { + mi := &file_cstrike15_usermessages_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5891,933 +5754,853 @@ func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage) ProtoReflect() protoref return mi.MessageOf(x) } -// Deprecated: Use CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{61, 0, 2} +// Deprecated: Use CCSUsrMsg_RoundEndReportData_RerEvent_Damage.ProtoReflect.Descriptor instead. +func (*CCSUsrMsg_RoundEndReportData_RerEvent_Damage) Descriptor() ([]byte, []int) { + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{57, 0, 2} } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage) GetTargetEntindex() int32 { - if x != nil && x.TargetEntindex != nil { - return *x.TargetEntindex +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Damage) GetOtherPlayerslot() int32 { + if x != nil && x.OtherPlayerslot != nil { + return *x.OtherPlayerslot } - return 0 + return Default_CCSUsrMsg_RoundEndReportData_RerEvent_Damage_OtherPlayerslot } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage) GetTargetXuid() uint64 { - if x != nil && x.TargetXuid != nil { - return *x.TargetXuid +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Damage) GetOtherXuid() uint64 { + if x != nil && x.OtherXuid != nil { + return *x.OtherXuid } return 0 } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage) GetHealthRemoved() int32 { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Damage) GetHealthRemoved() int32 { if x != nil && x.HealthRemoved != nil { return *x.HealthRemoved } return 0 } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage) GetNumHits() int32 { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Damage) GetNumHits() int32 { if x != nil && x.NumHits != nil { return *x.NumHits } return 0 } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage) GetReturnHealthRemoved() int32 { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Damage) GetReturnHealthRemoved() int32 { if x != nil && x.ReturnHealthRemoved != nil { return *x.ReturnHealthRemoved } return 0 } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage) GetNumReturnHits() int32 { - if x != nil && x.NumReturnHits != nil { - return *x.NumReturnHits - } - return 0 -} - -type CCSUsrMsg_UtilMsg_Response_ItemDetail struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Index *int32 `protobuf:"varint,1,opt,name=index" json:"index,omitempty"` - Hash *int32 `protobuf:"varint,2,opt,name=hash" json:"hash,omitempty"` - Crc *int32 `protobuf:"varint,3,opt,name=crc" json:"crc,omitempty"` - Name *string `protobuf:"bytes,4,opt,name=name" json:"name,omitempty"` -} - -func (x *CCSUsrMsg_UtilMsg_Response_ItemDetail) Reset() { - *x = CCSUsrMsg_UtilMsg_Response_ItemDetail{} - if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[89] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CCSUsrMsg_UtilMsg_Response_ItemDetail) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CCSUsrMsg_UtilMsg_Response_ItemDetail) ProtoMessage() {} - -func (x *CCSUsrMsg_UtilMsg_Response_ItemDetail) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[89] - 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 CCSUsrMsg_UtilMsg_Response_ItemDetail.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_UtilMsg_Response_ItemDetail) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{73, 0} -} - -func (x *CCSUsrMsg_UtilMsg_Response_ItemDetail) GetIndex() int32 { - if x != nil && x.Index != nil { - return *x.Index - } - return 0 -} - -func (x *CCSUsrMsg_UtilMsg_Response_ItemDetail) GetHash() int32 { - if x != nil && x.Hash != nil { - return *x.Hash - } - return 0 -} - -func (x *CCSUsrMsg_UtilMsg_Response_ItemDetail) GetCrc() int32 { - if x != nil && x.Crc != nil { - return *x.Crc +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Damage) GetReturnNumHits() int32 { + if x != nil && x.ReturnNumHits != nil { + return *x.ReturnNumHits } return 0 } -func (x *CCSUsrMsg_UtilMsg_Response_ItemDetail) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - var File_cstrike15_usermessages_proto protoreflect.FileDescriptor var file_cstrike15_usermessages_proto_rawDesc = []byte{ 0x0a, 0x1c, 0x63, 0x73, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x75, 0x73, 0x65, 0x72, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x11, 0x6e, 0x65, 0x74, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x63, 0x73, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x67, - 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0xa2, 0x01, 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x47, - 0x55, 0x49, 0x4d, 0x65, 0x6e, 0x75, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x68, - 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x73, 0x68, 0x6f, 0x77, 0x12, 0x34, - 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x47, 0x55, 0x49, - 0x4d, 0x65, 0x6e, 0x75, 0x2e, 0x53, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x52, 0x07, 0x73, 0x75, 0x62, - 0x6b, 0x65, 0x79, 0x73, 0x1a, 0x2e, 0x0a, 0x06, 0x53, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x74, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x73, 0x74, 0x72, 0x22, 0x28, 0x0a, 0x10, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x47, 0x65, 0x69, 0x67, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x27, - 0x0a, 0x0f, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x72, 0x61, 0x69, - 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x22, 0x27, 0x0a, 0x11, 0x43, 0x43, 0x53, 0x55, 0x73, - 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x75, 0x64, 0x54, 0x65, 0x78, 0x74, 0x12, 0x12, 0x0a, 0x04, - 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, - 0x22, 0x76, 0x0a, 0x11, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x61, - 0x79, 0x54, 0x65, 0x78, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x78, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x78, 0x12, 0x12, - 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, - 0x78, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x68, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x04, 0x63, 0x68, 0x61, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x65, 0x78, 0x74, 0x61, 0x6c, - 0x6c, 0x63, 0x68, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x74, 0x65, 0x78, - 0x74, 0x61, 0x6c, 0x6c, 0x63, 0x68, 0x61, 0x74, 0x22, 0x96, 0x01, 0x0a, 0x12, 0x43, 0x43, 0x53, - 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x32, 0x12, - 0x17, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x68, 0x61, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x63, 0x68, 0x61, 0x74, 0x12, 0x19, 0x0a, 0x08, - 0x6d, 0x73, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x6d, 0x73, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, - 0x20, 0x0a, 0x0b, 0x74, 0x65, 0x78, 0x74, 0x61, 0x6c, 0x6c, 0x63, 0x68, 0x61, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x74, 0x65, 0x78, 0x74, 0x61, 0x6c, 0x6c, 0x63, 0x68, 0x61, - 0x74, 0x22, 0x44, 0x0a, 0x11, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, - 0x65, 0x78, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x5f, 0x64, 0x73, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x73, 0x67, 0x44, 0x73, 0x74, 0x12, - 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xb3, 0x02, 0x0a, 0x10, 0x43, 0x43, 0x53, 0x55, - 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x75, 0x64, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x32, 0x44, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x1d, 0x0a, 0x04, 0x63, 0x6c, 0x72, 0x31, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x47, 0x42, 0x41, - 0x52, 0x04, 0x63, 0x6c, 0x72, 0x31, 0x12, 0x1d, 0x0a, 0x04, 0x63, 0x6c, 0x72, 0x32, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x47, 0x42, 0x41, 0x52, - 0x04, 0x63, 0x6c, 0x72, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, - 0x0c, 0x66, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x0a, 0x66, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x22, 0x0a, 0x0d, 0x66, 0x61, 0x64, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x66, 0x61, 0x64, 0x65, 0x4f, 0x75, 0x74, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x68, 0x6f, 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x17, 0x0a, 0x07, 0x66, 0x78, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x06, 0x66, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, - 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0x8e, 0x01, - 0x0a, 0x0f, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x68, 0x61, 0x6b, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x6d, 0x70, 0x6c, 0x69, - 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, - 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7c, - 0x0a, 0x0e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x46, 0x61, 0x64, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, - 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x68, 0x6f, 0x6c, 0x64, 0x54, 0x69, 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, - 0x1b, 0x0a, 0x03, 0x63, 0x6c, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x52, 0x47, 0x42, 0x41, 0x52, 0x03, 0x63, 0x6c, 0x72, 0x22, 0x52, 0x0a, 0x10, - 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x75, 0x6d, 0x62, 0x6c, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, - 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, - 0x22, 0x83, 0x01, 0x0a, 0x16, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, - 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x68, - 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, - 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x66, - 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x63, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, - 0x63, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x6f, 0x0a, 0x1c, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, - 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x66, 0x72, 0x6f, - 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x22, 0x36, 0x0a, 0x13, 0x43, 0x43, 0x53, 0x55, 0x73, - 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x1f, - 0x0a, 0x0b, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x22, - 0x85, 0x01, 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x61, - 0x77, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x69, 0x74, 0x63, 0x68, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x69, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, - 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x6e, - 0x74, 0x69, 0x64, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x25, 0x0a, 0x0e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x46, - 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd8, 0x01, 0x0a, 0x13, 0x43, 0x43, 0x53, 0x55, - 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, - 0x42, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x2e, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, - 0x73, 0x6b, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6d, 0x6f, - 0x64, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x1a, - 0x51, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x26, 0x0a, - 0x0f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x6d, 0x61, 0x73, 0x6b, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x67, 0x61, 0x6d, 0x65, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x6e, 0x5f, 0x6d, 0x61, 0x73, - 0x6b, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x61, 0x6e, 0x4d, 0x61, 0x73, - 0x6b, 0x73, 0x22, 0x90, 0x01, 0x0a, 0x10, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, - 0x5f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x3b, 0x0a, 0x13, 0x69, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x77, 0x6f, 0x72, - 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x11, 0x69, 0x6e, 0x66, 0x6c, 0x69, - 0x63, 0x74, 0x6f, 0x72, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6f, 0x73, 0x12, 0x27, 0x0a, 0x0f, - 0x76, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x45, 0x6e, 0x74, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x79, 0x0a, 0x13, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, - 0x73, 0x67, 0x5f, 0x52, 0x61, 0x64, 0x69, 0x6f, 0x54, 0x65, 0x78, 0x74, 0x12, 0x17, 0x0a, 0x07, - 0x6d, 0x73, 0x67, 0x5f, 0x64, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, - 0x73, 0x67, 0x44, 0x73, 0x74, 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, 0x19, 0x0a, - 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6d, 0x73, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x22, 0x28, 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x69, - 0x6e, 0x74, 0x54, 0x65, 0x78, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0x2d, 0x0a, 0x15, 0x43, 0x43, - 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4b, 0x65, 0x79, 0x48, 0x69, 0x6e, 0x74, 0x54, - 0x65, 0x78, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x05, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x22, 0xcf, 0x03, 0x0a, 0x24, 0x43, 0x43, - 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, - 0x70, 0x6f, 0x74, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x12, 0x60, 0x0a, 0x0e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x43, 0x43, 0x53, 0x55, + 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, 0x1a, 0x1a, 0x63, 0x73, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, + 0x35, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0x9c, 0x01, 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x56, 0x47, 0x55, 0x49, 0x4d, 0x65, 0x6e, 0x75, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x73, 0x68, 0x6f, + 0x77, 0x12, 0x2c, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x47, 0x55, 0x49, + 0x4d, 0x65, 0x6e, 0x75, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x1a, + 0x30, 0x0a, 0x04, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x22, 0x28, 0x0a, 0x10, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x47, + 0x65, 0x69, 0x67, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x27, 0x0a, 0x0f, 0x43, + 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x12, 0x14, + 0x0a, 0x05, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, + 0x72, 0x61, 0x69, 0x6e, 0x22, 0x27, 0x0a, 0x11, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x48, 0x75, 0x64, 0x54, 0x65, 0x78, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0xb3, 0x02, + 0x0a, 0x10, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x75, 0x64, 0x4d, + 0x73, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1f, 0x0a, 0x03, + 0x70, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x32, 0x44, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x1d, 0x0a, + 0x04, 0x63, 0x6c, 0x72, 0x31, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x52, 0x47, 0x42, 0x41, 0x52, 0x04, 0x63, 0x6c, 0x72, 0x31, 0x12, 0x1d, 0x0a, 0x04, + 0x63, 0x6c, 0x72, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x52, 0x47, 0x42, 0x41, 0x52, 0x04, 0x63, 0x6c, 0x72, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x65, + 0x66, 0x66, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x66, 0x66, + 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x66, 0x61, 0x64, 0x65, 0x49, + 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x61, 0x64, 0x65, 0x5f, 0x6f, 0x75, + 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x66, 0x61, + 0x64, 0x65, 0x4f, 0x75, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x6c, + 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x68, 0x6f, + 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x78, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x66, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, + 0x65, 0x78, 0x74, 0x22, 0x8e, 0x01, 0x0a, 0x0f, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x53, 0x68, 0x61, 0x6b, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x70, 0x6c, 0x69, + 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x41, 0x6d, 0x70, 0x6c, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x66, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7c, 0x0a, 0x0e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x46, 0x61, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x68, 0x6f, 0x6c, 0x64, 0x54, 0x69, 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, 0x1b, 0x0a, 0x03, 0x63, 0x6c, 0x72, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x47, 0x42, 0x41, 0x52, 0x03, 0x63, + 0x6c, 0x72, 0x22, 0x52, 0x0a, 0x10, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x52, 0x75, 0x6d, 0x62, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x16, 0x43, 0x43, 0x53, 0x55, 0x73, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x61, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x63, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x63, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x6f, 0x0a, 0x1c, + 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, + 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, + 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, + 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x22, 0x36, 0x0a, + 0x13, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x41, + 0x75, 0x64, 0x69, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x5f, 0x73, 0x6f, + 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x61, 0x64, 0x69, 0x6f, + 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x89, 0x01, 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x61, 0x77, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x14, 0x0a, 0x05, + 0x70, 0x69, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x69, 0x74, + 0x63, 0x68, 0x12, 0x1a, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x12, 0x1a, + 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x76, 0x6f, + 0x69, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0xd8, 0x01, 0x0a, 0x13, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x56, 0x6f, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x42, 0x0a, 0x0c, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x69, 0x63, + 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x73, 0x6b, + 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x2a, 0x0a, + 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x5f, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x4d, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x1a, 0x51, 0x0a, 0x0a, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x26, 0x0a, 0x0f, 0x67, 0x61, 0x6d, 0x65, 0x5f, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0d, 0x67, 0x61, 0x6d, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x4d, 0x61, 0x73, 0x6b, 0x12, + 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x6e, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x62, 0x61, 0x6e, 0x4d, 0x61, 0x73, 0x6b, 0x73, 0x22, 0x94, 0x01, 0x0a, + 0x10, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x61, 0x6d, 0x61, 0x67, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x13, 0x69, 0x6e, 0x66, + 0x6c, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x52, 0x11, 0x69, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x57, 0x6f, + 0x72, 0x6c, 0x64, 0x50, 0x6f, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6d, + 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x3a, + 0x02, 0x2d, 0x31, 0x52, 0x0e, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x45, 0x6e, 0x74, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x22, 0x7d, 0x0a, 0x13, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x52, 0x61, 0x64, 0x69, 0x6f, 0x54, 0x65, 0x78, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x73, + 0x67, 0x5f, 0x64, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x73, 0x67, + 0x44, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, + 0x19, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x22, 0x2e, 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x48, 0x69, 0x6e, 0x74, 0x54, 0x65, 0x78, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x22, 0x33, 0x0a, 0x15, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x4b, 0x65, 0x79, 0x48, 0x69, 0x6e, 0x74, 0x54, 0x65, 0x78, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0xd3, 0x03, 0x0a, 0x24, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x70, 0x6f, 0x74, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x73, 0x1a, 0xa5, 0x02, 0x0a, 0x13, 0x53, 0x70, 0x6f, 0x74, 0x74, 0x65, 0x64, 0x45, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x78, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, - 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x58, - 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x79, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x59, 0x12, 0x19, 0x0a, 0x08, 0x6f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x7a, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5a, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, - 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x59, 0x12, - 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x75, 0x73, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x64, 0x65, 0x66, 0x75, 0x73, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x75, 0x73, 0x65, 0x72, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x61, 0x73, - 0x44, 0x65, 0x66, 0x75, 0x73, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x5f, 0x68, 0x61, 0x73, 0x5f, 0x63, 0x34, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x61, 0x73, 0x43, 0x34, 0x22, 0x62, 0x0a, 0x1d, 0x43, - 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x72, 0x6f, 0x70, 0x73, 0x12, 0x41, 0x0a, 0x0e, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x43, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, + 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, + 0x60, 0x0a, 0x0e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x70, 0x6f, 0x74, 0x74, + 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x53, + 0x70, 0x6f, 0x74, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x52, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x73, 0x1a, 0xa9, 0x02, 0x0a, 0x13, 0x53, 0x70, 0x6f, 0x74, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0a, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, + 0x31, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x78, 0x12, 0x19, 0x0a, 0x08, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x5f, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x58, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x79, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x59, 0x12, 0x19, 0x0a, + 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x7a, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5a, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x6e, 0x67, 0x6c, + 0x65, 0x5f, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x6e, 0x67, 0x6c, 0x65, + 0x59, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x75, 0x73, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x66, 0x75, 0x73, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x75, 0x73, 0x65, + 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, + 0x61, 0x73, 0x44, 0x65, 0x66, 0x75, 0x73, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x5f, 0x63, 0x34, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x61, 0x73, 0x43, 0x34, 0x22, 0x62, 0x0a, + 0x1d, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x72, 0x6f, 0x70, 0x73, 0x12, 0x41, + 0x0a, 0x0e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x43, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, + 0x65, 0x6d, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x52, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x73, 0x22, 0x7b, 0x0a, 0x1d, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, + 0x65, 0x6e, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x46, 0x6f, 0x75, + 0x6e, 0x64, 0x12, 0x36, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x43, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x52, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, - 0x73, 0x0a, 0x1d, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, - 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x46, 0x6f, 0x75, 0x6e, 0x64, - 0x12, 0x36, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x43, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x72, - 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x08, - 0x69, 0x74, 0x65, 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x74, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x22, 0x9b, 0x01, 0x0a, 0x16, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, - 0x73, 0x67, 0x5f, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x12, - 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x61, 0x6e, - 0x69, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x63, 0x74, 0x61, 0x6e, 0x69, - 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x78, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x58, 0x12, 0x19, 0x0a, 0x08, - 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, - 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x59, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x5f, 0x7a, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x5a, 0x22, 0xb4, 0x01, 0x0a, 0x15, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, - 0x5f, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, - 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x6e, - 0x74, 0x69, 0x64, 0x78, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x78, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x58, 0x12, - 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x59, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, - 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x7a, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x6f, 0x72, - 0x69, 0x67, 0x69, 0x6e, 0x5a, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xa1, 0x01, 0x0a, 0x1f, 0x43, 0x43, - 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, - 0x72, 0x65, 0x65, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x42, 0x61, 0x72, 0x12, 0x16, 0x0a, - 0x06, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, + 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, + 0x2d, 0x31, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x6c, 0x6f, 0x74, 0x22, 0x9f, + 0x01, 0x0a, 0x16, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x6c, + 0x6f, 0x61, 0x64, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x06, 0x65, 0x6e, 0x74, + 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x06, 0x65, + 0x6e, 0x74, 0x69, 0x64, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x61, 0x6e, 0x69, 0x6d, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x63, 0x74, 0x61, 0x6e, 0x69, 0x6d, 0x12, + 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x58, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, + 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x6f, 0x72, + 0x69, 0x67, 0x69, 0x6e, 0x59, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, + 0x7a, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5a, + 0x22, 0xf2, 0x01, 0x0a, 0x15, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x57, + 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x06, 0x65, 0x6e, + 0x74, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x06, + 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, + 0x5f, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, + 0x58, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x79, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x59, 0x12, 0x19, 0x0a, 0x08, + 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x7a, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, + 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5a, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x6f, 0x75, 0x6e, 0x64, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x25, 0x0a, + 0x0e, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2f, 0x0a, 0x13, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, + 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x63, 0x61, 0x70, 0x65, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x07, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x63, + 0x61, 0x70, 0x65, 0x69, 0x64, 0x22, 0xa5, 0x01, 0x0a, 0x1f, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, + 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x42, 0x61, 0x72, 0x12, 0x1a, 0x0a, 0x06, 0x65, 0x6e, 0x74, + 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x12, 0x27, 0x0a, 0x0f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x5f, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x4f, 0x6c, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x5f, 0x6e, 0x65, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x4e, 0x65, 0x77, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x22, 0x64, 0x0a, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x22, 0x68, 0x0a, 0x20, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, - 0x74, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x69, - 0x67, 0x68, 0x74, 0x22, 0x2f, 0x0a, 0x15, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, - 0x5f, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x72, 0x0a, 0x13, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x69, 0x74, 0x12, 0x13, 0x0a, 0x05, 0x70, - 0x6f, 0x73, 0x5f, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x70, 0x6f, 0x73, 0x58, - 0x12, 0x13, 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x5f, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x04, 0x70, 0x6f, 0x73, 0x59, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x12, 0x13, 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x5f, 0x7a, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x04, 0x70, 0x6f, 0x73, 0x5a, 0x22, 0x76, 0x0a, 0x11, 0x43, 0x43, 0x53, 0x55, - 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x43, 0x61, 0x6d, 0x12, 0x19, 0x0a, - 0x08, 0x6f, 0x62, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x6f, 0x62, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x72, 0x73, - 0x74, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, - 0x66, 0x69, 0x72, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, - 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0c, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x22, 0xd4, 0x01, 0x0a, 0x1a, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, - 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, - 0x2b, 0x0a, 0x11, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x63, 0x61, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x64, 0x65, 0x73, 0x69, - 0x72, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x32, 0x0a, 0x15, - 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, - 0x65, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x64, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, - 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, 0x74, 0x6f, 0x72, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, - 0x10, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x62, 0x6c, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x6c, - 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x41, 0x0a, 0x1a, 0x43, 0x43, 0x53, 0x55, 0x73, - 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x63, 0x75, - 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x22, 0x6d, 0x0a, 0x1a, 0x43, 0x43, - 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x63, 0x68, 0x69, - 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, - 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0xa3, 0x01, 0x0a, 0x1c, 0x43, 0x43, - 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x64, - 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, - 0x61, 0x67, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x66, - 0x72, 0x61, 0x67, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x70, 0x5f, 0x6d, - 0x61, 0x78, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, - 0x6d, 0x70, 0x4d, 0x61, 0x78, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, - 0x70, 0x5f, 0x77, 0x69, 0x6e, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x6d, 0x70, 0x57, 0x69, 0x6e, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, - 0x6d, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, - 0xcb, 0x01, 0x0a, 0x1b, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, - 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x52, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, - 0x72, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x63, 0x72, 0x63, 0x1a, 0x2e, 0x0a, - 0x04, 0x53, 0x74, 0x61, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x03, 0x69, 0x64, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x74, 0x61, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x22, 0x4f, 0x0a, - 0x1a, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x64, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0xa2, - 0x01, 0x0a, 0x17, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x51, 0x75, 0x65, - 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6e, 0x6f, - 0x72, 0x6d, 0x61, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6f, - 0x6e, 0x75, 0x73, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0b, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x24, 0x0a, - 0x0e, 0x69, 0x73, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x51, 0x75, - 0x65, 0x73, 0x74, 0x22, 0x4b, 0x0a, 0x1e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, - 0x5f, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, - 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4c, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x22, 0x59, 0x0a, 0x25, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, - 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x74, 0x12, 0x1a, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x12, 0x28, 0x0a, + 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x68, 0x69, + 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x22, 0x2f, 0x0a, 0x15, 0x43, 0x43, 0x53, 0x55, 0x73, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x4d, 0x6f, 0x6e, 0x65, 0x79, + 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x72, 0x0a, 0x13, 0x43, 0x43, 0x53, 0x55, + 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x69, 0x74, 0x12, + 0x13, 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x5f, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, + 0x70, 0x6f, 0x73, 0x58, 0x12, 0x13, 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x5f, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x04, 0x70, 0x6f, 0x73, 0x59, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x13, 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x5f, 0x7a, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x70, 0x6f, 0x73, 0x5a, 0x22, 0x7e, 0x0a, 0x11, + 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x43, 0x61, + 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x62, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x6f, 0x62, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0c, + 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x0b, 0x66, 0x69, 0x72, 0x73, 0x74, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x0d, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x0c, + 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0xd4, 0x01, 0x0a, + 0x1a, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x65, 0x73, 0x69, 0x72, + 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x64, + 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, + 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x12, 0x2b, 0x0a, 0x11, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x6f, + 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x5f, 0x62, 0x6c, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x6c, 0x65, 0x6e, 0x64, 0x54, + 0x69, 0x6d, 0x65, 0x22, 0x41, 0x0a, 0x1a, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x63, 0x61, 0x6c, + 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x63, 0x61, + 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x22, 0x6d, 0x0a, 0x1a, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x63, 0x68, 0x69, 0x65, + 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0xa3, 0x01, 0x0a, 0x1c, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, 0x61, 0x67, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x66, 0x72, 0x61, 0x67, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x70, 0x5f, 0x6d, 0x61, 0x78, 0x72, 0x6f, + 0x75, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x70, 0x4d, 0x61, + 0x78, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x70, 0x5f, 0x77, 0x69, + 0x6e, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x70, + 0x57, 0x69, 0x6e, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x70, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, + 0x6d, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xcc, 0x01, 0x0a, 0x1b, + 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x12, 0x18, + 0x0a, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x72, 0x63, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x63, 0x72, 0x63, 0x1a, 0x2e, 0x0a, 0x04, 0x53, 0x74, + 0x61, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x03, 0x69, 0x64, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x22, 0xa2, 0x01, 0x0a, 0x17, 0x43, + 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, + 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, + 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x62, 0x6f, + 0x6e, 0x75, 0x73, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0c, 0x69, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x22, + 0x4b, 0x0a, 0x1e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x63, 0x6f, + 0x72, 0x65, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x29, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x59, 0x0a, 0x25, + 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x4f, 0x0a, 0x12, 0x43, - 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x58, 0x52, 0x61, 0x6e, 0x6b, 0x47, 0x65, - 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x78, 0x12, 0x1e, 0x0a, 0x0a, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x22, 0x69, 0x0a, 0x12, - 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x58, 0x52, 0x61, 0x6e, 0x6b, 0x55, - 0x70, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x78, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x78, 0x12, 0x1e, 0x0a, - 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x18, 0x0a, - 0x07, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, - 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x22, 0x46, 0x0a, 0x18, 0x43, 0x43, 0x53, 0x55, 0x73, - 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x6f, 0x74, 0x65, 0x46, 0x61, 0x69, - 0x6c, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x22, - 0x8b, 0x02, 0x0a, 0x13, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x6f, - 0x74, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x65, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x6e, - 0x74, 0x49, 0x64, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x76, 0x6f, 0x74, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x69, 0x73, 0x70, 0x53, 0x74, 0x72, 0x12, 0x1f, 0x0a, 0x0b, - 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x53, 0x74, 0x72, 0x12, 0x24, 0x0a, - 0x0e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x74, 0x72, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x54, 0x65, 0x61, 0x6d, - 0x53, 0x74, 0x72, 0x12, 0x23, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x79, 0x65, 0x73, 0x5f, 0x6e, 0x6f, - 0x5f, 0x76, 0x6f, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x59, - 0x65, 0x73, 0x4e, 0x6f, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x74, 0x69, - 0x64, 0x78, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x81, 0x01, - 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x74, 0x65, - 0x50, 0x61, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x74, 0x65, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x76, 0x6f, 0x74, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x70, 0x5f, 0x73, 0x74, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x69, 0x73, 0x70, 0x53, 0x74, 0x72, - 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x53, 0x74, - 0x72, 0x22, 0x42, 0x0a, 0x14, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x56, - 0x6f, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, - 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x16, 0x0a, - 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x40, 0x0a, 0x13, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, - 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x53, 0x65, 0x74, 0x75, 0x70, 0x12, 0x29, 0x0a, 0x10, - 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x61, - 0x6c, 0x49, 0x73, 0x73, 0x75, 0x65, 0x73, 0x22, 0xba, 0x01, 0x0a, 0x26, 0x43, 0x43, 0x53, 0x55, - 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x4c, 0x61, 0x73, 0x74, 0x4b, 0x69, - 0x6c, 0x6c, 0x65, 0x72, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x5f, 0x67, - 0x69, 0x76, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6e, 0x75, 0x6d, 0x48, - 0x69, 0x74, 0x73, 0x47, 0x69, 0x76, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x6d, 0x61, - 0x67, 0x65, 0x5f, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, - 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x47, 0x69, 0x76, 0x65, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x6e, - 0x75, 0x6d, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6e, 0x75, 0x6d, 0x48, 0x69, 0x74, 0x73, 0x54, 0x61, 0x6b, 0x65, - 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x6b, 0x65, - 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, - 0x61, 0x6b, 0x65, 0x6e, 0x22, 0xa7, 0x02, 0x0a, 0x1a, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, - 0x73, 0x67, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, - 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0xbf, 0x01, 0x0a, - 0x0a, 0x52, 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x61, - 0x6e, 0x6b, 0x5f, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x61, - 0x6e, 0x6b, 0x4f, 0x6c, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x6e, 0x65, - 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x61, 0x6e, 0x6b, 0x4e, 0x65, 0x77, - 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x77, 0x69, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x57, 0x69, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, - 0x61, 0x6e, 0x6b, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0c, - 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x22, 0x57, - 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x58, 0x70, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x73, 0x74, 0x72, 0x69, - 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x58, 0x50, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x65, - 0x64, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2a, 0x0a, 0x14, 0x43, 0x43, 0x53, 0x55, 0x73, - 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x69, 0x63, 0x6b, 0x75, 0x70, 0x12, - 0x12, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, - 0x74, 0x65, 0x6d, 0x22, 0x82, 0x01, 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x65, 0x6e, 0x75, 0x12, 0x28, 0x0a, 0x10, 0x62, 0x69, - 0x74, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x62, 0x69, 0x74, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x53, - 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x6e, 0x75, 0x5f, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, - 0x6e, 0x75, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x27, 0x0a, 0x11, 0x43, 0x43, 0x53, 0x55, - 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x42, 0x61, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x69, 0x6d, - 0x65, 0x22, 0x30, 0x0a, 0x14, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x41, - 0x6d, 0x6d, 0x6f, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x6d, 0x6d, - 0x6f, 0x49, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x6d, 0x6d, 0x6f, - 0x49, 0x64, 0x78, 0x22, 0x3d, 0x0a, 0x19, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, - 0x5f, 0x4d, 0x61, 0x72, 0x6b, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x22, 0x34, 0x0a, 0x1a, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x42, 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, - 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x72, 0x6f, 0x70, 0x12, 0x16, - 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, - 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x61, 0x74, 0x68, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x64, 0x65, 0x61, 0x74, 0x68, 0x22, 0x33, 0x0a, 0x19, - 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x6c, 0x6f, 0x77, 0x50, 0x72, - 0x6f, 0x70, 0x54, 0x75, 0x72, 0x6e, 0x4f, 0x66, 0x66, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, - 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x64, - 0x78, 0x22, 0x84, 0x01, 0x0a, 0x1e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, - 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x6e, 0x69, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6e, 0x69, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x5e, 0x0a, 0x0e, 0x43, 0x43, 0x53, 0x55, - 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x53, 0x55, 0x49, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x68, - 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x73, 0x68, 0x6f, 0x77, 0x12, 0x1d, - 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, - 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xc4, 0x04, 0x0a, 0x17, 0x43, 0x43, 0x53, - 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x75, 0x72, 0x76, 0x69, 0x76, 0x61, 0x6c, 0x53, - 0x74, 0x61, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x78, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x04, 0x78, 0x75, 0x69, 0x64, 0x12, 0x33, 0x0a, 0x05, 0x66, 0x61, 0x63, 0x74, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, - 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x75, 0x72, 0x76, 0x69, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x2e, 0x46, 0x61, 0x63, 0x74, 0x52, 0x05, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x38, 0x0a, - 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x43, - 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x75, 0x72, 0x76, 0x69, 0x76, 0x61, - 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x39, 0x0a, 0x07, 0x64, 0x61, 0x6d, 0x61, 0x67, - 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, - 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x75, 0x72, 0x76, 0x69, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x2e, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x07, 0x64, 0x61, 0x6d, 0x61, 0x67, - 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x1a, 0x74, 0x0a, 0x04, 0x46, 0x61, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x28, - 0x0a, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x6e, 0x65, 0x73, - 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x67, 0x6e, 0x65, 0x73, 0x73, 0x1a, 0x5d, 0x0a, 0x09, 0x50, 0x6c, 0x61, 0x63, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x78, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x04, 0x78, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x65, 0x61, - 0x6d, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, - 0x65, 0x61, 0x6d, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x6c, 0x61, - 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x6c, - 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x76, 0x0a, 0x06, 0x44, 0x61, 0x6d, 0x61, 0x67, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x78, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x04, 0x78, 0x75, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x6f, 0x5f, 0x68, 0x69, 0x74, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x6f, 0x48, 0x69, 0x74, 0x73, 0x12, 0x12, - 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x66, 0x72, - 0x6f, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x48, 0x69, 0x74, 0x73, 0x22, - 0x97, 0x04, 0x0a, 0x22, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x45, 0x6e, - 0x64, 0x4f, 0x66, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x54, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, - 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x45, 0x6e, 0x64, 0x4f, 0x66, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x41, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x44, 0x61, - 0x74, 0x61, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x61, - 0x6c, 0x6c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, - 0x73, 0x63, 0x65, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, 0x65, - 0x6e, 0x65, 0x1a, 0x5a, 0x0a, 0x08, 0x41, 0x63, 0x63, 0x6f, 0x6c, 0x61, 0x64, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x65, 0x61, 0x63, 0x63, 0x6f, 0x6c, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x09, 0x65, 0x61, 0x63, 0x63, 0x6f, 0x6c, 0x61, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xa8, - 0x02, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, - 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x78, 0x75, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x78, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x65, 0x61, 0x6d, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x65, 0x61, 0x6d, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x12, 0x4c, 0x0a, 0x0a, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x45, 0x6e, 0x64, 0x4f, 0x66, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6c, 0x6c, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x6c, - 0x61, 0x64, 0x65, 0x52, 0x0a, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x30, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x43, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, - 0x77, 0x44, 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, - 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x63, 0x6f, 0x6c, 0x6f, 0x72, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x63, 0x6f, - 0x6c, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x62, 0x6f, 0x74, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x62, 0x6f, 0x74, 0x22, 0x9c, 0x09, 0x0a, 0x1e, 0x43, 0x43, - 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6d, 0x70, - 0x61, 0x63, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x5a, 0x0a, 0x0f, - 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x53, 0x63, 0x6f, - 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x43, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x55, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x5f, - 0x72, 0x69, 0x73, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, - 0x5f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x53, 0x63, 0x6f, 0x72, - 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x69, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0f, - 0x61, 0x6c, 0x6c, 0x52, 0x69, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x1a, - 0xbf, 0x06, 0x0a, 0x08, 0x52, 0x69, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x69, 0x73, 0x74, 0x5f, 0x6f, 0x64, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0d, 0x74, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x73, 0x74, 0x4f, 0x64, 0x64, - 0x73, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x74, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x17, 0x0a, 0x07, - 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, - 0x41, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x50, 0x0a, 0x0b, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x43, 0x53, - 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6d, 0x70, 0x61, - 0x63, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x69, 0x73, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x56, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x52, 0x0a, 0x76, 0x69, 0x63, - 0x74, 0x69, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x12, 0x59, 0x0a, 0x0e, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x32, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, 0x75, 0x6e, - 0x64, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, - 0x2e, 0x52, 0x69, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x52, 0x0d, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x57, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, - 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x43, - 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6d, 0x70, - 0x61, 0x63, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x69, 0x73, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0d, 0x61, 0x6c, - 0x6c, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x9f, 0x01, 0x0a, 0x06, - 0x56, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x65, 0x61, - 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x78, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x04, 0x78, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x15, 0x0a, - 0x06, 0x69, 0x73, 0x5f, 0x62, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, - 0x73, 0x42, 0x6f, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x44, 0x65, 0x61, 0x64, 0x1a, 0x1f, 0x0a, - 0x09, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, 0xf0, - 0x01, 0x0a, 0x06, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x78, 0x75, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x58, - 0x75, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x72, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x68, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, - 0x6d, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6e, 0x75, - 0x6d, 0x48, 0x69, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, - 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x48, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x75, 0x6d, - 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x48, 0x69, 0x74, - 0x73, 0x1a, 0x84, 0x01, 0x0a, 0x11, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6e, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x74, 0x5f, 0x65, 0x71, - 0x75, 0x69, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0c, 0x63, 0x74, 0x45, 0x71, 0x75, 0x69, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x22, 0x0a, - 0x0d, 0x74, 0x5f, 0x65, 0x71, 0x75, 0x69, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x45, 0x71, 0x75, 0x69, 0x70, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x73, 0x74, 0x5f, 0x6f, - 0x64, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x69, 0x73, 0x74, 0x4f, 0x64, 0x64, 0x73, 0x22, 0x30, 0x0a, 0x1a, 0x43, 0x43, 0x53, 0x55, - 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x75, - 0x6e, 0x64, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x64, 0x64, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6f, 0x64, 0x64, 0x73, 0x22, 0x4d, 0x0a, 0x13, 0x43, 0x43, - 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x65, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x12, 0x36, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, - 0x31, 0x35, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x65, 0x70, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x22, 0x2a, 0x0a, 0x12, 0x43, 0x43, 0x53, - 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x65, 0x74, 0x48, 0x75, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, - 0x72, 0x65, 0x73, 0x65, 0x74, 0x22, 0x2b, 0x0a, 0x13, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, - 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x75, 0x6d, - 0x6d, 0x79, 0x22, 0x2e, 0x0a, 0x16, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x63, 0x61, + 0x6c, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x4f, 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x58, 0x52, 0x61, 0x6e, 0x6b, 0x47, 0x65, 0x74, 0x12, 0x19, 0x0a, + 0x08, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x78, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x22, 0x69, 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, + 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x58, 0x52, 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x12, 0x19, + 0x0a, 0x08, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x78, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x61, 0x6e, + 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x61, 0x6e, 0x6b, + 0x69, 0x6e, 0x67, 0x22, 0x46, 0x0a, 0x18, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x6f, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x22, 0xa4, 0x02, 0x0a, 0x13, + 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x23, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, + 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x1b, 0x0a, 0x09, + 0x76, 0x6f, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x76, 0x6f, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x69, 0x73, + 0x70, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x69, 0x73, + 0x70, 0x53, 0x74, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x5f, + 0x73, 0x74, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x53, 0x74, 0x72, 0x12, 0x24, 0x0a, 0x0e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x74, + 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, + 0x74, 0x68, 0x65, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x72, 0x12, 0x23, 0x0a, 0x0e, 0x69, + 0x73, 0x5f, 0x79, 0x65, 0x73, 0x5f, 0x6e, 0x6f, 0x5f, 0x76, 0x6f, 0x74, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x59, 0x65, 0x73, 0x4e, 0x6f, 0x56, 0x6f, 0x74, 0x65, + 0x12, 0x30, 0x0a, 0x12, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, + 0x52, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x22, 0x81, 0x01, 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x50, 0x61, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, + 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x1b, 0x0a, + 0x09, 0x76, 0x6f, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x76, 0x6f, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x69, + 0x73, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x69, + 0x73, 0x70, 0x53, 0x74, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x5f, 0x73, 0x74, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x53, 0x74, 0x72, 0x22, 0x42, 0x0a, 0x14, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x65, + 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x40, 0x0a, 0x13, 0x43, 0x43, + 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x53, 0x65, 0x74, 0x75, + 0x70, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6f, 0x74, + 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x49, 0x73, 0x73, 0x75, 0x65, 0x73, 0x22, 0x9a, 0x02, 0x0a, + 0x26, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x4c, + 0x61, 0x73, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x68, + 0x69, 0x74, 0x73, 0x5f, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0c, 0x6e, 0x75, 0x6d, 0x48, 0x69, 0x74, 0x73, 0x47, 0x69, 0x76, 0x65, 0x6e, 0x12, 0x21, 0x0a, + 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0b, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x47, 0x69, 0x76, 0x65, 0x6e, + 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x5f, 0x74, 0x61, 0x6b, + 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6e, 0x75, 0x6d, 0x48, 0x69, 0x74, + 0x73, 0x54, 0x61, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x64, 0x61, + 0x6d, 0x61, 0x67, 0x65, 0x54, 0x61, 0x6b, 0x65, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x63, 0x74, + 0x75, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x67, 0x69, 0x76, 0x65, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x44, 0x61, + 0x6d, 0x61, 0x67, 0x65, 0x47, 0x69, 0x76, 0x65, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x63, 0x74, + 0x75, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x6e, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x44, 0x61, + 0x6d, 0x61, 0x67, 0x65, 0x54, 0x61, 0x6b, 0x65, 0x6e, 0x22, 0xa7, 0x02, 0x0a, 0x1a, 0x43, 0x43, + 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x61, + 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x6b, + 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x52, 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x1a, 0xbf, 0x01, 0x0a, 0x0a, 0x52, 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x19, 0x0a, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x72, 0x61, 0x6e, 0x6b, 0x4f, 0x6c, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x61, + 0x6e, 0x6b, 0x5f, 0x6e, 0x65, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x61, + 0x6e, 0x6b, 0x4e, 0x65, 0x77, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x77, 0x69, 0x6e, + 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x57, 0x69, 0x6e, 0x73, + 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, + 0x65, 0x49, 0x64, 0x22, 0x57, 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x58, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x43, 0x73, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x58, 0x50, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2a, 0x0a, 0x14, + 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x69, + 0x63, 0x6b, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x82, 0x01, 0x0a, 0x12, 0x43, 0x43, 0x53, + 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x65, 0x6e, 0x75, 0x12, + 0x28, 0x0a, 0x10, 0x62, 0x69, 0x74, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x73, 0x6c, + 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x62, 0x69, 0x74, 0x73, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, + 0x6d, 0x65, 0x6e, 0x75, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x6e, 0x75, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x27, 0x0a, + 0x11, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x42, 0x61, 0x72, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x30, 0x0a, 0x14, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x6d, 0x6d, 0x6f, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x61, 0x6d, 0x6d, 0x6f, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x61, 0x6d, 0x6d, 0x6f, 0x69, 0x64, 0x78, 0x22, 0x3d, 0x0a, 0x19, 0x43, 0x43, 0x53, 0x55, + 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x61, 0x72, 0x6b, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x68, 0x69, + 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x34, 0x0a, 0x1a, 0x43, 0x43, 0x53, 0x55, 0x73, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x73, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x42, 0x0a, + 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x44, + 0x72, 0x6f, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, + 0x65, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x64, 0x65, 0x61, 0x74, + 0x68, 0x22, 0x37, 0x0a, 0x19, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x47, + 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x6f, 0x70, 0x54, 0x75, 0x72, 0x6e, 0x4f, 0x66, 0x66, 0x12, 0x1a, + 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, + 0x2d, 0x31, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x22, 0x84, 0x01, 0x0a, 0x1e, 0x43, + 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x42, 0x61, + 0x63, 0x6b, 0x75, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x14, 0x0a, + 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x65, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x65, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x5e, 0x0a, 0x0e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, + 0x53, 0x55, 0x49, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x04, 0x73, 0x68, 0x6f, 0x77, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, + 0x65, 0x22, 0xc4, 0x04, 0x0a, 0x17, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x53, 0x75, 0x72, 0x76, 0x69, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x78, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x78, 0x75, 0x69, + 0x64, 0x12, 0x33, 0x0a, 0x05, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x75, 0x72, + 0x76, 0x69, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x46, 0x61, 0x63, 0x74, 0x52, + 0x05, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x38, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x53, 0x75, 0x72, 0x76, 0x69, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, + 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, + 0x12, 0x39, 0x0a, 0x07, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x75, + 0x72, 0x76, 0x69, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x44, 0x61, 0x6d, 0x61, + 0x67, 0x65, 0x52, 0x07, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x74, + 0x69, 0x63, 0x6b, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x1a, 0x74, 0x0a, 0x04, 0x46, + 0x61, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x6e, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x6e, 0x65, 0x73, + 0x73, 0x1a, 0x5d, 0x0a, 0x09, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x78, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x78, 0x75, + 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x65, 0x61, 0x6d, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x65, 0x61, 0x6d, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x1a, 0x76, 0x0a, 0x06, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x78, 0x75, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x78, 0x75, 0x69, 0x64, 0x12, 0x0e, + 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x17, + 0x0a, 0x07, 0x74, 0x6f, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x74, 0x6f, 0x48, 0x69, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x66, + 0x72, 0x6f, 0x6d, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x66, 0x72, 0x6f, 0x6d, 0x48, 0x69, 0x74, 0x73, 0x22, 0x93, 0x04, 0x0a, 0x22, 0x43, 0x43, 0x53, + 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x45, 0x6e, 0x64, 0x4f, 0x66, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x41, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x54, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x45, 0x6e, 0x64, 0x4f, 0x66, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6c, 0x6c, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x1a, 0x5a, 0x0a, 0x08, 0x41, + 0x63, 0x63, 0x6f, 0x6c, 0x61, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x61, 0x63, 0x63, 0x6f, + 0x6c, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x65, 0x61, 0x63, 0x63, + 0x6f, 0x6c, 0x61, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xa4, 0x02, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x78, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x78, 0x75, + 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x65, 0x61, 0x6d, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x65, 0x61, 0x6d, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x0a, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x43, 0x43, 0x53, + 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x45, 0x6e, 0x64, 0x4f, 0x66, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x41, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x44, 0x61, 0x74, 0x61, 0x2e, + 0x41, 0x63, 0x63, 0x6f, 0x6c, 0x61, 0x64, 0x65, 0x52, 0x0a, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x43, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x50, + 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, + 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x62, 0x6f, + 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x62, 0x6f, 0x74, 0x22, 0x9c, + 0x09, 0x0a, 0x1c, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, 0x75, + 0x6e, 0x64, 0x45, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x58, 0x0a, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x6e, 0x64, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x43, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x43, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x53, 0x0a, 0x12, 0x61, 0x6c, 0x6c, + 0x5f, 0x72, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x61, + 0x6c, 0x6c, 0x52, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x1a, 0xc5, + 0x06, 0x0a, 0x08, 0x52, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x69, 0x73, 0x74, 0x5f, 0x6f, 0x64, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0d, 0x74, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x73, 0x74, 0x4f, 0x64, 0x64, 0x73, + 0x12, 0x19, 0x0a, 0x08, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x07, 0x63, 0x74, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, + 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x41, + 0x6c, 0x69, 0x76, 0x65, 0x12, 0x4e, 0x0a, 0x0b, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x43, 0x43, 0x53, 0x55, + 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x6e, 0x64, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x2e, 0x56, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x52, 0x0a, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6d, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x57, 0x0a, 0x0e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x43, + 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x6e, + 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x0d, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x55, 0x0a, + 0x0f, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, + 0x61, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, + 0x44, 0x61, 0x74, 0x61, 0x1a, 0xa7, 0x01, 0x0a, 0x06, 0x56, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x12, + 0x1f, 0x0a, 0x0b, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x78, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x04, 0x78, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x15, + 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x62, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, + 0x69, 0x73, 0x42, 0x6f, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x61, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x44, 0x65, 0x61, 0x64, 0x1a, 0x1f, + 0x0a, 0x09, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, + 0xf4, 0x01, 0x0a, 0x06, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x2d, 0x0a, 0x10, 0x6f, 0x74, + 0x68, 0x65, 0x72, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x0f, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x74, 0x68, + 0x65, 0x72, 0x5f, 0x78, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6f, + 0x74, 0x68, 0x65, 0x72, 0x58, 0x75, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, + 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x48, 0x69, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x26, + 0x0a, 0x0f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x68, 0x69, 0x74, + 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x4e, + 0x75, 0x6d, 0x48, 0x69, 0x74, 0x73, 0x1a, 0x84, 0x01, 0x0a, 0x11, 0x49, 0x6e, 0x69, 0x74, 0x69, + 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0e, + 0x63, 0x74, 0x5f, 0x65, 0x71, 0x75, 0x69, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x74, 0x45, 0x71, 0x75, 0x69, 0x70, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x5f, 0x65, 0x71, 0x75, 0x69, 0x70, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x45, 0x71, 0x75, 0x69, + 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x69, 0x73, 0x74, 0x5f, 0x6f, 0x64, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, + 0x74, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x73, 0x74, 0x4f, 0x64, 0x64, 0x73, 0x22, 0xc0, 0x02, + 0x0a, 0x1f, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x6f, 0x73, 0x74, + 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x78, 0x75, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x58, 0x75, 0x69, 0x64, + 0x12, 0x26, 0x0a, 0x0f, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x67, 0x69, 0x76, 0x65, 0x6e, + 0x4b, 0x69, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x67, 0x69, 0x76, 0x65, + 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x67, 0x69, + 0x76, 0x65, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0c, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x4e, 0x75, 0x6d, 0x48, 0x69, 0x74, 0x73, + 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x61, 0x6b, 0x65, 0x6e, + 0x4b, 0x69, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x61, 0x6b, 0x65, + 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, + 0x6b, 0x65, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0c, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x4e, 0x75, 0x6d, 0x48, 0x69, 0x74, 0x73, + 0x22, 0x30, 0x0a, 0x1a, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x6f, 0x64, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6f, 0x64, + 0x64, 0x73, 0x22, 0x4d, 0x0a, 0x13, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x44, 0x65, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x44, 0x65, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x73, 0x22, 0xc9, 0x01, 0x0a, 0x13, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x53, 0x68, 0x6f, 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x72, 0x61, + 0x6d, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0b, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x11, + 0x68, 0x69, 0x74, 0x62, 0x6f, 0x78, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x10, 0x68, 0x69, 0x74, 0x62, 0x6f, 0x78, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x12, 0x28, 0x0a, 0x09, 0x73, 0x68, 0x6f, + 0x6f, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x73, 0x68, 0x6f, 0x6f, 0x74, + 0x50, 0x6f, 0x73, 0x12, 0x28, 0x0a, 0x09, 0x73, 0x68, 0x6f, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x72, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x51, 0x41, 0x6e, + 0x67, 0x6c, 0x65, 0x52, 0x08, 0x73, 0x68, 0x6f, 0x6f, 0x74, 0x44, 0x69, 0x72, 0x22, 0x2a, 0x0a, + 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x65, 0x74, + 0x48, 0x75, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x05, 0x72, 0x65, 0x73, 0x65, 0x74, 0x22, 0x2b, 0x0a, 0x13, 0x43, 0x43, 0x53, + 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x74, 0x6c, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x2e, 0x0a, 0x16, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x33, 0x0a, 0x1b, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, + 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x33, 0x0a, 0x1b, 0x43, + 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x54, 0x6f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x75, + 0x6d, 0x6d, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, + 0x22, 0x30, 0x0a, 0x18, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x57, 0x61, + 0x72, 0x6d, 0x75, 0x70, 0x48, 0x61, 0x73, 0x45, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x75, 0x6d, - 0x6d, 0x79, 0x22, 0x33, 0x0a, 0x1b, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, - 0x53, 0x74, 0x6f, 0x70, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x4d, 0x6f, 0x64, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x33, 0x0a, 0x1b, 0x43, 0x43, 0x53, 0x55, 0x73, - 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, - 0x6f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x30, 0x0a, 0x18, - 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x57, 0x61, 0x72, 0x6d, 0x75, 0x70, - 0x48, 0x61, 0x73, 0x45, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x75, 0x6d, 0x6d, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x2c, - 0x0a, 0x14, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0xa6, 0x01, 0x0a, - 0x1d, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x41, 0x6c, 0x6c, 0x12, 0x32, - 0x0a, 0x15, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x74, 0x69, 0x6c, 0x6c, 0x5f, 0x73, - 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x73, - 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x54, 0x69, 0x6c, 0x6c, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, - 0x77, 0x6e, 0x12, 0x51, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa2, 0x01, 0x0a, 0x11, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, - 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x74, 0x69, 0x6c, 0x4d, 0x73, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x75, - 0x74, 0x69, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x75, 0x74, 0x69, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, - 0x75, 0x74, 0x69, 0x6c, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x75, 0x74, 0x69, - 0x6c, 0x31, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x74, 0x69, 0x6c, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x75, 0x74, 0x69, 0x6c, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x74, 0x69, 0x6c, - 0x33, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x75, 0x74, 0x69, 0x6c, 0x33, 0x12, 0x14, - 0x0a, 0x05, 0x75, 0x74, 0x69, 0x6c, 0x34, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x75, - 0x74, 0x69, 0x6c, 0x34, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x74, 0x69, 0x6c, 0x35, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x75, 0x74, 0x69, 0x6c, 0x35, 0x22, 0xc7, 0x03, 0x0a, 0x1a, 0x43, - 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x74, 0x69, 0x6c, 0x4d, 0x73, 0x67, - 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x72, 0x63, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x03, 0x63, 0x72, 0x63, 0x12, 0x1d, 0x0a, 0x0a, 0x69, - 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x69, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x72, - 0x63, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x04, 0x63, 0x72, 0x63, 0x32, 0x12, 0x1f, - 0x0a, 0x0b, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0x12, - 0x19, 0x0a, 0x08, 0x63, 0x72, 0x63, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x05, 0x52, 0x07, 0x63, 0x72, 0x63, 0x50, 0x61, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x72, - 0x63, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x32, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x63, - 0x72, 0x63, 0x50, 0x61, 0x72, 0x74, 0x32, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x48, - 0x0a, 0x0b, 0x69, 0x74, 0x65, 0x6d, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x09, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, - 0x55, 0x74, 0x69, 0x6c, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x0b, 0x69, 0x74, 0x65, - 0x6d, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x74, 0x65, - 0x6d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0x5c, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, - 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x10, - 0x0a, 0x03, 0x63, 0x72, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x63, 0x72, 0x63, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x2a, 0xde, 0x0e, 0x0a, 0x16, 0x45, 0x43, 0x73, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x31, 0x35, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, - 0x12, 0x0a, 0x0e, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x56, 0x47, 0x55, 0x49, 0x4d, 0x65, 0x6e, - 0x75, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x47, 0x65, 0x69, - 0x67, 0x65, 0x72, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x54, - 0x72, 0x61, 0x69, 0x6e, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, - 0x48, 0x75, 0x64, 0x54, 0x65, 0x78, 0x74, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x53, 0x5f, - 0x55, 0x4d, 0x5f, 0x53, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, - 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x32, 0x10, 0x06, - 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x73, - 0x67, 0x10, 0x07, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x48, 0x75, 0x64, - 0x4d, 0x73, 0x67, 0x10, 0x08, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x52, - 0x65, 0x73, 0x65, 0x74, 0x48, 0x75, 0x64, 0x10, 0x09, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x53, 0x5f, - 0x55, 0x4d, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x10, 0x0a, 0x12, 0x0f, - 0x0a, 0x0b, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x68, 0x61, 0x6b, 0x65, 0x10, 0x0c, 0x12, - 0x0e, 0x0a, 0x0a, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x46, 0x61, 0x64, 0x65, 0x10, 0x0d, 0x12, - 0x10, 0x0a, 0x0c, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x75, 0x6d, 0x62, 0x6c, 0x65, 0x10, - 0x0e, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x6c, 0x6f, 0x73, 0x65, - 0x43, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x0f, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x53, 0x5f, - 0x55, 0x4d, 0x5f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x10, 0x10, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x53, 0x5f, 0x55, 0x4d, - 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x10, 0x11, 0x12, 0x12, 0x0a, 0x0e, - 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x61, 0x77, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x10, 0x12, - 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x4d, - 0x61, 0x73, 0x6b, 0x10, 0x13, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0x14, 0x12, 0x10, 0x0a, - 0x0c, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x10, 0x15, 0x12, - 0x13, 0x0a, 0x0f, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x61, 0x64, 0x69, 0x6f, 0x54, 0x65, - 0x78, 0x74, 0x10, 0x16, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x48, 0x69, - 0x6e, 0x74, 0x54, 0x65, 0x78, 0x74, 0x10, 0x17, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x53, 0x5f, 0x55, - 0x4d, 0x5f, 0x4b, 0x65, 0x79, 0x48, 0x69, 0x6e, 0x74, 0x54, 0x65, 0x78, 0x74, 0x10, 0x18, 0x12, - 0x24, 0x0a, 0x20, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, - 0x53, 0x70, 0x6f, 0x74, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x10, 0x19, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x52, - 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x10, 0x1a, 0x12, 0x15, 0x0a, - 0x11, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x4d, 0x6f, 0x6e, - 0x65, 0x79, 0x10, 0x1b, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x10, 0x1c, 0x12, - 0x1b, 0x0a, 0x17, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x70, 0x65, - 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x10, 0x1d, 0x12, 0x11, 0x0a, 0x0d, - 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x43, 0x61, 0x6d, 0x10, 0x1e, 0x12, - 0x1a, 0x0a, 0x16, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x10, 0x1f, 0x12, 0x1a, 0x0a, 0x16, 0x43, - 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x63, 0x61, 0x6c, 0x65, 0x10, 0x20, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x53, 0x5f, 0x55, 0x4d, - 0x5f, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x10, 0x21, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x45, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, - 0x22, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x10, 0x23, 0x12, 0x1b, - 0x0a, 0x17, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, - 0x61, 0x74, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x24, 0x12, 0x1a, 0x0a, 0x16, 0x43, - 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x76, 0x65, - 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x25, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x53, 0x5f, 0x55, 0x4d, - 0x5f, 0x57, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x48, 0x61, 0x73, 0x45, 0x6e, 0x64, 0x65, 0x64, 0x10, - 0x26, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x27, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x53, 0x5f, 0x55, 0x4d, - 0x5f, 0x58, 0x52, 0x61, 0x6e, 0x6b, 0x47, 0x65, 0x74, 0x10, 0x28, 0x12, 0x12, 0x0a, 0x0e, 0x43, - 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x58, 0x52, 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x10, 0x29, 0x12, - 0x18, 0x0a, 0x14, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x6f, 0x74, - 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x2d, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x53, 0x5f, - 0x55, 0x4d, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x10, 0x2e, 0x12, 0x12, - 0x0a, 0x0e, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x50, 0x61, 0x73, 0x73, - 0x10, 0x2f, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x56, 0x6f, 0x74, 0x65, - 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x30, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x53, 0x5f, 0x55, - 0x4d, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x53, 0x65, 0x74, 0x75, 0x70, 0x10, 0x31, 0x12, 0x1d, 0x0a, - 0x19, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x61, 0x6e, - 0x6b, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x41, 0x6c, 0x6c, 0x10, 0x32, 0x12, 0x26, 0x0a, 0x22, + 0x6d, 0x79, 0x22, 0x2c, 0x0a, 0x14, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x75, + 0x6d, 0x6d, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, + 0x22, 0xa6, 0x01, 0x0a, 0x1d, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x41, + 0x6c, 0x6c, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x74, 0x69, + 0x6c, 0x6c, 0x5f, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x13, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x54, 0x69, 0x6c, 0x6c, 0x53, 0x68, + 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x51, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, + 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x0b, 0x72, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x68, 0x0a, 0x18, 0x43, 0x43, 0x53, + 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x61, + 0x79, 0x54, 0x65, 0x78, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x6c, 0x6c, 0x5f, + 0x63, 0x68, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x6c, 0x6c, 0x43, + 0x68, 0x61, 0x74, 0x2a, 0xa6, 0x0f, 0x0a, 0x16, 0x45, 0x43, 0x73, 0x74, 0x72, 0x69, 0x6b, 0x65, + 0x31, 0x35, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x13, + 0x0a, 0x0e, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x56, 0x47, 0x55, 0x49, 0x4d, 0x65, 0x6e, 0x75, + 0x10, 0xad, 0x02, 0x12, 0x11, 0x0a, 0x0c, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x47, 0x65, 0x69, + 0x67, 0x65, 0x72, 0x10, 0xae, 0x02, 0x12, 0x10, 0x0a, 0x0b, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, + 0x54, 0x72, 0x61, 0x69, 0x6e, 0x10, 0xaf, 0x02, 0x12, 0x12, 0x0a, 0x0d, 0x43, 0x53, 0x5f, 0x55, + 0x4d, 0x5f, 0x48, 0x75, 0x64, 0x54, 0x65, 0x78, 0x74, 0x10, 0xb0, 0x02, 0x12, 0x12, 0x0a, 0x0d, + 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x10, 0xb1, 0x02, + 0x12, 0x13, 0x0a, 0x0e, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x61, 0x79, 0x54, 0x65, 0x78, + 0x74, 0x32, 0x10, 0xb2, 0x02, 0x12, 0x12, 0x0a, 0x0d, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x54, + 0x65, 0x78, 0x74, 0x4d, 0x73, 0x67, 0x10, 0xb3, 0x02, 0x12, 0x11, 0x0a, 0x0c, 0x43, 0x53, 0x5f, + 0x55, 0x4d, 0x5f, 0x48, 0x75, 0x64, 0x4d, 0x73, 0x67, 0x10, 0xb4, 0x02, 0x12, 0x13, 0x0a, 0x0e, + 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x65, 0x73, 0x65, 0x74, 0x48, 0x75, 0x64, 0x10, 0xb5, + 0x02, 0x12, 0x14, 0x0a, 0x0f, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x54, + 0x69, 0x74, 0x6c, 0x65, 0x10, 0xb6, 0x02, 0x12, 0x10, 0x0a, 0x0b, 0x43, 0x53, 0x5f, 0x55, 0x4d, + 0x5f, 0x53, 0x68, 0x61, 0x6b, 0x65, 0x10, 0xb8, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x43, 0x53, 0x5f, + 0x55, 0x4d, 0x5f, 0x46, 0x61, 0x64, 0x65, 0x10, 0xb9, 0x02, 0x12, 0x11, 0x0a, 0x0c, 0x43, 0x53, + 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x75, 0x6d, 0x62, 0x6c, 0x65, 0x10, 0xba, 0x02, 0x12, 0x17, 0x0a, + 0x12, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x61, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x10, 0xbb, 0x02, 0x12, 0x1d, 0x0a, 0x18, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, + 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x10, 0xbc, 0x02, 0x12, 0x14, 0x0a, 0x0f, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, + 0x65, 0x6e, 0x64, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x10, 0xbd, 0x02, 0x12, 0x13, 0x0a, 0x0e, 0x43, + 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x61, 0x77, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x10, 0xbe, 0x02, + 0x12, 0x14, 0x0a, 0x0f, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x4d, + 0x61, 0x73, 0x6b, 0x10, 0xbf, 0x02, 0x12, 0x17, 0x0a, 0x12, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0xc0, 0x02, 0x12, + 0x11, 0x0a, 0x0c, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x10, + 0xc1, 0x02, 0x12, 0x14, 0x0a, 0x0f, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x61, 0x64, 0x69, + 0x6f, 0x54, 0x65, 0x78, 0x74, 0x10, 0xc2, 0x02, 0x12, 0x13, 0x0a, 0x0e, 0x43, 0x53, 0x5f, 0x55, + 0x4d, 0x5f, 0x48, 0x69, 0x6e, 0x74, 0x54, 0x65, 0x78, 0x74, 0x10, 0xc3, 0x02, 0x12, 0x16, 0x0a, + 0x11, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x4b, 0x65, 0x79, 0x48, 0x69, 0x6e, 0x74, 0x54, 0x65, + 0x78, 0x74, 0x10, 0xc4, 0x02, 0x12, 0x25, 0x0a, 0x20, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x50, + 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x70, 0x6f, 0x74, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0xc5, 0x02, 0x12, 0x17, 0x0a, 0x12, + 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x66, 0x66, 0x65, + 0x63, 0x74, 0x10, 0xc6, 0x02, 0x12, 0x16, 0x0a, 0x11, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x41, + 0x64, 0x6a, 0x75, 0x73, 0x74, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x10, 0xc7, 0x02, 0x12, 0x1a, 0x0a, + 0x15, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, + 0x6d, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x10, 0xc8, 0x02, 0x12, 0x1c, 0x0a, 0x17, 0x43, 0x53, 0x5f, + 0x55, 0x4d, 0x5f, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, + 0x4d, 0x6f, 0x64, 0x65, 0x10, 0xc9, 0x02, 0x12, 0x12, 0x0a, 0x0d, 0x43, 0x53, 0x5f, 0x55, 0x4d, + 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x43, 0x61, 0x6d, 0x10, 0xca, 0x02, 0x12, 0x1b, 0x0a, 0x16, 0x43, + 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x63, 0x61, 0x6c, 0x65, 0x10, 0xcb, 0x02, 0x12, 0x1b, 0x0a, 0x16, 0x43, 0x53, 0x5f, 0x55, + 0x4d, 0x5f, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x63, 0x61, + 0x6c, 0x65, 0x10, 0xcc, 0x02, 0x12, 0x1b, 0x0a, 0x16, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x41, + 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, + 0xcd, 0x02, 0x12, 0x1d, 0x0a, 0x18, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x45, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0xce, + 0x02, 0x12, 0x1c, 0x0a, 0x17, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x10, 0xcf, 0x02, 0x12, + 0x1c, 0x0a, 0x17, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0xd0, 0x02, 0x12, 0x19, 0x0a, + 0x14, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x57, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x48, 0x61, 0x73, + 0x45, 0x6e, 0x64, 0x65, 0x64, 0x10, 0xd2, 0x02, 0x12, 0x15, 0x0a, 0x10, 0x43, 0x53, 0x5f, 0x55, + 0x4d, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xd3, 0x02, 0x12, + 0x13, 0x0a, 0x0e, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x58, 0x52, 0x61, 0x6e, 0x6b, 0x47, 0x65, + 0x74, 0x10, 0xd4, 0x02, 0x12, 0x13, 0x0a, 0x0e, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x58, 0x52, + 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x10, 0xd5, 0x02, 0x12, 0x19, 0x0a, 0x14, 0x43, 0x53, 0x5f, + 0x55, 0x4d, 0x5f, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x6f, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, + 0x64, 0x10, 0xd9, 0x02, 0x12, 0x14, 0x0a, 0x0f, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x56, 0x6f, + 0x74, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x10, 0xda, 0x02, 0x12, 0x13, 0x0a, 0x0e, 0x43, 0x53, + 0x5f, 0x55, 0x4d, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x50, 0x61, 0x73, 0x73, 0x10, 0xdb, 0x02, 0x12, + 0x15, 0x0a, 0x10, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x46, 0x61, 0x69, + 0x6c, 0x65, 0x64, 0x10, 0xdc, 0x02, 0x12, 0x14, 0x0a, 0x0f, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, + 0x56, 0x6f, 0x74, 0x65, 0x53, 0x65, 0x74, 0x75, 0x70, 0x10, 0xdd, 0x02, 0x12, 0x1e, 0x0a, 0x19, + 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, + 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x41, 0x6c, 0x6c, 0x10, 0xde, 0x02, 0x12, 0x27, 0x0a, 0x22, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x4c, 0x61, 0x73, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x10, 0x33, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x34, - 0x12, 0x14, 0x0a, 0x10, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x69, - 0x63, 0x6b, 0x75, 0x70, 0x10, 0x35, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, - 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x65, 0x6e, 0x75, 0x10, 0x36, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x53, - 0x5f, 0x55, 0x4d, 0x5f, 0x42, 0x61, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x10, 0x37, 0x12, 0x14, 0x0a, - 0x10, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x41, 0x6d, 0x6d, 0x6f, 0x44, 0x65, 0x6e, 0x69, 0x65, - 0x64, 0x10, 0x38, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x61, 0x72, - 0x6b, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x39, 0x12, 0x1a, - 0x0a, 0x16, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x3a, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x53, - 0x5f, 0x55, 0x4d, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x72, 0x6f, 0x70, 0x10, 0x3b, 0x12, 0x19, - 0x0a, 0x15, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x47, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x6f, 0x70, - 0x54, 0x75, 0x72, 0x6e, 0x4f, 0x66, 0x66, 0x10, 0x3c, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x53, 0x5f, - 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x74, 0x65, - 0x6d, 0x44, 0x72, 0x6f, 0x70, 0x73, 0x10, 0x3d, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x53, 0x5f, 0x55, - 0x4d, 0x5f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x46, 0x69, 0x6c, - 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x10, 0x3e, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x53, 0x5f, 0x55, - 0x4d, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, - 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x3f, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x53, 0x5f, 0x55, 0x4d, - 0x5f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x69, 0x74, 0x10, 0x40, 0x12, 0x12, 0x0a, 0x0e, - 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x58, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x41, - 0x12, 0x17, 0x0a, 0x13, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, - 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x10, 0x42, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x53, 0x5f, + 0x6e, 0x74, 0x10, 0xdf, 0x02, 0x12, 0x1b, 0x0a, 0x16, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, + 0xe0, 0x02, 0x12, 0x15, 0x0a, 0x10, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x49, 0x74, 0x65, 0x6d, + 0x50, 0x69, 0x63, 0x6b, 0x75, 0x70, 0x10, 0xe1, 0x02, 0x12, 0x13, 0x0a, 0x0e, 0x43, 0x53, 0x5f, + 0x55, 0x4d, 0x5f, 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x65, 0x6e, 0x75, 0x10, 0xe2, 0x02, 0x12, 0x12, + 0x0a, 0x0d, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x42, 0x61, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x10, + 0xe3, 0x02, 0x12, 0x15, 0x0a, 0x10, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x41, 0x6d, 0x6d, 0x6f, + 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x10, 0xe4, 0x02, 0x12, 0x1a, 0x0a, 0x15, 0x43, 0x53, 0x5f, + 0x55, 0x4d, 0x5f, 0x4d, 0x61, 0x72, 0x6b, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x10, 0xe5, 0x02, 0x12, 0x1b, 0x0a, 0x16, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, + 0xe6, 0x02, 0x12, 0x13, 0x0a, 0x0e, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x49, 0x74, 0x65, 0x6d, + 0x44, 0x72, 0x6f, 0x70, 0x10, 0xe7, 0x02, 0x12, 0x1a, 0x0a, 0x15, 0x43, 0x53, 0x5f, 0x55, 0x4d, + 0x5f, 0x47, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x6f, 0x70, 0x54, 0x75, 0x72, 0x6e, 0x4f, 0x66, 0x66, + 0x10, 0xe8, 0x02, 0x12, 0x1e, 0x0a, 0x19, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x6e, + 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x72, 0x6f, 0x70, 0x73, + 0x10, 0xe9, 0x02, 0x12, 0x1f, 0x0a, 0x1a, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x6f, 0x75, + 0x6e, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x10, 0xea, 0x02, 0x12, 0x1e, 0x0a, 0x19, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, + 0x6e, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x46, 0x6f, 0x75, 0x6e, + 0x64, 0x10, 0xeb, 0x02, 0x12, 0x14, 0x0a, 0x0f, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x48, 0x69, 0x74, 0x10, 0xec, 0x02, 0x12, 0x13, 0x0a, 0x0e, 0x43, 0x53, + 0x5f, 0x55, 0x4d, 0x5f, 0x58, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0xed, 0x02, 0x12, + 0x18, 0x0a, 0x13, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, + 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x10, 0xee, 0x02, 0x12, 0x1f, 0x0a, 0x1a, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, - 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x10, 0x43, 0x12, 0x25, 0x0a, 0x21, 0x43, 0x53, 0x5f, - 0x55, 0x4d, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x44, 0x69, - 0x67, 0x69, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x10, 0x44, - 0x12, 0x15, 0x0a, 0x11, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, - 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x45, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x53, 0x5f, 0x55, 0x4d, - 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x48, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x42, 0x61, 0x72, 0x10, 0x46, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x53, 0x5f, 0x55, - 0x4d, 0x5f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x48, - 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x10, 0x47, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x53, - 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x53, 0x55, 0x49, 0x10, 0x48, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x53, - 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x75, 0x72, 0x76, 0x69, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x10, 0x49, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x69, 0x73, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x32, 0x10, - 0x4a, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x45, 0x6e, 0x64, 0x4f, 0x66, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x44, - 0x61, 0x74, 0x61, 0x10, 0x4b, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x52, - 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x44, - 0x61, 0x74, 0x61, 0x10, 0x4f, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x43, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x4f, 0x64, 0x64, 0x73, 0x10, - 0x50, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x65, 0x65, 0x70, 0x53, - 0x74, 0x61, 0x74, 0x73, 0x10, 0x51, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, - 0x55, 0x74, 0x69, 0x6c, 0x4d, 0x73, 0x67, 0x10, 0x52, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x53, 0x5f, - 0x55, 0x4d, 0x5f, 0x55, 0x74, 0x69, 0x6c, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x10, 0x53, 0x2a, 0x88, 0x01, 0x0a, 0x22, 0x45, 0x43, 0x53, 0x55, 0x73, 0x72, - 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x6f, - 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x2c, - 0x6b, 0x5f, 0x45, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x69, 0x73, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x10, 0x00, 0x12, 0x30, - 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x69, - 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x5f, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x47, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x10, 0x01, - 0x42, 0x05, 0x48, 0x01, 0x80, 0x01, 0x00, + 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x10, 0xef, 0x02, 0x12, 0x26, 0x0a, 0x21, 0x43, 0x53, + 0x5f, 0x55, 0x4d, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x44, + 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x10, + 0xf0, 0x02, 0x12, 0x16, 0x0a, 0x11, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x57, 0x65, 0x61, 0x70, + 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xf1, 0x02, 0x12, 0x20, 0x0a, 0x1b, 0x43, 0x53, + 0x5f, 0x55, 0x4d, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, + 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x42, 0x61, 0x72, 0x10, 0xf2, 0x02, 0x12, 0x21, 0x0a, 0x1c, + 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4f, 0x75, 0x74, 0x6c, + 0x69, 0x6e, 0x65, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x10, 0xf3, 0x02, 0x12, + 0x0f, 0x0a, 0x0a, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x53, 0x55, 0x49, 0x10, 0xf4, 0x02, + 0x12, 0x18, 0x0a, 0x13, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x75, 0x72, 0x76, 0x69, 0x76, + 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x10, 0xf5, 0x02, 0x12, 0x1d, 0x0a, 0x18, 0x43, 0x53, + 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x6f, + 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x32, 0x10, 0xf6, 0x02, 0x12, 0x23, 0x0a, 0x1e, 0x43, 0x53, 0x5f, + 0x55, 0x4d, 0x5f, 0x45, 0x6e, 0x64, 0x4f, 0x66, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6c, 0x6c, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x44, 0x61, 0x74, 0x61, 0x10, 0xf7, 0x02, 0x12, 0x20, + 0x0a, 0x1b, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x6e, + 0x64, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x10, 0xf8, 0x02, + 0x12, 0x1d, 0x0a, 0x18, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x45, + 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x10, 0xfb, 0x02, 0x12, + 0x1b, 0x0a, 0x16, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x4f, 0x64, 0x64, 0x73, 0x10, 0xfc, 0x02, 0x12, 0x14, 0x0a, 0x0f, + 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x65, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x10, + 0xfd, 0x02, 0x12, 0x12, 0x0a, 0x0d, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x55, 0x74, 0x69, 0x6c, + 0x4d, 0x73, 0x67, 0x10, 0xfe, 0x02, 0x12, 0x14, 0x0a, 0x0f, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, + 0x53, 0x68, 0x6f, 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xff, 0x02, 0x2a, 0x88, 0x01, 0x0a, + 0x22, 0x45, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x4c, + 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x44, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x10, 0x00, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x43, 0x53, 0x55, 0x73, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, + 0x6f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x47, 0x6f, + 0x51, 0x75, 0x65, 0x75, 0x65, 0x10, 0x01, } var ( @@ -6833,7 +6616,7 @@ func file_cstrike15_usermessages_proto_rawDescGZIP() []byte { } var file_cstrike15_usermessages_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_cstrike15_usermessages_proto_msgTypes = make([]protoimpl.MessageInfo, 90) +var file_cstrike15_usermessages_proto_msgTypes = make([]protoimpl.MessageInfo, 86) var file_cstrike15_usermessages_proto_goTypes = []interface{}{ (ECstrike15UserMessages)(0), // 0: ECstrike15UserMessages (ECSUsrMsg_DisconnectToLobby_Action)(0), // 1: ECSUsrMsg_DisconnectToLobby_Action @@ -6841,137 +6624,137 @@ var file_cstrike15_usermessages_proto_goTypes = []interface{}{ (*CCSUsrMsg_Geiger)(nil), // 3: CCSUsrMsg_Geiger (*CCSUsrMsg_Train)(nil), // 4: CCSUsrMsg_Train (*CCSUsrMsg_HudText)(nil), // 5: CCSUsrMsg_HudText - (*CCSUsrMsg_SayText)(nil), // 6: CCSUsrMsg_SayText - (*CCSUsrMsg_SayText2)(nil), // 7: CCSUsrMsg_SayText2 - (*CCSUsrMsg_TextMsg)(nil), // 8: CCSUsrMsg_TextMsg - (*CCSUsrMsg_HudMsg)(nil), // 9: CCSUsrMsg_HudMsg - (*CCSUsrMsg_Shake)(nil), // 10: CCSUsrMsg_Shake - (*CCSUsrMsg_Fade)(nil), // 11: CCSUsrMsg_Fade - (*CCSUsrMsg_Rumble)(nil), // 12: CCSUsrMsg_Rumble - (*CCSUsrMsg_CloseCaption)(nil), // 13: CCSUsrMsg_CloseCaption - (*CCSUsrMsg_CloseCaptionDirect)(nil), // 14: CCSUsrMsg_CloseCaptionDirect - (*CCSUsrMsg_SendAudio)(nil), // 15: CCSUsrMsg_SendAudio - (*CCSUsrMsg_RawAudio)(nil), // 16: CCSUsrMsg_RawAudio - (*CCSUsrMsg_VoiceMask)(nil), // 17: CCSUsrMsg_VoiceMask - (*CCSUsrMsg_Damage)(nil), // 18: CCSUsrMsg_Damage - (*CCSUsrMsg_RadioText)(nil), // 19: CCSUsrMsg_RadioText - (*CCSUsrMsg_HintText)(nil), // 20: CCSUsrMsg_HintText - (*CCSUsrMsg_KeyHintText)(nil), // 21: CCSUsrMsg_KeyHintText - (*CCSUsrMsg_ProcessSpottedEntityUpdate)(nil), // 22: CCSUsrMsg_ProcessSpottedEntityUpdate - (*CCSUsrMsg_SendPlayerItemDrops)(nil), // 23: CCSUsrMsg_SendPlayerItemDrops - (*CCSUsrMsg_SendPlayerItemFound)(nil), // 24: CCSUsrMsg_SendPlayerItemFound - (*CCSUsrMsg_ReloadEffect)(nil), // 25: CCSUsrMsg_ReloadEffect - (*CCSUsrMsg_WeaponSound)(nil), // 26: CCSUsrMsg_WeaponSound - (*CCSUsrMsg_UpdateScreenHealthBar)(nil), // 27: CCSUsrMsg_UpdateScreenHealthBar - (*CCSUsrMsg_EntityOutlineHighlight)(nil), // 28: CCSUsrMsg_EntityOutlineHighlight - (*CCSUsrMsg_AdjustMoney)(nil), // 29: CCSUsrMsg_AdjustMoney - (*CCSUsrMsg_ReportHit)(nil), // 30: CCSUsrMsg_ReportHit - (*CCSUsrMsg_KillCam)(nil), // 31: CCSUsrMsg_KillCam - (*CCSUsrMsg_DesiredTimescale)(nil), // 32: CCSUsrMsg_DesiredTimescale - (*CCSUsrMsg_CurrentTimescale)(nil), // 33: CCSUsrMsg_CurrentTimescale - (*CCSUsrMsg_AchievementEvent)(nil), // 34: CCSUsrMsg_AchievementEvent - (*CCSUsrMsg_MatchEndConditions)(nil), // 35: CCSUsrMsg_MatchEndConditions - (*CCSUsrMsg_PlayerStatsUpdate)(nil), // 36: CCSUsrMsg_PlayerStatsUpdate - (*CCSUsrMsg_DisplayInventory)(nil), // 37: CCSUsrMsg_DisplayInventory - (*CCSUsrMsg_QuestProgress)(nil), // 38: CCSUsrMsg_QuestProgress - (*CCSUsrMsg_ScoreLeaderboardData)(nil), // 39: CCSUsrMsg_ScoreLeaderboardData - (*CCSUsrMsg_PlayerDecalDigitalSignature)(nil), // 40: CCSUsrMsg_PlayerDecalDigitalSignature - (*CCSUsrMsg_XRankGet)(nil), // 41: CCSUsrMsg_XRankGet - (*CCSUsrMsg_XRankUpd)(nil), // 42: CCSUsrMsg_XRankUpd - (*CCSUsrMsg_CallVoteFailed)(nil), // 43: CCSUsrMsg_CallVoteFailed - (*CCSUsrMsg_VoteStart)(nil), // 44: CCSUsrMsg_VoteStart - (*CCSUsrMsg_VotePass)(nil), // 45: CCSUsrMsg_VotePass - (*CCSUsrMsg_VoteFailed)(nil), // 46: CCSUsrMsg_VoteFailed - (*CCSUsrMsg_VoteSetup)(nil), // 47: CCSUsrMsg_VoteSetup - (*CCSUsrMsg_SendLastKillerDamageToClient)(nil), // 48: CCSUsrMsg_SendLastKillerDamageToClient - (*CCSUsrMsg_ServerRankUpdate)(nil), // 49: CCSUsrMsg_ServerRankUpdate - (*CCSUsrMsg_XpUpdate)(nil), // 50: CCSUsrMsg_XpUpdate - (*CCSUsrMsg_ItemPickup)(nil), // 51: CCSUsrMsg_ItemPickup - (*CCSUsrMsg_ShowMenu)(nil), // 52: CCSUsrMsg_ShowMenu - (*CCSUsrMsg_BarTime)(nil), // 53: CCSUsrMsg_BarTime - (*CCSUsrMsg_AmmoDenied)(nil), // 54: CCSUsrMsg_AmmoDenied - (*CCSUsrMsg_MarkAchievement)(nil), // 55: CCSUsrMsg_MarkAchievement - (*CCSUsrMsg_MatchStatsUpdate)(nil), // 56: CCSUsrMsg_MatchStatsUpdate - (*CCSUsrMsg_ItemDrop)(nil), // 57: CCSUsrMsg_ItemDrop - (*CCSUsrMsg_GlowPropTurnOff)(nil), // 58: CCSUsrMsg_GlowPropTurnOff - (*CCSUsrMsg_RoundBackupFilenames)(nil), // 59: CCSUsrMsg_RoundBackupFilenames - (*CCSUsrMsg_SSUI)(nil), // 60: CCSUsrMsg_SSUI - (*CCSUsrMsg_SurvivalStats)(nil), // 61: CCSUsrMsg_SurvivalStats - (*CCSUsrMsg_EndOfMatchAllPlayersData)(nil), // 62: CCSUsrMsg_EndOfMatchAllPlayersData - (*CCSUsrMsg_RoundImpactScoreData)(nil), // 63: CCSUsrMsg_RoundImpactScoreData - (*CCSUsrMsg_CurrentRoundOdds)(nil), // 64: CCSUsrMsg_CurrentRoundOdds - (*CCSUsrMsg_DeepStats)(nil), // 65: CCSUsrMsg_DeepStats - (*CCSUsrMsg_ResetHud)(nil), // 66: CCSUsrMsg_ResetHud - (*CCSUsrMsg_GameTitle)(nil), // 67: CCSUsrMsg_GameTitle - (*CCSUsrMsg_RequestState)(nil), // 68: CCSUsrMsg_RequestState - (*CCSUsrMsg_StopSpectatorMode)(nil), // 69: CCSUsrMsg_StopSpectatorMode - (*CCSUsrMsg_DisconnectToLobby)(nil), // 70: CCSUsrMsg_DisconnectToLobby - (*CCSUsrMsg_WarmupHasEnded)(nil), // 71: CCSUsrMsg_WarmupHasEnded - (*CCSUsrMsg_ClientInfo)(nil), // 72: CCSUsrMsg_ClientInfo - (*CCSUsrMsg_ServerRankRevealAll)(nil), // 73: CCSUsrMsg_ServerRankRevealAll - (*CCSUsrMsg_UtilMsg)(nil), // 74: CCSUsrMsg_UtilMsg - (*CCSUsrMsg_UtilMsg_Response)(nil), // 75: CCSUsrMsg_UtilMsg_Response - (*CCSUsrMsg_VGUIMenu_Subkey)(nil), // 76: CCSUsrMsg_VGUIMenu.Subkey - (*CCSUsrMsg_VoiceMask_PlayerMask)(nil), // 77: CCSUsrMsg_VoiceMask.PlayerMask - (*CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate)(nil), // 78: CCSUsrMsg_ProcessSpottedEntityUpdate.SpottedEntityUpdate - (*CCSUsrMsg_PlayerStatsUpdate_Stat)(nil), // 79: CCSUsrMsg_PlayerStatsUpdate.Stat - (*CCSUsrMsg_ServerRankUpdate_RankUpdate)(nil), // 80: CCSUsrMsg_ServerRankUpdate.RankUpdate - (*CCSUsrMsg_SurvivalStats_Fact)(nil), // 81: CCSUsrMsg_SurvivalStats.Fact - (*CCSUsrMsg_SurvivalStats_Placement)(nil), // 82: CCSUsrMsg_SurvivalStats.Placement - (*CCSUsrMsg_SurvivalStats_Damage)(nil), // 83: CCSUsrMsg_SurvivalStats.Damage - (*CCSUsrMsg_EndOfMatchAllPlayersData_Accolade)(nil), // 84: CCSUsrMsg_EndOfMatchAllPlayersData.Accolade - (*CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData)(nil), // 85: CCSUsrMsg_EndOfMatchAllPlayersData.PlayerData - (*CCSUsrMsg_RoundImpactScoreData_RisEvent)(nil), // 86: CCSUsrMsg_RoundImpactScoreData.RisEvent - (*CCSUsrMsg_RoundImpactScoreData_InitialConditions)(nil), // 87: CCSUsrMsg_RoundImpactScoreData.InitialConditions - (*CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim)(nil), // 88: CCSUsrMsg_RoundImpactScoreData.RisEvent.Victim - (*CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective)(nil), // 89: CCSUsrMsg_RoundImpactScoreData.RisEvent.Objective - (*CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage)(nil), // 90: CCSUsrMsg_RoundImpactScoreData.RisEvent.Damage - (*CCSUsrMsg_UtilMsg_Response_ItemDetail)(nil), // 91: CCSUsrMsg_UtilMsg_Response.ItemDetail - (*CMsgVector2D)(nil), // 92: CMsgVector2D - (*CMsgRGBA)(nil), // 93: CMsgRGBA - (*CMsgVector)(nil), // 94: CMsgVector - (*CEconItemPreviewDataBlock)(nil), // 95: CEconItemPreviewDataBlock - (*ScoreLeaderboardData)(nil), // 96: ScoreLeaderboardData - (*PlayerDecalDigitalSignature)(nil), // 97: PlayerDecalDigitalSignature - (*CMsgGCCstrike15V2_GC2ServerNotifyXPRewarded)(nil), // 98: CMsgGCCstrike15_v2_GC2ServerNotifyXPRewarded - (*CMsgGCCStrike15_ClientDeepStats)(nil), // 99: CMsgGCCStrike15_ClientDeepStats - (*CMsgGCCStrike15V2_MatchmakingGC2ServerReserve)(nil), // 100: CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve + (*CCSUsrMsg_HudMsg)(nil), // 6: CCSUsrMsg_HudMsg + (*CCSUsrMsg_Shake)(nil), // 7: CCSUsrMsg_Shake + (*CCSUsrMsg_Fade)(nil), // 8: CCSUsrMsg_Fade + (*CCSUsrMsg_Rumble)(nil), // 9: CCSUsrMsg_Rumble + (*CCSUsrMsg_CloseCaption)(nil), // 10: CCSUsrMsg_CloseCaption + (*CCSUsrMsg_CloseCaptionDirect)(nil), // 11: CCSUsrMsg_CloseCaptionDirect + (*CCSUsrMsg_SendAudio)(nil), // 12: CCSUsrMsg_SendAudio + (*CCSUsrMsg_RawAudio)(nil), // 13: CCSUsrMsg_RawAudio + (*CCSUsrMsg_VoiceMask)(nil), // 14: CCSUsrMsg_VoiceMask + (*CCSUsrMsg_Damage)(nil), // 15: CCSUsrMsg_Damage + (*CCSUsrMsg_RadioText)(nil), // 16: CCSUsrMsg_RadioText + (*CCSUsrMsg_HintText)(nil), // 17: CCSUsrMsg_HintText + (*CCSUsrMsg_KeyHintText)(nil), // 18: CCSUsrMsg_KeyHintText + (*CCSUsrMsg_ProcessSpottedEntityUpdate)(nil), // 19: CCSUsrMsg_ProcessSpottedEntityUpdate + (*CCSUsrMsg_SendPlayerItemDrops)(nil), // 20: CCSUsrMsg_SendPlayerItemDrops + (*CCSUsrMsg_SendPlayerItemFound)(nil), // 21: CCSUsrMsg_SendPlayerItemFound + (*CCSUsrMsg_ReloadEffect)(nil), // 22: CCSUsrMsg_ReloadEffect + (*CCSUsrMsg_WeaponSound)(nil), // 23: CCSUsrMsg_WeaponSound + (*CCSUsrMsg_UpdateScreenHealthBar)(nil), // 24: CCSUsrMsg_UpdateScreenHealthBar + (*CCSUsrMsg_EntityOutlineHighlight)(nil), // 25: CCSUsrMsg_EntityOutlineHighlight + (*CCSUsrMsg_AdjustMoney)(nil), // 26: CCSUsrMsg_AdjustMoney + (*CCSUsrMsg_ReportHit)(nil), // 27: CCSUsrMsg_ReportHit + (*CCSUsrMsg_KillCam)(nil), // 28: CCSUsrMsg_KillCam + (*CCSUsrMsg_DesiredTimescale)(nil), // 29: CCSUsrMsg_DesiredTimescale + (*CCSUsrMsg_CurrentTimescale)(nil), // 30: CCSUsrMsg_CurrentTimescale + (*CCSUsrMsg_AchievementEvent)(nil), // 31: CCSUsrMsg_AchievementEvent + (*CCSUsrMsg_MatchEndConditions)(nil), // 32: CCSUsrMsg_MatchEndConditions + (*CCSUsrMsg_PlayerStatsUpdate)(nil), // 33: CCSUsrMsg_PlayerStatsUpdate + (*CCSUsrMsg_QuestProgress)(nil), // 34: CCSUsrMsg_QuestProgress + (*CCSUsrMsg_ScoreLeaderboardData)(nil), // 35: CCSUsrMsg_ScoreLeaderboardData + (*CCSUsrMsg_PlayerDecalDigitalSignature)(nil), // 36: CCSUsrMsg_PlayerDecalDigitalSignature + (*CCSUsrMsg_XRankGet)(nil), // 37: CCSUsrMsg_XRankGet + (*CCSUsrMsg_XRankUpd)(nil), // 38: CCSUsrMsg_XRankUpd + (*CCSUsrMsg_CallVoteFailed)(nil), // 39: CCSUsrMsg_CallVoteFailed + (*CCSUsrMsg_VoteStart)(nil), // 40: CCSUsrMsg_VoteStart + (*CCSUsrMsg_VotePass)(nil), // 41: CCSUsrMsg_VotePass + (*CCSUsrMsg_VoteFailed)(nil), // 42: CCSUsrMsg_VoteFailed + (*CCSUsrMsg_VoteSetup)(nil), // 43: CCSUsrMsg_VoteSetup + (*CCSUsrMsg_SendLastKillerDamageToClient)(nil), // 44: CCSUsrMsg_SendLastKillerDamageToClient + (*CCSUsrMsg_ServerRankUpdate)(nil), // 45: CCSUsrMsg_ServerRankUpdate + (*CCSUsrMsg_XpUpdate)(nil), // 46: CCSUsrMsg_XpUpdate + (*CCSUsrMsg_ItemPickup)(nil), // 47: CCSUsrMsg_ItemPickup + (*CCSUsrMsg_ShowMenu)(nil), // 48: CCSUsrMsg_ShowMenu + (*CCSUsrMsg_BarTime)(nil), // 49: CCSUsrMsg_BarTime + (*CCSUsrMsg_AmmoDenied)(nil), // 50: CCSUsrMsg_AmmoDenied + (*CCSUsrMsg_MarkAchievement)(nil), // 51: CCSUsrMsg_MarkAchievement + (*CCSUsrMsg_MatchStatsUpdate)(nil), // 52: CCSUsrMsg_MatchStatsUpdate + (*CCSUsrMsg_ItemDrop)(nil), // 53: CCSUsrMsg_ItemDrop + (*CCSUsrMsg_GlowPropTurnOff)(nil), // 54: CCSUsrMsg_GlowPropTurnOff + (*CCSUsrMsg_RoundBackupFilenames)(nil), // 55: CCSUsrMsg_RoundBackupFilenames + (*CCSUsrMsg_SSUI)(nil), // 56: CCSUsrMsg_SSUI + (*CCSUsrMsg_SurvivalStats)(nil), // 57: CCSUsrMsg_SurvivalStats + (*CCSUsrMsg_EndOfMatchAllPlayersData)(nil), // 58: CCSUsrMsg_EndOfMatchAllPlayersData + (*CCSUsrMsg_RoundEndReportData)(nil), // 59: CCSUsrMsg_RoundEndReportData + (*CCSUsrMsg_PostRoundDamageReport)(nil), // 60: CCSUsrMsg_PostRoundDamageReport + (*CCSUsrMsg_CurrentRoundOdds)(nil), // 61: CCSUsrMsg_CurrentRoundOdds + (*CCSUsrMsg_DeepStats)(nil), // 62: CCSUsrMsg_DeepStats + (*CCSUsrMsg_ShootInfo)(nil), // 63: CCSUsrMsg_ShootInfo + (*CCSUsrMsg_ResetHud)(nil), // 64: CCSUsrMsg_ResetHud + (*CCSUsrMsg_GameTitle)(nil), // 65: CCSUsrMsg_GameTitle + (*CCSUsrMsg_RequestState)(nil), // 66: CCSUsrMsg_RequestState + (*CCSUsrMsg_StopSpectatorMode)(nil), // 67: CCSUsrMsg_StopSpectatorMode + (*CCSUsrMsg_DisconnectToLobby)(nil), // 68: CCSUsrMsg_DisconnectToLobby + (*CCSUsrMsg_WarmupHasEnded)(nil), // 69: CCSUsrMsg_WarmupHasEnded + (*CCSUsrMsg_ClientInfo)(nil), // 70: CCSUsrMsg_ClientInfo + (*CCSUsrMsg_ServerRankRevealAll)(nil), // 71: CCSUsrMsg_ServerRankRevealAll + (*CCSUsrMsgPreMatchSayText)(nil), // 72: CCSUsrMsgPreMatchSayText + (*CCSUsrMsg_VGUIMenu_Keys)(nil), // 73: CCSUsrMsg_VGUIMenu.Keys + (*CCSUsrMsg_VoiceMask_PlayerMask)(nil), // 74: CCSUsrMsg_VoiceMask.PlayerMask + (*CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate)(nil), // 75: CCSUsrMsg_ProcessSpottedEntityUpdate.SpottedEntityUpdate + (*CCSUsrMsg_PlayerStatsUpdate_Stat)(nil), // 76: CCSUsrMsg_PlayerStatsUpdate.Stat + (*CCSUsrMsg_ServerRankUpdate_RankUpdate)(nil), // 77: CCSUsrMsg_ServerRankUpdate.RankUpdate + (*CCSUsrMsg_SurvivalStats_Fact)(nil), // 78: CCSUsrMsg_SurvivalStats.Fact + (*CCSUsrMsg_SurvivalStats_Placement)(nil), // 79: CCSUsrMsg_SurvivalStats.Placement + (*CCSUsrMsg_SurvivalStats_Damage)(nil), // 80: CCSUsrMsg_SurvivalStats.Damage + (*CCSUsrMsg_EndOfMatchAllPlayersData_Accolade)(nil), // 81: CCSUsrMsg_EndOfMatchAllPlayersData.Accolade + (*CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData)(nil), // 82: CCSUsrMsg_EndOfMatchAllPlayersData.PlayerData + (*CCSUsrMsg_RoundEndReportData_RerEvent)(nil), // 83: CCSUsrMsg_RoundEndReportData.RerEvent + (*CCSUsrMsg_RoundEndReportData_InitialConditions)(nil), // 84: CCSUsrMsg_RoundEndReportData.InitialConditions + (*CCSUsrMsg_RoundEndReportData_RerEvent_Victim)(nil), // 85: CCSUsrMsg_RoundEndReportData.RerEvent.Victim + (*CCSUsrMsg_RoundEndReportData_RerEvent_Objective)(nil), // 86: CCSUsrMsg_RoundEndReportData.RerEvent.Objective + (*CCSUsrMsg_RoundEndReportData_RerEvent_Damage)(nil), // 87: CCSUsrMsg_RoundEndReportData.RerEvent.Damage + (*CMsgVector2D)(nil), // 88: CMsgVector2D + (*CMsgRGBA)(nil), // 89: CMsgRGBA + (*CMsgVector)(nil), // 90: CMsgVector + (*CEconItemPreviewDataBlock)(nil), // 91: CEconItemPreviewDataBlock + (*ScoreLeaderboardData)(nil), // 92: ScoreLeaderboardData + (*PlayerDecalDigitalSignature)(nil), // 93: PlayerDecalDigitalSignature + (*CMsgGCCstrike15V2_GC2ServerNotifyXPRewarded)(nil), // 94: CMsgGCCstrike15_v2_GC2ServerNotifyXPRewarded + (*CMsgGCCStrike15_ClientDeepStats)(nil), // 95: CMsgGCCStrike15_ClientDeepStats + (*CMsgTransform)(nil), // 96: CMsgTransform + (*CMsgQAngle)(nil), // 97: CMsgQAngle + (*CMsgGCCStrike15V2_MatchmakingGC2ServerReserve)(nil), // 98: CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve } var file_cstrike15_usermessages_proto_depIdxs = []int32{ - 76, // 0: CCSUsrMsg_VGUIMenu.subkeys:type_name -> CCSUsrMsg_VGUIMenu.Subkey - 92, // 1: CCSUsrMsg_HudMsg.pos:type_name -> CMsgVector2D - 93, // 2: CCSUsrMsg_HudMsg.clr1:type_name -> CMsgRGBA - 93, // 3: CCSUsrMsg_HudMsg.clr2:type_name -> CMsgRGBA - 93, // 4: CCSUsrMsg_Fade.clr:type_name -> CMsgRGBA - 77, // 5: CCSUsrMsg_VoiceMask.player_masks:type_name -> CCSUsrMsg_VoiceMask.PlayerMask - 94, // 6: CCSUsrMsg_Damage.inflictor_world_pos:type_name -> CMsgVector - 78, // 7: CCSUsrMsg_ProcessSpottedEntityUpdate.entity_updates:type_name -> CCSUsrMsg_ProcessSpottedEntityUpdate.SpottedEntityUpdate - 95, // 8: CCSUsrMsg_SendPlayerItemDrops.entity_updates:type_name -> CEconItemPreviewDataBlock - 95, // 9: CCSUsrMsg_SendPlayerItemFound.iteminfo:type_name -> CEconItemPreviewDataBlock - 79, // 10: CCSUsrMsg_PlayerStatsUpdate.stats:type_name -> CCSUsrMsg_PlayerStatsUpdate.Stat - 96, // 11: CCSUsrMsg_ScoreLeaderboardData.data:type_name -> ScoreLeaderboardData - 97, // 12: CCSUsrMsg_PlayerDecalDigitalSignature.data:type_name -> PlayerDecalDigitalSignature - 80, // 13: CCSUsrMsg_ServerRankUpdate.rank_update:type_name -> CCSUsrMsg_ServerRankUpdate.RankUpdate - 98, // 14: CCSUsrMsg_XpUpdate.data:type_name -> CMsgGCCstrike15_v2_GC2ServerNotifyXPRewarded - 81, // 15: CCSUsrMsg_SurvivalStats.facts:type_name -> CCSUsrMsg_SurvivalStats.Fact - 82, // 16: CCSUsrMsg_SurvivalStats.users:type_name -> CCSUsrMsg_SurvivalStats.Placement - 83, // 17: CCSUsrMsg_SurvivalStats.damages:type_name -> CCSUsrMsg_SurvivalStats.Damage - 85, // 18: CCSUsrMsg_EndOfMatchAllPlayersData.allplayerdata:type_name -> CCSUsrMsg_EndOfMatchAllPlayersData.PlayerData - 87, // 19: CCSUsrMsg_RoundImpactScoreData.init_conditions:type_name -> CCSUsrMsg_RoundImpactScoreData.InitialConditions - 86, // 20: CCSUsrMsg_RoundImpactScoreData.all_ris_event_data:type_name -> CCSUsrMsg_RoundImpactScoreData.RisEvent - 99, // 21: CCSUsrMsg_DeepStats.stats:type_name -> CMsgGCCStrike15_ClientDeepStats - 100, // 22: CCSUsrMsg_ServerRankRevealAll.reservation:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve - 91, // 23: CCSUsrMsg_UtilMsg_Response.itemdetails:type_name -> CCSUsrMsg_UtilMsg_Response.ItemDetail - 84, // 24: CCSUsrMsg_EndOfMatchAllPlayersData.PlayerData.nomination:type_name -> CCSUsrMsg_EndOfMatchAllPlayersData.Accolade - 95, // 25: CCSUsrMsg_EndOfMatchAllPlayersData.PlayerData.items:type_name -> CEconItemPreviewDataBlock - 88, // 26: CCSUsrMsg_RoundImpactScoreData.RisEvent.victim_data:type_name -> CCSUsrMsg_RoundImpactScoreData.RisEvent.Victim - 89, // 27: CCSUsrMsg_RoundImpactScoreData.RisEvent.objective_data:type_name -> CCSUsrMsg_RoundImpactScoreData.RisEvent.Objective - 90, // 28: CCSUsrMsg_RoundImpactScoreData.RisEvent.all_damage_data:type_name -> CCSUsrMsg_RoundImpactScoreData.RisEvent.Damage - 29, // [29:29] is the sub-list for method output_type - 29, // [29:29] is the sub-list for method input_type - 29, // [29:29] is the sub-list for extension type_name - 29, // [29:29] is the sub-list for extension extendee - 0, // [0:29] is the sub-list for field type_name + 73, // 0: CCSUsrMsg_VGUIMenu.keys:type_name -> CCSUsrMsg_VGUIMenu.Keys + 88, // 1: CCSUsrMsg_HudMsg.pos:type_name -> CMsgVector2D + 89, // 2: CCSUsrMsg_HudMsg.clr1:type_name -> CMsgRGBA + 89, // 3: CCSUsrMsg_HudMsg.clr2:type_name -> CMsgRGBA + 89, // 4: CCSUsrMsg_Fade.clr:type_name -> CMsgRGBA + 74, // 5: CCSUsrMsg_VoiceMask.player_masks:type_name -> CCSUsrMsg_VoiceMask.PlayerMask + 90, // 6: CCSUsrMsg_Damage.inflictor_world_pos:type_name -> CMsgVector + 75, // 7: CCSUsrMsg_ProcessSpottedEntityUpdate.entity_updates:type_name -> CCSUsrMsg_ProcessSpottedEntityUpdate.SpottedEntityUpdate + 91, // 8: CCSUsrMsg_SendPlayerItemDrops.entity_updates:type_name -> CEconItemPreviewDataBlock + 91, // 9: CCSUsrMsg_SendPlayerItemFound.iteminfo:type_name -> CEconItemPreviewDataBlock + 76, // 10: CCSUsrMsg_PlayerStatsUpdate.stats:type_name -> CCSUsrMsg_PlayerStatsUpdate.Stat + 92, // 11: CCSUsrMsg_ScoreLeaderboardData.data:type_name -> ScoreLeaderboardData + 93, // 12: CCSUsrMsg_PlayerDecalDigitalSignature.data:type_name -> PlayerDecalDigitalSignature + 77, // 13: CCSUsrMsg_ServerRankUpdate.rank_update:type_name -> CCSUsrMsg_ServerRankUpdate.RankUpdate + 94, // 14: CCSUsrMsg_XpUpdate.data:type_name -> CMsgGCCstrike15_v2_GC2ServerNotifyXPRewarded + 78, // 15: CCSUsrMsg_SurvivalStats.facts:type_name -> CCSUsrMsg_SurvivalStats.Fact + 79, // 16: CCSUsrMsg_SurvivalStats.users:type_name -> CCSUsrMsg_SurvivalStats.Placement + 80, // 17: CCSUsrMsg_SurvivalStats.damages:type_name -> CCSUsrMsg_SurvivalStats.Damage + 82, // 18: CCSUsrMsg_EndOfMatchAllPlayersData.allplayerdata:type_name -> CCSUsrMsg_EndOfMatchAllPlayersData.PlayerData + 84, // 19: CCSUsrMsg_RoundEndReportData.init_conditions:type_name -> CCSUsrMsg_RoundEndReportData.InitialConditions + 83, // 20: CCSUsrMsg_RoundEndReportData.all_rer_event_data:type_name -> CCSUsrMsg_RoundEndReportData.RerEvent + 95, // 21: CCSUsrMsg_DeepStats.stats:type_name -> CMsgGCCStrike15_ClientDeepStats + 96, // 22: CCSUsrMsg_ShootInfo.hitbox_transforms:type_name -> CMsgTransform + 90, // 23: CCSUsrMsg_ShootInfo.shoot_pos:type_name -> CMsgVector + 97, // 24: CCSUsrMsg_ShootInfo.shoot_dir:type_name -> CMsgQAngle + 98, // 25: CCSUsrMsg_ServerRankRevealAll.reservation:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve + 81, // 26: CCSUsrMsg_EndOfMatchAllPlayersData.PlayerData.nomination:type_name -> CCSUsrMsg_EndOfMatchAllPlayersData.Accolade + 91, // 27: CCSUsrMsg_EndOfMatchAllPlayersData.PlayerData.items:type_name -> CEconItemPreviewDataBlock + 85, // 28: CCSUsrMsg_RoundEndReportData.RerEvent.victim_data:type_name -> CCSUsrMsg_RoundEndReportData.RerEvent.Victim + 86, // 29: CCSUsrMsg_RoundEndReportData.RerEvent.objective_data:type_name -> CCSUsrMsg_RoundEndReportData.RerEvent.Objective + 87, // 30: CCSUsrMsg_RoundEndReportData.RerEvent.all_damage_data:type_name -> CCSUsrMsg_RoundEndReportData.RerEvent.Damage + 31, // [31:31] is the sub-list for method output_type + 31, // [31:31] is the sub-list for method input_type + 31, // [31:31] is the sub-list for extension type_name + 31, // [31:31] is the sub-list for extension extendee + 0, // [0:31] is the sub-list for field type_name } func init() { file_cstrike15_usermessages_proto_init() } @@ -6979,7 +6762,7 @@ func file_cstrike15_usermessages_proto_init() { if File_cstrike15_usermessages_proto != nil { return } - file_netmessages_proto_init() + file_networkbasetypes_proto_init() file_cstrike15_gcmessages_proto_init() if !protoimpl.UnsafeEnabled { file_cstrike15_usermessages_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { @@ -7031,7 +6814,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_SayText); i { + switch v := v.(*CCSUsrMsg_HudMsg); i { case 0: return &v.state case 1: @@ -7043,7 +6826,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_SayText2); i { + switch v := v.(*CCSUsrMsg_Shake); i { case 0: return &v.state case 1: @@ -7055,7 +6838,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_TextMsg); i { + switch v := v.(*CCSUsrMsg_Fade); i { case 0: return &v.state case 1: @@ -7067,7 +6850,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_HudMsg); i { + switch v := v.(*CCSUsrMsg_Rumble); i { case 0: return &v.state case 1: @@ -7079,7 +6862,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_Shake); i { + switch v := v.(*CCSUsrMsg_CloseCaption); i { case 0: return &v.state case 1: @@ -7091,7 +6874,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_Fade); i { + switch v := v.(*CCSUsrMsg_CloseCaptionDirect); i { case 0: return &v.state case 1: @@ -7103,7 +6886,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_Rumble); i { + switch v := v.(*CCSUsrMsg_SendAudio); i { case 0: return &v.state case 1: @@ -7115,7 +6898,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_CloseCaption); i { + switch v := v.(*CCSUsrMsg_RawAudio); i { case 0: return &v.state case 1: @@ -7127,7 +6910,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_CloseCaptionDirect); i { + switch v := v.(*CCSUsrMsg_VoiceMask); i { case 0: return &v.state case 1: @@ -7139,7 +6922,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_SendAudio); i { + switch v := v.(*CCSUsrMsg_Damage); i { case 0: return &v.state case 1: @@ -7151,7 +6934,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_RawAudio); i { + switch v := v.(*CCSUsrMsg_RadioText); i { case 0: return &v.state case 1: @@ -7163,7 +6946,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_VoiceMask); i { + switch v := v.(*CCSUsrMsg_HintText); i { case 0: return &v.state case 1: @@ -7175,7 +6958,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_Damage); i { + switch v := v.(*CCSUsrMsg_KeyHintText); i { case 0: return &v.state case 1: @@ -7187,7 +6970,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_RadioText); i { + switch v := v.(*CCSUsrMsg_ProcessSpottedEntityUpdate); i { case 0: return &v.state case 1: @@ -7199,7 +6982,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_HintText); i { + switch v := v.(*CCSUsrMsg_SendPlayerItemDrops); i { case 0: return &v.state case 1: @@ -7211,7 +6994,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_KeyHintText); i { + switch v := v.(*CCSUsrMsg_SendPlayerItemFound); i { case 0: return &v.state case 1: @@ -7223,7 +7006,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_ProcessSpottedEntityUpdate); i { + switch v := v.(*CCSUsrMsg_ReloadEffect); i { case 0: return &v.state case 1: @@ -7235,7 +7018,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_SendPlayerItemDrops); i { + switch v := v.(*CCSUsrMsg_WeaponSound); i { case 0: return &v.state case 1: @@ -7247,7 +7030,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_SendPlayerItemFound); i { + switch v := v.(*CCSUsrMsg_UpdateScreenHealthBar); i { case 0: return &v.state case 1: @@ -7259,7 +7042,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_ReloadEffect); i { + switch v := v.(*CCSUsrMsg_EntityOutlineHighlight); i { case 0: return &v.state case 1: @@ -7271,7 +7054,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_WeaponSound); i { + switch v := v.(*CCSUsrMsg_AdjustMoney); i { case 0: return &v.state case 1: @@ -7283,7 +7066,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_UpdateScreenHealthBar); i { + switch v := v.(*CCSUsrMsg_ReportHit); i { case 0: return &v.state case 1: @@ -7295,7 +7078,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_EntityOutlineHighlight); i { + switch v := v.(*CCSUsrMsg_KillCam); i { case 0: return &v.state case 1: @@ -7307,7 +7090,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_AdjustMoney); i { + switch v := v.(*CCSUsrMsg_DesiredTimescale); i { case 0: return &v.state case 1: @@ -7319,7 +7102,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_ReportHit); i { + switch v := v.(*CCSUsrMsg_CurrentTimescale); i { case 0: return &v.state case 1: @@ -7331,7 +7114,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_KillCam); i { + switch v := v.(*CCSUsrMsg_AchievementEvent); i { case 0: return &v.state case 1: @@ -7343,7 +7126,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_DesiredTimescale); i { + switch v := v.(*CCSUsrMsg_MatchEndConditions); i { case 0: return &v.state case 1: @@ -7355,7 +7138,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_CurrentTimescale); i { + switch v := v.(*CCSUsrMsg_PlayerStatsUpdate); i { case 0: return &v.state case 1: @@ -7367,7 +7150,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_AchievementEvent); i { + switch v := v.(*CCSUsrMsg_QuestProgress); i { case 0: return &v.state case 1: @@ -7379,7 +7162,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_MatchEndConditions); i { + switch v := v.(*CCSUsrMsg_ScoreLeaderboardData); i { case 0: return &v.state case 1: @@ -7391,7 +7174,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_PlayerStatsUpdate); i { + switch v := v.(*CCSUsrMsg_PlayerDecalDigitalSignature); i { case 0: return &v.state case 1: @@ -7403,7 +7186,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_DisplayInventory); i { + switch v := v.(*CCSUsrMsg_XRankGet); i { case 0: return &v.state case 1: @@ -7415,7 +7198,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_QuestProgress); i { + switch v := v.(*CCSUsrMsg_XRankUpd); i { case 0: return &v.state case 1: @@ -7427,7 +7210,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_ScoreLeaderboardData); i { + switch v := v.(*CCSUsrMsg_CallVoteFailed); i { case 0: return &v.state case 1: @@ -7439,7 +7222,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_PlayerDecalDigitalSignature); i { + switch v := v.(*CCSUsrMsg_VoteStart); i { case 0: return &v.state case 1: @@ -7451,7 +7234,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_XRankGet); i { + switch v := v.(*CCSUsrMsg_VotePass); i { case 0: return &v.state case 1: @@ -7463,7 +7246,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_XRankUpd); i { + switch v := v.(*CCSUsrMsg_VoteFailed); i { case 0: return &v.state case 1: @@ -7475,7 +7258,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_CallVoteFailed); i { + switch v := v.(*CCSUsrMsg_VoteSetup); i { case 0: return &v.state case 1: @@ -7487,7 +7270,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_VoteStart); i { + switch v := v.(*CCSUsrMsg_SendLastKillerDamageToClient); i { case 0: return &v.state case 1: @@ -7499,7 +7282,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_VotePass); i { + switch v := v.(*CCSUsrMsg_ServerRankUpdate); i { case 0: return &v.state case 1: @@ -7511,7 +7294,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_VoteFailed); i { + switch v := v.(*CCSUsrMsg_XpUpdate); i { case 0: return &v.state case 1: @@ -7523,7 +7306,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_VoteSetup); i { + switch v := v.(*CCSUsrMsg_ItemPickup); i { case 0: return &v.state case 1: @@ -7535,7 +7318,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_SendLastKillerDamageToClient); i { + switch v := v.(*CCSUsrMsg_ShowMenu); i { case 0: return &v.state case 1: @@ -7547,7 +7330,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_ServerRankUpdate); i { + switch v := v.(*CCSUsrMsg_BarTime); i { case 0: return &v.state case 1: @@ -7559,7 +7342,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_XpUpdate); i { + switch v := v.(*CCSUsrMsg_AmmoDenied); i { case 0: return &v.state case 1: @@ -7571,7 +7354,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_ItemPickup); i { + switch v := v.(*CCSUsrMsg_MarkAchievement); i { case 0: return &v.state case 1: @@ -7583,7 +7366,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_ShowMenu); i { + switch v := v.(*CCSUsrMsg_MatchStatsUpdate); i { case 0: return &v.state case 1: @@ -7595,7 +7378,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_BarTime); i { + switch v := v.(*CCSUsrMsg_ItemDrop); i { case 0: return &v.state case 1: @@ -7607,7 +7390,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_AmmoDenied); i { + switch v := v.(*CCSUsrMsg_GlowPropTurnOff); i { case 0: return &v.state case 1: @@ -7619,7 +7402,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_MarkAchievement); i { + switch v := v.(*CCSUsrMsg_RoundBackupFilenames); i { case 0: return &v.state case 1: @@ -7631,7 +7414,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_MatchStatsUpdate); i { + switch v := v.(*CCSUsrMsg_SSUI); i { case 0: return &v.state case 1: @@ -7643,7 +7426,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_ItemDrop); i { + switch v := v.(*CCSUsrMsg_SurvivalStats); i { case 0: return &v.state case 1: @@ -7655,7 +7438,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_GlowPropTurnOff); i { + switch v := v.(*CCSUsrMsg_EndOfMatchAllPlayersData); i { case 0: return &v.state case 1: @@ -7667,7 +7450,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_RoundBackupFilenames); i { + switch v := v.(*CCSUsrMsg_RoundEndReportData); i { case 0: return &v.state case 1: @@ -7679,7 +7462,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_SSUI); i { + switch v := v.(*CCSUsrMsg_PostRoundDamageReport); i { case 0: return &v.state case 1: @@ -7691,7 +7474,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_SurvivalStats); i { + switch v := v.(*CCSUsrMsg_CurrentRoundOdds); i { case 0: return &v.state case 1: @@ -7703,7 +7486,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_EndOfMatchAllPlayersData); i { + switch v := v.(*CCSUsrMsg_DeepStats); i { case 0: return &v.state case 1: @@ -7715,7 +7498,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_RoundImpactScoreData); i { + switch v := v.(*CCSUsrMsg_ShootInfo); i { case 0: return &v.state case 1: @@ -7727,7 +7510,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_CurrentRoundOdds); i { + switch v := v.(*CCSUsrMsg_ResetHud); i { case 0: return &v.state case 1: @@ -7739,7 +7522,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_DeepStats); i { + switch v := v.(*CCSUsrMsg_GameTitle); i { case 0: return &v.state case 1: @@ -7751,7 +7534,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_ResetHud); i { + switch v := v.(*CCSUsrMsg_RequestState); i { case 0: return &v.state case 1: @@ -7763,7 +7546,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_GameTitle); i { + switch v := v.(*CCSUsrMsg_StopSpectatorMode); i { case 0: return &v.state case 1: @@ -7775,7 +7558,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_RequestState); i { + switch v := v.(*CCSUsrMsg_DisconnectToLobby); i { case 0: return &v.state case 1: @@ -7787,7 +7570,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_StopSpectatorMode); i { + switch v := v.(*CCSUsrMsg_WarmupHasEnded); i { case 0: return &v.state case 1: @@ -7799,7 +7582,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_DisconnectToLobby); i { + switch v := v.(*CCSUsrMsg_ClientInfo); i { case 0: return &v.state case 1: @@ -7811,7 +7594,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_WarmupHasEnded); i { + switch v := v.(*CCSUsrMsg_ServerRankRevealAll); i { case 0: return &v.state case 1: @@ -7823,7 +7606,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_ClientInfo); i { + switch v := v.(*CCSUsrMsgPreMatchSayText); i { case 0: return &v.state case 1: @@ -7835,7 +7618,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_ServerRankRevealAll); i { + switch v := v.(*CCSUsrMsg_VGUIMenu_Keys); i { case 0: return &v.state case 1: @@ -7847,7 +7630,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_UtilMsg); i { + switch v := v.(*CCSUsrMsg_VoiceMask_PlayerMask); i { case 0: return &v.state case 1: @@ -7859,7 +7642,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_UtilMsg_Response); i { + switch v := v.(*CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate); i { case 0: return &v.state case 1: @@ -7871,7 +7654,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_VGUIMenu_Subkey); i { + switch v := v.(*CCSUsrMsg_PlayerStatsUpdate_Stat); i { case 0: return &v.state case 1: @@ -7883,7 +7666,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_VoiceMask_PlayerMask); i { + switch v := v.(*CCSUsrMsg_ServerRankUpdate_RankUpdate); i { case 0: return &v.state case 1: @@ -7895,7 +7678,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate); i { + switch v := v.(*CCSUsrMsg_SurvivalStats_Fact); i { case 0: return &v.state case 1: @@ -7907,7 +7690,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_PlayerStatsUpdate_Stat); i { + switch v := v.(*CCSUsrMsg_SurvivalStats_Placement); i { case 0: return &v.state case 1: @@ -7919,7 +7702,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_ServerRankUpdate_RankUpdate); i { + switch v := v.(*CCSUsrMsg_SurvivalStats_Damage); i { case 0: return &v.state case 1: @@ -7931,7 +7714,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_SurvivalStats_Fact); i { + switch v := v.(*CCSUsrMsg_EndOfMatchAllPlayersData_Accolade); i { case 0: return &v.state case 1: @@ -7943,7 +7726,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_SurvivalStats_Placement); i { + switch v := v.(*CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData); i { case 0: return &v.state case 1: @@ -7955,7 +7738,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_SurvivalStats_Damage); i { + switch v := v.(*CCSUsrMsg_RoundEndReportData_RerEvent); i { case 0: return &v.state case 1: @@ -7967,7 +7750,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_EndOfMatchAllPlayersData_Accolade); i { + switch v := v.(*CCSUsrMsg_RoundEndReportData_InitialConditions); i { case 0: return &v.state case 1: @@ -7979,7 +7762,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData); i { + switch v := v.(*CCSUsrMsg_RoundEndReportData_RerEvent_Victim); i { case 0: return &v.state case 1: @@ -7991,7 +7774,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_RoundImpactScoreData_RisEvent); i { + switch v := v.(*CCSUsrMsg_RoundEndReportData_RerEvent_Objective); i { case 0: return &v.state case 1: @@ -8003,55 +7786,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_RoundImpactScoreData_InitialConditions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cstrike15_usermessages_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cstrike15_usermessages_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cstrike15_usermessages_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cstrike15_usermessages_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_UtilMsg_Response_ItemDetail); i { + switch v := v.(*CCSUsrMsg_RoundEndReportData_RerEvent_Damage); i { case 0: return &v.state case 1: @@ -8069,7 +7804,7 @@ func file_cstrike15_usermessages_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cstrike15_usermessages_proto_rawDesc, NumEnums: 2, - NumMessages: 90, + NumMessages: 86, NumExtensions: 0, NumServices: 0, }, diff --git a/pkg/demoinfocs/msg/engine_gcmessages.pb.go b/pkg/demoinfocs/msg/engine_gcmessages.pb.go index fc163dbc..0dc9f4b2 100644 --- a/pkg/demoinfocs/msg/engine_gcmessages.pb.go +++ b/pkg/demoinfocs/msg/engine_gcmessages.pb.go @@ -167,8 +167,7 @@ var file_engine_gcmessages_proto_rawDesc = []byte{ 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6b, 0x65, 0x79, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x64, 0x6e, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x64, 0x6e, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x03, - 0x80, 0x01, 0x00, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x64, 0x6e, 0x64, 0x65, 0x6c, 0x61, 0x79, } var ( diff --git a/pkg/demoinfocs/msg/netmessages.pb.go b/pkg/demoinfocs/msg/netmessages.pb.go index c21dfbf1..82bd3339 100644 --- a/pkg/demoinfocs/msg/netmessages.pb.go +++ b/pkg/demoinfocs/msg/netmessages.pb.go @@ -9,7 +9,6 @@ package msg import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - _ "google.golang.org/protobuf/types/descriptorpb" reflect "reflect" sync "sync" ) @@ -21,166 +20,244 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -type NET_Messages int32 +type CLC_Messages int32 const ( - NET_Messages_net_NOP NET_Messages = 0 - NET_Messages_net_Disconnect NET_Messages = 1 - NET_Messages_net_File NET_Messages = 2 - NET_Messages_net_SplitScreenUser NET_Messages = 3 - NET_Messages_net_Tick NET_Messages = 4 - NET_Messages_net_StringCmd NET_Messages = 5 - NET_Messages_net_SetConVar NET_Messages = 6 - NET_Messages_net_SignonState NET_Messages = 7 - NET_Messages_net_PlayerAvatarData NET_Messages = 100 + 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 NET_Messages. +// Enum value maps for CLC_Messages. var ( - NET_Messages_name = map[int32]string{ - 0: "net_NOP", - 1: "net_Disconnect", - 2: "net_File", - 3: "net_SplitScreenUser", - 4: "net_Tick", - 5: "net_StringCmd", - 6: "net_SetConVar", - 7: "net_SignonState", - 100: "net_PlayerAvatarData", - } - NET_Messages_value = map[string]int32{ - "net_NOP": 0, - "net_Disconnect": 1, - "net_File": 2, - "net_SplitScreenUser": 3, - "net_Tick": 4, - "net_StringCmd": 5, - "net_SetConVar": 6, - "net_SignonState": 7, - "net_PlayerAvatarData": 100, + 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 NET_Messages) Enum() *NET_Messages { - p := new(NET_Messages) +func (x CLC_Messages) Enum() *CLC_Messages { + p := new(CLC_Messages) *p = x return p } -func (x NET_Messages) String() string { +func (x CLC_Messages) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (NET_Messages) Descriptor() protoreflect.EnumDescriptor { +func (CLC_Messages) Descriptor() protoreflect.EnumDescriptor { return file_netmessages_proto_enumTypes[0].Descriptor() } -func (NET_Messages) Type() protoreflect.EnumType { +func (CLC_Messages) Type() protoreflect.EnumType { return &file_netmessages_proto_enumTypes[0] } -func (x NET_Messages) Number() protoreflect.EnumNumber { +func (x CLC_Messages) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. -func (x *NET_Messages) UnmarshalJSON(b []byte) error { +func (x *CLC_Messages) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } - *x = NET_Messages(num) + *x = CLC_Messages(num) return nil } -// Deprecated: Use NET_Messages.Descriptor instead. -func (NET_Messages) EnumDescriptor() ([]byte, []int) { +// Deprecated: Use CLC_Messages.Descriptor instead. +func (CLC_Messages) EnumDescriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{0} } -type CLC_Messages int32 +type SVC_Messages int32 const ( - CLC_Messages_clc_ClientInfo CLC_Messages = 8 - CLC_Messages_clc_Move CLC_Messages = 9 - CLC_Messages_clc_VoiceData CLC_Messages = 10 - CLC_Messages_clc_BaselineAck CLC_Messages = 11 - CLC_Messages_clc_ListenEvents CLC_Messages = 12 - CLC_Messages_clc_RespondCvarValue CLC_Messages = 13 - CLC_Messages_clc_FileCRCCheck CLC_Messages = 14 - CLC_Messages_clc_LoadingProgress CLC_Messages = 15 - CLC_Messages_clc_SplitPlayerConnect CLC_Messages = 16 - CLC_Messages_clc_ClientMessage CLC_Messages = 17 - CLC_Messages_clc_CmdKeyValues CLC_Messages = 18 - CLC_Messages_clc_HltvReplay CLC_Messages = 20 + 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 CLC_Messages. +// Enum value maps for SVC_Messages. var ( - CLC_Messages_name = map[int32]string{ - 8: "clc_ClientInfo", - 9: "clc_Move", - 10: "clc_VoiceData", - 11: "clc_BaselineAck", - 12: "clc_ListenEvents", - 13: "clc_RespondCvarValue", - 14: "clc_FileCRCCheck", - 15: "clc_LoadingProgress", - 16: "clc_SplitPlayerConnect", - 17: "clc_ClientMessage", - 18: "clc_CmdKeyValues", - 20: "clc_HltvReplay", + 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", } - CLC_Messages_value = map[string]int32{ - "clc_ClientInfo": 8, - "clc_Move": 9, - "clc_VoiceData": 10, - "clc_BaselineAck": 11, - "clc_ListenEvents": 12, - "clc_RespondCvarValue": 13, - "clc_FileCRCCheck": 14, - "clc_LoadingProgress": 15, - "clc_SplitPlayerConnect": 16, - "clc_ClientMessage": 17, - "clc_CmdKeyValues": 18, - "clc_HltvReplay": 20, + 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 CLC_Messages) Enum() *CLC_Messages { - p := new(CLC_Messages) +func (x SVC_Messages) Enum() *SVC_Messages { + p := new(SVC_Messages) *p = x return p } -func (x CLC_Messages) String() string { +func (x SVC_Messages) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (CLC_Messages) Descriptor() protoreflect.EnumDescriptor { +func (SVC_Messages) Descriptor() protoreflect.EnumDescriptor { return file_netmessages_proto_enumTypes[1].Descriptor() } -func (CLC_Messages) Type() protoreflect.EnumType { +func (SVC_Messages) Type() protoreflect.EnumType { return &file_netmessages_proto_enumTypes[1] } -func (x CLC_Messages) Number() protoreflect.EnumNumber { +func (x SVC_Messages) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. -func (x *CLC_Messages) UnmarshalJSON(b []byte) error { +func (x *SVC_Messages) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } - *x = CLC_Messages(num) + *x = SVC_Messages(num) return nil } -// Deprecated: Use CLC_Messages.Descriptor instead. -func (CLC_Messages) EnumDescriptor() ([]byte, []int) { +// Deprecated: Use SVC_Messages.Descriptor instead. +func (SVC_Messages) EnumDescriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{1} } @@ -240,545 +317,563 @@ func (VoiceDataFormatT) EnumDescriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{2} } -type ESplitScreenMessageType int32 +type RequestPauseT int32 const ( - ESplitScreenMessageType_MSG_SPLITSCREEN_ADDUSER ESplitScreenMessageType = 0 - ESplitScreenMessageType_MSG_SPLITSCREEN_REMOVEUSER ESplitScreenMessageType = 1 - ESplitScreenMessageType_MSG_SPLITSCREEN_TYPE_BITS ESplitScreenMessageType = 1 + RequestPauseT_RP_PAUSE RequestPauseT = 0 + RequestPauseT_RP_UNPAUSE RequestPauseT = 1 + RequestPauseT_RP_TOGGLEPAUSE RequestPauseT = 2 ) -// Enum value maps for ESplitScreenMessageType. +// Enum value maps for RequestPauseT. var ( - ESplitScreenMessageType_name = map[int32]string{ - 0: "MSG_SPLITSCREEN_ADDUSER", - 1: "MSG_SPLITSCREEN_REMOVEUSER", - // Duplicate value: 1: "MSG_SPLITSCREEN_TYPE_BITS", + RequestPauseT_name = map[int32]string{ + 0: "RP_PAUSE", + 1: "RP_UNPAUSE", + 2: "RP_TOGGLEPAUSE", } - ESplitScreenMessageType_value = map[string]int32{ - "MSG_SPLITSCREEN_ADDUSER": 0, - "MSG_SPLITSCREEN_REMOVEUSER": 1, - "MSG_SPLITSCREEN_TYPE_BITS": 1, + RequestPauseT_value = map[string]int32{ + "RP_PAUSE": 0, + "RP_UNPAUSE": 1, + "RP_TOGGLEPAUSE": 2, } ) -func (x ESplitScreenMessageType) Enum() *ESplitScreenMessageType { - p := new(ESplitScreenMessageType) +func (x RequestPauseT) Enum() *RequestPauseT { + p := new(RequestPauseT) *p = x return p } -func (x ESplitScreenMessageType) String() string { +func (x RequestPauseT) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (ESplitScreenMessageType) Descriptor() protoreflect.EnumDescriptor { +func (RequestPauseT) Descriptor() protoreflect.EnumDescriptor { return file_netmessages_proto_enumTypes[3].Descriptor() } -func (ESplitScreenMessageType) Type() protoreflect.EnumType { +func (RequestPauseT) Type() protoreflect.EnumType { return &file_netmessages_proto_enumTypes[3] } -func (x ESplitScreenMessageType) Number() protoreflect.EnumNumber { +func (x RequestPauseT) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. -func (x *ESplitScreenMessageType) UnmarshalJSON(b []byte) error { +func (x *RequestPauseT) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } - *x = ESplitScreenMessageType(num) + *x = RequestPauseT(num) return nil } -// Deprecated: Use ESplitScreenMessageType.Descriptor instead. -func (ESplitScreenMessageType) EnumDescriptor() ([]byte, []int) { +// Deprecated: Use RequestPauseT.Descriptor instead. +func (RequestPauseT) EnumDescriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{3} } -type SVC_Messages int32 +type PrefetchType int32 const ( - SVC_Messages_svc_ServerInfo SVC_Messages = 8 - SVC_Messages_svc_SendTable SVC_Messages = 9 - SVC_Messages_svc_ClassInfo SVC_Messages = 10 - SVC_Messages_svc_SetPause SVC_Messages = 11 - SVC_Messages_svc_CreateStringTable SVC_Messages = 12 - SVC_Messages_svc_UpdateStringTable SVC_Messages = 13 - SVC_Messages_svc_VoiceInit SVC_Messages = 14 - SVC_Messages_svc_VoiceData SVC_Messages = 15 - SVC_Messages_svc_Print SVC_Messages = 16 - SVC_Messages_svc_Sounds SVC_Messages = 17 - SVC_Messages_svc_SetView SVC_Messages = 18 - SVC_Messages_svc_FixAngle SVC_Messages = 19 - SVC_Messages_svc_CrosshairAngle SVC_Messages = 20 - SVC_Messages_svc_BSPDecal SVC_Messages = 21 - SVC_Messages_svc_SplitScreen SVC_Messages = 22 - SVC_Messages_svc_UserMessage SVC_Messages = 23 - SVC_Messages_svc_EntityMessage SVC_Messages = 24 - SVC_Messages_svc_GameEvent SVC_Messages = 25 - SVC_Messages_svc_PacketEntities SVC_Messages = 26 - SVC_Messages_svc_TempEntities SVC_Messages = 27 - SVC_Messages_svc_Prefetch SVC_Messages = 28 - SVC_Messages_svc_Menu SVC_Messages = 29 - SVC_Messages_svc_GameEventList SVC_Messages = 30 - SVC_Messages_svc_GetCvarValue SVC_Messages = 31 - SVC_Messages_svc_PaintmapData SVC_Messages = 33 - SVC_Messages_svc_CmdKeyValues SVC_Messages = 34 - SVC_Messages_svc_EncryptedData SVC_Messages = 35 - SVC_Messages_svc_HltvReplay SVC_Messages = 36 - SVC_Messages_svc_Broadcast_Command SVC_Messages = 38 + PrefetchType_PFT_SOUND PrefetchType = 0 ) -// Enum value maps for SVC_Messages. +// Enum value maps for PrefetchType. var ( - SVC_Messages_name = map[int32]string{ - 8: "svc_ServerInfo", - 9: "svc_SendTable", - 10: "svc_ClassInfo", - 11: "svc_SetPause", - 12: "svc_CreateStringTable", - 13: "svc_UpdateStringTable", - 14: "svc_VoiceInit", - 15: "svc_VoiceData", - 16: "svc_Print", - 17: "svc_Sounds", - 18: "svc_SetView", - 19: "svc_FixAngle", - 20: "svc_CrosshairAngle", - 21: "svc_BSPDecal", - 22: "svc_SplitScreen", - 23: "svc_UserMessage", - 24: "svc_EntityMessage", - 25: "svc_GameEvent", - 26: "svc_PacketEntities", - 27: "svc_TempEntities", - 28: "svc_Prefetch", - 29: "svc_Menu", - 30: "svc_GameEventList", - 31: "svc_GetCvarValue", - 33: "svc_PaintmapData", - 34: "svc_CmdKeyValues", - 35: "svc_EncryptedData", - 36: "svc_HltvReplay", - 38: "svc_Broadcast_Command", + PrefetchType_name = map[int32]string{ + 0: "PFT_SOUND", } - SVC_Messages_value = map[string]int32{ - "svc_ServerInfo": 8, - "svc_SendTable": 9, - "svc_ClassInfo": 10, - "svc_SetPause": 11, - "svc_CreateStringTable": 12, - "svc_UpdateStringTable": 13, - "svc_VoiceInit": 14, - "svc_VoiceData": 15, - "svc_Print": 16, - "svc_Sounds": 17, - "svc_SetView": 18, - "svc_FixAngle": 19, - "svc_CrosshairAngle": 20, - "svc_BSPDecal": 21, - "svc_SplitScreen": 22, - "svc_UserMessage": 23, - "svc_EntityMessage": 24, - "svc_GameEvent": 25, - "svc_PacketEntities": 26, - "svc_TempEntities": 27, - "svc_Prefetch": 28, - "svc_Menu": 29, - "svc_GameEventList": 30, - "svc_GetCvarValue": 31, - "svc_PaintmapData": 33, - "svc_CmdKeyValues": 34, - "svc_EncryptedData": 35, - "svc_HltvReplay": 36, - "svc_Broadcast_Command": 38, + PrefetchType_value = map[string]int32{ + "PFT_SOUND": 0, } ) -func (x SVC_Messages) Enum() *SVC_Messages { - p := new(SVC_Messages) +func (x PrefetchType) Enum() *PrefetchType { + p := new(PrefetchType) *p = x return p } -func (x SVC_Messages) String() string { +func (x PrefetchType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (SVC_Messages) Descriptor() protoreflect.EnumDescriptor { +func (PrefetchType) Descriptor() protoreflect.EnumDescriptor { return file_netmessages_proto_enumTypes[4].Descriptor() } -func (SVC_Messages) Type() protoreflect.EnumType { +func (PrefetchType) Type() protoreflect.EnumType { return &file_netmessages_proto_enumTypes[4] } -func (x SVC_Messages) Number() protoreflect.EnumNumber { +func (x PrefetchType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. -func (x *SVC_Messages) UnmarshalJSON(b []byte) error { +func (x *PrefetchType) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } - *x = SVC_Messages(num) + *x = PrefetchType(num) return nil } -// Deprecated: Use SVC_Messages.Descriptor instead. -func (SVC_Messages) EnumDescriptor() ([]byte, []int) { +// Deprecated: Use PrefetchType.Descriptor instead. +func (PrefetchType) EnumDescriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{4} } -type ReplayEventTypeT int32 +type ESplitScreenMessageType 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 + ESplitScreenMessageType_MSG_SPLITSCREEN_ADDUSER ESplitScreenMessageType = 0 + ESplitScreenMessageType_MSG_SPLITSCREEN_REMOVEUSER ESplitScreenMessageType = 1 ) -// Enum value maps for ReplayEventTypeT. +// Enum value maps for ESplitScreenMessageType. 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", + ESplitScreenMessageType_name = map[int32]string{ + 0: "MSG_SPLITSCREEN_ADDUSER", + 1: "MSG_SPLITSCREEN_REMOVEUSER", } - ReplayEventTypeT_value = map[string]int32{ - "REPLAY_EVENT_CANCEL": 0, - "REPLAY_EVENT_DEATH": 1, - "REPLAY_EVENT_GENERIC": 2, - "REPLAY_EVENT_STUCK_NEED_FULL_UPDATE": 3, + ESplitScreenMessageType_value = map[string]int32{ + "MSG_SPLITSCREEN_ADDUSER": 0, + "MSG_SPLITSCREEN_REMOVEUSER": 1, } ) -func (x ReplayEventTypeT) Enum() *ReplayEventTypeT { - p := new(ReplayEventTypeT) +func (x ESplitScreenMessageType) Enum() *ESplitScreenMessageType { + p := new(ESplitScreenMessageType) *p = x return p } -func (x ReplayEventTypeT) String() string { +func (x ESplitScreenMessageType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (ReplayEventTypeT) Descriptor() protoreflect.EnumDescriptor { +func (ESplitScreenMessageType) Descriptor() protoreflect.EnumDescriptor { return file_netmessages_proto_enumTypes[5].Descriptor() } -func (ReplayEventTypeT) Type() protoreflect.EnumType { +func (ESplitScreenMessageType) Type() protoreflect.EnumType { return &file_netmessages_proto_enumTypes[5] } -func (x ReplayEventTypeT) Number() protoreflect.EnumNumber { +func (x ESplitScreenMessageType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. -func (x *ReplayEventTypeT) UnmarshalJSON(b []byte) error { +func (x *ESplitScreenMessageType) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } - *x = ReplayEventTypeT(num) + *x = ESplitScreenMessageType(num) return nil } -// Deprecated: Use ReplayEventTypeT.Descriptor instead. -func (ReplayEventTypeT) EnumDescriptor() ([]byte, []int) { +// Deprecated: Use ESplitScreenMessageType.Descriptor instead. +func (ESplitScreenMessageType) EnumDescriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{5} } -type CMsgVector struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +type EQueryCvarValueStatus int32 - X *float32 `protobuf:"fixed32,1,opt,name=x" json:"x,omitempty"` - Y *float32 `protobuf:"fixed32,2,opt,name=y" json:"y,omitempty"` - Z *float32 `protobuf:"fixed32,3,opt,name=z" json:"z,omitempty"` -} +const ( + EQueryCvarValueStatus_eQueryCvarValueStatus_ValueIntact EQueryCvarValueStatus = 0 + EQueryCvarValueStatus_eQueryCvarValueStatus_CvarNotFound EQueryCvarValueStatus = 1 + EQueryCvarValueStatus_eQueryCvarValueStatus_NotACvar EQueryCvarValueStatus = 2 + EQueryCvarValueStatus_eQueryCvarValueStatus_CvarProtected EQueryCvarValueStatus = 3 +) -func (x *CMsgVector) Reset() { - *x = CMsgVector{} - if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +// 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 *CMsgVector) String() string { - return protoimpl.X.MessageStringOf(x) +func (x EQueryCvarValueStatus) Enum() *EQueryCvarValueStatus { + p := new(EQueryCvarValueStatus) + *p = x + return p } -func (*CMsgVector) ProtoMessage() {} +func (x EQueryCvarValueStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} -func (x *CMsgVector) 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) +func (EQueryCvarValueStatus) Descriptor() protoreflect.EnumDescriptor { + return file_netmessages_proto_enumTypes[6].Descriptor() } -// Deprecated: Use CMsgVector.ProtoReflect.Descriptor instead. -func (*CMsgVector) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{0} +func (EQueryCvarValueStatus) Type() protoreflect.EnumType { + return &file_netmessages_proto_enumTypes[6] } -func (x *CMsgVector) GetX() float32 { - if x != nil && x.X != nil { - return *x.X - } - return 0 +func (x EQueryCvarValueStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *CMsgVector) GetY() float32 { - if x != nil && x.Y != nil { - return *x.Y +// Deprecated: Do not use. +func (x *EQueryCvarValueStatus) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err } - return 0 + *x = EQueryCvarValueStatus(num) + return nil } -func (x *CMsgVector) GetZ() float32 { - if x != nil && x.Z != nil { - return *x.Z - } - return 0 +// Deprecated: Use EQueryCvarValueStatus.Descriptor instead. +func (EQueryCvarValueStatus) EnumDescriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{6} } -type CMsgVector2D struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +type DIALOG_TYPE int32 - X *float32 `protobuf:"fixed32,1,opt,name=x" json:"x,omitempty"` - Y *float32 `protobuf:"fixed32,2,opt,name=y" json:"y,omitempty"` -} +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 +) -func (x *CMsgVector2D) Reset() { - *x = CMsgVector2D{} - if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +// 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 *CMsgVector2D) String() string { - return protoimpl.X.MessageStringOf(x) +func (x DIALOG_TYPE) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (*CMsgVector2D) ProtoMessage() {} +func (DIALOG_TYPE) Descriptor() protoreflect.EnumDescriptor { + return file_netmessages_proto_enumTypes[7].Descriptor() +} -func (x *CMsgVector2D) 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) +func (DIALOG_TYPE) Type() protoreflect.EnumType { + return &file_netmessages_proto_enumTypes[7] } -// Deprecated: Use CMsgVector2D.ProtoReflect.Descriptor instead. -func (*CMsgVector2D) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{1} +func (x DIALOG_TYPE) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *CMsgVector2D) GetX() float32 { - if x != nil && x.X != nil { - return *x.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 } - return 0 + *x = DIALOG_TYPE(num) + return nil } -func (x *CMsgVector2D) GetY() float32 { - if x != nil && x.Y != nil { - return *x.Y - } - return 0 +// Deprecated: Use DIALOG_TYPE.Descriptor instead. +func (DIALOG_TYPE) EnumDescriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{7} } -type CMsgQAngle struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +type SVC_Messages_LowFrequency int32 - X *float32 `protobuf:"fixed32,1,opt,name=x" json:"x,omitempty"` - Y *float32 `protobuf:"fixed32,2,opt,name=y" json:"y,omitempty"` - Z *float32 `protobuf:"fixed32,3,opt,name=z" json:"z,omitempty"` -} +const ( + SVC_Messages_LowFrequency_svc_dummy SVC_Messages_LowFrequency = 600 +) -func (x *CMsgQAngle) Reset() { - *x = CMsgQAngle{} - if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +// 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 *CMsgQAngle) String() string { - return protoimpl.X.MessageStringOf(x) +func (x SVC_Messages_LowFrequency) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (*CMsgQAngle) ProtoMessage() {} +func (SVC_Messages_LowFrequency) Descriptor() protoreflect.EnumDescriptor { + return file_netmessages_proto_enumTypes[8].Descriptor() +} -func (x *CMsgQAngle) 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) +func (SVC_Messages_LowFrequency) Type() protoreflect.EnumType { + return &file_netmessages_proto_enumTypes[8] } -// Deprecated: Use CMsgQAngle.ProtoReflect.Descriptor instead. -func (*CMsgQAngle) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{2} +func (x SVC_Messages_LowFrequency) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *CMsgQAngle) GetX() float32 { - if x != nil && x.X != nil { - return *x.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 } - return 0 + *x = SVC_Messages_LowFrequency(num) + return nil } -func (x *CMsgQAngle) GetY() float32 { - if x != nil && x.Y != nil { - return *x.Y - } - return 0 +// Deprecated: Use SVC_Messages_LowFrequency.Descriptor instead. +func (SVC_Messages_LowFrequency) EnumDescriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{8} } -func (x *CMsgQAngle) GetZ() float32 { - if x != nil && x.Z != nil { - return *x.Z +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", } - return 0 + 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 } -type CMsgRGBA struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x Bidirectional_Messages) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} - R *int32 `protobuf:"varint,1,opt,name=r" json:"r,omitempty"` - G *int32 `protobuf:"varint,2,opt,name=g" json:"g,omitempty"` - B *int32 `protobuf:"varint,3,opt,name=b" json:"b,omitempty"` - A *int32 `protobuf:"varint,4,opt,name=a" json:"a,omitempty"` +func (Bidirectional_Messages) Descriptor() protoreflect.EnumDescriptor { + return file_netmessages_proto_enumTypes[9].Descriptor() } -func (x *CMsgRGBA) Reset() { - *x = CMsgRGBA{} - if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +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 } -func (x *CMsgRGBA) String() string { - return protoimpl.X.MessageStringOf(x) +// Deprecated: Use Bidirectional_Messages.Descriptor instead. +func (Bidirectional_Messages) EnumDescriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{9} } -func (*CMsgRGBA) ProtoMessage() {} +type Bidirectional_Messages_LowFrequency int32 -func (x *CMsgRGBA) 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 +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", } - return mi.MessageOf(x) + 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 } -// Deprecated: Use CMsgRGBA.ProtoReflect.Descriptor instead. -func (*CMsgRGBA) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{3} +func (x Bidirectional_Messages_LowFrequency) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (x *CMsgRGBA) GetR() int32 { - if x != nil && x.R != nil { - return *x.R - } - return 0 +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) } -func (x *CMsgRGBA) GetG() int32 { - if x != nil && x.G != nil { - return *x.G +// 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 } - return 0 + *x = Bidirectional_Messages_LowFrequency(num) + return nil } -func (x *CMsgRGBA) GetB() int32 { - if x != nil && x.B != nil { - return *x.B +// 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", } - return 0 + 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 *CMsgRGBA) GetA() int32 { - if x != nil && x.A != nil { - return *x.A +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 } - return 0 + *x = ReplayEventTypeT(num) + return nil +} + +// Deprecated: Use ReplayEventTypeT.Descriptor instead. +func (ReplayEventTypeT) EnumDescriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{11} } -type CNETMsg_Tick struct { +type CCLCMsg_ClientInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Tick *uint32 `protobuf:"varint,1,opt,name=tick" json:"tick,omitempty"` - HostComputationtime *uint32 `protobuf:"varint,4,opt,name=host_computationtime,json=hostComputationtime" json:"host_computationtime,omitempty"` - HostComputationtimeStdDeviation *uint32 `protobuf:"varint,5,opt,name=host_computationtime_std_deviation,json=hostComputationtimeStdDeviation" json:"host_computationtime_std_deviation,omitempty"` - HostFramestarttimeStdDeviation *uint32 `protobuf:"varint,6,opt,name=host_framestarttime_std_deviation,json=hostFramestarttimeStdDeviation" json:"host_framestarttime_std_deviation,omitempty"` - HltvReplayFlags *uint32 `protobuf:"varint,7,opt,name=hltv_replay_flags,json=hltvReplayFlags" json:"hltv_replay_flags,omitempty"` + 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 *CNETMsg_Tick) Reset() { - *x = CNETMsg_Tick{} +func (x *CCLCMsg_ClientInfo) Reset() { + *x = CCLCMsg_ClientInfo{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[4] + mi := &file_netmessages_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CNETMsg_Tick) String() string { +func (x *CCLCMsg_ClientInfo) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CNETMsg_Tick) ProtoMessage() {} +func (*CCLCMsg_ClientInfo) ProtoMessage() {} -func (x *CNETMsg_Tick) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[4] +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 { @@ -789,71 +884,73 @@ func (x *CNETMsg_Tick) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CNETMsg_Tick.ProtoReflect.Descriptor instead. -func (*CNETMsg_Tick) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{4} +// Deprecated: Use CCLCMsg_ClientInfo.ProtoReflect.Descriptor instead. +func (*CCLCMsg_ClientInfo) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{0} } -func (x *CNETMsg_Tick) GetTick() uint32 { - if x != nil && x.Tick != nil { - return *x.Tick +func (x *CCLCMsg_ClientInfo) GetSendTableCrc() uint32 { + if x != nil && x.SendTableCrc != nil { + return *x.SendTableCrc } return 0 } -func (x *CNETMsg_Tick) GetHostComputationtime() uint32 { - if x != nil && x.HostComputationtime != nil { - return *x.HostComputationtime +func (x *CCLCMsg_ClientInfo) GetServerCount() uint32 { + if x != nil && x.ServerCount != nil { + return *x.ServerCount } return 0 } -func (x *CNETMsg_Tick) GetHostComputationtimeStdDeviation() uint32 { - if x != nil && x.HostComputationtimeStdDeviation != nil { - return *x.HostComputationtimeStdDeviation +func (x *CCLCMsg_ClientInfo) GetIsHltv() bool { + if x != nil && x.IsHltv != nil { + return *x.IsHltv } - return 0 + return false } -func (x *CNETMsg_Tick) GetHostFramestarttimeStdDeviation() uint32 { - if x != nil && x.HostFramestarttimeStdDeviation != nil { - return *x.HostFramestarttimeStdDeviation +func (x *CCLCMsg_ClientInfo) GetFriendsId() uint32 { + if x != nil && x.FriendsId != nil { + return *x.FriendsId } return 0 } -func (x *CNETMsg_Tick) GetHltvReplayFlags() uint32 { - if x != nil && x.HltvReplayFlags != nil { - return *x.HltvReplayFlags +func (x *CCLCMsg_ClientInfo) GetFriendsName() string { + if x != nil && x.FriendsName != nil { + return *x.FriendsName } - return 0 + return "" } -type CNETMsg_StringCmd struct { +type CCLCMsg_Move struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Command *string `protobuf:"bytes,1,opt,name=command" json:"command,omitempty"` + 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 *CNETMsg_StringCmd) Reset() { - *x = CNETMsg_StringCmd{} +func (x *CCLCMsg_Move) Reset() { + *x = CCLCMsg_Move{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[5] + mi := &file_netmessages_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CNETMsg_StringCmd) String() string { +func (x *CCLCMsg_Move) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CNETMsg_StringCmd) ProtoMessage() {} +func (*CCLCMsg_Move) ProtoMessage() {} -func (x *CNETMsg_StringCmd) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[5] +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 { @@ -864,47 +961,67 @@ func (x *CNETMsg_StringCmd) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CNETMsg_StringCmd.ProtoReflect.Descriptor instead. -func (*CNETMsg_StringCmd) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{5} +// Deprecated: Use CCLCMsg_Move.ProtoReflect.Descriptor instead. +func (*CCLCMsg_Move) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{1} } -func (x *CNETMsg_StringCmd) GetCommand() string { - if x != nil && x.Command != nil { - return *x.Command +func (x *CCLCMsg_Move) GetData() []byte { + if x != nil { + return x.Data } - return "" + 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 CNETMsg_SignonState struct { +type CMsgVoiceAudio struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - SignonState *uint32 `protobuf:"varint,1,opt,name=signon_state,json=signonState" json:"signon_state,omitempty"` - SpawnCount *uint32 `protobuf:"varint,2,opt,name=spawn_count,json=spawnCount" json:"spawn_count,omitempty"` - NumServerPlayers *uint32 `protobuf:"varint,3,opt,name=num_server_players,json=numServerPlayers" json:"num_server_players,omitempty"` - PlayersNetworkids []string `protobuf:"bytes,4,rep,name=players_networkids,json=playersNetworkids" json:"players_networkids,omitempty"` - MapName *string `protobuf:"bytes,5,opt,name=map_name,json=mapName" json:"map_name,omitempty"` + 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"` } -func (x *CNETMsg_SignonState) Reset() { - *x = CNETMsg_SignonState{} +// 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[6] + mi := &file_netmessages_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CNETMsg_SignonState) String() string { +func (x *CMsgVoiceAudio) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CNETMsg_SignonState) ProtoMessage() {} +func (*CMsgVoiceAudio) ProtoMessage() {} -func (x *CNETMsg_SignonState) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[6] +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 { @@ -915,71 +1032,80 @@ func (x *CNETMsg_SignonState) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CNETMsg_SignonState.ProtoReflect.Descriptor instead. -func (*CNETMsg_SignonState) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{6} +// Deprecated: Use CMsgVoiceAudio.ProtoReflect.Descriptor instead. +func (*CMsgVoiceAudio) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{2} } -func (x *CNETMsg_SignonState) GetSignonState() uint32 { - if x != nil && x.SignonState != nil { - return *x.SignonState +func (x *CMsgVoiceAudio) GetFormat() VoiceDataFormatT { + if x != nil && x.Format != nil { + return *x.Format } - return 0 + return Default_CMsgVoiceAudio_Format } -func (x *CNETMsg_SignonState) GetSpawnCount() uint32 { - if x != nil && x.SpawnCount != nil { - return *x.SpawnCount +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 *CNETMsg_SignonState) GetNumServerPlayers() uint32 { - if x != nil && x.NumServerPlayers != nil { - return *x.NumServerPlayers +func (x *CMsgVoiceAudio) GetSectionNumber() uint32 { + if x != nil && x.SectionNumber != nil { + return *x.SectionNumber } return 0 } -func (x *CNETMsg_SignonState) GetPlayersNetworkids() []string { - if x != nil { - return x.PlayersNetworkids +func (x *CMsgVoiceAudio) GetSampleRate() uint32 { + if x != nil && x.SampleRate != nil { + return *x.SampleRate } - return nil + return 0 } -func (x *CNETMsg_SignonState) GetMapName() string { - if x != nil && x.MapName != nil { - return *x.MapName +func (x *CMsgVoiceAudio) GetUncompressedSampleOffset() uint32 { + if x != nil && x.UncompressedSampleOffset != nil { + return *x.UncompressedSampleOffset } - return "" + return 0 } -type CMsg_CVars struct { +type CCLCMsg_VoiceData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Cvars []*CMsg_CVars_CVar `protobuf:"bytes,1,rep,name=cvars" json:"cvars,omitempty"` + 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 *CMsg_CVars) Reset() { - *x = CMsg_CVars{} +func (x *CCLCMsg_VoiceData) Reset() { + *x = CCLCMsg_VoiceData{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[7] + mi := &file_netmessages_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CMsg_CVars) String() string { +func (x *CCLCMsg_VoiceData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CMsg_CVars) ProtoMessage() {} +func (*CCLCMsg_VoiceData) ProtoMessage() {} -func (x *CMsg_CVars) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[7] +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 { @@ -990,43 +1116,58 @@ func (x *CMsg_CVars) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CMsg_CVars.ProtoReflect.Descriptor instead. -func (*CMsg_CVars) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{7} +// Deprecated: Use CCLCMsg_VoiceData.ProtoReflect.Descriptor instead. +func (*CCLCMsg_VoiceData) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{3} } -func (x *CMsg_CVars) GetCvars() []*CMsg_CVars_CVar { +func (x *CCLCMsg_VoiceData) GetAudio() *CMsgVoiceAudio { if x != nil { - return x.Cvars + return x.Audio } return nil } -type CNETMsg_SetConVar struct { +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 - Convars *CMsg_CVars `protobuf:"bytes,1,opt,name=convars" json:"convars,omitempty"` + 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 *CNETMsg_SetConVar) Reset() { - *x = CNETMsg_SetConVar{} +func (x *CCLCMsg_BaselineAck) Reset() { + *x = CCLCMsg_BaselineAck{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[8] + mi := &file_netmessages_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CNETMsg_SetConVar) String() string { +func (x *CCLCMsg_BaselineAck) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CNETMsg_SetConVar) ProtoMessage() {} +func (*CCLCMsg_BaselineAck) ProtoMessage() {} -func (x *CNETMsg_SetConVar) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[8] +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 { @@ -1037,41 +1178,50 @@ func (x *CNETMsg_SetConVar) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CNETMsg_SetConVar.ProtoReflect.Descriptor instead. -func (*CNETMsg_SetConVar) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{8} +// Deprecated: Use CCLCMsg_BaselineAck.ProtoReflect.Descriptor instead. +func (*CCLCMsg_BaselineAck) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{4} } -func (x *CNETMsg_SetConVar) GetConvars() *CMsg_CVars { - if x != nil { - return x.Convars +func (x *CCLCMsg_BaselineAck) GetBaselineTick() int32 { + if x != nil && x.BaselineTick != nil { + return *x.BaselineTick } - return nil + return 0 } -type CNETMsg_NOP struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} +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 *CNETMsg_NOP) Reset() { - *x = CNETMsg_NOP{} +func (x *CCLCMsg_ListenEvents) Reset() { + *x = CCLCMsg_ListenEvents{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[9] + mi := &file_netmessages_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CNETMsg_NOP) String() string { +func (x *CCLCMsg_ListenEvents) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CNETMsg_NOP) ProtoMessage() {} +func (*CCLCMsg_ListenEvents) ProtoMessage() {} -func (x *CNETMsg_NOP) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[9] +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 { @@ -1082,36 +1232,46 @@ func (x *CNETMsg_NOP) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CNETMsg_NOP.ProtoReflect.Descriptor instead. -func (*CNETMsg_NOP) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{9} +// 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 CNETMsg_Disconnect struct { +type CCLCMsg_RespondCvarValue struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Text *string `protobuf:"bytes,1,opt,name=text" json:"text,omitempty"` + 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 *CNETMsg_Disconnect) Reset() { - *x = CNETMsg_Disconnect{} +func (x *CCLCMsg_RespondCvarValue) Reset() { + *x = CCLCMsg_RespondCvarValue{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[10] + mi := &file_netmessages_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CNETMsg_Disconnect) String() string { +func (x *CCLCMsg_RespondCvarValue) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CNETMsg_Disconnect) ProtoMessage() {} +func (*CCLCMsg_RespondCvarValue) ProtoMessage() {} -func (x *CNETMsg_Disconnect) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[10] +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 { @@ -1122,46 +1282,68 @@ func (x *CNETMsg_Disconnect) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CNETMsg_Disconnect.ProtoReflect.Descriptor instead. -func (*CNETMsg_Disconnect) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{10} +// Deprecated: Use CCLCMsg_RespondCvarValue.ProtoReflect.Descriptor instead. +func (*CCLCMsg_RespondCvarValue) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{6} } -func (x *CNETMsg_Disconnect) GetText() string { - if x != nil && x.Text != nil { - return *x.Text +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 "" } -type CNETMsg_File struct { +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 - TransferId *int32 `protobuf:"varint,1,opt,name=transfer_id,json=transferId" json:"transfer_id,omitempty"` - FileName *string `protobuf:"bytes,2,opt,name=file_name,json=fileName" json:"file_name,omitempty"` - IsReplayDemoFile *bool `protobuf:"varint,3,opt,name=is_replay_demo_file,json=isReplayDemoFile" json:"is_replay_demo_file,omitempty"` - Deny *bool `protobuf:"varint,4,opt,name=deny" json:"deny,omitempty"` + 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 *CNETMsg_File) Reset() { - *x = CNETMsg_File{} +func (x *CCLCMsg_FileCRCCheck) Reset() { + *x = CCLCMsg_FileCRCCheck{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[11] + mi := &file_netmessages_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CNETMsg_File) String() string { +func (x *CCLCMsg_FileCRCCheck) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CNETMsg_File) ProtoMessage() {} +func (*CCLCMsg_FileCRCCheck) ProtoMessage() {} -func (x *CNETMsg_File) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[11] +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 { @@ -1172,64 +1354,71 @@ func (x *CNETMsg_File) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CNETMsg_File.ProtoReflect.Descriptor instead. -func (*CNETMsg_File) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{11} +// Deprecated: Use CCLCMsg_FileCRCCheck.ProtoReflect.Descriptor instead. +func (*CCLCMsg_FileCRCCheck) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{7} } -func (x *CNETMsg_File) GetTransferId() int32 { - if x != nil && x.TransferId != nil { - return *x.TransferId +func (x *CCLCMsg_FileCRCCheck) GetCodePath() int32 { + if x != nil && x.CodePath != nil { + return *x.CodePath } return 0 } -func (x *CNETMsg_File) GetFileName() string { - if x != nil && x.FileName != nil { - return *x.FileName +func (x *CCLCMsg_FileCRCCheck) GetPath() string { + if x != nil && x.Path != nil { + return *x.Path } return "" } -func (x *CNETMsg_File) GetIsReplayDemoFile() bool { - if x != nil && x.IsReplayDemoFile != nil { - return *x.IsReplayDemoFile +func (x *CCLCMsg_FileCRCCheck) GetCodeFilename() int32 { + if x != nil && x.CodeFilename != nil { + return *x.CodeFilename } - return false + return 0 } -func (x *CNETMsg_File) GetDeny() bool { - if x != nil && x.Deny != nil { - return *x.Deny +func (x *CCLCMsg_FileCRCCheck) GetFilename() string { + if x != nil && x.Filename != nil { + return *x.Filename } - return false + return "" +} + +func (x *CCLCMsg_FileCRCCheck) GetCrc() uint32 { + if x != nil && x.Crc != nil { + return *x.Crc + } + return 0 } -type CNETMsg_SplitScreenUser struct { +type CCLCMsg_LoadingProgress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Slot *int32 `protobuf:"varint,1,opt,name=slot" json:"slot,omitempty"` + Progress *int32 `protobuf:"varint,1,opt,name=progress" json:"progress,omitempty"` } -func (x *CNETMsg_SplitScreenUser) Reset() { - *x = CNETMsg_SplitScreenUser{} +func (x *CCLCMsg_LoadingProgress) Reset() { + *x = CCLCMsg_LoadingProgress{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[12] + mi := &file_netmessages_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CNETMsg_SplitScreenUser) String() string { +func (x *CCLCMsg_LoadingProgress) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CNETMsg_SplitScreenUser) ProtoMessage() {} +func (*CCLCMsg_LoadingProgress) ProtoMessage() {} -func (x *CNETMsg_SplitScreenUser) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[12] +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 { @@ -1240,44 +1429,43 @@ func (x *CNETMsg_SplitScreenUser) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CNETMsg_SplitScreenUser.ProtoReflect.Descriptor instead. -func (*CNETMsg_SplitScreenUser) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{12} +// Deprecated: Use CCLCMsg_LoadingProgress.ProtoReflect.Descriptor instead. +func (*CCLCMsg_LoadingProgress) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{8} } -func (x *CNETMsg_SplitScreenUser) GetSlot() int32 { - if x != nil && x.Slot != nil { - return *x.Slot +func (x *CCLCMsg_LoadingProgress) GetProgress() int32 { + if x != nil && x.Progress != nil { + return *x.Progress } return 0 } -type CNETMsg_PlayerAvatarData struct { +type CCLCMsg_SplitPlayerConnect struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Accountid *uint32 `protobuf:"varint,1,opt,name=accountid" json:"accountid,omitempty"` - Rgb []byte `protobuf:"bytes,2,opt,name=rgb" json:"rgb,omitempty"` + Playername *string `protobuf:"bytes,1,opt,name=playername" json:"playername,omitempty"` } -func (x *CNETMsg_PlayerAvatarData) Reset() { - *x = CNETMsg_PlayerAvatarData{} +func (x *CCLCMsg_SplitPlayerConnect) Reset() { + *x = CCLCMsg_SplitPlayerConnect{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[13] + mi := &file_netmessages_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CNETMsg_PlayerAvatarData) String() string { +func (x *CCLCMsg_SplitPlayerConnect) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CNETMsg_PlayerAvatarData) ProtoMessage() {} +func (*CCLCMsg_SplitPlayerConnect) ProtoMessage() {} -func (x *CNETMsg_PlayerAvatarData) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[13] +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 { @@ -1288,56 +1476,44 @@ func (x *CNETMsg_PlayerAvatarData) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CNETMsg_PlayerAvatarData.ProtoReflect.Descriptor instead. -func (*CNETMsg_PlayerAvatarData) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{13} -} - -func (x *CNETMsg_PlayerAvatarData) GetAccountid() uint32 { - if x != nil && x.Accountid != nil { - return *x.Accountid - } - return 0 +// Deprecated: Use CCLCMsg_SplitPlayerConnect.ProtoReflect.Descriptor instead. +func (*CCLCMsg_SplitPlayerConnect) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{9} } -func (x *CNETMsg_PlayerAvatarData) GetRgb() []byte { - if x != nil { - return x.Rgb +func (x *CCLCMsg_SplitPlayerConnect) GetPlayername() string { + if x != nil && x.Playername != nil { + return *x.Playername } - return nil + return "" } -type CCLCMsg_ClientInfo struct { +type CCLCMsg_ClientMessage 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"` - IsReplay *bool `protobuf:"varint,4,opt,name=is_replay,json=isReplay" json:"is_replay,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"` - CustomFiles []uint32 `protobuf:"fixed32,7,rep,name=custom_files,json=customFiles" json:"custom_files,omitempty"` + 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_ClientInfo) Reset() { - *x = CCLCMsg_ClientInfo{} +func (x *CCLCMsg_ClientMessage) Reset() { + *x = CCLCMsg_ClientMessage{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[14] + mi := &file_netmessages_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCLCMsg_ClientInfo) String() string { +func (x *CCLCMsg_ClientMessage) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCLCMsg_ClientInfo) ProtoMessage() {} +func (*CCLCMsg_ClientMessage) ProtoMessage() {} -func (x *CCLCMsg_ClientInfo) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[14] +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 { @@ -1348,87 +1524,50 @@ func (x *CCLCMsg_ClientInfo) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CCLCMsg_ClientInfo.ProtoReflect.Descriptor instead. -func (*CCLCMsg_ClientInfo) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{14} -} - -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) GetIsReplay() bool { - if x != nil && x.IsReplay != nil { - return *x.IsReplay - } - return false +// Deprecated: Use CCLCMsg_ClientMessage.ProtoReflect.Descriptor instead. +func (*CCLCMsg_ClientMessage) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{10} } -func (x *CCLCMsg_ClientInfo) GetFriendsId() uint32 { - if x != nil && x.FriendsId != nil { - return *x.FriendsId +func (x *CCLCMsg_ClientMessage) GetMsgType() int32 { + if x != nil && x.MsgType != nil { + return *x.MsgType } return 0 } -func (x *CCLCMsg_ClientInfo) GetFriendsName() string { - if x != nil && x.FriendsName != nil { - return *x.FriendsName - } - return "" -} - -func (x *CCLCMsg_ClientInfo) GetCustomFiles() []uint32 { +func (x *CCLCMsg_ClientMessage) GetData() []byte { if x != nil { - return x.CustomFiles + return x.Data } return nil } -type CCLCMsg_Move struct { +type CCLCMsg_SplitPlayerDisconnect struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - NumBackupCommands *uint32 `protobuf:"varint,1,opt,name=num_backup_commands,json=numBackupCommands" json:"num_backup_commands,omitempty"` - NumNewCommands *uint32 `protobuf:"varint,2,opt,name=num_new_commands,json=numNewCommands" json:"num_new_commands,omitempty"` - Data []byte `protobuf:"bytes,3,opt,name=data" json:"data,omitempty"` + Slot *int32 `protobuf:"varint,1,opt,name=slot" json:"slot,omitempty"` } -func (x *CCLCMsg_Move) Reset() { - *x = CCLCMsg_Move{} +func (x *CCLCMsg_SplitPlayerDisconnect) Reset() { + *x = CCLCMsg_SplitPlayerDisconnect{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[15] + mi := &file_netmessages_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCLCMsg_Move) String() string { +func (x *CCLCMsg_SplitPlayerDisconnect) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCLCMsg_Move) ProtoMessage() {} +func (*CCLCMsg_SplitPlayerDisconnect) ProtoMessage() {} -func (x *CCLCMsg_Move) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[15] +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 { @@ -1439,67 +1578,43 @@ func (x *CCLCMsg_Move) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CCLCMsg_Move.ProtoReflect.Descriptor instead. -func (*CCLCMsg_Move) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{15} -} - -func (x *CCLCMsg_Move) GetNumBackupCommands() uint32 { - if x != nil && x.NumBackupCommands != nil { - return *x.NumBackupCommands - } - return 0 +// Deprecated: Use CCLCMsg_SplitPlayerDisconnect.ProtoReflect.Descriptor instead. +func (*CCLCMsg_SplitPlayerDisconnect) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{11} } -func (x *CCLCMsg_Move) GetNumNewCommands() uint32 { - if x != nil && x.NumNewCommands != nil { - return *x.NumNewCommands +func (x *CCLCMsg_SplitPlayerDisconnect) GetSlot() int32 { + if x != nil && x.Slot != nil { + return *x.Slot } return 0 } -func (x *CCLCMsg_Move) GetData() []byte { - if x != nil { - return x.Data - } - return nil -} - -type CCLCMsg_VoiceData struct { +type CCLCMsg_ServerStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Data []byte `protobuf:"bytes,1,opt,name=data" json:"data,omitempty"` - Xuid *uint64 `protobuf:"fixed64,2,opt,name=xuid" json:"xuid,omitempty"` - Format *VoiceDataFormatT `protobuf:"varint,3,opt,name=format,enum=VoiceDataFormatT,def=1" json:"format,omitempty"` - SequenceBytes *int32 `protobuf:"varint,4,opt,name=sequence_bytes,json=sequenceBytes" json:"sequence_bytes,omitempty"` - SectionNumber *uint32 `protobuf:"varint,5,opt,name=section_number,json=sectionNumber" json:"section_number,omitempty"` - UncompressedSampleOffset *uint32 `protobuf:"varint,6,opt,name=uncompressed_sample_offset,json=uncompressedSampleOffset" json:"uncompressed_sample_offset,omitempty"` + Simplified *bool `protobuf:"varint,1,opt,name=simplified" json:"simplified,omitempty"` } -// Default values for CCLCMsg_VoiceData fields. -const ( - Default_CCLCMsg_VoiceData_Format = VoiceDataFormatT_VOICEDATA_FORMAT_ENGINE -) - -func (x *CCLCMsg_VoiceData) Reset() { - *x = CCLCMsg_VoiceData{} +func (x *CCLCMsg_ServerStatus) Reset() { + *x = CCLCMsg_ServerStatus{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[16] + mi := &file_netmessages_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCLCMsg_VoiceData) String() string { +func (x *CCLCMsg_ServerStatus) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCLCMsg_VoiceData) ProtoMessage() {} +func (*CCLCMsg_ServerStatus) ProtoMessage() {} -func (x *CCLCMsg_VoiceData) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[16] +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 { @@ -1510,79 +1625,87 @@ func (x *CCLCMsg_VoiceData) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CCLCMsg_VoiceData.ProtoReflect.Descriptor instead. -func (*CCLCMsg_VoiceData) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{16} +// Deprecated: Use CCLCMsg_ServerStatus.ProtoReflect.Descriptor instead. +func (*CCLCMsg_ServerStatus) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{12} } -func (x *CCLCMsg_VoiceData) GetData() []byte { - if x != nil { - return x.Data +func (x *CCLCMsg_ServerStatus) GetSimplified() bool { + if x != nil && x.Simplified != nil { + return *x.Simplified } - return nil + return false } -func (x *CCLCMsg_VoiceData) GetXuid() uint64 { - if x != nil && x.Xuid != nil { - return *x.Xuid - } - return 0 +type CCLCMsg_ServerPing struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields } -func (x *CCLCMsg_VoiceData) GetFormat() VoiceDataFormatT { - if x != nil && x.Format != nil { - return *x.Format +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) } - return Default_CCLCMsg_VoiceData_Format } -func (x *CCLCMsg_VoiceData) GetSequenceBytes() int32 { - if x != nil && x.SequenceBytes != nil { - return *x.SequenceBytes - } - return 0 +func (x *CCLCMsg_ServerPing) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *CCLCMsg_VoiceData) GetSectionNumber() uint32 { - if x != nil && x.SectionNumber != nil { - return *x.SectionNumber +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 0 + return mi.MessageOf(x) } -func (x *CCLCMsg_VoiceData) GetUncompressedSampleOffset() uint32 { - if x != nil && x.UncompressedSampleOffset != nil { - return *x.UncompressedSampleOffset - } - return 0 +// Deprecated: Use CCLCMsg_ServerPing.ProtoReflect.Descriptor instead. +func (*CCLCMsg_ServerPing) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{13} } -type CCLCMsg_BaselineAck struct { +type CCLCMsg_RequestPause 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"` + 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"` } -func (x *CCLCMsg_BaselineAck) Reset() { - *x = CCLCMsg_BaselineAck{} +// 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[17] + mi := &file_netmessages_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCLCMsg_BaselineAck) String() string { +func (x *CCLCMsg_RequestPause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCLCMsg_BaselineAck) ProtoMessage() {} +func (*CCLCMsg_RequestPause) ProtoMessage() {} -func (x *CCLCMsg_BaselineAck) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[17] +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 { @@ -1593,50 +1716,50 @@ func (x *CCLCMsg_BaselineAck) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CCLCMsg_BaselineAck.ProtoReflect.Descriptor instead. -func (*CCLCMsg_BaselineAck) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{17} +// Deprecated: Use CCLCMsg_RequestPause.ProtoReflect.Descriptor instead. +func (*CCLCMsg_RequestPause) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{14} } -func (x *CCLCMsg_BaselineAck) GetBaselineTick() int32 { - if x != nil && x.BaselineTick != nil { - return *x.BaselineTick +func (x *CCLCMsg_RequestPause) GetPauseType() RequestPauseT { + if x != nil && x.PauseType != nil { + return *x.PauseType } - return 0 + return Default_CCLCMsg_RequestPause_PauseType } -func (x *CCLCMsg_BaselineAck) GetBaselineNr() int32 { - if x != nil && x.BaselineNr != nil { - return *x.BaselineNr +func (x *CCLCMsg_RequestPause) GetPauseGroup() int32 { + if x != nil && x.PauseGroup != nil { + return *x.PauseGroup } return 0 } -type CCLCMsg_ListenEvents struct { +type CCLCMsg_CmdKeyValues 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"` + Data []byte `protobuf:"bytes,1,opt,name=data" json:"data,omitempty"` } -func (x *CCLCMsg_ListenEvents) Reset() { - *x = CCLCMsg_ListenEvents{} +func (x *CCLCMsg_CmdKeyValues) Reset() { + *x = CCLCMsg_CmdKeyValues{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[18] + mi := &file_netmessages_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCLCMsg_ListenEvents) String() string { +func (x *CCLCMsg_CmdKeyValues) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCLCMsg_ListenEvents) ProtoMessage() {} +func (*CCLCMsg_CmdKeyValues) ProtoMessage() {} -func (x *CCLCMsg_ListenEvents) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[18] +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 { @@ -1647,46 +1770,43 @@ func (x *CCLCMsg_ListenEvents) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CCLCMsg_ListenEvents.ProtoReflect.Descriptor instead. -func (*CCLCMsg_ListenEvents) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{18} +// Deprecated: Use CCLCMsg_CmdKeyValues.ProtoReflect.Descriptor instead. +func (*CCLCMsg_CmdKeyValues) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{15} } -func (x *CCLCMsg_ListenEvents) GetEventMask() []uint32 { +func (x *CCLCMsg_CmdKeyValues) GetData() []byte { if x != nil { - return x.EventMask + return x.Data } return nil } -type CCLCMsg_RespondCvarValue struct { +type CCLCMsg_RconServerDetails 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"` + Token []byte `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` } -func (x *CCLCMsg_RespondCvarValue) Reset() { - *x = CCLCMsg_RespondCvarValue{} +func (x *CCLCMsg_RconServerDetails) Reset() { + *x = CCLCMsg_RconServerDetails{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[19] + mi := &file_netmessages_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCLCMsg_RespondCvarValue) String() string { +func (x *CCLCMsg_RconServerDetails) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCLCMsg_RespondCvarValue) ProtoMessage() {} +func (*CCLCMsg_RconServerDetails) ProtoMessage() {} -func (x *CCLCMsg_RespondCvarValue) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[19] +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 { @@ -1697,74 +1817,63 @@ func (x *CCLCMsg_RespondCvarValue) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CCLCMsg_RespondCvarValue.ProtoReflect.Descriptor instead. -func (*CCLCMsg_RespondCvarValue) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{19} -} - -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 "" +// Deprecated: Use CCLCMsg_RconServerDetails.ProtoReflect.Descriptor instead. +func (*CCLCMsg_RconServerDetails) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{16} } -func (x *CCLCMsg_RespondCvarValue) GetValue() string { - if x != nil && x.Value != nil { - return *x.Value +func (x *CCLCMsg_RconServerDetails) GetToken() []byte { + if x != nil { + return x.Token } - return "" + return nil } -type CCLCMsg_FileCRCCheck struct { +type CSVCMsg_ServerInfo 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"` - FileFraction *int32 `protobuf:"varint,5,opt,name=file_fraction,json=fileFraction" json:"file_fraction,omitempty"` - Md5 []byte `protobuf:"bytes,6,opt,name=md5" json:"md5,omitempty"` - Crc *uint32 `protobuf:"varint,7,opt,name=crc" json:"crc,omitempty"` - FileHashType *int32 `protobuf:"varint,8,opt,name=file_hash_type,json=fileHashType" json:"file_hash_type,omitempty"` - FileLen *int32 `protobuf:"varint,9,opt,name=file_len,json=fileLen" json:"file_len,omitempty"` - PackFileId *int32 `protobuf:"varint,10,opt,name=pack_file_id,json=packFileId" json:"pack_file_id,omitempty"` - PackFileNumber *int32 `protobuf:"varint,11,opt,name=pack_file_number,json=packFileNumber" json:"pack_file_number,omitempty"` -} + 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,def=-1" 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"` +} + +// Default values for CSVCMsg_ServerInfo fields. +const ( + Default_CSVCMsg_ServerInfo_PlayerSlot = int32(-1) +) -func (x *CCLCMsg_FileCRCCheck) Reset() { - *x = CCLCMsg_FileCRCCheck{} +func (x *CSVCMsg_ServerInfo) Reset() { + *x = CSVCMsg_ServerInfo{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[20] + mi := &file_netmessages_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCLCMsg_FileCRCCheck) String() string { +func (x *CSVCMsg_ServerInfo) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCLCMsg_FileCRCCheck) ProtoMessage() {} +func (*CSVCMsg_ServerInfo) ProtoMessage() {} -func (x *CCLCMsg_FileCRCCheck) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[20] +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 { @@ -1775,113 +1884,149 @@ func (x *CCLCMsg_FileCRCCheck) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CCLCMsg_FileCRCCheck.ProtoReflect.Descriptor instead. -func (*CCLCMsg_FileCRCCheck) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{20} +// Deprecated: Use CSVCMsg_ServerInfo.ProtoReflect.Descriptor instead. +func (*CSVCMsg_ServerInfo) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{17} } -func (x *CCLCMsg_FileCRCCheck) GetCodePath() int32 { - if x != nil && x.CodePath != nil { - return *x.CodePath +func (x *CSVCMsg_ServerInfo) GetProtocol() int32 { + if x != nil && x.Protocol != nil { + return *x.Protocol } return 0 } -func (x *CCLCMsg_FileCRCCheck) GetPath() string { - if x != nil && x.Path != nil { - return *x.Path +func (x *CSVCMsg_ServerInfo) GetServerCount() int32 { + if x != nil && x.ServerCount != nil { + return *x.ServerCount } - return "" + return 0 } -func (x *CCLCMsg_FileCRCCheck) GetCodeFilename() int32 { - if x != nil && x.CodeFilename != nil { - return *x.CodeFilename +func (x *CSVCMsg_ServerInfo) GetIsDedicated() bool { + if x != nil && x.IsDedicated != nil { + return *x.IsDedicated } - return 0 + return false } -func (x *CCLCMsg_FileCRCCheck) GetFilename() string { - if x != nil && x.Filename != nil { - return *x.Filename +func (x *CSVCMsg_ServerInfo) GetIsHltv() bool { + if x != nil && x.IsHltv != nil { + return *x.IsHltv } - return "" + return false } -func (x *CCLCMsg_FileCRCCheck) GetFileFraction() int32 { - if x != nil && x.FileFraction != nil { - return *x.FileFraction +func (x *CSVCMsg_ServerInfo) GetCOs() int32 { + if x != nil && x.COs != nil { + return *x.COs } return 0 } -func (x *CCLCMsg_FileCRCCheck) GetMd5() []byte { - if x != nil { - return x.Md5 +func (x *CSVCMsg_ServerInfo) GetMaxClients() int32 { + if x != nil && x.MaxClients != nil { + return *x.MaxClients } - return nil + return 0 } -func (x *CCLCMsg_FileCRCCheck) GetCrc() uint32 { - if x != nil && x.Crc != nil { - return *x.Crc +func (x *CSVCMsg_ServerInfo) GetMaxClasses() int32 { + if x != nil && x.MaxClasses != nil { + return *x.MaxClasses } return 0 } -func (x *CCLCMsg_FileCRCCheck) GetFileHashType() int32 { - if x != nil && x.FileHashType != nil { - return *x.FileHashType +func (x *CSVCMsg_ServerInfo) GetPlayerSlot() int32 { + if x != nil && x.PlayerSlot != nil { + return *x.PlayerSlot } - return 0 + return Default_CSVCMsg_ServerInfo_PlayerSlot } -func (x *CCLCMsg_FileCRCCheck) GetFileLen() int32 { - if x != nil && x.FileLen != nil { - return *x.FileLen +func (x *CSVCMsg_ServerInfo) GetTickInterval() float32 { + if x != nil && x.TickInterval != nil { + return *x.TickInterval } return 0 } -func (x *CCLCMsg_FileCRCCheck) GetPackFileId() int32 { - if x != nil && x.PackFileId != nil { - return *x.PackFileId +func (x *CSVCMsg_ServerInfo) GetGameDir() string { + if x != nil && x.GameDir != nil { + return *x.GameDir } - return 0 + return "" } -func (x *CCLCMsg_FileCRCCheck) GetPackFileNumber() int32 { - if x != nil && x.PackFileNumber != nil { - return *x.PackFileNumber +func (x *CSVCMsg_ServerInfo) GetMapName() string { + if x != nil && x.MapName != nil { + return *x.MapName } - return 0 + return "" } -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 *CSVCMsg_ServerInfo) GetSkyName() string { + if x != nil && x.SkyName != nil { + return *x.SkyName + } + return "" } -func (x *CCLCMsg_LoadingProgress) Reset() { - *x = CCLCMsg_LoadingProgress{} - if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *CSVCMsg_ServerInfo) GetHostName() string { + if x != nil && x.HostName != nil { + return *x.HostName } + return "" } -func (x *CCLCMsg_LoadingProgress) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *CSVCMsg_ServerInfo) GetAddonName() string { + if x != nil && x.AddonName != nil { + return *x.AddonName + } + return "" } -func (*CCLCMsg_LoadingProgress) ProtoMessage() {} +func (x *CSVCMsg_ServerInfo) GetGameSessionConfig() *CSVCMsg_GameSessionConfiguration { + if x != nil { + return x.GameSessionConfig + } + return nil +} -func (x *CCLCMsg_LoadingProgress) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[21] +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 { @@ -1892,43 +2037,389 @@ func (x *CCLCMsg_LoadingProgress) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CCLCMsg_LoadingProgress.ProtoReflect.Descriptor instead. -func (*CCLCMsg_LoadingProgress) Descriptor() ([]byte, []int) { +// 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 *CCLCMsg_LoadingProgress) GetProgress() int32 { - if x != nil && x.Progress != nil { - return *x.Progress +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,def=-1" json:"entity_index,omitempty"` + Slot *int32 `protobuf:"varint,2,opt,name=slot,def=-1" json:"slot,omitempty"` +} + +// Default values for CSVCMsg_SetView fields. +const ( + Default_CSVCMsg_SetView_EntityIndex = int32(-1) + Default_CSVCMsg_SetView_Slot = int32(-1) +) + +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 Default_CSVCMsg_SetView_EntityIndex +} + +func (x *CSVCMsg_SetView) GetSlot() int32 { + if x != nil && x.Slot != nil { + return *x.Slot } - return 0 + return Default_CSVCMsg_SetView_Slot } -type CCLCMsg_SplitPlayerConnect struct { +type CSVCMsg_FixAngle struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Convars *CMsg_CVars `protobuf:"bytes,1,opt,name=convars" json:"convars,omitempty"` + Relative *bool `protobuf:"varint,1,opt,name=relative" json:"relative,omitempty"` + Angle *CMsgQAngle `protobuf:"bytes,2,opt,name=angle" json:"angle,omitempty"` } -func (x *CCLCMsg_SplitPlayerConnect) Reset() { - *x = CCLCMsg_SplitPlayerConnect{} +func (x *CSVCMsg_FixAngle) Reset() { + *x = CSVCMsg_FixAngle{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[22] + mi := &file_netmessages_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCLCMsg_SplitPlayerConnect) String() string { +func (x *CSVCMsg_FixAngle) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCLCMsg_SplitPlayerConnect) ProtoMessage() {} +func (*CSVCMsg_FixAngle) ProtoMessage() {} -func (x *CCLCMsg_SplitPlayerConnect) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[22] +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 { @@ -1939,43 +2430,50 @@ func (x *CCLCMsg_SplitPlayerConnect) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CCLCMsg_SplitPlayerConnect.ProtoReflect.Descriptor instead. -func (*CCLCMsg_SplitPlayerConnect) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{22} +// 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 *CCLCMsg_SplitPlayerConnect) GetConvars() *CMsg_CVars { +func (x *CSVCMsg_FixAngle) GetAngle() *CMsgQAngle { if x != nil { - return x.Convars + return x.Angle } return nil } -type CCLCMsg_CmdKeyValues struct { +type CSVCMsg_CrosshairAngle struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Keyvalues []byte `protobuf:"bytes,1,opt,name=keyvalues" json:"keyvalues,omitempty"` + Angle *CMsgQAngle `protobuf:"bytes,1,opt,name=angle" json:"angle,omitempty"` } -func (x *CCLCMsg_CmdKeyValues) Reset() { - *x = CCLCMsg_CmdKeyValues{} +func (x *CSVCMsg_CrosshairAngle) Reset() { + *x = CSVCMsg_CrosshairAngle{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[23] + mi := &file_netmessages_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCLCMsg_CmdKeyValues) String() string { +func (x *CSVCMsg_CrosshairAngle) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCLCMsg_CmdKeyValues) ProtoMessage() {} +func (*CSVCMsg_CrosshairAngle) ProtoMessage() {} -func (x *CCLCMsg_CmdKeyValues) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[23] +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 { @@ -1986,64 +2484,52 @@ func (x *CCLCMsg_CmdKeyValues) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CCLCMsg_CmdKeyValues.ProtoReflect.Descriptor instead. -func (*CCLCMsg_CmdKeyValues) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{23} +// Deprecated: Use CSVCMsg_CrosshairAngle.ProtoReflect.Descriptor instead. +func (*CSVCMsg_CrosshairAngle) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{26} } -func (x *CCLCMsg_CmdKeyValues) GetKeyvalues() []byte { +func (x *CSVCMsg_CrosshairAngle) GetAngle() *CMsgQAngle { if x != nil { - return x.Keyvalues + return x.Angle } return nil } -type CSVCMsg_ServerInfo struct { +type CSVCMsg_BSPDecal 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"` - IsOfficialValveServer *bool `protobuf:"varint,4,opt,name=is_official_valve_server,json=isOfficialValveServer" json:"is_official_valve_server,omitempty"` - IsHltv *bool `protobuf:"varint,5,opt,name=is_hltv,json=isHltv" json:"is_hltv,omitempty"` - IsReplay *bool `protobuf:"varint,6,opt,name=is_replay,json=isReplay" json:"is_replay,omitempty"` - IsRedirectingToProxyRelay *bool `protobuf:"varint,21,opt,name=is_redirecting_to_proxy_relay,json=isRedirectingToProxyRelay" json:"is_redirecting_to_proxy_relay,omitempty"` - COs *int32 `protobuf:"varint,7,opt,name=c_os,json=cOs" json:"c_os,omitempty"` - MapCrc *uint32 `protobuf:"fixed32,8,opt,name=map_crc,json=mapCrc" json:"map_crc,omitempty"` - ClientCrc *uint32 `protobuf:"fixed32,9,opt,name=client_crc,json=clientCrc" json:"client_crc,omitempty"` - StringTableCrc *uint32 `protobuf:"fixed32,10,opt,name=string_table_crc,json=stringTableCrc" json:"string_table_crc,omitempty"` - MaxClients *int32 `protobuf:"varint,11,opt,name=max_clients,json=maxClients" json:"max_clients,omitempty"` - MaxClasses *int32 `protobuf:"varint,12,opt,name=max_classes,json=maxClasses" json:"max_classes,omitempty"` - PlayerSlot *int32 `protobuf:"varint,13,opt,name=player_slot,json=playerSlot" json:"player_slot,omitempty"` - TickInterval *float32 `protobuf:"fixed32,14,opt,name=tick_interval,json=tickInterval" json:"tick_interval,omitempty"` - GameDir *string `protobuf:"bytes,15,opt,name=game_dir,json=gameDir" json:"game_dir,omitempty"` - MapName *string `protobuf:"bytes,16,opt,name=map_name,json=mapName" json:"map_name,omitempty"` - MapGroupName *string `protobuf:"bytes,17,opt,name=map_group_name,json=mapGroupName" json:"map_group_name,omitempty"` - SkyName *string `protobuf:"bytes,18,opt,name=sky_name,json=skyName" json:"sky_name,omitempty"` - HostName *string `protobuf:"bytes,19,opt,name=host_name,json=hostName" json:"host_name,omitempty"` - PublicIp *uint32 `protobuf:"varint,20,opt,name=public_ip,json=publicIp" json:"public_ip,omitempty"` - UgcMapId *uint64 `protobuf:"varint,22,opt,name=ugc_map_id,json=ugcMapId" json:"ugc_map_id,omitempty"` + 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,def=-1" 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_ServerInfo) Reset() { - *x = CSVCMsg_ServerInfo{} +// Default values for CSVCMsg_BSPDecal fields. +const ( + Default_CSVCMsg_BSPDecal_EntityIndex = int32(-1) +) + +func (x *CSVCMsg_BSPDecal) Reset() { + *x = CSVCMsg_BSPDecal{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[24] + mi := &file_netmessages_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_ServerInfo) String() string { +func (x *CSVCMsg_BSPDecal) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_ServerInfo) ProtoMessage() {} +func (*CSVCMsg_BSPDecal) ProtoMessage() {} -func (x *CSVCMsg_ServerInfo) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[24] +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 { @@ -2054,191 +2540,252 @@ func (x *CSVCMsg_ServerInfo) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_ServerInfo.ProtoReflect.Descriptor instead. -func (*CSVCMsg_ServerInfo) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{24} +// Deprecated: Use CSVCMsg_BSPDecal.ProtoReflect.Descriptor instead. +func (*CSVCMsg_BSPDecal) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{27} } -func (x *CSVCMsg_ServerInfo) GetProtocol() int32 { - if x != nil && x.Protocol != nil { - return *x.Protocol +func (x *CSVCMsg_BSPDecal) GetPos() *CMsgVector { + if x != nil { + return x.Pos } - return 0 + return nil } -func (x *CSVCMsg_ServerInfo) GetServerCount() int32 { - if x != nil && x.ServerCount != nil { - return *x.ServerCount +func (x *CSVCMsg_BSPDecal) GetDecalTextureIndex() int32 { + if x != nil && x.DecalTextureIndex != nil { + return *x.DecalTextureIndex } return 0 } -func (x *CSVCMsg_ServerInfo) GetIsDedicated() bool { - if x != nil && x.IsDedicated != nil { - return *x.IsDedicated +func (x *CSVCMsg_BSPDecal) GetEntityIndex() int32 { + if x != nil && x.EntityIndex != nil { + return *x.EntityIndex } - return false + return Default_CSVCMsg_BSPDecal_EntityIndex } -func (x *CSVCMsg_ServerInfo) GetIsOfficialValveServer() bool { - if x != nil && x.IsOfficialValveServer != nil { - return *x.IsOfficialValveServer +func (x *CSVCMsg_BSPDecal) GetModelIndex() int32 { + if x != nil && x.ModelIndex != nil { + return *x.ModelIndex } - return false + return 0 } -func (x *CSVCMsg_ServerInfo) GetIsHltv() bool { - if x != nil && x.IsHltv != nil { - return *x.IsHltv +func (x *CSVCMsg_BSPDecal) GetLowPriority() bool { + if x != nil && x.LowPriority != nil { + return *x.LowPriority } return false } -func (x *CSVCMsg_ServerInfo) GetIsReplay() bool { - if x != nil && x.IsReplay != nil { - return *x.IsReplay - } - 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,def=-1" json:"player_index,omitempty"` } -func (x *CSVCMsg_ServerInfo) GetIsRedirectingToProxyRelay() bool { - if x != nil && x.IsRedirectingToProxyRelay != nil { - return *x.IsRedirectingToProxyRelay +// Default values for CSVCMsg_SplitScreen fields. +const ( + Default_CSVCMsg_SplitScreen_Type = ESplitScreenMessageType_MSG_SPLITSCREEN_ADDUSER + Default_CSVCMsg_SplitScreen_PlayerIndex = int32(-1) +) + +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) } - return false } -func (x *CSVCMsg_ServerInfo) GetCOs() int32 { - if x != nil && x.COs != nil { - return *x.COs - } - return 0 +func (x *CSVCMsg_SplitScreen) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *CSVCMsg_ServerInfo) GetMapCrc() uint32 { - if x != nil && x.MapCrc != nil { - return *x.MapCrc +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 0 + 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_ServerInfo) GetClientCrc() uint32 { - if x != nil && x.ClientCrc != nil { - return *x.ClientCrc +func (x *CSVCMsg_SplitScreen) GetType() ESplitScreenMessageType { + if x != nil && x.Type != nil { + return *x.Type } - return 0 + return Default_CSVCMsg_SplitScreen_Type } -func (x *CSVCMsg_ServerInfo) GetStringTableCrc() uint32 { - if x != nil && x.StringTableCrc != nil { - return *x.StringTableCrc +func (x *CSVCMsg_SplitScreen) GetSlot() int32 { + if x != nil && x.Slot != nil { + return *x.Slot } return 0 } -func (x *CSVCMsg_ServerInfo) GetMaxClients() int32 { - if x != nil && x.MaxClients != nil { - return *x.MaxClients +func (x *CSVCMsg_SplitScreen) GetPlayerIndex() int32 { + if x != nil && x.PlayerIndex != nil { + return *x.PlayerIndex } - return 0 + return Default_CSVCMsg_SplitScreen_PlayerIndex } -func (x *CSVCMsg_ServerInfo) GetMaxClasses() int32 { - if x != nil && x.MaxClasses != nil { - return *x.MaxClasses +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) } - return 0 } -func (x *CSVCMsg_ServerInfo) GetPlayerSlot() int32 { - if x != nil && x.PlayerSlot != nil { - return *x.PlayerSlot +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 0 + return mi.MessageOf(x) } -func (x *CSVCMsg_ServerInfo) GetTickInterval() float32 { - if x != nil && x.TickInterval != nil { - return *x.TickInterval +// 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_ServerInfo) GetGameDir() string { - if x != nil && x.GameDir != nil { - return *x.GameDir +func (x *CSVCMsg_GetCvarValue) GetCvarName() string { + if x != nil && x.CvarName != nil { + return *x.CvarName } return "" } -func (x *CSVCMsg_ServerInfo) GetMapName() string { - if x != nil && x.MapName != nil { - return *x.MapName +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) } - return "" } -func (x *CSVCMsg_ServerInfo) GetMapGroupName() string { - if x != nil && x.MapGroupName != nil { - return *x.MapGroupName - } - return "" +func (x *CSVCMsg_Menu) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *CSVCMsg_ServerInfo) GetSkyName() string { - if x != nil && x.SkyName != nil { - return *x.SkyName +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 "" + return mi.MessageOf(x) } -func (x *CSVCMsg_ServerInfo) GetHostName() string { - if x != nil && x.HostName != nil { - return *x.HostName - } - return "" +// Deprecated: Use CSVCMsg_Menu.ProtoReflect.Descriptor instead. +func (*CSVCMsg_Menu) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{30} } -func (x *CSVCMsg_ServerInfo) GetPublicIp() uint32 { - if x != nil && x.PublicIp != nil { - return *x.PublicIp +func (x *CSVCMsg_Menu) GetDialogType() int32 { + if x != nil && x.DialogType != nil { + return *x.DialogType } return 0 } -func (x *CSVCMsg_ServerInfo) GetUgcMapId() uint64 { - if x != nil && x.UgcMapId != nil { - return *x.UgcMapId +func (x *CSVCMsg_Menu) GetMenuKeyValues() []byte { + if x != nil { + return x.MenuKeyValues } - return 0 + return nil } -type CSVCMsg_ClassInfo struct { +type CSVCMsg_UserMessage 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"` + 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_ClassInfo) Reset() { - *x = CSVCMsg_ClassInfo{} +func (x *CSVCMsg_UserMessage) Reset() { + *x = CSVCMsg_UserMessage{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[25] + mi := &file_netmessages_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_ClassInfo) String() string { +func (x *CSVCMsg_UserMessage) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_ClassInfo) ProtoMessage() {} +func (*CSVCMsg_UserMessage) ProtoMessage() {} -func (x *CSVCMsg_ClassInfo) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[25] +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 { @@ -2249,25 +2796,32 @@ func (x *CSVCMsg_ClassInfo) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_ClassInfo.ProtoReflect.Descriptor instead. -func (*CSVCMsg_ClassInfo) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{25} +// Deprecated: Use CSVCMsg_UserMessage.ProtoReflect.Descriptor instead. +func (*CSVCMsg_UserMessage) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{31} } -func (x *CSVCMsg_ClassInfo) GetCreateOnClient() bool { - if x != nil && x.CreateOnClient != nil { - return *x.CreateOnClient +func (x *CSVCMsg_UserMessage) GetMsgType() int32 { + if x != nil && x.MsgType != nil { + return *x.MsgType } - return false + return 0 } -func (x *CSVCMsg_ClassInfo) GetClasses() []*CSVCMsg_ClassInfoClassT { +func (x *CSVCMsg_UserMessage) GetMsgData() []byte { if x != nil { - return x.Classes + 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 @@ -2282,7 +2836,7 @@ type CSVCMsg_SendTable struct { func (x *CSVCMsg_SendTable) Reset() { *x = CSVCMsg_SendTable{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[26] + mi := &file_netmessages_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2295,7 +2849,7 @@ func (x *CSVCMsg_SendTable) String() string { func (*CSVCMsg_SendTable) ProtoMessage() {} func (x *CSVCMsg_SendTable) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[26] + mi := &file_netmessages_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2308,7 +2862,7 @@ func (x *CSVCMsg_SendTable) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_SendTable.ProtoReflect.Descriptor instead. func (*CSVCMsg_SendTable) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{26} + return file_netmessages_proto_rawDescGZIP(), []int{32} } func (x *CSVCMsg_SendTable) GetIsEnd() bool { @@ -2339,31 +2893,31 @@ func (x *CSVCMsg_SendTable) GetProps() []*CSVCMsg_SendTableSendpropT { return nil } -type CSVCMsg_Print struct { +type CSVCMsg_GameEventList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Text *string `protobuf:"bytes,1,opt,name=text" json:"text,omitempty"` + Descriptors []*CSVCMsg_GameEventListDescriptorT `protobuf:"bytes,1,rep,name=descriptors" json:"descriptors,omitempty"` } -func (x *CSVCMsg_Print) Reset() { - *x = CSVCMsg_Print{} +func (x *CSVCMsg_GameEventList) Reset() { + *x = CSVCMsg_GameEventList{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[27] + mi := &file_netmessages_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_Print) String() string { +func (x *CSVCMsg_GameEventList) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_Print) ProtoMessage() {} +func (*CSVCMsg_GameEventList) ProtoMessage() {} -func (x *CSVCMsg_Print) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[27] +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 { @@ -2374,43 +2928,57 @@ func (x *CSVCMsg_Print) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_Print.ProtoReflect.Descriptor instead. -func (*CSVCMsg_Print) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{27} +// Deprecated: Use CSVCMsg_GameEventList.ProtoReflect.Descriptor instead. +func (*CSVCMsg_GameEventList) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{33} } -func (x *CSVCMsg_Print) GetText() string { - if x != nil && x.Text != nil { - return *x.Text +func (x *CSVCMsg_GameEventList) GetDescriptors() []*CSVCMsg_GameEventListDescriptorT { + if x != nil { + return x.Descriptors } - return "" + return nil } -type CSVCMsg_SetPause struct { +type CSVCMsg_PacketEntities struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Paused *bool `protobuf:"varint,1,opt,name=paused" json:"paused,omitempty"` + 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"` + AlternateBaselines []*CSVCMsg_PacketEntitiesAlternateBaselineT `protobuf:"bytes,15,rep,name=alternate_baselines,json=alternateBaselines" json:"alternate_baselines,omitempty"` } -func (x *CSVCMsg_SetPause) Reset() { - *x = CSVCMsg_SetPause{} +func (x *CSVCMsg_PacketEntities) Reset() { + *x = CSVCMsg_PacketEntities{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[28] + mi := &file_netmessages_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_SetPause) String() string { +func (x *CSVCMsg_PacketEntities) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_SetPause) ProtoMessage() {} +func (*CSVCMsg_PacketEntities) ProtoMessage() {} -func (x *CSVCMsg_SetPause) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[28] +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 { @@ -2421,43 +2989,143 @@ func (x *CSVCMsg_SetPause) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_SetPause.ProtoReflect.Descriptor instead. -func (*CSVCMsg_SetPause) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{28} +// Deprecated: Use CSVCMsg_PacketEntities.ProtoReflect.Descriptor instead. +func (*CSVCMsg_PacketEntities) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{34} } -func (x *CSVCMsg_SetPause) GetPaused() bool { - if x != nil && x.Paused != nil { - return *x.Paused +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 } -type CSVCMsg_SetView struct { +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 +} + +func (x *CSVCMsg_PacketEntities) GetAlternateBaselines() []*CSVCMsg_PacketEntitiesAlternateBaselineT { + if x != nil { + return x.AlternateBaselines + } + return nil +} + +type CSVCMsg_TempEntities 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"` + 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_SetView) Reset() { - *x = CSVCMsg_SetView{} +func (x *CSVCMsg_TempEntities) Reset() { + *x = CSVCMsg_TempEntities{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[29] + mi := &file_netmessages_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_SetView) String() string { +func (x *CSVCMsg_TempEntities) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_SetView) ProtoMessage() {} +func (*CSVCMsg_TempEntities) ProtoMessage() {} -func (x *CSVCMsg_SetView) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[29] +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 { @@ -2468,16 +3136,30 @@ func (x *CSVCMsg_SetView) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_SetView.ProtoReflect.Descriptor instead. -func (*CSVCMsg_SetView) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{29} +// 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_SetView) GetEntityIndex() int32 { - if x != nil && x.EntityIndex != nil { - return *x.EntityIndex +func (x *CSVCMsg_TempEntities) GetEntityData() []byte { + if x != nil { + return x.EntityData } - return 0 + return nil } type CSVCMsg_CreateStringTable struct { @@ -2485,20 +3167,22 @@ type CSVCMsg_CreateStringTable struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` - MaxEntries *int32 `protobuf:"varint,2,opt,name=max_entries,json=maxEntries" json:"max_entries,omitempty"` - NumEntries *int32 `protobuf:"varint,3,opt,name=num_entries,json=numEntries" json:"num_entries,omitempty"` - UserDataFixedSize *bool `protobuf:"varint,4,opt,name=user_data_fixed_size,json=userDataFixedSize" json:"user_data_fixed_size,omitempty"` - UserDataSize *int32 `protobuf:"varint,5,opt,name=user_data_size,json=userDataSize" json:"user_data_size,omitempty"` - UserDataSizeBits *int32 `protobuf:"varint,6,opt,name=user_data_size_bits,json=userDataSizeBits" json:"user_data_size_bits,omitempty"` - Flags *int32 `protobuf:"varint,7,opt,name=flags" json:"flags,omitempty"` - StringData []byte `protobuf:"bytes,8,opt,name=string_data,json=stringData" json:"string_data,omitempty"` + 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"` + UsingVarintBitcounts *bool `protobuf:"varint,10,opt,name=using_varint_bitcounts,json=usingVarintBitcounts" json:"using_varint_bitcounts,omitempty"` } func (x *CSVCMsg_CreateStringTable) Reset() { *x = CSVCMsg_CreateStringTable{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[30] + mi := &file_netmessages_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2511,7 +3195,7 @@ func (x *CSVCMsg_CreateStringTable) String() string { func (*CSVCMsg_CreateStringTable) ProtoMessage() {} func (x *CSVCMsg_CreateStringTable) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[30] + mi := &file_netmessages_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2524,7 +3208,7 @@ func (x *CSVCMsg_CreateStringTable) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_CreateStringTable.ProtoReflect.Descriptor instead. func (*CSVCMsg_CreateStringTable) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{30} + return file_netmessages_proto_rawDescGZIP(), []int{36} } func (x *CSVCMsg_CreateStringTable) GetName() string { @@ -2534,13 +3218,6 @@ func (x *CSVCMsg_CreateStringTable) GetName() string { return "" } -func (x *CSVCMsg_CreateStringTable) GetMaxEntries() int32 { - if x != nil && x.MaxEntries != nil { - return *x.MaxEntries - } - return 0 -} - func (x *CSVCMsg_CreateStringTable) GetNumEntries() int32 { if x != nil && x.NumEntries != nil { return *x.NumEntries @@ -2583,6 +3260,27 @@ func (x *CSVCMsg_CreateStringTable) GetStringData() []byte { 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 +} + +func (x *CSVCMsg_CreateStringTable) GetUsingVarintBitcounts() bool { + if x != nil && x.UsingVarintBitcounts != nil { + return *x.UsingVarintBitcounts + } + return false +} + type CSVCMsg_UpdateStringTable struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2596,7 +3294,7 @@ type CSVCMsg_UpdateStringTable struct { func (x *CSVCMsg_UpdateStringTable) Reset() { *x = CSVCMsg_UpdateStringTable{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[31] + mi := &file_netmessages_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2609,7 +3307,7 @@ func (x *CSVCMsg_UpdateStringTable) String() string { func (*CSVCMsg_UpdateStringTable) ProtoMessage() {} func (x *CSVCMsg_UpdateStringTable) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[31] + mi := &file_netmessages_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2622,7 +3320,7 @@ func (x *CSVCMsg_UpdateStringTable) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_UpdateStringTable.ProtoReflect.Descriptor instead. func (*CSVCMsg_UpdateStringTable) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{31} + return file_netmessages_proto_rawDescGZIP(), []int{37} } func (x *CSVCMsg_UpdateStringTable) GetTableId() int32 { @@ -2646,100 +3344,29 @@ func (x *CSVCMsg_UpdateStringTable) GetStringData() []byte { return nil } -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[32] - 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[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_VoiceInit.ProtoReflect.Descriptor instead. -func (*CSVCMsg_VoiceInit) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{32} -} - -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_VoiceData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Client *int32 `protobuf:"varint,1,opt,name=client" json:"client,omitempty"` - Proximity *bool `protobuf:"varint,2,opt,name=proximity" json:"proximity,omitempty"` - Xuid *uint64 `protobuf:"fixed64,3,opt,name=xuid" json:"xuid,omitempty"` - AudibleMask *int32 `protobuf:"varint,4,opt,name=audible_mask,json=audibleMask" json:"audible_mask,omitempty"` - VoiceData []byte `protobuf:"bytes,5,opt,name=voice_data,json=voiceData" json:"voice_data,omitempty"` - Caster *bool `protobuf:"varint,6,opt,name=caster" json:"caster,omitempty"` - Format *VoiceDataFormatT `protobuf:"varint,7,opt,name=format,enum=VoiceDataFormatT,def=1" json:"format,omitempty"` - SequenceBytes *int32 `protobuf:"varint,8,opt,name=sequence_bytes,json=sequenceBytes" json:"sequence_bytes,omitempty"` - SectionNumber *uint32 `protobuf:"varint,9,opt,name=section_number,json=sectionNumber" json:"section_number,omitempty"` - UncompressedSampleOffset *uint32 `protobuf:"varint,10,opt,name=uncompressed_sample_offset,json=uncompressedSampleOffset" json:"uncompressed_sample_offset,omitempty"` + Audio *CMsgVoiceAudio `protobuf:"bytes,1,opt,name=audio" json:"audio,omitempty"` + Client *int32 `protobuf:"varint,2,opt,name=client,def=-1" 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"` + Passthrough *int32 `protobuf:"varint,7,opt,name=passthrough" json:"passthrough,omitempty"` } // Default values for CSVCMsg_VoiceData fields. const ( - Default_CSVCMsg_VoiceData_Format = VoiceDataFormatT_VOICEDATA_FORMAT_ENGINE + Default_CSVCMsg_VoiceData_Client = int32(-1) ) func (x *CSVCMsg_VoiceData) Reset() { *x = CSVCMsg_VoiceData{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[33] + mi := &file_netmessages_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2752,7 +3379,7 @@ func (x *CSVCMsg_VoiceData) String() string { func (*CSVCMsg_VoiceData) ProtoMessage() {} func (x *CSVCMsg_VoiceData) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[33] + mi := &file_netmessages_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2765,14 +3392,21 @@ func (x *CSVCMsg_VoiceData) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_VoiceData.ProtoReflect.Descriptor instead. func (*CSVCMsg_VoiceData) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{33} + 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 + return Default_CSVCMsg_VoiceData_Client } func (x *CSVCMsg_VoiceData) GetProximity() bool { @@ -2796,74 +3430,111 @@ func (x *CSVCMsg_VoiceData) GetAudibleMask() int32 { return 0 } -func (x *CSVCMsg_VoiceData) GetVoiceData() []byte { - if x != nil { - return x.VoiceData +func (x *CSVCMsg_VoiceData) GetTick() uint32 { + if x != nil && x.Tick != nil { + return *x.Tick } - return nil + return 0 } -func (x *CSVCMsg_VoiceData) GetCaster() bool { - if x != nil && x.Caster != nil { - return *x.Caster +func (x *CSVCMsg_VoiceData) GetPassthrough() int32 { + if x != nil && x.Passthrough != nil { + return *x.Passthrough } - return false + return 0 } -func (x *CSVCMsg_VoiceData) GetFormat() VoiceDataFormatT { - if x != nil && x.Format != nil { - return *x.Format +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) } - return Default_CSVCMsg_VoiceData_Format } -func (x *CSVCMsg_VoiceData) GetSequenceBytes() int32 { - if x != nil && x.SequenceBytes != nil { - return *x.SequenceBytes +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 0 + return mi.MessageOf(x) } -func (x *CSVCMsg_VoiceData) GetSectionNumber() uint32 { - if x != nil && x.SectionNumber != nil { - return *x.SectionNumber +// 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_VoiceData) GetUncompressedSampleOffset() uint32 { - if x != nil && x.UncompressedSampleOffset != nil { - return *x.UncompressedSampleOffset +func (x *CSVCMsg_PacketReliable) GetMessagessize() int32 { + if x != nil && x.Messagessize != nil { + return *x.Messagessize } return 0 } -type CSVCMsg_FixAngle struct { +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 - Relative *bool `protobuf:"varint,1,opt,name=relative" json:"relative,omitempty"` - Angle *CMsgQAngle `protobuf:"bytes,2,opt,name=angle" json:"angle,omitempty"` + 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_FixAngle) Reset() { - *x = CSVCMsg_FixAngle{} +func (x *CSVCMsg_FullFrameSplit) Reset() { + *x = CSVCMsg_FullFrameSplit{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[34] + mi := &file_netmessages_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_FixAngle) String() string { +func (x *CSVCMsg_FullFrameSplit) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_FixAngle) ProtoMessage() {} +func (*CSVCMsg_FullFrameSplit) ProtoMessage() {} -func (x *CSVCMsg_FixAngle) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[34] +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 { @@ -2874,50 +3545,67 @@ func (x *CSVCMsg_FixAngle) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_FixAngle.ProtoReflect.Descriptor instead. -func (*CSVCMsg_FixAngle) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{34} +// Deprecated: Use CSVCMsg_FullFrameSplit.ProtoReflect.Descriptor instead. +func (*CSVCMsg_FullFrameSplit) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{40} } -func (x *CSVCMsg_FixAngle) GetRelative() bool { - if x != nil && x.Relative != nil { - return *x.Relative +func (x *CSVCMsg_FullFrameSplit) GetTick() int32 { + if x != nil && x.Tick != nil { + return *x.Tick } - return false + return 0 } -func (x *CSVCMsg_FixAngle) GetAngle() *CMsgQAngle { +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.Angle + return x.Data } return nil } -type CSVCMsg_CrosshairAngle struct { +type CSVCMsg_HLTVStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Angle *CMsgQAngle `protobuf:"bytes,1,opt,name=angle" json:"angle,omitempty"` + 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_CrosshairAngle) Reset() { - *x = CSVCMsg_CrosshairAngle{} +func (x *CSVCMsg_HLTVStatus) Reset() { + *x = CSVCMsg_HLTVStatus{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[35] + mi := &file_netmessages_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_CrosshairAngle) String() string { +func (x *CSVCMsg_HLTVStatus) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_CrosshairAngle) ProtoMessage() {} +func (*CSVCMsg_HLTVStatus) ProtoMessage() {} -func (x *CSVCMsg_CrosshairAngle) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[35] +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 { @@ -2928,43 +3616,64 @@ func (x *CSVCMsg_CrosshairAngle) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_CrosshairAngle.ProtoReflect.Descriptor instead. -func (*CSVCMsg_CrosshairAngle) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{35} +// Deprecated: Use CSVCMsg_HLTVStatus.ProtoReflect.Descriptor instead. +func (*CSVCMsg_HLTVStatus) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{41} } -func (x *CSVCMsg_CrosshairAngle) GetAngle() *CMsgQAngle { - if x != nil { - return x.Angle +func (x *CSVCMsg_HLTVStatus) GetMaster() string { + if x != nil && x.Master != nil { + return *x.Master } - return nil + return "" } -type CSVCMsg_Prefetch struct { +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 - SoundIndex *int32 `protobuf:"varint,1,opt,name=sound_index,json=soundIndex" json:"sound_index,omitempty"` + SteamId *uint64 `protobuf:"varint,1,opt,name=steam_id,json=steamId" json:"steam_id,omitempty"` } -func (x *CSVCMsg_Prefetch) Reset() { - *x = CSVCMsg_Prefetch{} +func (x *CSVCMsg_ServerSteamID) Reset() { + *x = CSVCMsg_ServerSteamID{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[36] + mi := &file_netmessages_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_Prefetch) String() string { +func (x *CSVCMsg_ServerSteamID) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_Prefetch) ProtoMessage() {} +func (*CSVCMsg_ServerSteamID) ProtoMessage() {} -func (x *CSVCMsg_Prefetch) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[36] +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 { @@ -2975,47 +3684,43 @@ func (x *CSVCMsg_Prefetch) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_Prefetch.ProtoReflect.Descriptor instead. -func (*CSVCMsg_Prefetch) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{36} +// Deprecated: Use CSVCMsg_ServerSteamID.ProtoReflect.Descriptor instead. +func (*CSVCMsg_ServerSteamID) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{42} } -func (x *CSVCMsg_Prefetch) GetSoundIndex() int32 { - if x != nil && x.SoundIndex != nil { - return *x.SoundIndex +func (x *CSVCMsg_ServerSteamID) GetSteamId() uint64 { + if x != nil && x.SteamId != nil { + return *x.SteamId } return 0 } -type CSVCMsg_BSPDecal struct { +type CSVCMsg_CmdKeyValues 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"` + Data []byte `protobuf:"bytes,1,opt,name=data" json:"data,omitempty"` } -func (x *CSVCMsg_BSPDecal) Reset() { - *x = CSVCMsg_BSPDecal{} +func (x *CSVCMsg_CmdKeyValues) Reset() { + *x = CSVCMsg_CmdKeyValues{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[37] + mi := &file_netmessages_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_BSPDecal) String() string { +func (x *CSVCMsg_CmdKeyValues) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_BSPDecal) ProtoMessage() {} +func (*CSVCMsg_CmdKeyValues) ProtoMessage() {} -func (x *CSVCMsg_BSPDecal) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[37] +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 { @@ -3026,78 +3731,44 @@ func (x *CSVCMsg_BSPDecal) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_BSPDecal.ProtoReflect.Descriptor instead. -func (*CSVCMsg_BSPDecal) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{37} +// Deprecated: Use CSVCMsg_CmdKeyValues.ProtoReflect.Descriptor instead. +func (*CSVCMsg_CmdKeyValues) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{43} } -func (x *CSVCMsg_BSPDecal) GetPos() *CMsgVector { +func (x *CSVCMsg_CmdKeyValues) GetData() []byte { if x != nil { - return x.Pos + return x.Data } 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 { +type CSVCMsg_RconServerDetails 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"` + Token []byte `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` + Details *string `protobuf:"bytes,2,opt,name=details" json:"details,omitempty"` } -// Default values for CSVCMsg_SplitScreen fields. -const ( - Default_CSVCMsg_SplitScreen_Type = ESplitScreenMessageType_MSG_SPLITSCREEN_ADDUSER -) - -func (x *CSVCMsg_SplitScreen) Reset() { - *x = CSVCMsg_SplitScreen{} +func (x *CSVCMsg_RconServerDetails) Reset() { + *x = CSVCMsg_RconServerDetails{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[38] + mi := &file_netmessages_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_SplitScreen) String() string { +func (x *CSVCMsg_RconServerDetails) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_SplitScreen) ProtoMessage() {} +func (*CSVCMsg_RconServerDetails) ProtoMessage() {} -func (x *CSVCMsg_SplitScreen) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[38] +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 { @@ -3108,58 +3779,51 @@ func (x *CSVCMsg_SplitScreen) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_SplitScreen.ProtoReflect.Descriptor instead. -func (*CSVCMsg_SplitScreen) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{38} -} - -func (x *CSVCMsg_SplitScreen) GetType() ESplitScreenMessageType { - if x != nil && x.Type != nil { - return *x.Type - } - return Default_CSVCMsg_SplitScreen_Type +// Deprecated: Use CSVCMsg_RconServerDetails.ProtoReflect.Descriptor instead. +func (*CSVCMsg_RconServerDetails) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{44} } -func (x *CSVCMsg_SplitScreen) GetSlot() int32 { - if x != nil && x.Slot != nil { - return *x.Slot +func (x *CSVCMsg_RconServerDetails) GetToken() []byte { + if x != nil { + return x.Token } - return 0 + return nil } -func (x *CSVCMsg_SplitScreen) GetPlayerIndex() int32 { - if x != nil && x.PlayerIndex != nil { - return *x.PlayerIndex +func (x *CSVCMsg_RconServerDetails) GetDetails() string { + if x != nil && x.Details != nil { + return *x.Details } - return 0 + return "" } -type CSVCMsg_GetCvarValue struct { +type CMsgIPCAddress 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"` + 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 *CSVCMsg_GetCvarValue) Reset() { - *x = CSVCMsg_GetCvarValue{} +func (x *CMsgIPCAddress) Reset() { + *x = CMsgIPCAddress{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[39] + mi := &file_netmessages_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_GetCvarValue) String() string { +func (x *CMsgIPCAddress) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_GetCvarValue) ProtoMessage() {} +func (*CMsgIPCAddress) ProtoMessage() {} -func (x *CSVCMsg_GetCvarValue) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[39] +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 { @@ -3170,51 +3834,60 @@ func (x *CSVCMsg_GetCvarValue) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_GetCvarValue.ProtoReflect.Descriptor instead. -func (*CSVCMsg_GetCvarValue) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{39} +// Deprecated: Use CMsgIPCAddress.ProtoReflect.Descriptor instead. +func (*CMsgIPCAddress) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{45} } -func (x *CSVCMsg_GetCvarValue) GetCookie() int32 { - if x != nil && x.Cookie != nil { - return *x.Cookie +func (x *CMsgIPCAddress) GetComputerGuid() uint64 { + if x != nil && x.ComputerGuid != nil { + return *x.ComputerGuid } return 0 } -func (x *CSVCMsg_GetCvarValue) GetCvarName() string { - if x != nil && x.CvarName != nil { - return *x.CvarName +func (x *CMsgIPCAddress) GetProcessId() uint32 { + if x != nil && x.ProcessId != nil { + return *x.ProcessId } - return "" + return 0 } -type CSVCMsg_Menu struct { +type CMsgServerPeer 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"` + PlayerSlot *int32 `protobuf:"varint,1,opt,name=player_slot,json=playerSlot,def=-1" 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 *CSVCMsg_Menu) Reset() { - *x = CSVCMsg_Menu{} +// Default values for CMsgServerPeer fields. +const ( + Default_CMsgServerPeer_PlayerSlot = int32(-1) +) + +func (x *CMsgServerPeer) Reset() { + *x = CMsgServerPeer{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[40] + mi := &file_netmessages_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_Menu) String() string { +func (x *CMsgServerPeer) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_Menu) ProtoMessage() {} +func (*CMsgServerPeer) ProtoMessage() {} -func (x *CSVCMsg_Menu) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[40] +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 { @@ -3225,52 +3898,78 @@ func (x *CSVCMsg_Menu) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_Menu.ProtoReflect.Descriptor instead. -func (*CSVCMsg_Menu) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{40} +// Deprecated: Use CMsgServerPeer.ProtoReflect.Descriptor instead. +func (*CMsgServerPeer) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{46} } -func (x *CSVCMsg_Menu) GetDialogType() int32 { - if x != nil && x.DialogType != nil { - return *x.DialogType +func (x *CMsgServerPeer) GetPlayerSlot() int32 { + if x != nil && x.PlayerSlot != nil { + return *x.PlayerSlot + } + return Default_CMsgServerPeer_PlayerSlot +} + +func (x *CMsgServerPeer) GetSteamid() uint64 { + if x != nil && x.Steamid != nil { + return *x.Steamid } return 0 } -func (x *CSVCMsg_Menu) GetMenuKeyValues() []byte { +func (x *CMsgServerPeer) GetIpc() *CMsgIPCAddress { if x != nil { - return x.MenuKeyValues + return x.Ipc } return nil } -type CSVCMsg_UserMessage struct { +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 - 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"` + Peer []*CMsgServerPeer `protobuf:"bytes,1,rep,name=peer" json:"peer,omitempty"` } -func (x *CSVCMsg_UserMessage) Reset() { - *x = CSVCMsg_UserMessage{} +func (x *CSVCMsg_PeerList) Reset() { + *x = CSVCMsg_PeerList{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[41] + mi := &file_netmessages_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_UserMessage) String() string { +func (x *CSVCMsg_PeerList) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_UserMessage) ProtoMessage() {} +func (*CSVCMsg_PeerList) ProtoMessage() {} -func (x *CSVCMsg_UserMessage) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[41] +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 { @@ -3281,57 +3980,43 @@ func (x *CSVCMsg_UserMessage) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_UserMessage.ProtoReflect.Descriptor instead. -func (*CSVCMsg_UserMessage) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{41} -} - -func (x *CSVCMsg_UserMessage) GetMsgType() int32 { - if x != nil && x.MsgType != nil { - return *x.MsgType - } - return 0 +// Deprecated: Use CSVCMsg_PeerList.ProtoReflect.Descriptor instead. +func (*CSVCMsg_PeerList) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{47} } -func (x *CSVCMsg_UserMessage) GetMsgData() []byte { +func (x *CSVCMsg_PeerList) GetPeer() []*CMsgServerPeer { if x != nil { - return x.MsgData + return x.Peer } return nil } -func (x *CSVCMsg_UserMessage) GetPassthrough() int32 { - if x != nil && x.Passthrough != nil { - return *x.Passthrough - } - return 0 -} - -type CSVCMsg_PaintmapData struct { +type CSVCMsg_ClearAllStringTables struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Paintmap []byte `protobuf:"bytes,1,opt,name=paintmap" json:"paintmap,omitempty"` + Mapname *string `protobuf:"bytes,1,opt,name=mapname" json:"mapname,omitempty"` } -func (x *CSVCMsg_PaintmapData) Reset() { - *x = CSVCMsg_PaintmapData{} +func (x *CSVCMsg_ClearAllStringTables) Reset() { + *x = CSVCMsg_ClearAllStringTables{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[42] + mi := &file_netmessages_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_PaintmapData) String() string { +func (x *CSVCMsg_ClearAllStringTables) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_PaintmapData) ProtoMessage() {} +func (*CSVCMsg_ClearAllStringTables) ProtoMessage() {} -func (x *CSVCMsg_PaintmapData) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[42] +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 { @@ -3342,46 +4027,53 @@ func (x *CSVCMsg_PaintmapData) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_PaintmapData.ProtoReflect.Descriptor instead. -func (*CSVCMsg_PaintmapData) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{42} +// Deprecated: Use CSVCMsg_ClearAllStringTables.ProtoReflect.Descriptor instead. +func (*CSVCMsg_ClearAllStringTables) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{48} } -func (x *CSVCMsg_PaintmapData) GetPaintmap() []byte { - if x != nil { - return x.Paintmap +func (x *CSVCMsg_ClearAllStringTables) GetMapname() string { + if x != nil && x.Mapname != nil { + return *x.Mapname } - return nil + return "" } -type CSVCMsg_GameEvent struct { +type ProtoFlattenedSerializerFieldT struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - EventName *string `protobuf:"bytes,1,opt,name=event_name,json=eventName" json:"event_name,omitempty"` - Eventid *int32 `protobuf:"varint,2,opt,name=eventid" json:"eventid,omitempty"` - Keys []*CSVCMsg_GameEventKeyT `protobuf:"bytes,3,rep,name=keys" json:"keys,omitempty"` - Passthrough *int32 `protobuf:"varint,4,opt,name=passthrough" json:"passthrough,omitempty"` -} - -func (x *CSVCMsg_GameEvent) Reset() { - *x = CSVCMsg_GameEvent{} + 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"` + PolymorphicTypes []*ProtoFlattenedSerializerFieldTPolymorphicFieldT `protobuf:"bytes,11,rep,name=polymorphic_types,json=polymorphicTypes" json:"polymorphic_types,omitempty"` +} + +func (x *ProtoFlattenedSerializerFieldT) Reset() { + *x = ProtoFlattenedSerializerFieldT{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[43] + mi := &file_netmessages_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_GameEvent) String() string { +func (x *ProtoFlattenedSerializerFieldT) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_GameEvent) ProtoMessage() {} +func (*ProtoFlattenedSerializerFieldT) ProtoMessage() {} -func (x *CSVCMsg_GameEvent) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[43] +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 { @@ -3392,64 +4084,115 @@ func (x *CSVCMsg_GameEvent) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_GameEvent.ProtoReflect.Descriptor instead. -func (*CSVCMsg_GameEvent) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{43} +// Deprecated: Use ProtoFlattenedSerializerFieldT.ProtoReflect.Descriptor instead. +func (*ProtoFlattenedSerializerFieldT) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{49} } -func (x *CSVCMsg_GameEvent) GetEventName() string { - if x != nil && x.EventName != nil { - return *x.EventName +func (x *ProtoFlattenedSerializerFieldT) GetVarTypeSym() int32 { + if x != nil && x.VarTypeSym != nil { + return *x.VarTypeSym } - return "" + return 0 } -func (x *CSVCMsg_GameEvent) GetEventid() int32 { - if x != nil && x.Eventid != nil { - return *x.Eventid +func (x *ProtoFlattenedSerializerFieldT) GetVarNameSym() int32 { + if x != nil && x.VarNameSym != nil { + return *x.VarNameSym } return 0 } -func (x *CSVCMsg_GameEvent) GetKeys() []*CSVCMsg_GameEventKeyT { - if x != nil { - return x.Keys +func (x *ProtoFlattenedSerializerFieldT) GetBitCount() int32 { + if x != nil && x.BitCount != nil { + return *x.BitCount } - return nil + return 0 } -func (x *CSVCMsg_GameEvent) GetPassthrough() int32 { - if x != nil && x.Passthrough != nil { - return *x.Passthrough +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 +} + +func (x *ProtoFlattenedSerializerFieldT) GetPolymorphicTypes() []*ProtoFlattenedSerializerFieldTPolymorphicFieldT { + if x != nil { + return x.PolymorphicTypes } - return 0 + return nil } -type CSVCMsg_GameEventList struct { +type ProtoFlattenedSerializerT struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Descriptors []*CSVCMsg_GameEventListDescriptorT `protobuf:"bytes,1,rep,name=descriptors" json:"descriptors,omitempty"` + 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 *CSVCMsg_GameEventList) Reset() { - *x = CSVCMsg_GameEventList{} +func (x *ProtoFlattenedSerializerT) Reset() { + *x = ProtoFlattenedSerializerT{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[44] + mi := &file_netmessages_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_GameEventList) String() string { +func (x *ProtoFlattenedSerializerT) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_GameEventList) ProtoMessage() {} +func (*ProtoFlattenedSerializerT) ProtoMessage() {} -func (x *CSVCMsg_GameEventList) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[44] +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 { @@ -3460,45 +4203,59 @@ func (x *CSVCMsg_GameEventList) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_GameEventList.ProtoReflect.Descriptor instead. -func (*CSVCMsg_GameEventList) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{44} +// Deprecated: Use ProtoFlattenedSerializerT.ProtoReflect.Descriptor instead. +func (*ProtoFlattenedSerializerT) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{50} } -func (x *CSVCMsg_GameEventList) GetDescriptors() []*CSVCMsg_GameEventListDescriptorT { +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.Descriptors + return x.FieldsIndex } return nil } -type CSVCMsg_TempEntities struct { +type CSVCMsg_FlattenedSerializer 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"` + 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_TempEntities) Reset() { - *x = CSVCMsg_TempEntities{} +func (x *CSVCMsg_FlattenedSerializer) Reset() { + *x = CSVCMsg_FlattenedSerializer{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[45] + mi := &file_netmessages_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_TempEntities) String() string { +func (x *CSVCMsg_FlattenedSerializer) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_TempEntities) ProtoMessage() {} +func (*CSVCMsg_FlattenedSerializer) ProtoMessage() {} -func (x *CSVCMsg_TempEntities) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[45] +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 { @@ -3509,63 +4266,57 @@ func (x *CSVCMsg_TempEntities) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_TempEntities.ProtoReflect.Descriptor instead. -func (*CSVCMsg_TempEntities) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{45} +// Deprecated: Use CSVCMsg_FlattenedSerializer.ProtoReflect.Descriptor instead. +func (*CSVCMsg_FlattenedSerializer) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{51} } -func (x *CSVCMsg_TempEntities) GetReliable() bool { - if x != nil && x.Reliable != nil { - return *x.Reliable +func (x *CSVCMsg_FlattenedSerializer) GetSerializers() []*ProtoFlattenedSerializerT { + if x != nil { + return x.Serializers } - return false + return nil } -func (x *CSVCMsg_TempEntities) GetNumEntries() int32 { - if x != nil && x.NumEntries != nil { - return *x.NumEntries +func (x *CSVCMsg_FlattenedSerializer) GetSymbols() []string { + if x != nil { + return x.Symbols } - return 0 + return nil } -func (x *CSVCMsg_TempEntities) GetEntityData() []byte { +func (x *CSVCMsg_FlattenedSerializer) GetFields() []*ProtoFlattenedSerializerFieldT { if x != nil { - return x.EntityData + return x.Fields } return nil } -type CSVCMsg_PacketEntities struct { +type CSVCMsg_StopSound 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"` + Guid *uint32 `protobuf:"fixed32,1,opt,name=guid" json:"guid,omitempty"` } -func (x *CSVCMsg_PacketEntities) Reset() { - *x = CSVCMsg_PacketEntities{} +func (x *CSVCMsg_StopSound) Reset() { + *x = CSVCMsg_StopSound{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[46] + mi := &file_netmessages_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_PacketEntities) String() string { +func (x *CSVCMsg_StopSound) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_PacketEntities) ProtoMessage() {} +func (*CSVCMsg_StopSound) ProtoMessage() {} -func (x *CSVCMsg_PacketEntities) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[46] +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 { @@ -3576,86 +4327,114 @@ func (x *CSVCMsg_PacketEntities) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_PacketEntities.ProtoReflect.Descriptor instead. -func (*CSVCMsg_PacketEntities) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{46} +// Deprecated: Use CSVCMsg_StopSound.ProtoReflect.Descriptor instead. +func (*CSVCMsg_StopSound) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{52} } -func (x *CSVCMsg_PacketEntities) GetMaxEntries() int32 { - if x != nil && x.MaxEntries != nil { - return *x.MaxEntries +func (x *CSVCMsg_StopSound) GetGuid() uint32 { + if x != nil && x.Guid != nil { + return *x.Guid } return 0 } -func (x *CSVCMsg_PacketEntities) GetUpdatedEntries() int32 { - if x != nil && x.UpdatedEntries != nil { - return *x.UpdatedEntries +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) } - return 0 } -func (x *CSVCMsg_PacketEntities) GetIsDelta() bool { - if x != nil && x.IsDelta != nil { - return *x.IsDelta +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 false + return mi.MessageOf(x) } -func (x *CSVCMsg_PacketEntities) GetUpdateBaseline() bool { - if x != nil && x.UpdateBaseline != nil { - return *x.UpdateBaseline +// 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 *CSVCMsg_PacketEntities) GetBaseline() int32 { - if x != nil && x.Baseline != nil { - return *x.Baseline +func (x *CBidirMsg_RebroadcastGameEvent) GetBuftype() int32 { + if x != nil && x.Buftype != nil { + return *x.Buftype } return 0 } -func (x *CSVCMsg_PacketEntities) GetDeltaFrom() int32 { - if x != nil && x.DeltaFrom != nil { - return *x.DeltaFrom +func (x *CBidirMsg_RebroadcastGameEvent) GetClientbitcount() uint32 { + if x != nil && x.Clientbitcount != nil { + return *x.Clientbitcount } return 0 } -func (x *CSVCMsg_PacketEntities) GetEntityData() []byte { - if x != nil { - return x.EntityData +func (x *CBidirMsg_RebroadcastGameEvent) GetReceivingclients() uint64 { + if x != nil && x.Receivingclients != nil { + return *x.Receivingclients } - return nil + return 0 } -type CSVCMsg_Sounds struct { +type CBidirMsg_RebroadcastSource 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"` + Eventsource *int32 `protobuf:"varint,1,opt,name=eventsource" json:"eventsource,omitempty"` } -func (x *CSVCMsg_Sounds) Reset() { - *x = CSVCMsg_Sounds{} +func (x *CBidirMsg_RebroadcastSource) Reset() { + *x = CBidirMsg_RebroadcastSource{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[47] + mi := &file_netmessages_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_Sounds) String() string { +func (x *CBidirMsg_RebroadcastSource) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_Sounds) ProtoMessage() {} +func (*CBidirMsg_RebroadcastSource) ProtoMessage() {} -func (x *CSVCMsg_Sounds) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[47] +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 { @@ -3666,52 +4445,67 @@ func (x *CSVCMsg_Sounds) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_Sounds.ProtoReflect.Descriptor instead. -func (*CSVCMsg_Sounds) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{47} -} - -func (x *CSVCMsg_Sounds) GetReliableSound() bool { - if x != nil && x.ReliableSound != nil { - return *x.ReliableSound - } - return false +// Deprecated: Use CBidirMsg_RebroadcastSource.ProtoReflect.Descriptor instead. +func (*CBidirMsg_RebroadcastSource) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{54} } -func (x *CSVCMsg_Sounds) GetSounds() []*CSVCMsg_SoundsSounddataT { - if x != nil { - return x.Sounds +func (x *CBidirMsg_RebroadcastSource) GetEventsource() int32 { + if x != nil && x.Eventsource != nil { + return *x.Eventsource } - return nil + return 0 } -type CSVCMsg_EntityMsg struct { +type CMsgServerNetworkStats struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - EntIndex *int32 `protobuf:"varint,1,opt,name=ent_index,json=entIndex" json:"ent_index,omitempty"` - ClassId *int32 `protobuf:"varint,2,opt,name=class_id,json=classId" json:"class_id,omitempty"` - EntData []byte `protobuf:"bytes,3,opt,name=ent_data,json=entData" json:"ent_data,omitempty"` -} - -func (x *CSVCMsg_EntityMsg) Reset() { - *x = CSVCMsg_EntityMsg{} + 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[48] + mi := &file_netmessages_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_EntityMsg) String() string { +func (x *CMsgServerNetworkStats) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_EntityMsg) ProtoMessage() {} +func (*CMsgServerNetworkStats) ProtoMessage() {} -func (x *CSVCMsg_EntityMsg) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[48] +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 { @@ -3722,132 +4516,184 @@ func (x *CSVCMsg_EntityMsg) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_EntityMsg.ProtoReflect.Descriptor instead. -func (*CSVCMsg_EntityMsg) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{48} +// 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 *CSVCMsg_EntityMsg) GetEntIndex() int32 { - if x != nil && x.EntIndex != nil { - return *x.EntIndex +func (x *CMsgServerNetworkStats) GetCpuUsage() int32 { + if x != nil && x.CpuUsage != nil { + return *x.CpuUsage } return 0 } -func (x *CSVCMsg_EntityMsg) GetClassId() int32 { - if x != nil && x.ClassId != nil { - return *x.ClassId +func (x *CMsgServerNetworkStats) GetMemoryUsedMb() int32 { + if x != nil && x.MemoryUsedMb != nil { + return *x.MemoryUsedMb } return 0 } -func (x *CSVCMsg_EntityMsg) GetEntData() []byte { - if x != nil { - return x.EntData +func (x *CMsgServerNetworkStats) GetMemoryFreeMb() int32 { + if x != nil && x.MemoryFreeMb != nil { + return *x.MemoryFreeMb } - return nil + return 0 } -type CSVCMsg_CmdKeyValues struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *CMsgServerNetworkStats) GetUptime() int32 { + if x != nil && x.Uptime != nil { + return *x.Uptime + } + return 0 +} - Keyvalues []byte `protobuf:"bytes,1,opt,name=keyvalues" json:"keyvalues,omitempty"` +func (x *CMsgServerNetworkStats) GetSpawnCount() int32 { + if x != nil && x.SpawnCount != nil { + return *x.SpawnCount + } + return 0 } -func (x *CSVCMsg_CmdKeyValues) Reset() { - *x = CSVCMsg_CmdKeyValues{} - if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[49] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *CMsgServerNetworkStats) GetNumClients() int32 { + if x != nil && x.NumClients != nil { + return *x.NumClients } + return 0 } -func (x *CSVCMsg_CmdKeyValues) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *CMsgServerNetworkStats) GetNumBots() int32 { + if x != nil && x.NumBots != nil { + return *x.NumBots + } + return 0 } -func (*CSVCMsg_CmdKeyValues) ProtoMessage() {} +func (x *CMsgServerNetworkStats) GetNumSpectators() int32 { + if x != nil && x.NumSpectators != nil { + return *x.NumSpectators + } + return 0 +} -func (x *CSVCMsg_CmdKeyValues) 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 +func (x *CMsgServerNetworkStats) GetNumTvRelays() int32 { + if x != nil && x.NumTvRelays != nil { + return *x.NumTvRelays } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use CSVCMsg_CmdKeyValues.ProtoReflect.Descriptor instead. -func (*CSVCMsg_CmdKeyValues) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{49} +func (x *CMsgServerNetworkStats) GetFps() float32 { + if x != nil && x.Fps != nil { + return *x.Fps + } + return 0 } -func (x *CSVCMsg_CmdKeyValues) GetKeyvalues() []byte { +func (x *CMsgServerNetworkStats) GetPorts() []*CMsgServerNetworkStats_Port { if x != nil { - return x.Keyvalues + return x.Ports } return nil } -type CSVCMsg_EncryptedData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *CMsgServerNetworkStats) GetAvgLatencyOut() float32 { + if x != nil && x.AvgLatencyOut != nil { + return *x.AvgLatencyOut + } + return 0 +} - Encrypted []byte `protobuf:"bytes,1,opt,name=encrypted" json:"encrypted,omitempty"` - KeyType *int32 `protobuf:"varint,2,opt,name=key_type,json=keyType" json:"key_type,omitempty"` +func (x *CMsgServerNetworkStats) GetAvgLatencyIn() float32 { + if x != nil && x.AvgLatencyIn != nil { + return *x.AvgLatencyIn + } + return 0 } -func (x *CSVCMsg_EncryptedData) Reset() { - *x = CSVCMsg_EncryptedData{} - if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[50] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *CMsgServerNetworkStats) GetAvgPacketsOut() float32 { + if x != nil && x.AvgPacketsOut != nil { + return *x.AvgPacketsOut } + return 0 } -func (x *CSVCMsg_EncryptedData) String() string { - return protoimpl.X.MessageStringOf(x) +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 (*CSVCMsg_EncryptedData) ProtoMessage() {} +func (x *CMsgServerNetworkStats) GetAvgLossIn() float32 { + if x != nil && x.AvgLossIn != nil { + return *x.AvgLossIn + } + return 0 +} -func (x *CSVCMsg_EncryptedData) 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 +func (x *CMsgServerNetworkStats) GetAvgDataOut() float32 { + if x != nil && x.AvgDataOut != nil { + return *x.AvgDataOut } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use CSVCMsg_EncryptedData.ProtoReflect.Descriptor instead. -func (*CSVCMsg_EncryptedData) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{50} +func (x *CMsgServerNetworkStats) GetAvgDataIn() float32 { + if x != nil && x.AvgDataIn != nil { + return *x.AvgDataIn + } + return 0 } -func (x *CSVCMsg_EncryptedData) GetEncrypted() []byte { - if x != nil { - return x.Encrypted +func (x *CMsgServerNetworkStats) GetTotalDataIn() uint64 { + if x != nil && x.TotalDataIn != nil { + return *x.TotalDataIn } - return nil + 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 *CSVCMsg_EncryptedData) GetKeyType() int32 { - if x != nil && x.KeyType != nil { - return *x.KeyType +func (x *CMsgServerNetworkStats) GetPlayers() []*CMsgServerNetworkStats_Player { + if x != nil { + return x.Players } - return 0 + return nil } type CSVCMsg_HltvReplay struct { @@ -3856,18 +4702,24 @@ type CSVCMsg_HltvReplay struct { 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"` + PrimaryTarget *int32 `protobuf:"varint,2,opt,name=primary_target,json=primaryTarget,def=-1" 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"` } +// Default values for CSVCMsg_HltvReplay fields. +const ( + Default_CSVCMsg_HltvReplay_PrimaryTarget = int32(-1) +) + func (x *CSVCMsg_HltvReplay) Reset() { *x = CSVCMsg_HltvReplay{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[51] + mi := &file_netmessages_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3880,7 +4732,7 @@ func (x *CSVCMsg_HltvReplay) String() string { func (*CSVCMsg_HltvReplay) ProtoMessage() {} func (x *CSVCMsg_HltvReplay) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[51] + mi := &file_netmessages_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3893,7 +4745,7 @@ func (x *CSVCMsg_HltvReplay) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_HltvReplay.ProtoReflect.Descriptor instead. func (*CSVCMsg_HltvReplay) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{51} + return file_netmessages_proto_rawDescGZIP(), []int{56} } func (x *CSVCMsg_HltvReplay) GetDelay() int32 { @@ -3907,7 +4759,7 @@ func (x *CSVCMsg_HltvReplay) GetPrimaryTarget() int32 { if x != nil && x.PrimaryTarget != nil { return *x.PrimaryTarget } - return 0 + return Default_CSVCMsg_HltvReplay_PrimaryTarget } func (x *CSVCMsg_HltvReplay) GetReplayStopAt() int32 { @@ -3945,22 +4797,34 @@ func (x *CSVCMsg_HltvReplay) GetReplaySlowdownRate() float32 { 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"` - PrimaryTargetEntIndex *int32 `protobuf:"varint,4,opt,name=primary_target_ent_index,json=primaryTargetEntIndex" json:"primary_target_ent_index,omitempty"` - EventTime *float32 `protobuf:"fixed32,5,opt,name=event_time,json=eventTime" json:"event_time,omitempty"` + 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,def=-1" json:"primary_target,omitempty"` + EventTime *float32 `protobuf:"fixed32,5,opt,name=event_time,json=eventTime" json:"event_time,omitempty"` } +// Default values for CCLCMsg_HltvReplay fields. +const ( + Default_CCLCMsg_HltvReplay_PrimaryTarget = int32(-1) +) + func (x *CCLCMsg_HltvReplay) Reset() { *x = CCLCMsg_HltvReplay{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[52] + mi := &file_netmessages_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3973,7 +4837,7 @@ func (x *CCLCMsg_HltvReplay) String() string { func (*CCLCMsg_HltvReplay) ProtoMessage() {} func (x *CCLCMsg_HltvReplay) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[52] + mi := &file_netmessages_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3986,7 +4850,7 @@ func (x *CCLCMsg_HltvReplay) ProtoReflect() protoreflect.Message { // Deprecated: Use CCLCMsg_HltvReplay.ProtoReflect.Descriptor instead. func (*CCLCMsg_HltvReplay) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{52} + return file_netmessages_proto_rawDescGZIP(), []int{57} } func (x *CCLCMsg_HltvReplay) GetRequest() int32 { @@ -4010,11 +4874,11 @@ func (x *CCLCMsg_HltvReplay) GetSlowdownRate() float32 { return 0 } -func (x *CCLCMsg_HltvReplay) GetPrimaryTargetEntIndex() int32 { - if x != nil && x.PrimaryTargetEntIndex != nil { - return *x.PrimaryTargetEntIndex +func (x *CCLCMsg_HltvReplay) GetPrimaryTarget() int32 { + if x != nil && x.PrimaryTarget != nil { + return *x.PrimaryTarget } - return 0 + return Default_CCLCMsg_HltvReplay_PrimaryTarget } func (x *CCLCMsg_HltvReplay) GetEventTime() float32 { @@ -4035,7 +4899,7 @@ type CSVCMsg_Broadcast_Command struct { func (x *CSVCMsg_Broadcast_Command) Reset() { *x = CSVCMsg_Broadcast_Command{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[53] + mi := &file_netmessages_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4048,7 +4912,7 @@ func (x *CSVCMsg_Broadcast_Command) String() string { func (*CSVCMsg_Broadcast_Command) ProtoMessage() {} func (x *CSVCMsg_Broadcast_Command) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[53] + mi := &file_netmessages_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4061,7 +4925,7 @@ func (x *CSVCMsg_Broadcast_Command) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_Broadcast_Command.ProtoReflect.Descriptor instead. func (*CSVCMsg_Broadcast_Command) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{53} + return file_netmessages_proto_rawDescGZIP(), []int{58} } func (x *CSVCMsg_Broadcast_Command) GetCmd() string { @@ -4071,33 +4935,267 @@ func (x *CSVCMsg_Broadcast_Command) GetCmd() string { return "" } -type CMsg_CVars_CVar struct { +type CCLCMsg_HltvFixupOperatorTick struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` - Value *string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` - DictionaryName *uint32 `protobuf:"varint,3,opt,name=dictionary_name,json=dictionaryName" json:"dictionary_name,omitempty"` + 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 *CMsg_CVars_CVar) Reset() { - *x = CMsg_CVars_CVar{} +func (x *CCLCMsg_HltvFixupOperatorTick) Reset() { + *x = CCLCMsg_HltvFixupOperatorTick{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[54] + mi := &file_netmessages_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CMsg_CVars_CVar) String() string { +func (x *CCLCMsg_HltvFixupOperatorTick) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CMsg_CVars_CVar) ProtoMessage() {} +func (*CCLCMsg_HltvFixupOperatorTick) ProtoMessage() {} -func (x *CMsg_CVars_CVar) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[54] +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"` + 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) 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,def=-1" 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"` +} + +// Default values for CSVCMsg_SoundsSounddataT fields. +const ( + Default_CSVCMsg_SoundsSounddataT_EntityIndex = int32(-1) +) + +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 { @@ -4105,96 +5203,145 @@ func (x *CMsg_CVars_CVar) ProtoReflect() protoreflect.Message { } return ms } - return mi.MessageOf(x) -} - -// Deprecated: Use CMsg_CVars_CVar.ProtoReflect.Descriptor instead. -func (*CMsg_CVars_CVar) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{7, 0} + 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 Default_CSVCMsg_SoundsSounddataT_EntityIndex +} + +func (x *CSVCMsg_SoundsSounddataT) GetChannel() int32 { + if x != nil && x.Channel != nil { + return *x.Channel + } + return 0 } -func (x *CMsg_CVars_CVar) GetName() string { - if x != nil && x.Name != nil { - return *x.Name +func (x *CSVCMsg_SoundsSounddataT) GetPitch() int32 { + if x != nil && x.Pitch != nil { + return *x.Pitch } - return "" + return 0 } -func (x *CMsg_CVars_CVar) GetValue() string { - if x != nil && x.Value != nil { - return *x.Value +func (x *CSVCMsg_SoundsSounddataT) GetFlags() int32 { + if x != nil && x.Flags != nil { + return *x.Flags } - return "" + return 0 } -func (x *CMsg_CVars_CVar) GetDictionaryName() uint32 { - if x != nil && x.DictionaryName != nil { - return *x.DictionaryName +func (x *CSVCMsg_SoundsSounddataT) GetSoundNum() uint32 { + if x != nil && x.SoundNum != nil { + return *x.SoundNum } return 0 } -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_SoundsSounddataT) GetSoundNumHandle() uint32 { + if x != nil && x.SoundNumHandle != nil { + return *x.SoundNumHandle + } + return 0 } -func (x *CSVCMsg_ClassInfoClassT) Reset() { - *x = CSVCMsg_ClassInfoClassT{} - if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[55] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *CSVCMsg_SoundsSounddataT) GetSpeakerEntity() int32 { + if x != nil && x.SpeakerEntity != nil { + return *x.SpeakerEntity } + return 0 } -func (x *CSVCMsg_ClassInfoClassT) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *CSVCMsg_SoundsSounddataT) GetRandomSeed() int32 { + if x != nil && x.RandomSeed != nil { + return *x.RandomSeed + } + return 0 } -func (*CSVCMsg_ClassInfoClassT) ProtoMessage() {} - -func (x *CSVCMsg_ClassInfoClassT) 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 +func (x *CSVCMsg_SoundsSounddataT) GetSoundLevel() int32 { + if x != nil && x.SoundLevel != nil { + return *x.SoundLevel } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use CSVCMsg_ClassInfoClassT.ProtoReflect.Descriptor instead. -func (*CSVCMsg_ClassInfoClassT) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{25, 0} +func (x *CSVCMsg_SoundsSounddataT) GetIsSentence() bool { + if x != nil && x.IsSentence != nil { + return *x.IsSentence + } + return false } -func (x *CSVCMsg_ClassInfoClassT) GetClassId() int32 { - if x != nil && x.ClassId != nil { - return *x.ClassId +func (x *CSVCMsg_SoundsSounddataT) GetIsAmbient() bool { + if x != nil && x.IsAmbient != nil { + return *x.IsAmbient } - return 0 + return false } -func (x *CSVCMsg_ClassInfoClassT) GetDataTableName() string { - if x != nil && x.DataTableName != nil { - return *x.DataTableName +func (x *CSVCMsg_SoundsSounddataT) GetGuid() uint32 { + if x != nil && x.Guid != nil { + return *x.Guid } - return "" + return 0 } -func (x *CSVCMsg_ClassInfoClassT) GetClassName() string { - if x != nil && x.ClassName != nil { - return *x.ClassName +func (x *CSVCMsg_SoundsSounddataT) GetSoundResourceId() uint64 { + if x != nil && x.SoundResourceId != nil { + return *x.SoundResourceId } - return "" + return 0 } type CSVCMsg_SendTableSendpropT struct { @@ -4216,7 +5363,7 @@ type CSVCMsg_SendTableSendpropT struct { func (x *CSVCMsg_SendTableSendpropT) Reset() { *x = CSVCMsg_SendTableSendpropT{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[56] + mi := &file_netmessages_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4229,7 +5376,7 @@ func (x *CSVCMsg_SendTableSendpropT) String() string { func (*CSVCMsg_SendTableSendpropT) ProtoMessage() {} func (x *CSVCMsg_SendTableSendpropT) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[56] + mi := &file_netmessages_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4242,7 +5389,7 @@ func (x *CSVCMsg_SendTableSendpropT) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_SendTableSendpropT.ProtoReflect.Descriptor instead. func (*CSVCMsg_SendTableSendpropT) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{26, 0} + return file_netmessages_proto_rawDescGZIP(), []int{32, 0} } func (x *CSVCMsg_SendTableSendpropT) GetType() int32 { @@ -4308,39 +5455,32 @@ func (x *CSVCMsg_SendTableSendpropT) GetNumBits() int32 { return 0 } -type CSVCMsg_GameEventKeyT struct { +type CSVCMsg_GameEventListKeyT struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Type *int32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` - ValString *string `protobuf:"bytes,2,opt,name=val_string,json=valString" json:"val_string,omitempty"` - ValFloat *float32 `protobuf:"fixed32,3,opt,name=val_float,json=valFloat" json:"val_float,omitempty"` - ValLong *int32 `protobuf:"varint,4,opt,name=val_long,json=valLong" json:"val_long,omitempty"` - ValShort *int32 `protobuf:"varint,5,opt,name=val_short,json=valShort" json:"val_short,omitempty"` - ValByte *int32 `protobuf:"varint,6,opt,name=val_byte,json=valByte" json:"val_byte,omitempty"` - ValBool *bool `protobuf:"varint,7,opt,name=val_bool,json=valBool" json:"val_bool,omitempty"` - ValUint64 *uint64 `protobuf:"varint,8,opt,name=val_uint64,json=valUint64" json:"val_uint64,omitempty"` - ValWstring []byte `protobuf:"bytes,9,opt,name=val_wstring,json=valWstring" json:"val_wstring,omitempty"` + 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_GameEventKeyT) Reset() { - *x = CSVCMsg_GameEventKeyT{} +func (x *CSVCMsg_GameEventListKeyT) Reset() { + *x = CSVCMsg_GameEventListKeyT{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[57] + mi := &file_netmessages_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_GameEventKeyT) String() string { +func (x *CSVCMsg_GameEventListKeyT) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_GameEventKeyT) ProtoMessage() {} +func (*CSVCMsg_GameEventListKeyT) ProtoMessage() {} -func (x *CSVCMsg_GameEventKeyT) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[57] +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 { @@ -4351,100 +5491,117 @@ func (x *CSVCMsg_GameEventKeyT) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_GameEventKeyT.ProtoReflect.Descriptor instead. -func (*CSVCMsg_GameEventKeyT) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{43, 0} +// Deprecated: Use CSVCMsg_GameEventListKeyT.ProtoReflect.Descriptor instead. +func (*CSVCMsg_GameEventListKeyT) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{33, 0} } -func (x *CSVCMsg_GameEventKeyT) GetType() int32 { +func (x *CSVCMsg_GameEventListKeyT) GetType() int32 { if x != nil && x.Type != nil { return *x.Type } return 0 } -func (x *CSVCMsg_GameEventKeyT) GetValString() string { - if x != nil && x.ValString != nil { - return *x.ValString +func (x *CSVCMsg_GameEventListKeyT) GetName() string { + if x != nil && x.Name != nil { + return *x.Name } return "" } -func (x *CSVCMsg_GameEventKeyT) GetValFloat() float32 { - if x != nil && x.ValFloat != nil { - return *x.ValFloat - } - return 0 +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_GameEventKeyT) GetValLong() int32 { - if x != nil && x.ValLong != nil { - return *x.ValLong +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) } - return 0 } -func (x *CSVCMsg_GameEventKeyT) GetValShort() int32 { - if x != nil && x.ValShort != nil { - return *x.ValShort - } - return 0 +func (x *CSVCMsg_GameEventListDescriptorT) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *CSVCMsg_GameEventKeyT) GetValByte() int32 { - if x != nil && x.ValByte != nil { - return *x.ValByte +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 0 + return mi.MessageOf(x) } -func (x *CSVCMsg_GameEventKeyT) GetValBool() bool { - if x != nil && x.ValBool != nil { - return *x.ValBool - } - return false +// Deprecated: Use CSVCMsg_GameEventListDescriptorT.ProtoReflect.Descriptor instead. +func (*CSVCMsg_GameEventListDescriptorT) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{33, 1} } -func (x *CSVCMsg_GameEventKeyT) GetValUint64() uint64 { - if x != nil && x.ValUint64 != nil { - return *x.ValUint64 +func (x *CSVCMsg_GameEventListDescriptorT) GetEventid() int32 { + if x != nil && x.Eventid != nil { + return *x.Eventid } return 0 } -func (x *CSVCMsg_GameEventKeyT) GetValWstring() []byte { +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.ValWstring + return x.Keys } return nil } -type CSVCMsg_GameEventListKeyT struct { +type CSVCMsg_PacketEntitiesCommandQueueInfoT 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"` + 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_GameEventListKeyT) Reset() { - *x = CSVCMsg_GameEventListKeyT{} +func (x *CSVCMsg_PacketEntitiesCommandQueueInfoT) Reset() { + *x = CSVCMsg_PacketEntitiesCommandQueueInfoT{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[58] + mi := &file_netmessages_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_GameEventListKeyT) String() string { +func (x *CSVCMsg_PacketEntitiesCommandQueueInfoT) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_GameEventListKeyT) ProtoMessage() {} +func (*CSVCMsg_PacketEntitiesCommandQueueInfoT) ProtoMessage() {} -func (x *CSVCMsg_GameEventListKeyT) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[58] +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 { @@ -4455,52 +5612,72 @@ func (x *CSVCMsg_GameEventListKeyT) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_GameEventListKeyT.ProtoReflect.Descriptor instead. -func (*CSVCMsg_GameEventListKeyT) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{44, 0} +// Deprecated: Use CSVCMsg_PacketEntitiesCommandQueueInfoT.ProtoReflect.Descriptor instead. +func (*CSVCMsg_PacketEntitiesCommandQueueInfoT) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{34, 0} } -func (x *CSVCMsg_GameEventListKeyT) GetType() int32 { - if x != nil && x.Type != nil { - return *x.Type +func (x *CSVCMsg_PacketEntitiesCommandQueueInfoT) GetCommandsQueued() uint32 { + if x != nil && x.CommandsQueued != nil { + return *x.CommandsQueued } return 0 } -func (x *CSVCMsg_GameEventListKeyT) GetName() string { - if x != nil && x.Name != nil { - return *x.Name +func (x *CSVCMsg_PacketEntitiesCommandQueueInfoT) GetCommandQueueDesiredSize() uint32 { + if x != nil && x.CommandQueueDesiredSize != nil { + return *x.CommandQueueDesiredSize } - return "" + return 0 } -type CSVCMsg_GameEventListDescriptorT struct { +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 CSVCMsg_PacketEntitiesAlternateBaselineT 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"` + EntityIndex *int32 `protobuf:"varint,1,opt,name=entity_index,json=entityIndex" json:"entity_index,omitempty"` + BaselineIndex *int32 `protobuf:"varint,2,opt,name=baseline_index,json=baselineIndex" json:"baseline_index,omitempty"` } -func (x *CSVCMsg_GameEventListDescriptorT) Reset() { - *x = CSVCMsg_GameEventListDescriptorT{} +func (x *CSVCMsg_PacketEntitiesAlternateBaselineT) Reset() { + *x = CSVCMsg_PacketEntitiesAlternateBaselineT{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[59] + mi := &file_netmessages_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_GameEventListDescriptorT) String() string { +func (x *CSVCMsg_PacketEntitiesAlternateBaselineT) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_GameEventListDescriptorT) ProtoMessage() {} +func (*CSVCMsg_PacketEntitiesAlternateBaselineT) ProtoMessage() {} -func (x *CSVCMsg_GameEventListDescriptorT) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[59] +func (x *CSVCMsg_PacketEntitiesAlternateBaselineT) 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 { @@ -4511,73 +5688,51 @@ func (x *CSVCMsg_GameEventListDescriptorT) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_GameEventListDescriptorT.ProtoReflect.Descriptor instead. -func (*CSVCMsg_GameEventListDescriptorT) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{44, 1} +// Deprecated: Use CSVCMsg_PacketEntitiesAlternateBaselineT.ProtoReflect.Descriptor instead. +func (*CSVCMsg_PacketEntitiesAlternateBaselineT) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{34, 1} } -func (x *CSVCMsg_GameEventListDescriptorT) GetEventid() int32 { - if x != nil && x.Eventid != nil { - return *x.Eventid +func (x *CSVCMsg_PacketEntitiesAlternateBaselineT) GetEntityIndex() int32 { + if x != nil && x.EntityIndex != nil { + return *x.EntityIndex } 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 +func (x *CSVCMsg_PacketEntitiesAlternateBaselineT) GetBaselineIndex() int32 { + if x != nil && x.BaselineIndex != nil { + return *x.BaselineIndex } - return nil + return 0 } -type CSVCMsg_SoundsSounddataT struct { +type ProtoFlattenedSerializerFieldTPolymorphicFieldT 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"` + PolymorphicFieldSerializerNameSym *int32 `protobuf:"varint,1,opt,name=polymorphic_field_serializer_name_sym,json=polymorphicFieldSerializerNameSym" json:"polymorphic_field_serializer_name_sym,omitempty"` + PolymorphicFieldSerializerVersion *int32 `protobuf:"varint,2,opt,name=polymorphic_field_serializer_version,json=polymorphicFieldSerializerVersion" json:"polymorphic_field_serializer_version,omitempty"` } -func (x *CSVCMsg_SoundsSounddataT) Reset() { - *x = CSVCMsg_SoundsSounddataT{} +func (x *ProtoFlattenedSerializerFieldTPolymorphicFieldT) Reset() { + *x = ProtoFlattenedSerializerFieldTPolymorphicFieldT{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[60] + mi := &file_netmessages_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_SoundsSounddataT) String() string { +func (x *ProtoFlattenedSerializerFieldTPolymorphicFieldT) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_SoundsSounddataT) ProtoMessage() {} +func (*ProtoFlattenedSerializerFieldTPolymorphicFieldT) ProtoMessage() {} -func (x *CSVCMsg_SoundsSounddataT) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[60] +func (x *ProtoFlattenedSerializerFieldTPolymorphicFieldT) 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 { @@ -4588,126 +5743,163 @@ func (x *CSVCMsg_SoundsSounddataT) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_SoundsSounddataT.ProtoReflect.Descriptor instead. -func (*CSVCMsg_SoundsSounddataT) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{47, 0} +// Deprecated: Use ProtoFlattenedSerializerFieldTPolymorphicFieldT.ProtoReflect.Descriptor instead. +func (*ProtoFlattenedSerializerFieldTPolymorphicFieldT) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{49, 0} } -func (x *CSVCMsg_SoundsSounddataT) GetOriginX() int32 { - if x != nil && x.OriginX != nil { - return *x.OriginX +func (x *ProtoFlattenedSerializerFieldTPolymorphicFieldT) GetPolymorphicFieldSerializerNameSym() int32 { + if x != nil && x.PolymorphicFieldSerializerNameSym != nil { + return *x.PolymorphicFieldSerializerNameSym } return 0 } -func (x *CSVCMsg_SoundsSounddataT) GetOriginY() int32 { - if x != nil && x.OriginY != nil { - return *x.OriginY +func (x *ProtoFlattenedSerializerFieldTPolymorphicFieldT) GetPolymorphicFieldSerializerVersion() int32 { + if x != nil && x.PolymorphicFieldSerializerVersion != nil { + return *x.PolymorphicFieldSerializerVersion } return 0 } -func (x *CSVCMsg_SoundsSounddataT) GetOriginZ() int32 { - if x != nil && x.OriginZ != nil { - return *x.OriginZ +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[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *CSVCMsg_SoundsSounddataT) GetVolume() uint32 { - if x != nil && x.Volume != nil { - return *x.Volume - } - return 0 +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[69] + 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 *CSVCMsg_SoundsSounddataT) GetDelayValue() float32 { - if x != nil && x.DelayValue != nil { - return *x.DelayValue +func (x *CMsgServerNetworkStats_Port) GetPort() int32 { + if x != nil && x.Port != nil { + return *x.Port } return 0 } -func (x *CSVCMsg_SoundsSounddataT) GetSequenceNumber() int32 { - if x != nil && x.SequenceNumber != nil { - return *x.SequenceNumber +func (x *CMsgServerNetworkStats_Port) GetName() string { + if x != nil && x.Name != nil { + return *x.Name } - return 0 + return "" } -func (x *CSVCMsg_SoundsSounddataT) GetEntityIndex() int32 { - if x != nil && x.EntityIndex != nil { - return *x.EntityIndex - } - return 0 +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 *CSVCMsg_SoundsSounddataT) GetChannel() int32 { - if x != nil && x.Channel != nil { - return *x.Channel +func (x *CMsgServerNetworkStats_Player) Reset() { + *x = CMsgServerNetworkStats_Player{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *CSVCMsg_SoundsSounddataT) GetPitch() int32 { - if x != nil && x.Pitch != nil { - return *x.Pitch - } - return 0 +func (x *CMsgServerNetworkStats_Player) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *CSVCMsg_SoundsSounddataT) GetFlags() int32 { - if x != nil && x.Flags != nil { - return *x.Flags +func (*CMsgServerNetworkStats_Player) ProtoMessage() {} + +func (x *CMsgServerNetworkStats_Player) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[70] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *CSVCMsg_SoundsSounddataT) GetSoundNum() uint32 { - if x != nil && x.SoundNum != nil { - return *x.SoundNum - } - return 0 +// Deprecated: Use CMsgServerNetworkStats_Player.ProtoReflect.Descriptor instead. +func (*CMsgServerNetworkStats_Player) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{55, 1} } -func (x *CSVCMsg_SoundsSounddataT) GetSoundNumHandle() uint32 { - if x != nil && x.SoundNumHandle != nil { - return *x.SoundNumHandle +func (x *CMsgServerNetworkStats_Player) GetSteamid() uint64 { + if x != nil && x.Steamid != nil { + return *x.Steamid } return 0 } -func (x *CSVCMsg_SoundsSounddataT) GetSpeakerEntity() int32 { - if x != nil && x.SpeakerEntity != nil { - return *x.SpeakerEntity +func (x *CMsgServerNetworkStats_Player) GetRemoteAddr() string { + if x != nil && x.RemoteAddr != nil { + return *x.RemoteAddr } - return 0 + return "" } -func (x *CSVCMsg_SoundsSounddataT) GetRandomSeed() int32 { - if x != nil && x.RandomSeed != nil { - return *x.RandomSeed +func (x *CMsgServerNetworkStats_Player) GetPingStddevMs() int32 { + if x != nil && x.PingStddevMs != nil { + return *x.PingStddevMs } return 0 } -func (x *CSVCMsg_SoundsSounddataT) GetSoundLevel() int32 { - if x != nil && x.SoundLevel != nil { - return *x.SoundLevel +func (x *CMsgServerNetworkStats_Player) GetPingAvgMs() int32 { + if x != nil && x.PingAvgMs != nil { + return *x.PingAvgMs } return 0 } -func (x *CSVCMsg_SoundsSounddataT) GetIsSentence() bool { - if x != nil && x.IsSentence != nil { - return *x.IsSentence +func (x *CMsgServerNetworkStats_Player) GetPacketLossPct() float32 { + if x != nil && x.PacketLossPct != nil { + return *x.PacketLossPct } - return false + return 0 } -func (x *CSVCMsg_SoundsSounddataT) GetIsAmbient() bool { - if x != nil && x.IsAmbient != nil { - return *x.IsAmbient +func (x *CMsgServerNetworkStats_Player) GetIsBot() bool { + if x != nil && x.IsBot != nil { + return *x.IsBot } return false } @@ -4716,638 +5908,854 @@ 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, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x36, 0x0a, 0x0a, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, - 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x79, 0x12, - 0x0c, 0x0a, 0x01, 0x7a, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x7a, 0x22, 0x2a, 0x0a, - 0x0c, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x32, 0x44, 0x12, 0x0c, 0x0a, - 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x79, 0x22, 0x36, 0x0a, 0x0a, 0x43, 0x4d, 0x73, - 0x67, 0x51, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x01, 0x79, 0x12, 0x0c, 0x0a, 0x01, 0x7a, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, - 0x7a, 0x22, 0x42, 0x0a, 0x08, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x47, 0x42, 0x41, 0x12, 0x0c, 0x0a, - 0x01, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x72, 0x12, 0x0c, 0x0a, 0x01, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x67, 0x12, 0x0c, 0x0a, 0x01, 0x62, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x62, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x01, 0x61, 0x22, 0x99, 0x02, 0x0a, 0x0c, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, - 0x67, 0x5f, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x12, 0x31, 0x0a, 0x14, 0x68, 0x6f, - 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x68, 0x6f, 0x73, 0x74, 0x43, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x4b, 0x0a, - 0x22, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x64, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1f, 0x68, 0x6f, 0x73, 0x74, 0x43, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, - 0x64, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x21, 0x68, 0x6f, - 0x73, 0x74, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x74, 0x69, 0x6d, - 0x65, 0x5f, 0x73, 0x74, 0x64, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1e, 0x68, 0x6f, 0x73, 0x74, 0x46, 0x72, 0x61, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x64, 0x44, 0x65, 0x76, 0x69, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x6c, 0x74, 0x76, 0x5f, 0x72, 0x65, - 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0f, 0x68, 0x6c, 0x74, 0x76, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x46, 0x6c, 0x61, 0x67, - 0x73, 0x22, 0x2d, 0x0a, 0x11, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x43, 0x6d, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x22, 0xd1, 0x01, 0x0a, 0x13, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x69, 0x67, - 0x6e, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x69, 0x67, 0x6e, - 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, - 0x73, 0x69, 0x67, 0x6e, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, - 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0a, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x12, - 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x73, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x64, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x64, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x70, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x70, - 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x8f, 0x01, 0x0a, 0x0a, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x56, - 0x61, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x05, 0x63, 0x76, 0x61, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x56, 0x61, 0x72, 0x73, 0x2e, - 0x43, 0x56, 0x61, 0x72, 0x52, 0x05, 0x63, 0x76, 0x61, 0x72, 0x73, 0x1a, 0x59, 0x0a, 0x04, 0x43, - 0x56, 0x61, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x27, 0x0a, - 0x0f, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x3a, 0x0a, 0x11, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, - 0x67, 0x5f, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x12, 0x25, 0x0a, 0x07, 0x63, - 0x6f, 0x6e, 0x76, 0x61, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x56, 0x61, 0x72, 0x73, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x76, 0x61, - 0x72, 0x73, 0x22, 0x0d, 0x0a, 0x0b, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x4e, 0x4f, - 0x50, 0x22, 0x28, 0x0a, 0x12, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x69, 0x73, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0x8f, 0x01, 0x0a, 0x0c, - 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, - 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x69, 0x73, - 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x65, 0x6d, 0x6f, 0x5f, 0x66, 0x69, 0x6c, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x61, - 0x79, 0x44, 0x65, 0x6d, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x6e, - 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x64, 0x65, 0x6e, 0x79, 0x22, 0x2d, 0x0a, - 0x17, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x63, - 0x72, 0x65, 0x65, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x22, 0x4a, 0x0a, 0x18, - 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x76, - 0x61, 0x74, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x67, 0x62, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x03, 0x72, 0x67, 0x62, 0x22, 0xf8, 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, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 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, - 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, - 0x18, 0x07, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, - 0x6c, 0x65, 0x73, 0x22, 0x7c, 0x0a, 0x0c, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x4d, - 0x6f, 0x76, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x75, 0x6d, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6e, - 0x75, 0x6d, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x12, 0x0a, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x22, 0x8c, 0x02, 0x0a, 0x11, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x6f, - 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x78, - 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x04, 0x78, 0x75, 0x69, 0x64, 0x12, - 0x43, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 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, 0x17, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, - 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x52, 0x06, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, - 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 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, 0x05, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 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, 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, 0xde, 0x02, 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, 0x23, - 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x64, 0x35, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x03, 0x6d, 0x64, 0x35, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x72, 0x63, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x03, 0x63, 0x72, 0x63, 0x12, 0x24, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x65, 0x5f, - 0x68, 0x61, 0x73, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, - 0x08, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, - 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x70, 0x61, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x61, - 0x63, 0x6b, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 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, 0x43, 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, 0x25, 0x0a, 0x07, 0x63, 0x6f, 0x6e, - 0x76, 0x61, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x5f, 0x43, 0x56, 0x61, 0x72, 0x73, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x76, 0x61, 0x72, 0x73, - 0x22, 0x34, 0x0a, 0x14, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6d, 0x64, 0x4b, - 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6b, 0x65, 0x79, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0xf3, 0x05, 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, - 0x37, 0x0a, 0x18, 0x69, 0x73, 0x5f, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x76, - 0x61, 0x6c, 0x76, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x15, 0x69, 0x73, 0x4f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x56, 0x61, 0x6c, - 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x68, - 0x6c, 0x74, 0x76, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x48, 0x6c, 0x74, - 0x76, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x40, - 0x0a, 0x1d, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6e, 0x67, - 0x5f, 0x74, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, - 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x69, 0x73, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x6c, 0x61, 0x79, - 0x12, 0x11, 0x0a, 0x04, 0x63, 0x5f, 0x6f, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, - 0x63, 0x4f, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x70, 0x5f, 0x63, 0x72, 0x63, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x07, 0x52, 0x06, 0x6d, 0x61, 0x70, 0x43, 0x72, 0x63, 0x12, 0x1d, 0x0a, 0x0a, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x07, - 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x63, 0x12, 0x28, 0x0a, 0x10, 0x73, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x72, 0x63, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x43, 0x72, 0x63, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0b, 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, 0x0c, 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, 0x0d, 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, 0x0e, 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, 0x0f, 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, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x70, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x70, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6b, 0x79, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x12, 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, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, 0x18, 0x14, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x70, 0x12, 0x1c, - 0x0a, 0x0a, 0x75, 0x67, 0x63, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x16, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x08, 0x75, 0x67, 0x63, 0x4d, 0x61, 0x70, 0x49, 0x64, 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, - 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, - 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, 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, 0x34, 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, 0x22, 0xae, 0x02, 0x0a, 0x19, 0x43, 0x53, 0x56, 0x43, 0x4d, + 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, 0xc2, 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, 0x23, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, + 0x6c, 0x6f, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 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, 0xb8, 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, 0x43, 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, 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, 0xcc, 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, + 0xdd, 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, 0x25, 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 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, 0x50, 0x0a, 0x0f, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, + 0x65, 0x74, 0x56, 0x69, 0x65, 0x77, 0x12, 0x25, 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, + 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, + 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 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, 0xcc, 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, 0x25, 0x0a, 0x0c, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x3a, + 0x02, 0x2d, 0x31, 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, 0x97, 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, 0x25, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, + 0x31, 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, 0xe8, 0x08, 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, + 0x12, 0x5d, 0x0a, 0x13, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x61, + 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, 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, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, + 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x52, 0x12, 0x61, 0x6c, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 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, 0x1a, 0x60, + 0x0a, 0x14, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x74, 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, 0x25, 0x0a, 0x0e, 0x62, 0x61, 0x73, + 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, + 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, 0x99, 0x03, 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, 0x6d, 0x61, 0x78, 0x5f, - 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, - 0x61, 0x78, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, - 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 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, 0x04, 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, 0x05, 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, 0x06, 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, 0x07, 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, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 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, 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, 0x88, 0x03, 0x0a, 0x11, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, - 0x56, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x18, 0x01, 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, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x69, 0x74, 0x79, 0x12, - 0x12, 0x0a, 0x04, 0x78, 0x75, 0x69, 0x64, 0x18, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x62, - 0x6c, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x76, 0x6f, 0x69, 0x63, - 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x12, 0x43, 0x0a, - 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x07, 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, 0x17, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x4f, 0x52, - 0x4d, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x18, 0x08, 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, 0x09, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 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, 0x0a, - 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, 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, 0x33, - 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, 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, 0x32, 0x0a, 0x14, 0x43, 0x53, 0x56, - 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x69, 0x6e, 0x74, 0x6d, 0x61, 0x70, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x69, 0x6e, 0x74, 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x08, 0x70, 0x61, 0x69, 0x6e, 0x74, 0x6d, 0x61, 0x70, 0x22, 0xa4, 0x03, - 0x0a, 0x11, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x04, - 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x43, 0x53, 0x56, - 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x6b, - 0x65, 0x79, 0x5f, 0x74, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, - 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0b, 0x70, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x1a, 0x85, 0x02, 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, 0x1d, 0x0a, 0x0a, 0x76, 0x61, - 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x76, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, 0x6c, - 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x76, 0x61, - 0x6c, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x5f, 0x6c, 0x6f, - 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x61, 0x6c, 0x4c, 0x6f, 0x6e, - 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x12, 0x19, - 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x07, 0x76, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x76, 0x61, 0x6c, - 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x61, 0x6c, - 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, - 0x36, 0x34, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x55, 0x69, 0x6e, - 0x74, 0x36, 0x34, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x5f, 0x77, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x57, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 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, 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, 0x82, 0x02, 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, 0x22, 0x88, 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, 0x99, 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, 0x22, 0x66, 0x0a, 0x11, - 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x73, - 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x19, - 0x0a, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x74, - 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x65, 0x6e, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x22, 0x34, 0x0a, 0x14, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, - 0x43, 0x6d, 0x64, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, - 0x6b, 0x65, 0x79, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x09, 0x6b, 0x65, 0x79, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x50, 0x0a, 0x15, 0x43, 0x53, - 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, - 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0xb5, 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, 0x22, 0xd4, 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, 0x37, 0x0a, 0x18, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 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, 0x2a, 0xb9, 0x01, 0x0a, 0x0c, 0x4e, - 0x45, 0x54, 0x5f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x6e, - 0x65, 0x74, 0x5f, 0x4e, 0x4f, 0x50, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x6e, 0x65, 0x74, 0x5f, - 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, - 0x6e, 0x65, 0x74, 0x5f, 0x46, 0x69, 0x6c, 0x65, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x6e, 0x65, - 0x74, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x55, 0x73, 0x65, - 0x72, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x6e, 0x65, 0x74, 0x5f, 0x54, 0x69, 0x63, 0x6b, 0x10, - 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x6e, 0x65, 0x74, 0x5f, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x43, - 0x6d, 0x64, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x6e, 0x65, 0x74, 0x5f, 0x53, 0x65, 0x74, 0x43, - 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x6e, 0x65, 0x74, 0x5f, 0x53, - 0x69, 0x67, 0x6e, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0x07, 0x12, 0x18, 0x0a, 0x14, - 0x6e, 0x65, 0x74, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, - 0x44, 0x61, 0x74, 0x61, 0x10, 0x64, 0x2a, 0x94, 0x02, 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, 0x08, 0x12, 0x0c, 0x0a, 0x08, 0x63, - 0x6c, 0x63, 0x5f, 0x4d, 0x6f, 0x76, 0x65, 0x10, 0x09, 0x12, 0x11, 0x0a, 0x0d, 0x63, 0x6c, 0x63, - 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x10, 0x0a, 0x12, 0x13, 0x0a, 0x0f, - 0x63, 0x6c, 0x63, 0x5f, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x41, 0x63, 0x6b, 0x10, - 0x0b, 0x12, 0x14, 0x0a, 0x10, 0x63, 0x6c, 0x63, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x10, 0x0c, 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, - 0x0d, 0x12, 0x14, 0x0a, 0x10, 0x63, 0x6c, 0x63, 0x5f, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x52, 0x43, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x10, 0x0e, 0x12, 0x17, 0x0a, 0x13, 0x63, 0x6c, 0x63, 0x5f, 0x4c, - 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x10, 0x0f, - 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, 0x10, 0x12, 0x15, 0x0a, 0x11, - 0x63, 0x6c, 0x63, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x10, 0x11, 0x12, 0x14, 0x0a, 0x10, 0x63, 0x6c, 0x63, 0x5f, 0x43, 0x6d, 0x64, 0x4b, 0x65, - 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x10, 0x12, 0x12, 0x12, 0x0a, 0x0e, 0x63, 0x6c, 0x63, - 0x5f, 0x48, 0x6c, 0x74, 0x76, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x10, 0x14, 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, 0x79, 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, 0x12, 0x1d, 0x0a, 0x19, 0x4d, 0x53, 0x47, 0x5f, 0x53, 0x50, 0x4c, 0x49, 0x54, - 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x53, - 0x10, 0x01, 0x1a, 0x02, 0x10, 0x01, 0x2a, 0xe3, 0x04, 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, 0x08, 0x12, 0x11, 0x0a, 0x0d, 0x73, - 0x76, 0x63, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x09, 0x12, 0x11, - 0x0a, 0x0d, 0x73, 0x76, 0x63, 0x5f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x10, - 0x0a, 0x12, 0x10, 0x0a, 0x0c, 0x73, 0x76, 0x63, 0x5f, 0x53, 0x65, 0x74, 0x50, 0x61, 0x75, 0x73, - 0x65, 0x10, 0x0b, 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, 0x0c, 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, 0x0d, 0x12, 0x11, 0x0a, 0x0d, 0x73, 0x76, 0x63, - 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x10, 0x0e, 0x12, 0x11, 0x0a, 0x0d, - 0x73, 0x76, 0x63, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x10, 0x0f, 0x12, - 0x0d, 0x0a, 0x09, 0x73, 0x76, 0x63, 0x5f, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x10, 0x10, 0x12, 0x0e, - 0x0a, 0x0a, 0x73, 0x76, 0x63, 0x5f, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x10, 0x11, 0x12, 0x0f, - 0x0a, 0x0b, 0x73, 0x76, 0x63, 0x5f, 0x53, 0x65, 0x74, 0x56, 0x69, 0x65, 0x77, 0x10, 0x12, 0x12, - 0x10, 0x0a, 0x0c, 0x73, 0x76, 0x63, 0x5f, 0x46, 0x69, 0x78, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x10, - 0x13, 0x12, 0x16, 0x0a, 0x12, 0x73, 0x76, 0x63, 0x5f, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x68, 0x61, - 0x69, 0x72, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x10, 0x14, 0x12, 0x10, 0x0a, 0x0c, 0x73, 0x76, 0x63, - 0x5f, 0x42, 0x53, 0x50, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x10, 0x15, 0x12, 0x13, 0x0a, 0x0f, 0x73, - 0x76, 0x63, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x10, 0x16, + 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, 0x12, 0x34, 0x0a, 0x16, + 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x69, 0x74, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x75, 0x73, + 0x69, 0x6e, 0x67, 0x56, 0x61, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x69, 0x74, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 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, 0xe1, 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, 0x1a, 0x0a, 0x06, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 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, 0x12, 0x20, + 0x0a, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, + 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, 0xec, 0x01, 0x0a, 0x0e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x50, 0x65, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, + 0x31, 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, 0xc0, 0x05, 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, 0x12, 0x61, 0x0a, 0x11, + 0x70, 0x6f, 0x6c, 0x79, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 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, 0x2e, 0x70, 0x6f, 0x6c, 0x79, 0x6d, 0x6f, + 0x72, 0x70, 0x68, 0x69, 0x63, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, 0x52, 0x10, 0x70, + 0x6f, 0x6c, 0x79, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x73, 0x1a, + 0xb8, 0x01, 0x0a, 0x13, 0x70, 0x6f, 0x6c, 0x79, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x69, 0x63, 0x5f, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, 0x12, 0x50, 0x0a, 0x25, 0x70, 0x6f, 0x6c, 0x79, 0x6d, + 0x6f, 0x72, 0x70, 0x68, 0x69, 0x63, 0x5f, 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, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x21, 0x70, 0x6f, 0x6c, 0x79, 0x6d, 0x6f, 0x72, 0x70, + 0x68, 0x69, 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x79, 0x6d, 0x12, 0x4f, 0x0a, 0x24, 0x70, 0x6f, 0x6c, + 0x79, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x69, 0x63, 0x5f, 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, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x21, 0x70, 0x6f, 0x6c, 0x79, 0x6d, 0x6f, 0x72, + 0x70, 0x68, 0x69, 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, + 0x7a, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 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, 0xd1, 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, 0x29, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, + 0x72, 0x79, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x3a, + 0x02, 0x2d, 0x31, 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, 0xc6, + 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, 0x29, 0x0a, + 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 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, 0x17, 0x12, 0x15, 0x0a, 0x11, 0x73, 0x76, 0x63, 0x5f, 0x45, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x10, 0x18, 0x12, 0x11, 0x0a, 0x0d, - 0x73, 0x76, 0x63, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x19, 0x12, - 0x16, 0x0a, 0x12, 0x73, 0x76, 0x63, 0x5f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x6e, 0x74, - 0x69, 0x74, 0x69, 0x65, 0x73, 0x10, 0x1a, 0x12, 0x14, 0x0a, 0x10, 0x73, 0x76, 0x63, 0x5f, 0x54, - 0x65, 0x6d, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x10, 0x1b, 0x12, 0x10, 0x0a, - 0x0c, 0x73, 0x76, 0x63, 0x5f, 0x50, 0x72, 0x65, 0x66, 0x65, 0x74, 0x63, 0x68, 0x10, 0x1c, 0x12, - 0x0c, 0x0a, 0x08, 0x73, 0x76, 0x63, 0x5f, 0x4d, 0x65, 0x6e, 0x75, 0x10, 0x1d, 0x12, 0x15, 0x0a, - 0x11, 0x73, 0x76, 0x63, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, - 0x73, 0x74, 0x10, 0x1e, 0x12, 0x14, 0x0a, 0x10, 0x73, 0x76, 0x63, 0x5f, 0x47, 0x65, 0x74, 0x43, - 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x10, 0x1f, 0x12, 0x14, 0x0a, 0x10, 0x73, 0x76, - 0x63, 0x5f, 0x50, 0x61, 0x69, 0x6e, 0x74, 0x6d, 0x61, 0x70, 0x44, 0x61, 0x74, 0x61, 0x10, 0x21, - 0x12, 0x14, 0x0a, 0x10, 0x73, 0x76, 0x63, 0x5f, 0x43, 0x6d, 0x64, 0x4b, 0x65, 0x79, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x10, 0x22, 0x12, 0x15, 0x0a, 0x11, 0x73, 0x76, 0x63, 0x5f, 0x45, 0x6e, - 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x10, 0x23, 0x12, 0x12, 0x0a, - 0x0e, 0x73, 0x76, 0x63, 0x5f, 0x48, 0x6c, 0x74, 0x76, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x10, - 0x24, 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, 0x26, 0x2a, 0x87, 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, 0x42, 0x03, 0x80, 0x01, 0x00, + 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, } var ( @@ -5362,98 +6770,129 @@ func file_netmessages_proto_rawDescGZIP() []byte { return file_netmessages_proto_rawDescData } -var file_netmessages_proto_enumTypes = make([]protoimpl.EnumInfo, 6) -var file_netmessages_proto_msgTypes = make([]protoimpl.MessageInfo, 61) +var file_netmessages_proto_enumTypes = make([]protoimpl.EnumInfo, 12) +var file_netmessages_proto_msgTypes = make([]protoimpl.MessageInfo, 71) var file_netmessages_proto_goTypes = []interface{}{ - (NET_Messages)(0), // 0: NET_Messages - (CLC_Messages)(0), // 1: CLC_Messages - (VoiceDataFormatT)(0), // 2: VoiceDataFormat_t - (ESplitScreenMessageType)(0), // 3: ESplitScreenMessageType - (SVC_Messages)(0), // 4: SVC_Messages - (ReplayEventTypeT)(0), // 5: ReplayEventType_t - (*CMsgVector)(nil), // 6: CMsgVector - (*CMsgVector2D)(nil), // 7: CMsgVector2D - (*CMsgQAngle)(nil), // 8: CMsgQAngle - (*CMsgRGBA)(nil), // 9: CMsgRGBA - (*CNETMsg_Tick)(nil), // 10: CNETMsg_Tick - (*CNETMsg_StringCmd)(nil), // 11: CNETMsg_StringCmd - (*CNETMsg_SignonState)(nil), // 12: CNETMsg_SignonState - (*CMsg_CVars)(nil), // 13: CMsg_CVars - (*CNETMsg_SetConVar)(nil), // 14: CNETMsg_SetConVar - (*CNETMsg_NOP)(nil), // 15: CNETMsg_NOP - (*CNETMsg_Disconnect)(nil), // 16: CNETMsg_Disconnect - (*CNETMsg_File)(nil), // 17: CNETMsg_File - (*CNETMsg_SplitScreenUser)(nil), // 18: CNETMsg_SplitScreenUser - (*CNETMsg_PlayerAvatarData)(nil), // 19: CNETMsg_PlayerAvatarData - (*CCLCMsg_ClientInfo)(nil), // 20: CCLCMsg_ClientInfo - (*CCLCMsg_Move)(nil), // 21: CCLCMsg_Move - (*CCLCMsg_VoiceData)(nil), // 22: CCLCMsg_VoiceData - (*CCLCMsg_BaselineAck)(nil), // 23: CCLCMsg_BaselineAck - (*CCLCMsg_ListenEvents)(nil), // 24: CCLCMsg_ListenEvents - (*CCLCMsg_RespondCvarValue)(nil), // 25: CCLCMsg_RespondCvarValue - (*CCLCMsg_FileCRCCheck)(nil), // 26: CCLCMsg_FileCRCCheck - (*CCLCMsg_LoadingProgress)(nil), // 27: CCLCMsg_LoadingProgress - (*CCLCMsg_SplitPlayerConnect)(nil), // 28: CCLCMsg_SplitPlayerConnect - (*CCLCMsg_CmdKeyValues)(nil), // 29: CCLCMsg_CmdKeyValues - (*CSVCMsg_ServerInfo)(nil), // 30: CSVCMsg_ServerInfo - (*CSVCMsg_ClassInfo)(nil), // 31: CSVCMsg_ClassInfo - (*CSVCMsg_SendTable)(nil), // 32: CSVCMsg_SendTable - (*CSVCMsg_Print)(nil), // 33: CSVCMsg_Print - (*CSVCMsg_SetPause)(nil), // 34: CSVCMsg_SetPause - (*CSVCMsg_SetView)(nil), // 35: CSVCMsg_SetView - (*CSVCMsg_CreateStringTable)(nil), // 36: CSVCMsg_CreateStringTable - (*CSVCMsg_UpdateStringTable)(nil), // 37: CSVCMsg_UpdateStringTable - (*CSVCMsg_VoiceInit)(nil), // 38: CSVCMsg_VoiceInit - (*CSVCMsg_VoiceData)(nil), // 39: CSVCMsg_VoiceData - (*CSVCMsg_FixAngle)(nil), // 40: CSVCMsg_FixAngle - (*CSVCMsg_CrosshairAngle)(nil), // 41: CSVCMsg_CrosshairAngle - (*CSVCMsg_Prefetch)(nil), // 42: CSVCMsg_Prefetch - (*CSVCMsg_BSPDecal)(nil), // 43: CSVCMsg_BSPDecal - (*CSVCMsg_SplitScreen)(nil), // 44: CSVCMsg_SplitScreen - (*CSVCMsg_GetCvarValue)(nil), // 45: CSVCMsg_GetCvarValue - (*CSVCMsg_Menu)(nil), // 46: CSVCMsg_Menu - (*CSVCMsg_UserMessage)(nil), // 47: CSVCMsg_UserMessage - (*CSVCMsg_PaintmapData)(nil), // 48: CSVCMsg_PaintmapData - (*CSVCMsg_GameEvent)(nil), // 49: CSVCMsg_GameEvent - (*CSVCMsg_GameEventList)(nil), // 50: CSVCMsg_GameEventList - (*CSVCMsg_TempEntities)(nil), // 51: CSVCMsg_TempEntities - (*CSVCMsg_PacketEntities)(nil), // 52: CSVCMsg_PacketEntities - (*CSVCMsg_Sounds)(nil), // 53: CSVCMsg_Sounds - (*CSVCMsg_EntityMsg)(nil), // 54: CSVCMsg_EntityMsg - (*CSVCMsg_CmdKeyValues)(nil), // 55: CSVCMsg_CmdKeyValues - (*CSVCMsg_EncryptedData)(nil), // 56: CSVCMsg_EncryptedData - (*CSVCMsg_HltvReplay)(nil), // 57: CSVCMsg_HltvReplay - (*CCLCMsg_HltvReplay)(nil), // 58: CCLCMsg_HltvReplay - (*CSVCMsg_Broadcast_Command)(nil), // 59: CSVCMsg_Broadcast_Command - (*CMsg_CVars_CVar)(nil), // 60: CMsg_CVars.CVar - (*CSVCMsg_ClassInfoClassT)(nil), // 61: CSVCMsg_ClassInfo.class_t - (*CSVCMsg_SendTableSendpropT)(nil), // 62: CSVCMsg_SendTable.sendprop_t - (*CSVCMsg_GameEventKeyT)(nil), // 63: CSVCMsg_GameEvent.key_t - (*CSVCMsg_GameEventListKeyT)(nil), // 64: CSVCMsg_GameEventList.key_t - (*CSVCMsg_GameEventListDescriptorT)(nil), // 65: CSVCMsg_GameEventList.descriptor_t - (*CSVCMsg_SoundsSounddataT)(nil), // 66: CSVCMsg_Sounds.sounddata_t + (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 + (*CSVCMsg_PacketEntitiesAlternateBaselineT)(nil), // 79: CSVCMsg_PacketEntities.alternate_baseline_t + (*ProtoFlattenedSerializerFieldTPolymorphicFieldT)(nil), // 80: ProtoFlattenedSerializerField_t.polymorphic_field_t + (*CMsgServerNetworkStats_Port)(nil), // 81: CMsgServerNetworkStats.Port + (*CMsgServerNetworkStats_Player)(nil), // 82: CMsgServerNetworkStats.Player + (*CSVCMsg_GameSessionConfiguration)(nil), // 83: CSVCMsg_GameSessionConfiguration + (*CMsgQAngle)(nil), // 84: CMsgQAngle + (*CMsgVector)(nil), // 85: CMsgVector } var file_netmessages_proto_depIdxs = []int32{ - 60, // 0: CMsg_CVars.cvars:type_name -> CMsg_CVars.CVar - 13, // 1: CNETMsg_SetConVar.convars:type_name -> CMsg_CVars - 2, // 2: CCLCMsg_VoiceData.format:type_name -> VoiceDataFormat_t - 13, // 3: CCLCMsg_SplitPlayerConnect.convars:type_name -> CMsg_CVars - 61, // 4: CSVCMsg_ClassInfo.classes:type_name -> CSVCMsg_ClassInfo.class_t - 62, // 5: CSVCMsg_SendTable.props:type_name -> CSVCMsg_SendTable.sendprop_t - 2, // 6: CSVCMsg_VoiceData.format:type_name -> VoiceDataFormat_t - 8, // 7: CSVCMsg_FixAngle.angle:type_name -> CMsgQAngle - 8, // 8: CSVCMsg_CrosshairAngle.angle:type_name -> CMsgQAngle - 6, // 9: CSVCMsg_BSPDecal.pos:type_name -> CMsgVector - 3, // 10: CSVCMsg_SplitScreen.type:type_name -> ESplitScreenMessageType - 63, // 11: CSVCMsg_GameEvent.keys:type_name -> CSVCMsg_GameEvent.key_t - 65, // 12: CSVCMsg_GameEventList.descriptors:type_name -> CSVCMsg_GameEventList.descriptor_t - 66, // 13: CSVCMsg_Sounds.sounds:type_name -> CSVCMsg_Sounds.sounddata_t - 64, // 14: CSVCMsg_GameEventList.descriptor_t.keys:type_name -> CSVCMsg_GameEventList.key_t - 15, // [15:15] is the sub-list for method output_type - 15, // [15:15] is the sub-list for method input_type - 15, // [15:15] is the sub-list for extension type_name - 15, // [15:15] is the sub-list for extension extendee - 0, // [0:15] is the sub-list for field type_name + 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 + 83, // 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 + 84, // 7: CSVCMsg_FixAngle.angle:type_name -> CMsgQAngle + 84, // 8: CSVCMsg_CrosshairAngle.angle:type_name -> CMsgQAngle + 85, // 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 + 79, // 14: CSVCMsg_PacketEntities.alternate_baselines:type_name -> CSVCMsg_PacketEntities.alternate_baseline_t + 14, // 15: CSVCMsg_VoiceData.audio:type_name -> CMsgVoiceAudio + 57, // 16: CMsgServerPeer.ipc:type_name -> CMsgIPCAddress + 58, // 17: CSVCMsg_PeerList.peer:type_name -> CMsgServerPeer + 80, // 18: ProtoFlattenedSerializerField_t.polymorphic_types:type_name -> ProtoFlattenedSerializerField_t.polymorphic_field_t + 62, // 19: CSVCMsg_FlattenedSerializer.serializers:type_name -> ProtoFlattenedSerializer_t + 61, // 20: CSVCMsg_FlattenedSerializer.fields:type_name -> ProtoFlattenedSerializerField_t + 81, // 21: CMsgServerNetworkStats.ports:type_name -> CMsgServerNetworkStats.Port + 82, // 22: CMsgServerNetworkStats.players:type_name -> CMsgServerNetworkStats.Player + 85, // 23: CCLCMsg_HltvFixupOperatorTick.origin:type_name -> CMsgVector + 84, // 24: CCLCMsg_HltvFixupOperatorTick.eye_angles:type_name -> CMsgQAngle + 85, // 25: CCLCMsg_HltvFixupOperatorTick.view_offset:type_name -> CMsgVector + 76, // 26: CSVCMsg_GameEventList.descriptor_t.keys:type_name -> CSVCMsg_GameEventList.key_t + 27, // [27:27] is the sub-list for method output_type + 27, // [27:27] is the sub-list for method input_type + 27, // [27:27] is the sub-list for extension type_name + 27, // [27:27] is the sub-list for extension extendee + 0, // [0:27] is the sub-list for field type_name } func init() { file_netmessages_proto_init() } @@ -5461,9 +6900,10 @@ 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.(*CMsgVector); i { + switch v := v.(*CCLCMsg_ClientInfo); i { case 0: return &v.state case 1: @@ -5475,7 +6915,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgVector2D); i { + switch v := v.(*CCLCMsg_Move); i { case 0: return &v.state case 1: @@ -5487,7 +6927,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgQAngle); i { + switch v := v.(*CMsgVoiceAudio); i { case 0: return &v.state case 1: @@ -5499,7 +6939,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgRGBA); i { + switch v := v.(*CCLCMsg_VoiceData); i { case 0: return &v.state case 1: @@ -5511,7 +6951,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CNETMsg_Tick); i { + switch v := v.(*CCLCMsg_BaselineAck); i { case 0: return &v.state case 1: @@ -5523,7 +6963,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CNETMsg_StringCmd); i { + switch v := v.(*CCLCMsg_ListenEvents); i { case 0: return &v.state case 1: @@ -5535,7 +6975,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CNETMsg_SignonState); i { + switch v := v.(*CCLCMsg_RespondCvarValue); i { case 0: return &v.state case 1: @@ -5547,7 +6987,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsg_CVars); i { + switch v := v.(*CCLCMsg_FileCRCCheck); i { case 0: return &v.state case 1: @@ -5559,7 +6999,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CNETMsg_SetConVar); i { + switch v := v.(*CCLCMsg_LoadingProgress); i { case 0: return &v.state case 1: @@ -5571,7 +7011,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CNETMsg_NOP); i { + switch v := v.(*CCLCMsg_SplitPlayerConnect); i { case 0: return &v.state case 1: @@ -5583,7 +7023,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CNETMsg_Disconnect); i { + switch v := v.(*CCLCMsg_ClientMessage); i { case 0: return &v.state case 1: @@ -5595,7 +7035,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CNETMsg_File); i { + switch v := v.(*CCLCMsg_SplitPlayerDisconnect); i { case 0: return &v.state case 1: @@ -5607,7 +7047,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CNETMsg_SplitScreenUser); i { + switch v := v.(*CCLCMsg_ServerStatus); i { case 0: return &v.state case 1: @@ -5619,7 +7059,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CNETMsg_PlayerAvatarData); i { + switch v := v.(*CCLCMsg_ServerPing); i { case 0: return &v.state case 1: @@ -5631,7 +7071,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCLCMsg_ClientInfo); i { + switch v := v.(*CCLCMsg_RequestPause); i { case 0: return &v.state case 1: @@ -5643,7 +7083,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCLCMsg_Move); i { + switch v := v.(*CCLCMsg_CmdKeyValues); i { case 0: return &v.state case 1: @@ -5655,7 +7095,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCLCMsg_VoiceData); i { + switch v := v.(*CCLCMsg_RconServerDetails); i { case 0: return &v.state case 1: @@ -5667,7 +7107,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCLCMsg_BaselineAck); i { + switch v := v.(*CSVCMsg_ServerInfo); i { case 0: return &v.state case 1: @@ -5679,7 +7119,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCLCMsg_ListenEvents); i { + switch v := v.(*CSVCMsg_ClassInfo); i { case 0: return &v.state case 1: @@ -5691,7 +7131,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCLCMsg_RespondCvarValue); i { + switch v := v.(*CSVCMsg_SetPause); i { case 0: return &v.state case 1: @@ -5703,7 +7143,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCLCMsg_FileCRCCheck); i { + switch v := v.(*CSVCMsg_VoiceInit); i { case 0: return &v.state case 1: @@ -5715,7 +7155,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCLCMsg_LoadingProgress); i { + switch v := v.(*CSVCMsg_Print); i { case 0: return &v.state case 1: @@ -5727,7 +7167,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCLCMsg_SplitPlayerConnect); i { + switch v := v.(*CSVCMsg_Sounds); i { case 0: return &v.state case 1: @@ -5739,7 +7179,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCLCMsg_CmdKeyValues); i { + switch v := v.(*CSVCMsg_Prefetch); i { case 0: return &v.state case 1: @@ -5751,7 +7191,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_ServerInfo); i { + switch v := v.(*CSVCMsg_SetView); i { case 0: return &v.state case 1: @@ -5763,7 +7203,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_ClassInfo); i { + switch v := v.(*CSVCMsg_FixAngle); i { case 0: return &v.state case 1: @@ -5775,7 +7215,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_SendTable); i { + switch v := v.(*CSVCMsg_CrosshairAngle); i { case 0: return &v.state case 1: @@ -5787,7 +7227,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_Print); i { + switch v := v.(*CSVCMsg_BSPDecal); i { case 0: return &v.state case 1: @@ -5799,7 +7239,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_SetPause); i { + switch v := v.(*CSVCMsg_SplitScreen); i { case 0: return &v.state case 1: @@ -5811,7 +7251,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_SetView); i { + switch v := v.(*CSVCMsg_GetCvarValue); i { case 0: return &v.state case 1: @@ -5823,7 +7263,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_CreateStringTable); i { + switch v := v.(*CSVCMsg_Menu); i { case 0: return &v.state case 1: @@ -5835,7 +7275,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_UpdateStringTable); i { + switch v := v.(*CSVCMsg_UserMessage); i { case 0: return &v.state case 1: @@ -5847,7 +7287,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_VoiceInit); i { + switch v := v.(*CSVCMsg_SendTable); i { case 0: return &v.state case 1: @@ -5859,7 +7299,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_VoiceData); i { + switch v := v.(*CSVCMsg_GameEventList); i { case 0: return &v.state case 1: @@ -5871,7 +7311,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_FixAngle); i { + switch v := v.(*CSVCMsg_PacketEntities); i { case 0: return &v.state case 1: @@ -5883,7 +7323,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_CrosshairAngle); i { + switch v := v.(*CSVCMsg_TempEntities); i { case 0: return &v.state case 1: @@ -5895,7 +7335,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_Prefetch); i { + switch v := v.(*CSVCMsg_CreateStringTable); i { case 0: return &v.state case 1: @@ -5907,7 +7347,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_BSPDecal); i { + switch v := v.(*CSVCMsg_UpdateStringTable); i { case 0: return &v.state case 1: @@ -5919,7 +7359,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_SplitScreen); i { + switch v := v.(*CSVCMsg_VoiceData); i { case 0: return &v.state case 1: @@ -5931,7 +7371,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_GetCvarValue); i { + switch v := v.(*CSVCMsg_PacketReliable); i { case 0: return &v.state case 1: @@ -5943,7 +7383,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_Menu); i { + switch v := v.(*CSVCMsg_FullFrameSplit); i { case 0: return &v.state case 1: @@ -5955,7 +7395,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_UserMessage); i { + switch v := v.(*CSVCMsg_HLTVStatus); i { case 0: return &v.state case 1: @@ -5967,7 +7407,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_PaintmapData); i { + switch v := v.(*CSVCMsg_ServerSteamID); i { case 0: return &v.state case 1: @@ -5979,7 +7419,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_GameEvent); i { + switch v := v.(*CSVCMsg_CmdKeyValues); i { case 0: return &v.state case 1: @@ -5991,7 +7431,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_GameEventList); i { + switch v := v.(*CSVCMsg_RconServerDetails); i { case 0: return &v.state case 1: @@ -6003,7 +7443,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_TempEntities); i { + switch v := v.(*CMsgIPCAddress); i { case 0: return &v.state case 1: @@ -6015,7 +7455,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_PacketEntities); i { + switch v := v.(*CMsgServerPeer); i { case 0: return &v.state case 1: @@ -6027,7 +7467,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_Sounds); i { + switch v := v.(*CSVCMsg_PeerList); i { case 0: return &v.state case 1: @@ -6039,7 +7479,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_EntityMsg); i { + switch v := v.(*CSVCMsg_ClearAllStringTables); i { case 0: return &v.state case 1: @@ -6051,7 +7491,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_CmdKeyValues); i { + switch v := v.(*ProtoFlattenedSerializerFieldT); i { case 0: return &v.state case 1: @@ -6063,7 +7503,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_EncryptedData); i { + switch v := v.(*ProtoFlattenedSerializerT); i { case 0: return &v.state case 1: @@ -6075,7 +7515,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_HltvReplay); i { + switch v := v.(*CSVCMsg_FlattenedSerializer); i { case 0: return &v.state case 1: @@ -6087,7 +7527,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCLCMsg_HltvReplay); i { + switch v := v.(*CSVCMsg_StopSound); i { case 0: return &v.state case 1: @@ -6099,7 +7539,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_Broadcast_Command); i { + switch v := v.(*CBidirMsg_RebroadcastGameEvent); i { case 0: return &v.state case 1: @@ -6111,7 +7551,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsg_CVars_CVar); i { + switch v := v.(*CBidirMsg_RebroadcastSource); i { case 0: return &v.state case 1: @@ -6123,7 +7563,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_ClassInfoClassT); i { + switch v := v.(*CMsgServerNetworkStats); i { case 0: return &v.state case 1: @@ -6135,7 +7575,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_SendTableSendpropT); i { + switch v := v.(*CSVCMsg_HltvReplay); i { case 0: return &v.state case 1: @@ -6147,7 +7587,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_GameEventKeyT); i { + switch v := v.(*CCLCMsg_HltvReplay); i { case 0: return &v.state case 1: @@ -6159,7 +7599,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_GameEventListKeyT); i { + switch v := v.(*CSVCMsg_Broadcast_Command); i { case 0: return &v.state case 1: @@ -6171,7 +7611,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_GameEventListDescriptorT); i { + switch v := v.(*CCLCMsg_HltvFixupOperatorTick); i { case 0: return &v.state case 1: @@ -6183,6 +7623,30 @@ func file_netmessages_proto_init() { } } 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 @@ -6194,14 +7658,110 @@ func file_netmessages_proto_init() { 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.(*CSVCMsg_PacketEntitiesAlternateBaselineT); 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.(*ProtoFlattenedSerializerFieldTPolymorphicFieldT); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[69].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[70].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: 6, - NumMessages: 61, + NumEnums: 12, + NumMessages: 71, NumExtensions: 0, NumServices: 0, }, diff --git a/pkg/demoinfocs/msg/proto/cstrike15_gcmessages.proto b/pkg/demoinfocs/msg/proto/cstrike15_gcmessages.proto index 6ffe5ffc..acaccaab 100644 --- a/pkg/demoinfocs/msg/proto/cstrike15_gcmessages.proto +++ b/pkg/demoinfocs/msg/proto/cstrike15_gcmessages.proto @@ -1,8 +1,6 @@ import "steammessages.proto"; import "engine_gcmessages.proto"; - -option optimize_for = SPEED; -option cc_generic_services = false; +import "gcsdk_gcmessages.proto"; enum ECsgoGCMsg { k_EMsgGCCStrike15_v2_Base = 9100; @@ -15,7 +13,6 @@ enum ECsgoGCMsg { k_EMsgGCCStrike15_v2_MatchmakingClient2GCHello = 9109; k_EMsgGCCStrike15_v2_MatchmakingGC2ClientHello = 9110; k_EMsgGCCStrike15_v2_MatchmakingGC2ClientAbandon = 9112; - k_EMsgGCCStrike15_v2_MatchmakingGCOperationalStats = 9115; k_EMsgGCCStrike15_v2_MatchmakingOperator2GCBlogUpdate = 9117; k_EMsgGCCStrike15_v2_ServerNotificationForUserPenalty = 9118; k_EMsgGCCStrike15_v2_ClientReportPlayer = 9119; @@ -193,6 +190,7 @@ message GlobalStatistics { optional uint32 active_survey_id = 13; optional uint32 rtime32_cur = 14; optional uint32 rtime32_event_start = 15; + optional uint32 required_appid_version2 = 16; } message OperationalStatisticDescription { @@ -383,12 +381,6 @@ message CMsgGC_ServerQuestUpdateData { optional .ScoreLeaderboardData missionlbsdata = 4; } -message CMsgGCCStrike15_v2_MatchmakingGCOperationalStats { - optional int32 packetid = 1; - repeated .OperationalStatisticDescription namekeys = 2; - repeated .OperationalStatisticsPacket packets = 3; -} - message CMsgGCCStrike15_v2_MatchmakingGC2ServerConfirm { optional uint32 token = 1; optional uint32 stamp = 2; @@ -466,6 +458,16 @@ message CDataGCCStrike15_v2_TournamentMatchDraft { optional int32 team_id_veto1 = 8; optional int32 team_id_pickn = 9; repeated .CDataGCCStrike15_v2_TournamentMatchDraft.Entry drafts = 10; + repeated int32 vote_mapid_0 = 11; + repeated int32 vote_mapid_1 = 12; + repeated int32 vote_mapid_2 = 13; + repeated int32 vote_mapid_3 = 14; + repeated int32 vote_mapid_4 = 15; + repeated int32 vote_mapid_5 = 16; + repeated int32 vote_starting_side = 17; + optional int32 vote_phase = 18; + optional float vote_phase_start = 19; + optional float vote_phase_length = 20; } message CPreMatchInfoData { @@ -849,10 +851,6 @@ message CMsgGCCStrike15_v2_MatchEndRewardDropsNotification { optional .CEconItemPreviewDataBlock iteminfo = 6; } -message CMsgItemAcknowledged { - optional .CEconItemPreviewDataBlock iteminfo = 1; -} - message CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockRequest { optional uint64 param_s = 1; optional uint64 param_a = 2; @@ -941,6 +939,7 @@ message CMsgGCCStrike15_v2_MatchList { message CMsgGCCStrike15_v2_MatchListTournamentOperatorMgmt { optional int32 eventid = 1; repeated .CDataGCCStrike15_v2_MatchInfo matches = 2; + optional uint32 accountid = 3; } message CMsgGCCStrike15_v2_Predictions { @@ -972,8 +971,24 @@ message CMsgGCCStrike15_v2_Fantasy { repeated .CMsgGCCStrike15_v2_Fantasy.FantasyTeam teams = 2; } -message CAttribute_String { - optional string value = 1; +message CMsgLegacySource1ClientWelcome { + message Location { + optional float latitude = 1; + optional float longitude = 2; + optional string country = 3; + } + + optional uint32 version = 1; + optional bytes game_data = 2; + repeated .CMsgSOCacheSubscribed outofdate_subscribed_caches = 3; + repeated .CMsgSOCacheSubscriptionCheck uptodate_subscribed_caches = 4; + optional .CMsgLegacySource1ClientWelcome.Location location = 5; + optional bytes game_data2 = 6; + optional uint32 rtime32_gc_welcome_timestamp = 7; + optional uint32 currency = 8; + optional uint32 balance = 9; + optional string balance_url = 10; + optional string txn_country_code = 11; } message CMsgCStrike15Welcome { @@ -1125,7 +1140,7 @@ message PlayerDecalDigitalSignature { optional uint32 rtime = 3; repeated float endpos = 4; repeated float startpos = 5; - repeated float right = 6; + repeated float left = 6; optional uint32 tx_defidx = 7; optional int32 entindex = 8; optional uint32 hitbox = 9; diff --git a/pkg/demoinfocs/msg/proto/cstrike15_usermessages.proto b/pkg/demoinfocs/msg/proto/cstrike15_usermessages.proto index b7d643a5..285d8a63 100644 --- a/pkg/demoinfocs/msg/proto/cstrike15_usermessages.proto +++ b/pkg/demoinfocs/msg/proto/cstrike15_usermessages.proto @@ -1,87 +1,83 @@ -import "google/protobuf/descriptor.proto"; -import "netmessages.proto"; +import "networkbasetypes.proto"; import "cstrike15_gcmessages.proto"; -option optimize_for = SPEED; -option cc_generic_services = false; - enum ECstrike15UserMessages { - CS_UM_VGUIMenu = 1; - CS_UM_Geiger = 2; - CS_UM_Train = 3; - CS_UM_HudText = 4; - CS_UM_SayText = 5; - CS_UM_SayText2 = 6; - CS_UM_TextMsg = 7; - CS_UM_HudMsg = 8; - CS_UM_ResetHud = 9; - CS_UM_GameTitle = 10; - CS_UM_Shake = 12; - CS_UM_Fade = 13; - CS_UM_Rumble = 14; - CS_UM_CloseCaption = 15; - CS_UM_CloseCaptionDirect = 16; - CS_UM_SendAudio = 17; - CS_UM_RawAudio = 18; - CS_UM_VoiceMask = 19; - CS_UM_RequestState = 20; - CS_UM_Damage = 21; - CS_UM_RadioText = 22; - CS_UM_HintText = 23; - CS_UM_KeyHintText = 24; - CS_UM_ProcessSpottedEntityUpdate = 25; - CS_UM_ReloadEffect = 26; - CS_UM_AdjustMoney = 27; - CS_UM_UpdateTeamMoney = 28; - CS_UM_StopSpectatorMode = 29; - CS_UM_KillCam = 30; - CS_UM_DesiredTimescale = 31; - CS_UM_CurrentTimescale = 32; - CS_UM_AchievementEvent = 33; - CS_UM_MatchEndConditions = 34; - CS_UM_DisconnectToLobby = 35; - CS_UM_PlayerStatsUpdate = 36; - CS_UM_DisplayInventory = 37; - CS_UM_WarmupHasEnded = 38; - CS_UM_ClientInfo = 39; - CS_UM_XRankGet = 40; - CS_UM_XRankUpd = 41; - CS_UM_CallVoteFailed = 45; - CS_UM_VoteStart = 46; - CS_UM_VotePass = 47; - CS_UM_VoteFailed = 48; - CS_UM_VoteSetup = 49; - CS_UM_ServerRankRevealAll = 50; - CS_UM_SendLastKillerDamageToClient = 51; - CS_UM_ServerRankUpdate = 52; - CS_UM_ItemPickup = 53; - CS_UM_ShowMenu = 54; - CS_UM_BarTime = 55; - CS_UM_AmmoDenied = 56; - CS_UM_MarkAchievement = 57; - CS_UM_MatchStatsUpdate = 58; - CS_UM_ItemDrop = 59; - CS_UM_GlowPropTurnOff = 60; - CS_UM_SendPlayerItemDrops = 61; - CS_UM_RoundBackupFilenames = 62; - CS_UM_SendPlayerItemFound = 63; - CS_UM_ReportHit = 64; - CS_UM_XpUpdate = 65; - CS_UM_QuestProgress = 66; - CS_UM_ScoreLeaderboardData = 67; - CS_UM_PlayerDecalDigitalSignature = 68; - CS_UM_WeaponSound = 69; - CS_UM_UpdateScreenHealthBar = 70; - CS_UM_EntityOutlineHighlight = 71; - CS_UM_SSUI = 72; - CS_UM_SurvivalStats = 73; - CS_UM_DisconnectToLobby2 = 74; - CS_UM_EndOfMatchAllPlayersData = 75; - CS_UM_RoundImpactScoreData = 79; - CS_UM_CurrentRoundOdds = 80; - CS_UM_DeepStats = 81; - CS_UM_UtilMsg = 82; - CS_UM_UtilMsg_Response = 83; + CS_UM_VGUIMenu = 301; + CS_UM_Geiger = 302; + CS_UM_Train = 303; + CS_UM_HudText = 304; + CS_UM_SayText = 305; + CS_UM_SayText2 = 306; + CS_UM_TextMsg = 307; + CS_UM_HudMsg = 308; + CS_UM_ResetHud = 309; + CS_UM_GameTitle = 310; + CS_UM_Shake = 312; + CS_UM_Fade = 313; + CS_UM_Rumble = 314; + CS_UM_CloseCaption = 315; + CS_UM_CloseCaptionDirect = 316; + CS_UM_SendAudio = 317; + CS_UM_RawAudio = 318; + CS_UM_VoiceMask = 319; + CS_UM_RequestState = 320; + CS_UM_Damage = 321; + CS_UM_RadioText = 322; + CS_UM_HintText = 323; + CS_UM_KeyHintText = 324; + CS_UM_ProcessSpottedEntityUpdate = 325; + CS_UM_ReloadEffect = 326; + CS_UM_AdjustMoney = 327; + CS_UM_UpdateTeamMoney = 328; + CS_UM_StopSpectatorMode = 329; + CS_UM_KillCam = 330; + CS_UM_DesiredTimescale = 331; + CS_UM_CurrentTimescale = 332; + CS_UM_AchievementEvent = 333; + CS_UM_MatchEndConditions = 334; + CS_UM_DisconnectToLobby = 335; + CS_UM_PlayerStatsUpdate = 336; + CS_UM_WarmupHasEnded = 338; + CS_UM_ClientInfo = 339; + CS_UM_XRankGet = 340; + CS_UM_XRankUpd = 341; + CS_UM_CallVoteFailed = 345; + CS_UM_VoteStart = 346; + CS_UM_VotePass = 347; + CS_UM_VoteFailed = 348; + CS_UM_VoteSetup = 349; + CS_UM_ServerRankRevealAll = 350; + CS_UM_SendLastKillerDamageToClient = 351; + CS_UM_ServerRankUpdate = 352; + CS_UM_ItemPickup = 353; + CS_UM_ShowMenu = 354; + CS_UM_BarTime = 355; + CS_UM_AmmoDenied = 356; + CS_UM_MarkAchievement = 357; + CS_UM_MatchStatsUpdate = 358; + CS_UM_ItemDrop = 359; + CS_UM_GlowPropTurnOff = 360; + CS_UM_SendPlayerItemDrops = 361; + CS_UM_RoundBackupFilenames = 362; + CS_UM_SendPlayerItemFound = 363; + CS_UM_ReportHit = 364; + CS_UM_XpUpdate = 365; + CS_UM_QuestProgress = 366; + CS_UM_ScoreLeaderboardData = 367; + CS_UM_PlayerDecalDigitalSignature = 368; + CS_UM_WeaponSound = 369; + CS_UM_UpdateScreenHealthBar = 370; + CS_UM_EntityOutlineHighlight = 371; + CS_UM_SSUI = 372; + CS_UM_SurvivalStats = 373; + CS_UM_DisconnectToLobby2 = 374; + CS_UM_EndOfMatchAllPlayersData = 375; + CS_UM_PostRoundDamageReport = 376; + CS_UM_RoundEndReportData = 379; + CS_UM_CurrentRoundOdds = 380; + CS_UM_DeepStats = 381; + CS_UM_UtilMsg = 382; + CS_UM_ShootInfo = 383; } enum ECSUsrMsg_DisconnectToLobby_Action { @@ -90,14 +86,14 @@ enum ECSUsrMsg_DisconnectToLobby_Action { } message CCSUsrMsg_VGUIMenu { - message Subkey { + message Keys { optional string name = 1; - optional string str = 2; + optional string value = 2; } optional string name = 1; optional bool show = 2; - repeated .CCSUsrMsg_VGUIMenu.Subkey subkeys = 3; + repeated .CCSUsrMsg_VGUIMenu.Keys keys = 3; } message CCSUsrMsg_Geiger { @@ -112,26 +108,6 @@ message CCSUsrMsg_HudText { optional string text = 1; } -message CCSUsrMsg_SayText { - optional int32 ent_idx = 1; - optional string text = 2; - optional bool chat = 3; - optional bool textallchat = 4; -} - -message CCSUsrMsg_SayText2 { - optional int32 ent_idx = 1; - optional bool chat = 2; - optional string msg_name = 3; - repeated string params = 4; - optional bool textallchat = 5; -} - -message CCSUsrMsg_TextMsg { - optional int32 msg_dst = 1; - repeated string params = 3; -} - message CCSUsrMsg_HudMsg { optional int32 channel = 1; optional .CMsgVector2D pos = 2; @@ -184,7 +160,7 @@ message CCSUsrMsg_SendAudio { message CCSUsrMsg_RawAudio { optional int32 pitch = 1; - optional int32 entidx = 2; + optional int32 entidx = 2 [default = -1]; optional float duration = 3; optional string voice_filename = 4; } @@ -202,27 +178,27 @@ message CCSUsrMsg_VoiceMask { message CCSUsrMsg_Damage { optional int32 amount = 1; optional .CMsgVector inflictor_world_pos = 2; - optional int32 victim_entindex = 3; + optional int32 victim_entindex = 3 [default = -1]; } message CCSUsrMsg_RadioText { optional int32 msg_dst = 1; - optional int32 client = 2; + optional int32 client = 2 [default = -1]; optional string msg_name = 3; repeated string params = 4; } message CCSUsrMsg_HintText { - optional string text = 1; + optional string message = 1; } message CCSUsrMsg_KeyHintText { - repeated string hints = 1; + repeated string messages = 1; } message CCSUsrMsg_ProcessSpottedEntityUpdate { message SpottedEntityUpdate { - optional int32 entity_idx = 1; + optional int32 entity_idx = 1 [default = -1]; optional int32 class_id = 2; optional int32 origin_x = 3; optional int32 origin_y = 4; @@ -243,11 +219,11 @@ message CCSUsrMsg_SendPlayerItemDrops { message CCSUsrMsg_SendPlayerItemFound { optional .CEconItemPreviewDataBlock iteminfo = 1; - optional int32 entindex = 2; + optional int32 playerslot = 2 [default = -1]; } message CCSUsrMsg_ReloadEffect { - optional int32 entidx = 1; + optional int32 entidx = 1 [default = -1]; optional int32 actanim = 2; optional float origin_x = 3; optional float origin_y = 4; @@ -255,23 +231,24 @@ message CCSUsrMsg_ReloadEffect { } message CCSUsrMsg_WeaponSound { - optional int32 entidx = 1; + optional int32 entidx = 1 [default = -1]; optional float origin_x = 2; optional float origin_y = 3; optional float origin_z = 4; optional string sound = 5; - optional float timestamp = 6; + optional float game_timestamp = 6; + optional fixed32 source_soundscapeid = 7; } message CCSUsrMsg_UpdateScreenHealthBar { - optional int32 entidx = 1; + optional int32 entidx = 1 [default = -1]; optional float healthratio_old = 2; optional float healthratio_new = 3; optional int32 style = 4; } message CCSUsrMsg_EntityOutlineHighlight { - optional int32 entidx = 1; + optional int32 entidx = 1 [default = -1]; optional bool removehighlight = 2; } @@ -288,8 +265,8 @@ message CCSUsrMsg_ReportHit { message CCSUsrMsg_KillCam { optional int32 obs_mode = 1; - optional int32 first_target = 2; - optional int32 second_target = 3; + optional int32 first_target = 2 [default = -1]; + optional int32 second_target = 3 [default = -1]; } message CCSUsrMsg_DesiredTimescale { @@ -313,7 +290,7 @@ message CCSUsrMsg_MatchEndConditions { optional int32 fraglimit = 1; optional int32 mp_maxrounds = 2; optional int32 mp_winlimit = 3; - optional int32 mp_timelimit = 4; + optional float mp_timelimit = 4; } message CCSUsrMsg_PlayerStatsUpdate { @@ -324,15 +301,10 @@ message CCSUsrMsg_PlayerStatsUpdate { optional int32 version = 1; repeated .CCSUsrMsg_PlayerStatsUpdate.Stat stats = 4; - optional int32 user_id = 5; + optional uint32 ehandle = 5; optional int32 crc = 6; } -message CCSUsrMsg_DisplayInventory { - optional bool display = 1; - optional int32 user_id = 2; -} - message CCSUsrMsg_QuestProgress { optional uint32 quest_id = 1; optional uint32 normal_points = 2; @@ -366,13 +338,13 @@ message CCSUsrMsg_CallVoteFailed { message CCSUsrMsg_VoteStart { optional int32 team = 1; - optional int32 ent_idx = 2; + optional int32 player_slot = 2 [default = -1]; optional int32 vote_type = 3; optional string disp_str = 4; optional string details_str = 5; optional string other_team_str = 6; optional bool is_yes_no_vote = 7; - optional int32 entidx_target = 8; + optional int32 player_slot_target = 8 [default = -1]; } message CCSUsrMsg_VotePass { @@ -396,6 +368,8 @@ message CCSUsrMsg_SendLastKillerDamageToClient { optional int32 damage_given = 2; optional int32 num_hits_taken = 3; optional int32 damage_taken = 4; + optional int32 actual_damage_given = 5; + optional int32 actual_damage_taken = 6; } message CCSUsrMsg_ServerRankUpdate { @@ -430,7 +404,7 @@ message CCSUsrMsg_BarTime { } message CCSUsrMsg_AmmoDenied { - optional int32 ammoIdx = 1; + optional int32 ammoidx = 1; } message CCSUsrMsg_MarkAchievement { @@ -447,7 +421,7 @@ message CCSUsrMsg_ItemDrop { } message CCSUsrMsg_GlowPropTurnOff { - optional int32 entidx = 1; + optional int32 entidx = 1 [default = -1]; } message CCSUsrMsg_RoundBackupFilenames { @@ -500,7 +474,7 @@ message CCSUsrMsg_EndOfMatchAllPlayersData { } message PlayerData { - optional int32 entindex = 1; + optional int32 slot = 1 [default = -1]; optional uint64 xuid = 2; optional string name = 3; optional int32 teamnumber = 4; @@ -514,11 +488,11 @@ message CCSUsrMsg_EndOfMatchAllPlayersData { optional int32 scene = 2; } -message CCSUsrMsg_RoundImpactScoreData { - message RisEvent { +message CCSUsrMsg_RoundEndReportData { + message RerEvent { message Victim { optional int32 team_number = 1; - optional int32 entindex = 2; + optional int32 playerslot = 2 [default = -1]; optional uint64 xuid = 3; optional int32 color = 4; optional bool is_bot = 5; @@ -530,21 +504,21 @@ message CCSUsrMsg_RoundImpactScoreData { } message Damage { - optional int32 target_entindex = 1; - optional uint64 target_xuid = 2; + optional int32 other_playerslot = 1 [default = -1]; + optional uint64 other_xuid = 2; optional int32 health_removed = 3; optional int32 num_hits = 4; optional int32 return_health_removed = 5; - optional int32 num_return_hits = 6; + optional int32 return_num_hits = 6; } optional float timestamp = 1; optional int32 terrorist_odds = 2; optional int32 ct_alive = 3; optional int32 t_alive = 4; - optional .CCSUsrMsg_RoundImpactScoreData.RisEvent.Victim victim_data = 5; - optional .CCSUsrMsg_RoundImpactScoreData.RisEvent.Objective objective_data = 6; - repeated .CCSUsrMsg_RoundImpactScoreData.RisEvent.Damage all_damage_data = 7; + optional .CCSUsrMsg_RoundEndReportData.RerEvent.Victim victim_data = 5; + optional .CCSUsrMsg_RoundEndReportData.RerEvent.Objective objective_data = 6; + repeated .CCSUsrMsg_RoundEndReportData.RerEvent.Damage all_damage_data = 7; } message InitialConditions { @@ -553,8 +527,18 @@ message CCSUsrMsg_RoundImpactScoreData { optional int32 terrorist_odds = 3; } - optional .CCSUsrMsg_RoundImpactScoreData.InitialConditions init_conditions = 1; - repeated .CCSUsrMsg_RoundImpactScoreData.RisEvent all_ris_event_data = 2; + optional .CCSUsrMsg_RoundEndReportData.InitialConditions init_conditions = 1; + repeated .CCSUsrMsg_RoundEndReportData.RerEvent all_rer_event_data = 2; +} + +message CCSUsrMsg_PostRoundDamageReport { + optional uint64 other_xuid = 1; + optional int32 given_kill_type = 2; + optional int32 given_health_removed = 3; + optional int32 given_num_hits = 4; + optional int32 taken_kill_type = 5; + optional int32 taken_health_removed = 6; + optional int32 taken_num_hits = 7; } message CCSUsrMsg_CurrentRoundOdds { @@ -565,6 +549,13 @@ message CCSUsrMsg_DeepStats { optional .CMsgGCCStrike15_ClientDeepStats stats = 1; } +message CCSUsrMsg_ShootInfo { + optional int32 frame_number = 1; + repeated .CMsgTransform hitbox_transforms = 2; + optional .CMsgVector shoot_pos = 3; + optional .CMsgQAngle shoot_dir = 4; +} + message CCSUsrMsg_ResetHud { optional bool reset = 1; } @@ -598,31 +589,8 @@ message CCSUsrMsg_ServerRankRevealAll { optional .CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve reservation = 2; } -message CCSUsrMsg_UtilMsg { - optional string util_action = 1; - optional int32 util1 = 2; - optional int32 util2 = 3; - optional int32 util3 = 4; - optional int32 util4 = 5; - optional int32 util5 = 6; -} - -message CCSUsrMsg_UtilMsg_Response { - message ItemDetail { - optional int32 index = 1; - optional int32 hash = 2; - optional int32 crc = 3; - optional string name = 4; - } - - optional fixed32 crc = 1; - optional int32 item_count = 2; - optional fixed32 crc2 = 3; - optional int32 item_count2 = 4; - repeated int32 crc_part = 5; - repeated int32 crc_part2 = 6; - optional int32 client_timestamp = 7; - optional int32 platform = 8; - repeated .CCSUsrMsg_UtilMsg_Response.ItemDetail itemdetails = 9; - optional int32 itemgroup = 10; +message CCSUsrMsgPreMatchSayText { + optional uint32 account_id = 1; + optional string text = 2; + optional bool all_chat = 3; } diff --git a/pkg/demoinfocs/msg/proto/engine_gcmessages.proto b/pkg/demoinfocs/msg/proto/engine_gcmessages.proto index 5797bd0c..7f81bb6a 100644 --- a/pkg/demoinfocs/msg/proto/engine_gcmessages.proto +++ b/pkg/demoinfocs/msg/proto/engine_gcmessages.proto @@ -1,7 +1,5 @@ import "google/protobuf/descriptor.proto"; -option cc_generic_services = false; - message CEngineGotvSyncPacket { optional uint64 match_id = 1; optional uint32 instance_id = 2; diff --git a/pkg/demoinfocs/msg/proto/gcsdk_gcmessages.proto b/pkg/demoinfocs/msg/proto/gcsdk_gcmessages.proto new file mode 100644 index 00000000..ef5f9aef --- /dev/null +++ b/pkg/demoinfocs/msg/proto/gcsdk_gcmessages.proto @@ -0,0 +1,323 @@ +import "steammessages.proto"; + +enum GCClientLauncherType { + GCClientLauncherType_DEFAULT = 0; + GCClientLauncherType_PERFECTWORLD = 1; + GCClientLauncherType_STEAMCHINA = 2; +} + +enum GCConnectionStatus { + GCConnectionStatus_HAVE_SESSION = 0; + GCConnectionStatus_GC_GOING_DOWN = 1; + GCConnectionStatus_NO_SESSION = 2; + GCConnectionStatus_NO_SESSION_IN_LOGON_QUEUE = 3; + GCConnectionStatus_NO_STEAM = 4; +} + +message CMsgSOIDOwner { + optional uint32 type = 1; + optional uint64 id = 2; +} + +message CMsgSOSingleObject { + optional int32 type_id = 2; + optional bytes object_data = 3; + optional fixed64 version = 4; + optional .CMsgSOIDOwner owner_soid = 5; +} + +message CMsgSOMultipleObjects { + message SingleObject { + option (msgpool_soft_limit) = 256; + option (msgpool_hard_limit) = 1024; + + optional int32 type_id = 1; + optional bytes object_data = 2; + } + + repeated .CMsgSOMultipleObjects.SingleObject objects_modified = 2; + optional fixed64 version = 3; + optional .CMsgSOIDOwner owner_soid = 6; +} + +message CMsgSOCacheSubscribed { + message SubscribedType { + optional int32 type_id = 1; + repeated bytes object_data = 2; + } + + repeated .CMsgSOCacheSubscribed.SubscribedType objects = 2; + optional fixed64 version = 3; + optional .CMsgSOIDOwner owner_soid = 4; +} + +message CMsgSOCacheUnsubscribed { + optional .CMsgSOIDOwner owner_soid = 2; +} + +message CMsgSOCacheSubscriptionCheck { + optional fixed64 version = 2; + optional .CMsgSOIDOwner owner_soid = 3; +} + +message CMsgSOCacheSubscriptionRefresh { + optional .CMsgSOIDOwner owner_soid = 2; +} + +message CMsgSOCacheVersion { + optional fixed64 version = 1; +} + +message CMsgAccountDetails { + optional bool valid = 1; + optional string account_name = 2; + optional bool public_profile = 4; + optional bool public_inventory = 5; + optional bool vac_banned = 6; + optional bool cyber_cafe = 7; + optional bool school_account = 8; + optional bool free_trial_account = 9; + optional bool subscribed = 10; + optional bool low_violence = 11; + optional bool limited = 12; + optional bool trusted = 13; + optional uint32 package = 14; + optional fixed32 time_cached = 15; + optional bool account_locked = 16; + optional bool community_banned = 17; + optional bool trade_banned = 18; + optional bool eligible_for_community_market = 19; +} + +message CMsgGCMultiplexMessage { + optional uint32 msgtype = 1; + optional bytes payload = 2; + repeated fixed64 steamids = 3; + optional bool replytogc = 4; +} + +message CMsgGCMultiplexMessage_Response { + optional uint32 msgtype = 1; +} + +message CGCToGCMsgMasterAck { + optional uint32 dir_index = 1; + optional uint32 gc_type = 2; +} + +message CGCToGCMsgMasterAck_Response { + optional int32 eresult = 1 [default = 2]; +} + +message CGCToGCMsgMasterStartupComplete { +} + +message CGCToGCMsgRouted { + optional uint32 msg_type = 1; + optional fixed64 sender_id = 2; + optional bytes net_message = 3; + optional uint32 ip = 4; +} + +message CGCToGCMsgRoutedReply { + optional uint32 msg_type = 1; + optional bytes net_message = 2; +} + +message CMsgGCUpdateSessionIP { + optional fixed64 steamid = 1; + optional fixed32 ip = 2; +} + +message CMsgGCRequestSessionIP { + optional fixed64 steamid = 1; +} + +message CMsgGCRequestSessionIPResponse { + optional fixed32 ip = 1; +} + +message CMsgSOCacheHaveVersion { + optional .CMsgSOIDOwner soid = 1; + optional fixed64 version = 2; +} + +message CMsgClientHello { + optional uint32 version = 1; + repeated .CMsgSOCacheHaveVersion socache_have_versions = 2; + optional uint32 client_session_need = 3; + optional uint32 client_launcher = 4; + optional uint32 partner_srcid = 5; + optional uint32 partner_accountid = 6; + optional uint32 partner_accountflags = 7; + optional uint32 partner_accountbalance = 8; + optional uint32 steam_launcher = 9; +} + +message CMsgServerHello { + optional uint32 version = 1; + repeated .CMsgSOCacheHaveVersion socache_have_versions = 2; + optional uint32 legacy_client_session_need = 3; + optional uint32 client_launcher = 4; + optional bytes legacy_steamdatagram_routing = 6; + optional uint32 required_internal_addr = 7; + optional bytes steamdatagram_login = 8; +} + +message CMsgClientWelcome { + message Location { + optional float latitude = 1; + optional float longitude = 2; + optional string country = 3; + } + + optional uint32 version = 1; + optional bytes game_data = 2; + repeated .CMsgSOCacheSubscribed outofdate_subscribed_caches = 3; + repeated .CMsgSOCacheSubscriptionCheck uptodate_subscribed_caches = 4; + optional .CMsgClientWelcome.Location location = 5; + optional bytes game_data2 = 6; + optional uint32 rtime32_gc_welcome_timestamp = 7; + optional uint32 currency = 8; + optional uint32 balance = 9; + optional string balance_url = 10; + optional string txn_country_code = 11; +} + +message CMsgConnectionStatus { + optional .GCConnectionStatus status = 1 [default = GCConnectionStatus_HAVE_SESSION]; + optional uint32 client_session_need = 2; + optional int32 queue_position = 3; + optional int32 queue_size = 4; + optional int32 wait_seconds = 5; + optional int32 estimated_wait_seconds_remaining = 6; +} + +message CWorkshop_PopulateItemDescriptions_Request { + message SingleItemDescription { + optional uint32 gameitemid = 1; + optional string item_description = 2; + optional bool one_per_account = 3; + } + + message ItemDescriptionsLanguageBlock { + optional string language = 1; + repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2; + } + + optional uint32 appid = 1; + repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2; +} + +message CWorkshop_GetContributors_Request { + optional uint32 appid = 1; + optional uint32 gameitemid = 2; +} + +message CWorkshop_GetContributors_Response { + repeated fixed64 contributors = 1; +} + +message CWorkshop_SetItemPaymentRules_Request { + message WorkshopItemPaymentRule { + optional uint64 workshop_file_id = 1; + optional float revenue_percentage = 2; + optional string rule_description = 3; + optional uint32 rule_type = 4 [default = 1]; + } + + message WorkshopDirectPaymentRule { + optional uint64 workshop_file_id = 1; + optional string rule_description = 2; + } + + message PartnerItemPaymentRule { + optional uint32 account_id = 1; + optional float revenue_percentage = 2; + optional string rule_description = 3; + } + + optional uint32 appid = 1; + optional uint32 gameitemid = 2; + repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3; + repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4; + optional bool validate_only = 5; + optional bool make_workshop_files_subscribable = 6; + optional .CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule associated_workshop_file_for_direct_payments = 7; +} + +message CWorkshop_SetItemPaymentRules_Response { +} + +message CGameServers_AggregationQuery_Request { + optional string filter = 1; + repeated string group_fields = 3; +} + +message CGameServers_AggregationQuery_Response { + message Group { + repeated string group_values = 1; + optional uint32 servers_empty = 2; + optional uint32 servers_full = 3; + optional uint32 servers_total = 4; + optional uint32 players_humans = 5; + optional uint32 players_bots = 6; + optional uint32 player_capacity = 7; + } + + repeated .CGameServers_AggregationQuery_Response.Group groups = 1; +} + +message CWorkshop_AddSpecialPayment_Request { + optional uint32 appid = 1; + optional uint32 gameitemid = 2; + optional string date = 3; + optional uint64 payment_us_usd = 4; + optional uint64 payment_row_usd = 5; +} + +message CWorkshop_AddSpecialPayment_Response { +} + +message CProductInfo_SetRichPresenceLocalization_Request { + message Token { + optional string token = 1; + optional string value = 2; + } + + message LanguageSection { + optional string language = 1; + repeated .CProductInfo_SetRichPresenceLocalization_Request.Token tokens = 2; + } + + optional uint32 appid = 1; + repeated .CProductInfo_SetRichPresenceLocalization_Request.LanguageSection languages = 2; + optional uint64 steamid = 3; +} + +message CProductInfo_SetRichPresenceLocalization_Response { +} + +message CMsgSerializedSOCache { + message TypeCache { + optional uint32 type = 1; + repeated bytes objects = 2; + optional uint32 service_id = 3; + } + + message Cache { + message Version { + optional uint32 service = 1; + optional uint64 version = 2; + } + + optional uint32 type = 1; + optional uint64 id = 2; + repeated .CMsgSerializedSOCache.Cache.Version versions = 3; + repeated .CMsgSerializedSOCache.TypeCache type_caches = 4; + } + + optional uint32 file_version = 1; + repeated .CMsgSerializedSOCache.Cache caches = 2; + optional uint32 gc_socache_file_version = 3; +} diff --git a/pkg/demoinfocs/msg/proto/netmessages.proto b/pkg/demoinfocs/msg/proto/netmessages.proto index 692495a5..8d1390a2 100644 --- a/pkg/demoinfocs/msg/proto/netmessages.proto +++ b/pkg/demoinfocs/msg/proto/netmessages.proto @@ -1,32 +1,56 @@ -import "google/protobuf/descriptor.proto"; +import "networkbasetypes.proto"; -option cc_generic_services = false; - -enum NET_Messages { - net_NOP = 0; - net_Disconnect = 1; - net_File = 2; - net_SplitScreenUser = 3; - net_Tick = 4; - net_StringCmd = 5; - net_SetConVar = 6; - net_SignonState = 7; - net_PlayerAvatarData = 100; +enum CLC_Messages { + 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; } -enum CLC_Messages { - clc_ClientInfo = 8; - clc_Move = 9; - clc_VoiceData = 10; - clc_BaselineAck = 11; - clc_ListenEvents = 12; - clc_RespondCvarValue = 13; - clc_FileCRCCheck = 14; - clc_LoadingProgress = 15; - clc_SplitPlayerConnect = 16; - clc_ClientMessage = 17; - clc_CmdKeyValues = 18; - clc_HltvReplay = 20; +enum SVC_Messages { + 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; } enum VoiceDataFormat_t { @@ -34,156 +58,86 @@ enum VoiceDataFormat_t { VOICEDATA_FORMAT_ENGINE = 1; } -enum ESplitScreenMessageType { - option allow_alias = true; - MSG_SPLITSCREEN_ADDUSER = 0; - MSG_SPLITSCREEN_REMOVEUSER = 1; - MSG_SPLITSCREEN_TYPE_BITS = 1; -} - -enum SVC_Messages { - svc_ServerInfo = 8; - svc_SendTable = 9; - svc_ClassInfo = 10; - svc_SetPause = 11; - svc_CreateStringTable = 12; - svc_UpdateStringTable = 13; - svc_VoiceInit = 14; - svc_VoiceData = 15; - svc_Print = 16; - svc_Sounds = 17; - svc_SetView = 18; - svc_FixAngle = 19; - svc_CrosshairAngle = 20; - svc_BSPDecal = 21; - svc_SplitScreen = 22; - svc_UserMessage = 23; - svc_EntityMessage = 24; - svc_GameEvent = 25; - svc_PacketEntities = 26; - svc_TempEntities = 27; - svc_Prefetch = 28; - svc_Menu = 29; - svc_GameEventList = 30; - svc_GetCvarValue = 31; - svc_PaintmapData = 33; - svc_CmdKeyValues = 34; - svc_EncryptedData = 35; - svc_HltvReplay = 36; - svc_Broadcast_Command = 38; -} - -enum ReplayEventType_t { - REPLAY_EVENT_CANCEL = 0; - REPLAY_EVENT_DEATH = 1; - REPLAY_EVENT_GENERIC = 2; - REPLAY_EVENT_STUCK_NEED_FULL_UPDATE = 3; -} - -message CMsgVector { - optional float x = 1; - optional float y = 2; - optional float z = 3; -} - -message CMsgVector2D { - optional float x = 1; - optional float y = 2; -} - -message CMsgQAngle { - optional float x = 1; - optional float y = 2; - optional float z = 3; +enum RequestPause_t { + RP_PAUSE = 0; + RP_UNPAUSE = 1; + RP_TOGGLEPAUSE = 2; } -message CMsgRGBA { - optional int32 r = 1; - optional int32 g = 2; - optional int32 b = 3; - optional int32 a = 4; +enum PrefetchType { + PFT_SOUND = 0; } -message CNETMsg_Tick { - optional uint32 tick = 1; - optional uint32 host_computationtime = 4; - optional uint32 host_computationtime_std_deviation = 5; - optional uint32 host_framestarttime_std_deviation = 6; - optional uint32 hltv_replay_flags = 7; -} - -message CNETMsg_StringCmd { - optional string command = 1; -} - -message CNETMsg_SignonState { - optional uint32 signon_state = 1; - optional uint32 spawn_count = 2; - optional uint32 num_server_players = 3; - repeated string players_networkids = 4; - optional string map_name = 5; -} - -message CMsg_CVars { - message CVar { - optional string name = 1; - optional string value = 2; - optional uint32 dictionary_name = 3; - } - - repeated .CMsg_CVars.CVar cvars = 1; +enum ESplitScreenMessageType { + MSG_SPLITSCREEN_ADDUSER = 0; + MSG_SPLITSCREEN_REMOVEUSER = 1; } -message CNETMsg_SetConVar { - optional .CMsg_CVars convars = 1; +enum EQueryCvarValueStatus { + eQueryCvarValueStatus_ValueIntact = 0; + eQueryCvarValueStatus_CvarNotFound = 1; + eQueryCvarValueStatus_NotACvar = 2; + eQueryCvarValueStatus_CvarProtected = 3; } -message CNETMsg_NOP { +enum DIALOG_TYPE { + DIALOG_MSG = 0; + DIALOG_MENU = 1; + DIALOG_TEXT = 2; + DIALOG_ENTRY = 3; + DIALOG_ASKCONNECT = 4; } -message CNETMsg_Disconnect { - optional string text = 1; +enum SVC_Messages_LowFrequency { + svc_dummy = 600; } -message CNETMsg_File { - optional int32 transfer_id = 1; - optional string file_name = 2; - optional bool is_replay_demo_file = 3; - optional bool deny = 4; +enum Bidirectional_Messages { + bi_RebroadcastGameEvent = 16; + bi_RebroadcastSource = 17; + bi_GameEvent = 18; } -message CNETMsg_SplitScreenUser { - optional int32 slot = 1; +enum Bidirectional_Messages_LowFrequency { + bi_RelayInfo = 700; + bi_RelayPacket = 701; } -message CNETMsg_PlayerAvatarData { - optional uint32 accountid = 1; - optional bytes rgb = 2; +enum ReplayEventType_t { + REPLAY_EVENT_CANCEL = 0; + REPLAY_EVENT_DEATH = 1; + REPLAY_EVENT_GENERIC = 2; + REPLAY_EVENT_STUCK_NEED_FULL_UPDATE = 3; + REPLAY_EVENT_VICTORY = 4; } message CCLCMsg_ClientInfo { optional fixed32 send_table_crc = 1; optional uint32 server_count = 2; optional bool is_hltv = 3; - optional bool is_replay = 4; optional uint32 friends_id = 5; optional string friends_name = 6; - repeated fixed32 custom_files = 7; } message CCLCMsg_Move { - optional uint32 num_backup_commands = 1; - optional uint32 num_new_commands = 2; optional bytes data = 3; + optional uint32 command_number = 4; + optional uint32 num_commands = 5; +} + +message CMsgVoiceAudio { + optional .VoiceDataFormat_t format = 1 [default = VOICEDATA_FORMAT_STEAM]; + optional bytes voice_data = 2; + optional int32 sequence_bytes = 3; + optional uint32 section_number = 4; + optional uint32 sample_rate = 5; + optional uint32 uncompressed_sample_offset = 6; } message CCLCMsg_VoiceData { - optional bytes data = 1; + optional .CMsgVoiceAudio audio = 1; optional fixed64 xuid = 2; - optional .VoiceDataFormat_t format = 3 [default = VOICEDATA_FORMAT_ENGINE]; - optional int32 sequence_bytes = 4; - optional uint32 section_number = 5; - optional uint32 uncompressed_sample_offset = 6; + optional uint32 tick = 3; } message CCLCMsg_BaselineAck { @@ -207,13 +161,7 @@ message CCLCMsg_FileCRCCheck { optional string path = 2; optional int32 code_filename = 3; optional string filename = 4; - optional int32 file_fraction = 5; - optional bytes md5 = 6; - optional uint32 crc = 7; - optional int32 file_hash_type = 8; - optional int32 file_len = 9; - optional int32 pack_file_id = 10; - optional int32 pack_file_number = 11; + optional fixed32 crc = 5; } message CCLCMsg_LoadingProgress { @@ -221,42 +169,60 @@ message CCLCMsg_LoadingProgress { } message CCLCMsg_SplitPlayerConnect { - optional .CMsg_CVars convars = 1; + optional string playername = 1; +} + +message CCLCMsg_ClientMessage { + optional int32 msg_type = 1; + optional bytes data = 2; +} + +message CCLCMsg_SplitPlayerDisconnect { + optional int32 slot = 1; +} + +message CCLCMsg_ServerStatus { + optional bool simplified = 1; +} + +message CCLCMsg_ServerPing { +} + +message CCLCMsg_RequestPause { + optional .RequestPause_t pause_type = 1 [default = RP_PAUSE]; + optional int32 pause_group = 2; } message CCLCMsg_CmdKeyValues { - optional bytes keyvalues = 1; + optional bytes data = 1; +} + +message CCLCMsg_RconServerDetails { + optional bytes token = 1; } message CSVCMsg_ServerInfo { optional int32 protocol = 1; optional int32 server_count = 2; optional bool is_dedicated = 3; - optional bool is_official_valve_server = 4; - optional bool is_hltv = 5; - optional bool is_replay = 6; - optional bool is_redirecting_to_proxy_relay = 21; - optional int32 c_os = 7; - optional fixed32 map_crc = 8; - optional fixed32 client_crc = 9; - optional fixed32 string_table_crc = 10; - optional int32 max_clients = 11; - optional int32 max_classes = 12; - optional int32 player_slot = 13; - optional float tick_interval = 14; - optional string game_dir = 15; - optional string map_name = 16; - optional string map_group_name = 17; - optional string sky_name = 18; - optional string host_name = 19; - optional uint32 public_ip = 20; - optional uint64 ugc_map_id = 22; + optional bool is_hltv = 4; + optional int32 c_os = 6; + optional int32 max_clients = 10; + optional int32 max_classes = 11; + optional int32 player_slot = 12 [default = -1]; + optional float tick_interval = 13; + optional string game_dir = 14; + optional string map_name = 15; + optional string sky_name = 16; + optional string host_name = 17; + optional string addon_name = 18; + optional .CSVCMsg_GameSessionConfiguration game_session_config = 19; + optional bytes game_session_manifest = 20; } message CSVCMsg_ClassInfo { message class_t { optional int32 class_id = 1; - optional string data_table_name = 2; optional string class_name = 3; } @@ -264,71 +230,55 @@ message CSVCMsg_ClassInfo { repeated .CSVCMsg_ClassInfo.class_t classes = 2; } -message CSVCMsg_SendTable { - message sendprop_t { - optional int32 type = 1; - optional string var_name = 2; - optional int32 flags = 3; - optional int32 priority = 4; - optional string dt_name = 5; - optional int32 num_elements = 6; - optional float low_value = 7; - optional float high_value = 8; - optional int32 num_bits = 9; - } - - optional bool is_end = 1; - optional string net_table_name = 2; - optional bool needs_decoder = 3; - repeated .CSVCMsg_SendTable.sendprop_t props = 4; -} - -message CSVCMsg_Print { - optional string text = 1; -} - message CSVCMsg_SetPause { optional bool paused = 1; } -message CSVCMsg_SetView { - optional int32 entity_index = 1; +message CSVCMsg_VoiceInit { + optional int32 quality = 1; + optional string codec = 2; + optional int32 version = 3 [default = 0]; } -message CSVCMsg_CreateStringTable { - optional string name = 1; - optional int32 max_entries = 2; - optional int32 num_entries = 3; - optional bool user_data_fixed_size = 4; - optional int32 user_data_size = 5; - optional int32 user_data_size_bits = 6; - optional int32 flags = 7; - optional bytes string_data = 8; +message CSVCMsg_Print { + optional string text = 1; } -message CSVCMsg_UpdateStringTable { - optional int32 table_id = 1; - optional int32 num_changed_entries = 2; - optional bytes string_data = 3; +message CSVCMsg_Sounds { + message sounddata_t { + optional sint32 origin_x = 1; + optional sint32 origin_y = 2; + optional sint32 origin_z = 3; + optional uint32 volume = 4; + optional float delay_value = 5; + optional int32 sequence_number = 6; + optional int32 entity_index = 7 [default = -1]; + optional int32 channel = 8; + optional int32 pitch = 9; + optional int32 flags = 10; + optional uint32 sound_num = 11; + optional fixed32 sound_num_handle = 12; + optional int32 speaker_entity = 13; + optional int32 random_seed = 14; + optional int32 sound_level = 15; + optional bool is_sentence = 16; + optional bool is_ambient = 17; + optional uint32 guid = 18; + optional fixed64 sound_resource_id = 19; + } + + optional bool reliable_sound = 1; + repeated .CSVCMsg_Sounds.sounddata_t sounds = 2; } -message CSVCMsg_VoiceInit { - optional int32 quality = 1; - optional string codec = 2; - optional int32 version = 3 [default = 0]; +message CSVCMsg_Prefetch { + optional int32 sound_index = 1; + optional .PrefetchType resource_type = 2 [default = PFT_SOUND]; } -message CSVCMsg_VoiceData { - optional int32 client = 1; - optional bool proximity = 2; - optional fixed64 xuid = 3; - optional int32 audible_mask = 4; - optional bytes voice_data = 5; - optional bool caster = 6; - optional .VoiceDataFormat_t format = 7 [default = VOICEDATA_FORMAT_ENGINE]; - optional int32 sequence_bytes = 8; - optional uint32 section_number = 9; - optional uint32 uncompressed_sample_offset = 10; +message CSVCMsg_SetView { + optional int32 entity_index = 1 [default = -1]; + optional int32 slot = 2 [default = -1]; } message CSVCMsg_FixAngle { @@ -340,14 +290,10 @@ message CSVCMsg_CrosshairAngle { optional .CMsgQAngle angle = 1; } -message CSVCMsg_Prefetch { - optional int32 sound_index = 1; -} - message CSVCMsg_BSPDecal { optional .CMsgVector pos = 1; optional int32 decal_texture_index = 2; - optional int32 entity_index = 3; + optional int32 entity_index = 3 [default = -1]; optional int32 model_index = 4; optional bool low_priority = 5; } @@ -355,7 +301,7 @@ message CSVCMsg_BSPDecal { message CSVCMsg_SplitScreen { optional .ESplitScreenMessageType type = 1 [default = MSG_SPLITSCREEN_ADDUSER]; optional int32 slot = 2; - optional int32 player_index = 3; + optional int32 player_index = 3 [default = -1]; } message CSVCMsg_GetCvarValue { @@ -374,27 +320,23 @@ message CSVCMsg_UserMessage { optional int32 passthrough = 3; } -message CSVCMsg_PaintmapData { - optional bytes paintmap = 1; -} - -message CSVCMsg_GameEvent { - message key_t { +message CSVCMsg_SendTable { + message sendprop_t { optional int32 type = 1; - optional string val_string = 2; - optional float val_float = 3; - optional int32 val_long = 4; - optional int32 val_short = 5; - optional int32 val_byte = 6; - optional bool val_bool = 7; - optional uint64 val_uint64 = 8; - optional bytes val_wstring = 9; + optional string var_name = 2; + optional int32 flags = 3; + optional int32 priority = 4; + optional string dt_name = 5; + optional int32 num_elements = 6; + optional float low_value = 7; + optional float high_value = 8; + optional int32 num_bits = 9; } - optional string event_name = 1; - optional int32 eventid = 2; - repeated .CSVCMsg_GameEvent.key_t keys = 3; - optional int32 passthrough = 4; + optional bool is_end = 1; + optional string net_table_name = 2; + optional bool needs_decoder = 3; + repeated .CSVCMsg_SendTable.sendprop_t props = 4; } message CSVCMsg_GameEventList { @@ -412,13 +354,20 @@ message CSVCMsg_GameEventList { repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1; } -message CSVCMsg_TempEntities { - optional bool reliable = 1; - optional int32 num_entries = 2; - optional bytes entity_data = 3; -} - message CSVCMsg_PacketEntities { + message command_queue_info_t { + optional uint32 commands_queued = 1; + optional uint32 command_queue_desired_size = 2; + optional uint32 starved_command_ticks = 3; + optional float time_dilation_percent = 4; + optional uint32 discarded_command_ticks = 5; + } + + message alternate_baseline_t { + optional int32 entity_index = 1; + optional int32 baseline_index = 2; + } + optional int32 max_entries = 1; optional int32 updated_entries = 2; optional bool is_delta = 3; @@ -426,66 +375,229 @@ message CSVCMsg_PacketEntities { optional int32 baseline = 5; optional int32 delta_from = 6; optional bytes entity_data = 7; + optional bool pending_full_frame = 8; + optional uint32 active_spawngroup_handle = 9; + optional uint32 max_spawngroup_creationsequence = 10; + optional uint32 last_cmd_number = 11; + optional uint32 server_tick = 12; + optional bytes serialized_entities = 13; + optional .CSVCMsg_PacketEntities.command_queue_info_t command_queue_info = 14; + repeated .CSVCMsg_PacketEntities.alternate_baseline_t alternate_baselines = 15; } -message CSVCMsg_Sounds { - message sounddata_t { - optional sint32 origin_x = 1; - optional sint32 origin_y = 2; - optional sint32 origin_z = 3; - optional uint32 volume = 4; - optional float delay_value = 5; - optional int32 sequence_number = 6; - optional int32 entity_index = 7; - optional int32 channel = 8; - optional int32 pitch = 9; - optional int32 flags = 10; - optional uint32 sound_num = 11; - optional fixed32 sound_num_handle = 12; - optional int32 speaker_entity = 13; - optional int32 random_seed = 14; - optional int32 sound_level = 15; - optional bool is_sentence = 16; - optional bool is_ambient = 17; - } +message CSVCMsg_TempEntities { + optional bool reliable = 1; + optional int32 num_entries = 2; + optional bytes entity_data = 3; +} - optional bool reliable_sound = 1; - repeated .CSVCMsg_Sounds.sounddata_t sounds = 2; +message CSVCMsg_CreateStringTable { + optional string name = 1; + optional int32 num_entries = 2; + optional bool user_data_fixed_size = 3; + optional int32 user_data_size = 4; + optional int32 user_data_size_bits = 5; + optional int32 flags = 6; + optional bytes string_data = 7; + optional int32 uncompressed_size = 8; + optional bool data_compressed = 9; + optional bool using_varint_bitcounts = 10; +} + +message CSVCMsg_UpdateStringTable { + optional int32 table_id = 1; + optional int32 num_changed_entries = 2; + optional bytes string_data = 3; +} + +message CSVCMsg_VoiceData { + optional .CMsgVoiceAudio audio = 1; + optional int32 client = 2 [default = -1]; + optional bool proximity = 3; + optional fixed64 xuid = 4; + optional int32 audible_mask = 5; + optional uint32 tick = 6; + optional int32 passthrough = 7; +} + +message CSVCMsg_PacketReliable { + optional int32 tick = 1; + optional int32 messagessize = 2; + optional bool state = 3; +} + +message CSVCMsg_FullFrameSplit { + optional int32 tick = 1; + optional int32 section = 2; + optional int32 total = 3; + optional bytes data = 4; } -message CSVCMsg_EntityMsg { - optional int32 ent_index = 1; - optional int32 class_id = 2; - optional bytes ent_data = 3; +message CSVCMsg_HLTVStatus { + optional string master = 1; + optional int32 clients = 2; + optional int32 slots = 3; + optional int32 proxies = 4; +} + +message CSVCMsg_ServerSteamID { + optional uint64 steam_id = 1; } message CSVCMsg_CmdKeyValues { - optional bytes keyvalues = 1; + optional bytes data = 1; +} + +message CSVCMsg_RconServerDetails { + optional bytes token = 1; + optional string details = 2; +} + +message CMsgIPCAddress { + optional fixed64 computer_guid = 1; + optional uint32 process_id = 2; } -message CSVCMsg_EncryptedData { - optional bytes encrypted = 1; - optional int32 key_type = 2; +message CMsgServerPeer { + optional int32 player_slot = 1 [default = -1]; + optional fixed64 steamid = 2; + optional .CMsgIPCAddress ipc = 3; + optional bool they_hear_you = 4; + optional bool you_hear_them = 5; + optional bool is_listenserver_host = 6; +} + +message CSVCMsg_PeerList { + repeated .CMsgServerPeer peer = 1; +} + +message CSVCMsg_ClearAllStringTables { + optional string mapname = 1; +} + +message ProtoFlattenedSerializerField_t { + message polymorphic_field_t { + optional int32 polymorphic_field_serializer_name_sym = 1; + optional int32 polymorphic_field_serializer_version = 2; + } + + optional int32 var_type_sym = 1; + optional int32 var_name_sym = 2; + optional int32 bit_count = 3; + optional float low_value = 4; + optional float high_value = 5; + optional int32 encode_flags = 6; + optional int32 field_serializer_name_sym = 7; + optional int32 field_serializer_version = 8; + optional int32 send_node_sym = 9; + optional int32 var_encoder_sym = 10; + repeated .ProtoFlattenedSerializerField_t.polymorphic_field_t polymorphic_types = 11; +} + +message ProtoFlattenedSerializer_t { + optional int32 serializer_name_sym = 1; + optional int32 serializer_version = 2; + repeated int32 fields_index = 3; +} + +message CSVCMsg_FlattenedSerializer { + repeated .ProtoFlattenedSerializer_t serializers = 1; + repeated string symbols = 2; + repeated .ProtoFlattenedSerializerField_t fields = 3; +} + +message CSVCMsg_StopSound { + optional fixed32 guid = 1; +} + +message CBidirMsg_RebroadcastGameEvent { + optional bool posttoserver = 1; + optional int32 buftype = 2; + optional uint32 clientbitcount = 3; + optional uint64 receivingclients = 4; +} + +message CBidirMsg_RebroadcastSource { + optional int32 eventsource = 1; +} + +message CMsgServerNetworkStats { + message Port { + optional int32 port = 1; + optional string name = 2; + } + + message Player { + optional uint64 steamid = 1; + optional string remote_addr = 2; + optional int32 ping_stddev_ms = 3; + optional int32 ping_avg_ms = 4; + optional float packet_loss_pct = 5; + optional bool is_bot = 6; + } + + optional bool dedicated = 1; + optional int32 cpu_usage = 2; + optional int32 memory_used_mb = 3; + optional int32 memory_free_mb = 4; + optional int32 uptime = 5; + optional int32 spawn_count = 6; + optional int32 num_clients = 8; + optional int32 num_bots = 9; + optional int32 num_spectators = 10; + optional int32 num_tv_relays = 11; + optional float fps = 12; + repeated .CMsgServerNetworkStats.Port ports = 17; + optional float avg_latency_out = 18; + optional float avg_latency_in = 19; + optional float avg_packets_out = 20; + optional float avg_packets_in = 21; + optional float avg_loss_out = 22; + optional float avg_loss_in = 23; + optional float avg_data_out = 24; + optional float avg_data_in = 25; + optional uint64 total_data_in = 26; + optional uint64 total_packets_in = 27; + optional uint64 total_data_out = 28; + optional uint64 total_packets_out = 29; + repeated .CMsgServerNetworkStats.Player players = 30; } message CSVCMsg_HltvReplay { optional int32 delay = 1; - optional int32 primary_target = 2; + optional int32 primary_target = 2 [default = -1]; optional int32 replay_stop_at = 3; optional int32 replay_start_at = 4; optional int32 replay_slowdown_begin = 5; optional int32 replay_slowdown_end = 6; optional float replay_slowdown_rate = 7; + optional int32 reason = 8; } message CCLCMsg_HltvReplay { optional int32 request = 1; optional float slowdown_length = 2; optional float slowdown_rate = 3; - optional int32 primary_target_ent_index = 4; + optional int32 primary_target = 4 [default = -1]; optional float event_time = 5; } message CSVCMsg_Broadcast_Command { optional string cmd = 1; } + +message CCLCMsg_HltvFixupOperatorTick { + optional int32 tick = 1; + optional bytes props_data = 2; + optional .CMsgVector origin = 3; + optional .CMsgQAngle eye_angles = 4; + optional int32 observer_mode = 5; + optional bool cameraman_scoreboard = 6; + optional int32 observer_target = 7; + optional .CMsgVector view_offset = 8; +} + +message CSVCMsg_HltvFixupOperatorStatus { + optional uint32 mode = 1; + optional string override_operator_name = 2; +} diff --git a/pkg/demoinfocs/msg/proto/network_connection.proto b/pkg/demoinfocs/msg/proto/network_connection.proto new file mode 100644 index 00000000..5190c587 --- /dev/null +++ b/pkg/demoinfocs/msg/proto/network_connection.proto @@ -0,0 +1,127 @@ +import "google/protobuf/descriptor.proto"; + +extend .google.protobuf.EnumValueOptions { + optional string network_connection_token = 50500; +} + +enum ENetworkDisconnectionReason { + NETWORK_DISCONNECT_INVALID = 0; + NETWORK_DISCONNECT_SHUTDOWN = 1; + NETWORK_DISCONNECT_DISCONNECT_BY_USER = 2 [(network_connection_token) = "#GameUI_Disconnect_User"]; + NETWORK_DISCONNECT_DISCONNECT_BY_SERVER = 3 [(network_connection_token) = "#GameUI_Disconnect_Server"]; + NETWORK_DISCONNECT_LOST = 4 [(network_connection_token) = "#GameUI_Disconnect_ConnectionLost"]; + NETWORK_DISCONNECT_OVERFLOW = 5 [(network_connection_token) = "#GameUI_Disconnect_ConnectionOverflow"]; + NETWORK_DISCONNECT_STEAM_BANNED = 6 [(network_connection_token) = "#GameUI_Disconnect_SteamIDBanned"]; + NETWORK_DISCONNECT_STEAM_INUSE = 7 [(network_connection_token) = "#GameUI_Disconnect_SteamIDInUse"]; + NETWORK_DISCONNECT_STEAM_TICKET = 8 [(network_connection_token) = "#GameUI_Disconnect_SteamTicket"]; + NETWORK_DISCONNECT_STEAM_LOGON = 9 [(network_connection_token) = "#GameUI_Disconnect_SteamLogon"]; + NETWORK_DISCONNECT_STEAM_AUTHCANCELLED = 10 [(network_connection_token) = "#GameUI_Disconnect_SteamLogon"]; + NETWORK_DISCONNECT_STEAM_AUTHALREADYUSED = 11 [(network_connection_token) = "#GameUI_Disconnect_SteamLogon"]; + NETWORK_DISCONNECT_STEAM_AUTHINVALID = 12 [(network_connection_token) = "#GameUI_Disconnect_SteamLogon"]; + NETWORK_DISCONNECT_STEAM_VACBANSTATE = 13 [(network_connection_token) = "#GameUI_Disconnect_SteamVAC"]; + NETWORK_DISCONNECT_STEAM_LOGGED_IN_ELSEWHERE = 14 [(network_connection_token) = "#GameUI_Disconnect_SteamInUse"]; + NETWORK_DISCONNECT_STEAM_VAC_CHECK_TIMEDOUT = 15 [(network_connection_token) = "#GameUI_Disconnect_SteamTimeOut"]; + NETWORK_DISCONNECT_STEAM_DROPPED = 16 [(network_connection_token) = "#GameUI_Disconnect_SteamDropped"]; + NETWORK_DISCONNECT_STEAM_OWNERSHIP = 17 [(network_connection_token) = "#GameUI_Disconnect_SteamOwnership"]; + NETWORK_DISCONNECT_SERVERINFO_OVERFLOW = 18 [(network_connection_token) = "#GameUI_Disconnect_ServerInfoOverflow"]; + NETWORK_DISCONNECT_TICKMSG_OVERFLOW = 19 [(network_connection_token) = "#GameUI_Disconnect_TickMessage"]; + NETWORK_DISCONNECT_STRINGTABLEMSG_OVERFLOW = 20 [(network_connection_token) = "#GameUI_Disconnect_StringTableMessage"]; + NETWORK_DISCONNECT_DELTAENTMSG_OVERFLOW = 21 [(network_connection_token) = "#GameUI_Disconnect_DeltaEntMessage"]; + NETWORK_DISCONNECT_TEMPENTMSG_OVERFLOW = 22 [(network_connection_token) = "#GameUI_Disconnect_TempEntMessage"]; + NETWORK_DISCONNECT_SOUNDSMSG_OVERFLOW = 23 [(network_connection_token) = "#GameUI_Disconnect_SoundsMessage"]; + NETWORK_DISCONNECT_SNAPSHOTOVERFLOW = 24 [(network_connection_token) = "#GameUI_Disconnect_SnapshotOverflow"]; + NETWORK_DISCONNECT_SNAPSHOTERROR = 25 [(network_connection_token) = "#GameUI_Disconnect_SnapshotError"]; + NETWORK_DISCONNECT_RELIABLEOVERFLOW = 26 [(network_connection_token) = "#GameUI_Disconnect_ReliableOverflow"]; + NETWORK_DISCONNECT_BADDELTATICK = 27 [(network_connection_token) = "#GameUI_Disconnect_BadClientDeltaTick"]; + NETWORK_DISCONNECT_NOMORESPLITS = 28 [(network_connection_token) = "#GameUI_Disconnect_NoMoreSplits"]; + NETWORK_DISCONNECT_TIMEDOUT = 29 [(network_connection_token) = "#GameUI_Disconnect_TimedOut"]; + NETWORK_DISCONNECT_DISCONNECTED = 30 [(network_connection_token) = "#GameUI_Disconnect_Disconnected"]; + NETWORK_DISCONNECT_LEAVINGSPLIT = 31 [(network_connection_token) = "#GameUI_Disconnect_LeavingSplit"]; + NETWORK_DISCONNECT_DIFFERENTCLASSTABLES = 32 [(network_connection_token) = "#GameUI_Disconnect_DifferentClassTables"]; + NETWORK_DISCONNECT_BADRELAYPASSWORD = 33 [(network_connection_token) = "#GameUI_Disconnect_BadRelayPassword"]; + NETWORK_DISCONNECT_BADSPECTATORPASSWORD = 34 [(network_connection_token) = "#GameUI_Disconnect_BadSpectatorPassword"]; + NETWORK_DISCONNECT_HLTVRESTRICTED = 35 [(network_connection_token) = "#GameUI_Disconnect_HLTVRestricted"]; + NETWORK_DISCONNECT_NOSPECTATORS = 36 [(network_connection_token) = "#GameUI_Disconnect_NoSpectators"]; + NETWORK_DISCONNECT_HLTVUNAVAILABLE = 37 [(network_connection_token) = "#GameUI_Disconnect_HLTVUnavailable"]; + NETWORK_DISCONNECT_HLTVSTOP = 38 [(network_connection_token) = "#GameUI_Disconnect_HLTVStop"]; + NETWORK_DISCONNECT_KICKED = 39 [(network_connection_token) = "#GameUI_Disconnect_Kicked"]; + NETWORK_DISCONNECT_BANADDED = 40 [(network_connection_token) = "#GameUI_Disconnect_BanAdded"]; + NETWORK_DISCONNECT_KICKBANADDED = 41 [(network_connection_token) = "#GameUI_Disconnect_KickBanAdded"]; + NETWORK_DISCONNECT_HLTVDIRECT = 42 [(network_connection_token) = "#GameUI_Disconnect_HLTVDirect"]; + NETWORK_DISCONNECT_PURESERVER_CLIENTEXTRA = 43 [(network_connection_token) = "#GameUI_Disconnect_PureServer_ClientExtra"]; + NETWORK_DISCONNECT_PURESERVER_MISMATCH = 44 [(network_connection_token) = "#GameUI_Disconnect_PureServer_Mismatch"]; + NETWORK_DISCONNECT_USERCMD = 45 [(network_connection_token) = "#GameUI_Disconnect_UserCmd"]; + NETWORK_DISCONNECT_REJECTED_BY_GAME = 46 [(network_connection_token) = "#GameUI_Disconnect_RejectedByGame"]; + NETWORK_DISCONNECT_MESSAGE_PARSE_ERROR = 47 [(network_connection_token) = "#GameUI_Disconnect_MessageParseError"]; + NETWORK_DISCONNECT_INVALID_MESSAGE_ERROR = 48 [(network_connection_token) = "#GameUI_Disconnect_InvalidMessageError"]; + NETWORK_DISCONNECT_BAD_SERVER_PASSWORD = 49 [(network_connection_token) = "#GameUI_Disconnect_BadServerPassword"]; + NETWORK_DISCONNECT_DIRECT_CONNECT_RESERVATION = 50; + NETWORK_DISCONNECT_CONNECTION_FAILURE = 51 [(network_connection_token) = "#GameUI_Disconnect_ConnectionFailure"]; + NETWORK_DISCONNECT_NO_PEER_GROUP_HANDLERS = 52 [(network_connection_token) = "#GameUI_Disconnect_NoPeerGroupHandlers"]; + NETWORK_DISCONNECT_RECONNECTION = 53; + NETWORK_DISCONNECT_LOOPSHUTDOWN = 54 [(network_connection_token) = "#GameUI_Disconnect_LoopShutdown"]; + NETWORK_DISCONNECT_LOOPDEACTIVATE = 55 [(network_connection_token) = "#GameUI_Disconnect_LoopDeactivate"]; + NETWORK_DISCONNECT_HOST_ENDGAME = 56 [(network_connection_token) = "#GameUI_Disconnect_Host_EndGame"]; + NETWORK_DISCONNECT_LOOP_LEVELLOAD_ACTIVATE = 57 [(network_connection_token) = "#GameUI_Disconnect_LoopLevelLoadActivate"]; + NETWORK_DISCONNECT_CREATE_SERVER_FAILED = 58 [(network_connection_token) = "#GameUI_Disconnect_CreateServerFailed"]; + NETWORK_DISCONNECT_EXITING = 59 [(network_connection_token) = "#GameUI_Disconnect_ExitingEngine"]; + NETWORK_DISCONNECT_REQUEST_HOSTSTATE_IDLE = 60 [(network_connection_token) = "#GameUI_Disconnect_Request_HSIdle"]; + NETWORK_DISCONNECT_REQUEST_HOSTSTATE_HLTVRELAY = 61 [(network_connection_token) = "#GameUI_Disconnect_Request_HLTVRelay"]; + NETWORK_DISCONNECT_CLIENT_CONSISTENCY_FAIL = 62 [(network_connection_token) = "#GameUI_ClientConsistencyFail"]; + NETWORK_DISCONNECT_CLIENT_UNABLE_TO_CRC_MAP = 63 [(network_connection_token) = "#GameUI_ClientUnableToCRCMap"]; + NETWORK_DISCONNECT_CLIENT_NO_MAP = 64 [(network_connection_token) = "#GameUI_ClientNoMap"]; + NETWORK_DISCONNECT_CLIENT_DIFFERENT_MAP = 65 [(network_connection_token) = "#GameUI_ClientDifferentMap"]; + NETWORK_DISCONNECT_SERVER_REQUIRES_STEAM = 66 [(network_connection_token) = "#GameUI_ServerRequireSteams"]; + NETWORK_DISCONNECT_STEAM_DENY_MISC = 67 [(network_connection_token) = "#GameUI_Disconnect_SteamDeny_Misc"]; + NETWORK_DISCONNECT_STEAM_DENY_BAD_ANTI_CHEAT = 68 [(network_connection_token) = "#GameUI_Disconnect_SteamDeny_BadAntiCheat"]; + NETWORK_DISCONNECT_SERVER_SHUTDOWN = 69 [(network_connection_token) = "#GameUI_Disconnect_ServerShutdown"]; + NETWORK_DISCONNECT_SPLITPACKET_SEND_OVERFLOW = 70 [(network_connection_token) = "#GameUI_Disconnect_Splitpacket_Send_Overflow"]; + NETWORK_DISCONNECT_REPLAY_INCOMPATIBLE = 71 [(network_connection_token) = "#GameUI_Disconnect_ReplayIncompatible"]; + NETWORK_DISCONNECT_CONNECT_REQUEST_TIMEDOUT = 72 [(network_connection_token) = "#GameUI_Disconnect_ConnectionTimedout"]; + NETWORK_DISCONNECT_SERVER_INCOMPATIBLE = 73 [(network_connection_token) = "#GameUI_Disconnect_ServerIncompatible"]; + NETWORK_DISCONNECT_LOCALPROBLEM_MANYRELAYS = 74 [(network_connection_token) = "#GameUI_Disconnect_LocalProblem_ManyRelays"]; + NETWORK_DISCONNECT_LOCALPROBLEM_HOSTEDSERVERPRIMARYRELAY = 75 [(network_connection_token) = "#GameUI_Disconnect_LocalProblem_HostedServerPrimaryRelay"]; + NETWORK_DISCONNECT_LOCALPROBLEM_NETWORKCONFIG = 76 [(network_connection_token) = "#GameUI_Disconnect_LocalProblem_NetworkConfig"]; + NETWORK_DISCONNECT_LOCALPROBLEM_OTHER = 77 [(network_connection_token) = "#GameUI_Disconnect_LocalProblem_Other"]; + NETWORK_DISCONNECT_REMOTE_TIMEOUT = 79 [(network_connection_token) = "#GameUI_Disconnect_RemoteProblem_Timeout"]; + NETWORK_DISCONNECT_REMOTE_TIMEOUT_CONNECTING = 80 [(network_connection_token) = "#GameUI_Disconnect_RemoteProblem_TimeoutConnecting"]; + NETWORK_DISCONNECT_REMOTE_OTHER = 81 [(network_connection_token) = "#GameUI_Disconnect_RemoteProblem_Other"]; + NETWORK_DISCONNECT_REMOTE_BADCRYPT = 82 [(network_connection_token) = "#GameUI_Disconnect_RemoteProblem_BadCrypt"]; + NETWORK_DISCONNECT_REMOTE_CERTNOTTRUSTED = 83 [(network_connection_token) = "#GameUI_Disconnect_RemoteProblem_BadCert"]; + NETWORK_DISCONNECT_UNUSUAL = 84 [(network_connection_token) = "#GameUI_Disconnect_Unusual"]; + NETWORK_DISCONNECT_INTERNAL_ERROR = 85 [(network_connection_token) = "#GameUI_Disconnect_InternalError"]; + NETWORK_DISCONNECT_REJECT_BADCHALLENGE = 128 [(network_connection_token) = "#GameUI_ServerRejectBadChallenge"]; + NETWORK_DISCONNECT_REJECT_NOLOBBY = 129 [(network_connection_token) = "#GameUI_ServerNoLobby"]; + NETWORK_DISCONNECT_REJECT_BACKGROUND_MAP = 130 [(network_connection_token) = "#Valve_Reject_Background_Map"]; + NETWORK_DISCONNECT_REJECT_SINGLE_PLAYER = 131 [(network_connection_token) = "#Valve_Reject_Single_Player"]; + NETWORK_DISCONNECT_REJECT_HIDDEN_GAME = 132 [(network_connection_token) = "#Valve_Reject_Hidden_Game"]; + NETWORK_DISCONNECT_REJECT_LANRESTRICT = 133 [(network_connection_token) = "#GameUI_ServerRejectLANRestrict"]; + NETWORK_DISCONNECT_REJECT_BADPASSWORD = 134 [(network_connection_token) = "#GameUI_ServerRejectBadPassword"]; + NETWORK_DISCONNECT_REJECT_SERVERFULL = 135 [(network_connection_token) = "#GameUI_ServerRejectServerFull"]; + NETWORK_DISCONNECT_REJECT_INVALIDRESERVATION = 136 [(network_connection_token) = "#GameUI_ServerRejectInvalidReservation"]; + NETWORK_DISCONNECT_REJECT_FAILEDCHANNEL = 137 [(network_connection_token) = "#GameUI_ServerRejectFailedChannel"]; + NETWORK_DISCONNECT_REJECT_CONNECT_FROM_LOBBY = 138 [(network_connection_token) = "#Valve_Reject_Connect_From_Lobby"]; + NETWORK_DISCONNECT_REJECT_RESERVED_FOR_LOBBY = 139 [(network_connection_token) = "#Valve_Reject_Reserved_For_Lobby"]; + NETWORK_DISCONNECT_REJECT_INVALIDKEYLENGTH = 140 [(network_connection_token) = "#GameUI_ServerReject_InvalidKeyLength"]; + NETWORK_DISCONNECT_REJECT_OLDPROTOCOL = 141 [(network_connection_token) = "#GameUI_ServerRejectOldProtocol"]; + NETWORK_DISCONNECT_REJECT_NEWPROTOCOL = 142 [(network_connection_token) = "#GameUI_ServerRejectNewProtocol"]; + NETWORK_DISCONNECT_REJECT_INVALIDCONNECTION = 143 [(network_connection_token) = "#GameUI_ServerRejectInvalidConnection"]; + NETWORK_DISCONNECT_REJECT_INVALIDCERTLEN = 144 [(network_connection_token) = "#GameUI_ServerRejectInvalidCertLen"]; + NETWORK_DISCONNECT_REJECT_INVALIDSTEAMCERTLEN = 145 [(network_connection_token) = "#GameUI_ServerRejectInvalidSteamCertLen"]; + NETWORK_DISCONNECT_REJECT_STEAM = 146 [(network_connection_token) = "#GameUI_ServerRejectSteam"]; + NETWORK_DISCONNECT_REJECT_SERVERAUTHDISABLED = 147 [(network_connection_token) = "#GameUI_ServerAuthDisabled"]; + NETWORK_DISCONNECT_REJECT_SERVERCDKEYAUTHINVALID = 148 [(network_connection_token) = "#GameUI_ServerCDKeyAuthInvalid"]; + NETWORK_DISCONNECT_REJECT_BANNED = 149 [(network_connection_token) = "#GameUI_ServerRejectBanned"]; + NETWORK_DISCONNECT_KICKED_TEAMKILLING = 150 [(network_connection_token) = "#Player_DisconnectReason_TeamKilling"]; + NETWORK_DISCONNECT_KICKED_TK_START = 151 [(network_connection_token) = "#Player_DisconnectReason_TK_Start"]; + NETWORK_DISCONNECT_KICKED_UNTRUSTEDACCOUNT = 152 [(network_connection_token) = "#Player_DisconnectReason_UntrustedAccount"]; + NETWORK_DISCONNECT_KICKED_CONVICTEDACCOUNT = 153 [(network_connection_token) = "#Player_DisconnectReason_ConvictedAccount"]; + NETWORK_DISCONNECT_KICKED_COMPETITIVECOOLDOWN = 154 [(network_connection_token) = "#Player_DisconnectReason_CompetitiveCooldown"]; + NETWORK_DISCONNECT_KICKED_TEAMHURTING = 155 [(network_connection_token) = "#Player_DisconnectReason_TeamHurting"]; + NETWORK_DISCONNECT_KICKED_HOSTAGEKILLING = 156 [(network_connection_token) = "#Player_DisconnectReason_HostageKilling"]; + NETWORK_DISCONNECT_KICKED_VOTEDOFF = 157 [(network_connection_token) = "#Player_DisconnectReason_VotedOff"]; + NETWORK_DISCONNECT_KICKED_IDLE = 158 [(network_connection_token) = "#Player_DisconnectReason_Idle"]; + NETWORK_DISCONNECT_KICKED_SUICIDE = 159 [(network_connection_token) = "#Player_DisconnectReason_Suicide"]; + NETWORK_DISCONNECT_KICKED_NOSTEAMLOGIN = 160 [(network_connection_token) = "#Player_DisconnectReason_NoSteamLogin"]; + NETWORK_DISCONNECT_KICKED_NOSTEAMTICKET = 161 [(network_connection_token) = "#Player_DisconnectReason_NoSteamTicket"]; +} diff --git a/pkg/demoinfocs/msg/proto/networkbasetypes.proto b/pkg/demoinfocs/msg/proto/networkbasetypes.proto new file mode 100644 index 00000000..9cf8680f --- /dev/null +++ b/pkg/demoinfocs/msg/proto/networkbasetypes.proto @@ -0,0 +1,244 @@ +import "network_connection.proto"; + +enum SignonState_t { + SIGNONSTATE_NONE = 0; + SIGNONSTATE_CHALLENGE = 1; + SIGNONSTATE_CONNECTED = 2; + SIGNONSTATE_NEW = 3; + SIGNONSTATE_PRESPAWN = 4; + SIGNONSTATE_SPAWN = 5; + SIGNONSTATE_FULL = 6; + SIGNONSTATE_CHANGELEVEL = 7; +} + +enum NET_Messages { + net_NOP = 0; + net_Disconnect = 1; + net_SplitScreenUser = 3; + net_Tick = 4; + net_StringCmd = 5; + net_SetConVar = 6; + net_SignonState = 7; + net_SpawnGroup_Load = 8; + net_SpawnGroup_ManifestUpdate = 9; + net_SpawnGroup_SetCreationTick = 11; + net_SpawnGroup_Unload = 12; + net_SpawnGroup_LoadCompleted = 13; + net_DebugOverlay = 15; +} + +enum SpawnGroupFlags_t { + SPAWN_GROUP_LOAD_ENTITIES_FROM_SAVE = 1; + SPAWN_GROUP_DONT_SPAWN_ENTITIES = 2; + SPAWN_GROUP_SYNCHRONOUS_SPAWN = 4; + SPAWN_GROUP_IS_INITIAL_SPAWN_GROUP = 8; + SPAWN_GROUP_CREATE_CLIENT_ONLY_ENTITIES = 16; + SPAWN_GROUP_BLOCK_UNTIL_LOADED = 64; + SPAWN_GROUP_LOAD_STREAMING_DATA = 128; + SPAWN_GROUP_CREATE_NEW_SCENE_WORLD = 256; +} + +message CMsgVector { + optional float x = 1; + optional float y = 2; + optional float z = 3; + optional float w = 4; +} + +message CMsgVector2D { + optional float x = 1; + optional float y = 2; +} + +message CMsgQAngle { + optional float x = 1; + optional float y = 2; + optional float z = 3; +} + +message CMsgQuaternion { + optional float x = 1; + optional float y = 2; + optional float z = 3; + optional float w = 4; +} + +message CMsgTransform { + optional .CMsgVector position = 1; + optional float scale = 2; + optional .CMsgQuaternion orientation = 3; +} + +message CMsgRGBA { + optional int32 r = 1; + optional int32 g = 2; + optional int32 b = 3; + optional int32 a = 4; +} + +message CMsgPlayerInfo { + optional string name = 1; + optional fixed64 xuid = 2; + optional int32 userid = 3; + optional fixed64 steamid = 4; + optional bool fakeplayer = 5; + optional bool ishltv = 6; +} + +message CEntityMsg { + optional uint32 target_entity = 1 [default = 16777215]; +} + +message CMsg_CVars { + message CVar { + optional string name = 1; + optional string value = 2; + } + + repeated .CMsg_CVars.CVar cvars = 1; +} + +message CNETMsg_NOP { +} + +message CNETMsg_SplitScreenUser { + optional int32 slot = 1; +} + +message CNETMsg_Disconnect { + optional .ENetworkDisconnectionReason reason = 2 [default = NETWORK_DISCONNECT_INVALID]; +} + +message CNETMsg_Tick { + optional uint32 tick = 1; + optional uint32 host_frametime = 2; + optional uint32 host_frametime_std_deviation = 3; + optional uint32 host_computationtime = 4; + optional uint32 host_computationtime_std_deviation = 5; + optional uint32 host_framestarttime_std_deviation = 6; + optional uint32 host_loss = 7; + optional uint32 host_unfiltered_frametime = 8; + optional uint32 hltv_replay_flags = 9; +} + +message CNETMsg_StringCmd { + optional string command = 1; + optional uint32 prediction_sync = 2; +} + +message CNETMsg_SetConVar { + optional .CMsg_CVars convars = 1; +} + +message CNETMsg_SignonState { + optional .SignonState_t signon_state = 1 [default = SIGNONSTATE_NONE]; + optional uint32 spawn_count = 2; + optional uint32 num_server_players = 3; + repeated string players_networkids = 4; + optional string map_name = 5; + optional string addons = 6; +} + +message CSVCMsg_GameEvent { + message key_t { + optional int32 type = 1; + optional string val_string = 2; + optional float val_float = 3; + optional int32 val_long = 4; + optional int32 val_short = 5; + optional int32 val_byte = 6; + optional bool val_bool = 7; + optional uint64 val_uint64 = 8; + } + + optional string event_name = 1; + optional int32 eventid = 2; + repeated .CSVCMsg_GameEvent.key_t keys = 3; +} + +message CSVCMsgList_GameEvents { + message event_t { + optional int32 tick = 1; + optional .CSVCMsg_GameEvent event = 2; + } + + repeated .CSVCMsgList_GameEvents.event_t events = 1; +} + +message CNETMsg_SpawnGroup_Load { + optional string worldname = 1; + optional string entitylumpname = 2; + optional string entityfiltername = 3; + optional uint32 spawngrouphandle = 4; + optional uint32 spawngroupownerhandle = 5; + optional .CMsgVector world_offset_pos = 6; + optional .CMsgQAngle world_offset_angle = 7; + optional bytes spawngroupmanifest = 8; + optional uint32 flags = 9; + optional int32 tickcount = 10; + optional bool manifestincomplete = 11; + optional string localnamefixup = 12; + optional string parentnamefixup = 13; + optional int32 manifestloadpriority = 14; + optional uint32 worldgroupid = 15; + optional uint32 creationsequence = 16; + optional string savegamefilename = 17; + optional uint32 spawngroupparenthandle = 18; + optional bool leveltransition = 19; + optional string worldgroupname = 20; +} + +message CNETMsg_SpawnGroup_ManifestUpdate { + optional uint32 spawngrouphandle = 1; + optional bytes spawngroupmanifest = 2; + optional bool manifestincomplete = 3; +} + +message CNETMsg_SpawnGroup_SetCreationTick { + optional uint32 spawngrouphandle = 1; + optional int32 tickcount = 2; + optional uint32 creationsequence = 3; +} + +message CNETMsg_SpawnGroup_Unload { + optional uint32 spawngrouphandle = 1; + optional uint32 flags = 2; + optional int32 tickcount = 3; +} + +message CNETMsg_SpawnGroup_LoadCompleted { + optional uint32 spawngrouphandle = 1; +} + +message CSVCMsg_GameSessionConfiguration { + optional bool is_multiplayer = 1; + optional bool is_loadsavegame = 2; + optional bool is_background_map = 3; + optional bool is_headless = 4; + optional uint32 min_client_limit = 5; + optional uint32 max_client_limit = 6; + optional uint32 max_clients = 7; + optional fixed32 tick_interval = 8; + optional string hostname = 9; + optional string savegamename = 10; + optional string s1_mapname = 11; + optional string gamemode = 12; + optional string server_ip_address = 13; + optional bytes data = 14; + optional bool is_localonly = 15; + optional bool no_steam_server = 19; + optional bool is_transition = 16; + optional string previouslevel = 17; + optional string landmarkname = 18; +} + +message CNETMsg_DebugOverlay { + optional int32 etype = 1; + repeated .CMsgVector vectors = 2; + repeated .CMsgRGBA colors = 3; + repeated float dimensions = 4; + repeated float times = 5; + repeated bool bools = 6; + repeated uint64 uint64s = 7; + repeated string strings = 8; +} diff --git a/pkg/demoinfocs/msg/proto/steammessages.proto b/pkg/demoinfocs/msg/proto/steammessages.proto index c27c467e..9f7dc7d3 100644 --- a/pkg/demoinfocs/msg/proto/steammessages.proto +++ b/pkg/demoinfocs/msg/proto/steammessages.proto @@ -1,8 +1,5 @@ import "google/protobuf/descriptor.proto"; -option optimize_for = SPEED; -option cc_generic_services = false; - extend .google.protobuf.FieldOptions { optional bool key_field = 60000 [default = false]; } @@ -67,7 +64,6 @@ message CMsgHttpRequest { } message CMsgWebAPIRequest { - optional string UNUSED_job_name = 1; optional string interface_name = 2; optional string method_name = 3; optional uint32 version = 4; diff --git a/pkg/demoinfocs/msg/steammessages.pb.go b/pkg/demoinfocs/msg/steammessages.pb.go index 9d453dd3..e68b92b4 100644 --- a/pkg/demoinfocs/msg/steammessages.pb.go +++ b/pkg/demoinfocs/msg/steammessages.pb.go @@ -619,7 +619,6 @@ type CMsgWebAPIRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UNUSEDJobName *string `protobuf:"bytes,1,opt,name=UNUSED_job_name,json=UNUSEDJobName" json:"UNUSED_job_name,omitempty"` InterfaceName *string `protobuf:"bytes,2,opt,name=interface_name,json=interfaceName" json:"interface_name,omitempty"` MethodName *string `protobuf:"bytes,3,opt,name=method_name,json=methodName" json:"method_name,omitempty"` Version *uint32 `protobuf:"varint,4,opt,name=version" json:"version,omitempty"` @@ -660,13 +659,6 @@ func (*CMsgWebAPIRequest) Descriptor() ([]byte, []int) { return file_steammessages_proto_rawDescGZIP(), []int{3} } -func (x *CMsgWebAPIRequest) GetUNUSEDJobName() string { - if x != nil && x.UNUSEDJobName != nil { - return *x.UNUSEDJobName - } - return "" -} - func (x *CMsgWebAPIRequest) GetInterfaceName() string { if x != nil && x.InterfaceName != nil { return *x.InterfaceName @@ -6053,822 +6045,819 @@ var file_steammessages_proto_rawDesc = []byte{ 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x22, 0x98, 0x02, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x55, 0x4e, 0x55, 0x53, 0x45, 0x44, - 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x55, 0x4e, 0x55, 0x53, 0x45, 0x44, 0x4a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, - 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x27, 0x0a, 0x07, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x4b, 0x65, - 0x79, 0x52, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x07, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, - 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, - 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x41, 0x70, 0x70, 0x49, 0x64, 0x22, 0xbf, 0x01, 0x0a, 0x10, - 0x43, 0x4d, 0x73, 0x67, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, - 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x62, 0x6f, 0x64, - 0x79, 0x1a, 0x3a, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x5a, 0x0a, - 0x12, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x73, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x37, 0x0a, 0x1a, 0x43, 0x4d, 0x73, - 0x67, 0x41, 0x4d, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, - 0x49, 0x64, 0x22, 0xd2, 0x01, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x79, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, 0x6c, 0x65, - 0x72, 0x74, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, - 0x08, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x08, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, - 0x70, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0x2d, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x41, - 0x4d, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, - 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, - 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x22, 0x71, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x61, - 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, - 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x74, - 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, - 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x22, 0x62, 0x0a, 0x19, 0x43, 0x4d, 0x73, - 0x67, 0x41, 0x4d, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, - 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x61, - 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x6c, 0x69, - 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x62, 0x0a, - 0x16, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x61, - 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, - 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x06, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x73, 0x22, 0xdf, 0x03, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, 0x65, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, - 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, - 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, 0x65, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x73, 0x12, 0x61, 0x0a, 0x12, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x61, - 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x73, 0x52, 0x11, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x1a, 0x3f, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x17, - 0x0a, 0x07, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, - 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x8a, 0x01, 0x0a, 0x12, 0x41, 0x63, 0x68, 0x69, 0x65, - 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x25, 0x0a, - 0x0e, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x10, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x69, 0x74, - 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0a, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x54, - 0x69, 0x6d, 0x65, 0x22, 0x54, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, - 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x61, - 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, - 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x41, 0x0a, 0x1c, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x28, 0x0a, 0x12, - 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x47, - 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x92, 0x01, 0x0a, 0x1a, 0x43, 0x47, 0x43, 0x4d, 0x73, - 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, - 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x61, 0x67, 0x52, 0x06, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x1a, 0x36, 0x0a, 0x08, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x61, 0x67, 0x12, - 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, - 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7a, 0x0a, 0x12, 0x43, - 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x53, 0x65, - 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, - 0x64, 0x53, 0x65, 0x74, 0x2e, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x69, 0x72, 0x52, 0x04, 0x6b, 0x65, - 0x79, 0x73, 0x1a, 0x33, 0x0a, 0x07, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x69, 0x72, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2b, 0x0a, 0x15, 0x43, 0x47, 0x43, 0x4d, 0x73, - 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, - 0x6b, 0x65, 0x79, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, - 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0xd6, 0x03, 0x0a, - 0x1c, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, - 0x10, 0x63, 0x75, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6d, 0x64, 0x5f, - 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x6d, 0x64, 0x47, 0x65, - 0x74, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6d, 0x64, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x06, 0x63, 0x6d, 0x64, 0x53, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6d, - 0x64, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, - 0x6d, 0x64, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x65, 0x74, 0x5f, 0x68, - 0x69, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x65, 0x74, 0x48, 0x69, - 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x73, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x65, 0x74, 0x4d, 0x69, 0x73, 0x73, 0x65, - 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x68, 0x69, 0x74, 0x73, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x69, - 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6d, 0x69, 0x73, - 0x73, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, - 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x62, 0x79, 0x74, - 0x65, 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, - 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4d, 0x61, 0x78, 0x62, 0x79, 0x74, - 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x75, 0x72, 0x72, 0x49, 0x74, 0x65, 0x6d, - 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x65, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, - 0x62, 0x79, 0x74, 0x65, 0x73, 0x22, 0x37, 0x0a, 0x0e, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x53, - 0x51, 0x4c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x5f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0d, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x22, 0xc9, - 0x03, 0x0a, 0x16, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x51, 0x4c, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x68, 0x72, - 0x65, 0x61, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x68, 0x72, 0x65, - 0x61, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x5f, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, - 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, - 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, - 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x12, 0x40, 0x0a, 0x1c, 0x70, 0x72, - 0x65, 0x70, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x1a, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x12, 0x47, 0x0a, 0x20, - 0x6e, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1d, 0x6e, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x70, 0x61, - 0x72, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, - 0x12, 0x40, 0x0a, 0x1d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x5f, 0x71, 0x75, 0x65, 0x75, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x64, 0x4f, 0x75, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, - 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x99, 0x01, 0x0a, 0x14, 0x43, - 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x41, 0x64, 0x64, 0x46, 0x72, 0x65, 0x65, 0x4c, 0x69, 0x63, 0x65, - 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x1b, 0x0a, - 0x09, 0x69, 0x70, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x69, 0x70, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, - 0x63, 0x6b, 0x61, 0x67, 0x65, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, - 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x41, - 0x4d, 0x41, 0x64, 0x64, 0x46, 0x72, 0x65, 0x65, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, - 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x69, 0x64, 0x22, 0x27, 0x0a, 0x13, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x65, - 0x74, 0x49, 0x50, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x69, - 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x07, 0x52, 0x03, 0x69, 0x70, 0x73, 0x22, 0x9f, 0x01, - 0x0a, 0x0f, 0x43, 0x49, 0x50, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, - 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, - 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x22, - 0x45, 0x0a, 0x1b, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x65, 0x74, 0x49, 0x50, 0x4c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, - 0x0a, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, - 0x43, 0x49, 0x50, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0x52, 0x0a, 0x17, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, - 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x12, 0x1a, 0x0a, 0x09, 0x67, 0x63, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x63, 0x41, 0x70, 0x70, 0x49, 0x64, 0x12, 0x1b, 0x0a, - 0x09, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6b, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x08, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x76, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x47, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x22, 0xf5, 0x03, 0x0a, 0x1c, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x65, 0x74, - 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x09, 0x67, 0x63, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x63, 0x41, 0x70, 0x70, 0x49, 0x64, 0x12, - 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x6b, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x07, 0x73, 0x74, 0x61, 0x74, 0x73, 0x4b, 0x76, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x79, - 0x69, 0x65, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0c, 0x79, 0x69, 0x65, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, - 0x12, 0x23, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x12, 0x67, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x63, 0x61, 0x63, - 0x68, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x6f, 0x63, 0x61, 0x63, - 0x68, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x5f, - 0x74, 0x6f, 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x10, 0x73, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x54, 0x6f, 0x55, 0x6e, 0x6c, 0x6f, 0x61, - 0x64, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x6c, 0x6f, - 0x61, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73, 0x6f, 0x63, - 0x61, 0x63, 0x68, 0x65, 0x73, 0x4c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x27, 0x0a, 0x0f, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x62, 0x61, 0x63, 0x6b, - 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, - 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x74, - 0x65, 0x61, 0x6d, 0x69, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, - 0x67, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, - 0x6f, 0x67, 0x6f, 0x6e, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x09, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x73, 0x22, 0xd6, 0x03, 0x0a, 0x0f, 0x43, - 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x18, - 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, - 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6d, 0x61, 0x69, - 0x6c, 0x5f, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0c, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x46, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x12, 0x5c, 0x0a, 0x13, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, - 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6c, - 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x11, 0x70, 0x65, - 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, - 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x63, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x63, 0x12, 0x39, 0x0a, 0x06, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x2e, 0x52, - 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, - 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x1a, 0x52, 0x0a, 0x10, 0x52, 0x65, 0x70, 0x6c, 0x61, - 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x56, 0x0a, 0x1b, 0x50, - 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, - 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, - 0x61, 0x6d, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4e, - 0x61, 0x6d, 0x65, 0x22, 0x36, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x53, 0x65, 0x6e, - 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, - 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x3a, - 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x97, 0x01, 0x0a, 0x16, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x54, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x24, 0x0a, - 0x0e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x4d, 0x73, 0x67, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x6c, 0x61, 0x6e, - 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x4c, 0x61, - 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x46, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x82, 0x01, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x47, 0x65, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x1a, - 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0xc1, 0x01, 0x0a, 0x17, 0x43, - 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, - 0x61, 0x73, 0x73, 0x65, 0x73, 0x32, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, - 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, 0x64, - 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x61, 0x73, 0x73, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x67, 0x72, - 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x70, 0x61, 0x73, 0x73, 0x65, - 0x73, 0x54, 0x6f, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x61, 0x79, 0x73, - 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x64, 0x61, 0x79, 0x73, 0x54, 0x6f, 0x45, 0x78, 0x70, 0x69, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x68, - 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x47, 0x75, 0x65, - 0x73, 0x74, 0x50, 0x61, 0x73, 0x73, 0x65, 0x73, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x28, - 0x0a, 0x0e, 0x70, 0x61, 0x73, 0x73, 0x65, 0x73, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x01, 0x30, 0x52, 0x0d, 0x70, 0x61, 0x73, 0x73, 0x65, - 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x22, 0x5c, 0x0a, 0x1e, 0x43, 0x47, 0x43, 0x53, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, - 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, - 0x61, 0x6d, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x3a, 0x0a, 0x80, 0xa6, 0x1d, 0x80, - 0x01, 0x88, 0xa6, 0x1d, 0x80, 0x04, 0x22, 0xc7, 0x0c, 0x0a, 0x27, 0x43, 0x47, 0x43, 0x53, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x30, 0x0a, 0x12, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x65, - 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x3a, 0x01, - 0x32, 0x52, 0x11, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, - 0x61, 0x74, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x65, 0x72, 0x73, 0x6f, - 0x6e, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, - 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, - 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x76, - 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x73, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x76, 0x61, 0x63, - 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, - 0x73, 0x56, 0x61, 0x63, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, - 0x5f, 0x63, 0x79, 0x62, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x66, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0b, 0x69, 0x73, 0x43, 0x79, 0x62, 0x65, 0x72, 0x43, 0x61, 0x66, 0x65, 0x12, 0x2a, - 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x53, 0x63, 0x68, - 0x6f, 0x6f, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, - 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, - 0x69, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, - 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0c, 0x69, 0x73, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x12, 0x18, - 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x31, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x66, - 0x72, 0x65, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x46, 0x72, 0x65, 0x65, 0x54, - 0x72, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x66, - 0x72, 0x65, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x66, 0x72, 0x65, 0x65, - 0x54, 0x72, 0x69, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x77, 0x5f, 0x76, 0x69, 0x6f, 0x6c, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x4c, 0x6f, 0x77, 0x56, - 0x69, 0x6f, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x77, - 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x2e, 0x0a, 0x13, - 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x62, 0x61, 0x6e, - 0x6e, 0x65, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x73, 0x43, 0x6f, 0x6d, - 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, - 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x54, 0x72, 0x61, 0x64, 0x65, 0x42, 0x61, - 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x62, 0x61, - 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x12, 0x74, 0x72, 0x61, 0x64, 0x65, 0x42, 0x61, 0x6e, 0x45, 0x78, 0x70, 0x69, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x73, 0x69, - 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x11, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, - 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, - 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, - 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x76, 0x65, - 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x19, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x13, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x73, - 0x74, 0x65, 0x61, 0x6d, 0x67, 0x75, 0x61, 0x72, 0x64, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x53, 0x74, 0x65, 0x61, 0x6d, - 0x67, 0x75, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x11, - 0x69, 0x73, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, - 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x1a, 0x69, 0x73, 0x5f, 0x74, - 0x77, 0x6f, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x69, 0x73, - 0x54, 0x77, 0x6f, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x41, 0x75, 0x74, 0x68, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x12, 0x35, 0x0a, 0x17, 0x74, 0x77, 0x6f, 0x5f, 0x66, 0x61, 0x63, 0x74, - 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x74, 0x77, 0x6f, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x70, - 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x70, 0x68, - 0x6f, 0x6e, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x21, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x30, - 0x0a, 0x14, 0x69, 0x73, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x18, 0x22, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, - 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, - 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, - 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x74, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x12, 0x22, - 0x0a, 0x0d, 0x72, 0x74, 0x5f, 0x62, 0x69, 0x72, 0x74, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, - 0x24, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x74, 0x42, 0x69, 0x72, 0x74, 0x68, 0x44, 0x61, - 0x74, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x78, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, - 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x78, - 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x33, 0x0a, 0x16, - 0x68, 0x61, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x69, - 0x6e, 0x61, 0x5f, 0x73, 0x73, 0x61, 0x18, 0x26, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x68, 0x61, - 0x73, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x43, 0x68, 0x69, 0x6e, 0x61, 0x53, 0x73, - 0x61, 0x12, 0x31, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x73, - 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x68, 0x69, 0x6e, 0x61, 0x18, 0x27, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x12, 0x69, 0x73, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x43, - 0x68, 0x69, 0x6e, 0x61, 0x3a, 0x0a, 0x80, 0xa6, 0x1d, 0x80, 0x01, 0x88, 0xa6, 0x1d, 0x80, 0x04, - 0x22, 0x33, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, - 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x65, - 0x61, 0x6d, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x06, 0x52, 0x08, 0x73, 0x74, 0x65, - 0x61, 0x6d, 0x69, 0x64, 0x73, 0x22, 0xfc, 0x01, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x5f, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x11, 0x73, 0x75, 0x63, 0x63, - 0x65, 0x65, 0x64, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x50, - 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, - 0x52, 0x10, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, - 0x70, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x6f, - 0x6b, 0x75, 0x70, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x06, 0x52, 0x14, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, - 0x53, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x1a, 0x4a, 0x0a, 0x0b, 0x50, 0x65, 0x72, 0x73, - 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, - 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, - 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x5f, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x68, 0x69, 0x70, 0x12, 0x21, 0x0a, - 0x0c, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x06, 0x52, 0x0b, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x4c, 0x65, 0x66, 0x74, - 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x5f, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0c, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, - 0x52, 0x69, 0x67, 0x68, 0x74, 0x22, 0x65, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x68, 0x69, 0x70, 0x5f, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x72, 0x69, 0x65, 0x6e, - 0x64, 0x73, 0x68, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x66, 0x6f, 0x75, - 0x6e, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x68, 0x69, 0x70, 0x22, 0x8a, 0x02, 0x0a, - 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, - 0x53, 0x65, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x28, 0x0a, 0x10, - 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x44, 0x69, - 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x34, 0x0a, 0x03, 0x64, 0x69, 0x72, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, - 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x79, 0x2e, 0x53, 0x75, 0x62, 0x47, 0x43, 0x52, 0x03, 0x64, 0x69, 0x72, 0x1a, 0x8a, 0x01, 0x0a, - 0x05, 0x53, 0x75, 0x62, 0x47, 0x43, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x69, 0x72, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x6f, 0x78, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x62, 0x6f, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x1b, 0x0a, 0x09, - 0x67, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x67, 0x63, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x22, 0x5d, 0x0a, 0x24, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x44, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x47, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x4d, 0x73, 0x67, 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x4a, 0x6f, 0x62, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x69, 0x72, 0x49, 0x6e, 0x64, 0x65, - 0x78, 0x22, 0x41, 0x0a, 0x25, 0x43, 0x47, 0x43, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x73, - 0x67, 0x5f, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x72, 0x75, - 0x73, 0x74, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, - 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, - 0x61, 0x6d, 0x69, 0x64, 0x22, 0x86, 0x02, 0x0a, 0x26, 0x43, 0x47, 0x43, 0x53, 0x79, 0x73, 0x74, - 0x65, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, - 0x65, 0x54, 0x72, 0x75, 0x73, 0x74, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x3b, 0x0a, 0x1a, 0x68, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x5f, 0x70, 0x75, 0x72, - 0x63, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x17, 0x68, 0x61, 0x73, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x50, 0x75, 0x72, - 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x40, 0x0a, 0x1d, - 0x68, 0x61, 0x73, 0x5f, 0x6e, 0x6f, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, - 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x19, 0x68, 0x61, 0x73, 0x4e, 0x6f, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x65, 0x74, 0x73, 0x12, 0x33, - 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x68, - 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, - 0x69, 0x73, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x43, 0x61, 0x73, 0x68, 0x54, 0x72, 0x75, 0x73, - 0x74, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, - 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, - 0x69, 0x6d, 0x65, 0x41, 0x6c, 0x6c, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x22, 0xcf, 0x01, - 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x48, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x56, 0x61, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, + 0x22, 0xf0, 0x01, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, + 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, + 0x0b, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x07, 0x61, 0x70, 0x69, 0x5f, + 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, + 0x79, 0x12, 0x2a, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, + 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x41, 0x70, + 0x70, 0x49, 0x64, 0x22, 0xbf, 0x01, 0x0a, 0x10, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x74, 0x74, 0x70, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x68, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x1a, 0x3a, 0x0a, 0x0e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x5a, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x46, + 0x69, 0x6e, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x22, 0x37, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x46, 0x69, 0x6e, 0x64, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x22, 0xd2, 0x01, 0x0a, 0x12, 0x43, + 0x4d, 0x73, 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, + 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x65, + 0x72, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, + 0x6c, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x6c, 0x65, 0x72, + 0x74, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, + 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, + 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x65, 0x78, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, + 0x2d, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, + 0x6e, 0x73, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x22, 0x71, + 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x63, + 0x65, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, + 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, + 0x64, 0x22, 0x62, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, 0x65, 0x74, 0x4c, 0x69, + 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, + 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x63, + 0x65, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x62, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, + 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, - 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, - 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x63, 0x62, 0x61, - 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, - 0x72, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x63, 0x62, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x6e, - 0x6f, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x42, 0x61, 0x6e, 0x6e, - 0x65, 0x64, 0x4e, 0x6f, 0x77, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x62, 0x61, 0x6e, 0x6e, - 0x65, 0x64, 0x5f, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0e, 0x69, 0x73, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x22, - 0x37, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, - 0x6e, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x18, - 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, - 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x22, 0xb2, 0x01, 0x0a, 0x24, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x77, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x04, 0x70, 0x77, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x78, 0x6f, 0x6e, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6e, 0x65, 0x78, 0x6f, 0x6e, 0x69, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x61, 0x67, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0b, 0x69, - 0x64, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, - 0x3a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x0a, 0x69, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x61, 0x64, 0x75, 0x6c, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x41, 0x64, 0x75, 0x6c, 0x74, 0x22, 0xf5, 0x02, - 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x69, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x12, 0x40, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x20, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, - 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x3a, 0x06, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x12, 0x45, 0x0a, 0x08, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x6f, 0x75, - 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, - 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3a, 0x07, 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x52, - 0x08, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x22, 0x70, 0x0a, 0x0d, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, - 0x74, 0x68, 0x6f, 0x64, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0x00, - 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x10, 0x01, 0x12, 0x12, 0x0a, - 0x0e, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x49, 0x44, 0x10, - 0x02, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x42, 0x55, 0x46, 0x5f, 0x46, 0x49, - 0x45, 0x4c, 0x44, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, - 0x57, 0x45, 0x42, 0x41, 0x50, 0x49, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x55, 0x49, 0x4e, - 0x54, 0x36, 0x34, 0x10, 0x04, 0x22, 0xe2, 0x01, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x57, 0x65, 0x62, 0x41, - 0x50, 0x49, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x40, 0x0a, 0x07, 0x65, 0x6e, 0x74, - 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x57, - 0x65, 0x62, 0x41, 0x50, 0x49, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x7d, 0x0a, 0x05, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, - 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x07, - 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xbb, 0x01, 0x0a, 0x22, 0x43, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, - 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, - 0x67, 0x12, 0x43, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, - 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, - 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, - 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x50, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x19, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x72, 0x6f, - 0x75, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x47, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x57, 0x65, - 0x62, 0x41, 0x50, 0x49, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x22, 0x4a, 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, - 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, - 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, + 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x06, 0x67, 0x61, 0x6d, + 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0d, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x22, 0xdf, 0x03, 0x0a, 0x1e, 0x43, 0x4d, + 0x73, 0x67, 0x41, 0x4d, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, + 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, + 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, + 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3b, 0x0a, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x12, 0x61, 0x0a, 0x12, 0x61, 0x63, + 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, + 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x52, 0x11, 0x61, 0x63, 0x68, 0x69, + 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x1a, 0x3f, 0x0a, + 0x05, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x49, 0x64, 0x12, + 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x8a, + 0x01, 0x0a, 0x12, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x61, + 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, + 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x69, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x69, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x6e, + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, + 0x0a, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x54, 0x0a, 0x14, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x22, 0x41, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x43, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x28, 0x0a, 0x12, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, + 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x47, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, + 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x92, + 0x01, 0x0a, 0x1a, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, + 0x65, 0x64, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, + 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x54, 0x61, 0x67, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x36, 0x0a, 0x08, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x54, 0x61, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0x7a, 0x0a, 0x12, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, + 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x53, 0x65, 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x6b, 0x65, 0x79, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, + 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x53, 0x65, 0x74, 0x2e, 0x4b, 0x65, 0x79, + 0x50, 0x61, 0x69, 0x72, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x1a, 0x33, 0x0a, 0x07, 0x4b, 0x65, + 0x79, 0x50, 0x61, 0x69, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, + 0x2b, 0x0a, 0x15, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, + 0x65, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x16, 0x0a, 0x14, + 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x22, 0xd6, 0x03, 0x0a, 0x1c, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, + 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x75, 0x72, 0x72, 0x5f, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0f, 0x63, 0x75, 0x72, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6d, 0x64, 0x5f, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x06, 0x63, 0x6d, 0x64, 0x47, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6d, 0x64, + 0x5f, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x6d, 0x64, 0x53, + 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6d, 0x64, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6d, 0x64, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x12, + 0x19, 0x0a, 0x08, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x07, 0x67, 0x65, 0x74, 0x48, 0x69, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x65, + 0x74, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, + 0x67, 0x65, 0x74, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x69, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x12, + 0x1d, 0x0a, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x09, 0x62, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, 0x23, + 0x0a, 0x0d, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x69, 0x74, + 0x74, 0x65, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x61, 0x78, + 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x4d, 0x61, 0x78, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x75, + 0x72, 0x72, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, + 0x63, 0x75, 0x72, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x76, 0x69, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x65, 0x76, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x22, 0x37, 0x0a, + 0x0e, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x51, 0x4c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, + 0x25, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x43, + 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x22, 0xc9, 0x03, 0x0a, 0x16, 0x43, 0x47, 0x43, 0x4d, 0x73, + 0x67, 0x53, 0x51, 0x4c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x74, + 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x68, 0x72, 0x65, + 0x61, 0x64, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0d, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, + 0x31, 0x0a, 0x14, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x73, 0x75, + 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x64, 0x12, 0x40, 0x0a, 0x1c, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, + 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x65, 0x64, 0x12, 0x47, 0x0a, 0x20, 0x6e, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x70, + 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1d, + 0x6e, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x12, 0x29, 0x0a, + 0x10, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, + 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x6f, 0x63, + 0x6b, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x1d, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, + 0x5f, 0x69, 0x6e, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x19, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x64, + 0x4f, 0x75, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x73, 0x22, 0x99, 0x01, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x41, 0x64, 0x64, + 0x46, 0x72, 0x65, 0x65, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, + 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, + 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x70, 0x5f, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x70, 0x50, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x69, 0x64, + 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, + 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x8b, + 0x01, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x41, 0x64, 0x64, 0x46, 0x72, 0x65, 0x65, + 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x34, 0x0a, 0x16, + 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x70, 0x75, + 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x06, 0x52, 0x07, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x64, 0x22, 0x27, 0x0a, 0x13, + 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x65, 0x74, 0x49, 0x50, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x07, + 0x52, 0x03, 0x69, 0x70, 0x73, 0x22, 0x9f, 0x01, 0x0a, 0x0f, 0x43, 0x49, 0x50, 0x4c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, + 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6c, 0x61, 0x74, + 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, + 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, + 0x75, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x22, 0x45, 0x0a, 0x1b, 0x43, 0x47, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x65, 0x74, 0x49, 0x50, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x43, 0x49, 0x50, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0x52, + 0x0a, 0x17, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1a, 0x0a, 0x09, 0x67, 0x63, 0x5f, + 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x63, + 0x41, 0x70, 0x70, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, + 0x6b, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x4b, 0x76, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x65, 0x74, 0x53, + 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0xf5, 0x03, 0x0a, 0x1c, 0x43, + 0x47, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x09, 0x67, + 0x63, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x67, 0x63, 0x41, 0x70, 0x70, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x73, + 0x5f, 0x6b, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x73, 0x74, 0x61, 0x74, 0x73, + 0x4b, 0x76, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6a, 0x6f, 0x62, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4a, + 0x6f, 0x62, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x79, 0x69, 0x65, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, + 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x79, 0x69, 0x65, 0x6c, + 0x64, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0c, 0x75, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, + 0x14, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x67, 0x61, 0x6d, + 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x08, 0x73, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x73, + 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x61, + 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, + 0x73, 0x54, 0x6f, 0x55, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x6f, 0x63, + 0x61, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x4c, 0x6f, 0x61, + 0x64, 0x69, 0x6e, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x62, 0x61, 0x63, + 0x6b, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x77, + 0x72, 0x69, 0x74, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x23, 0x0a, + 0x0d, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x4c, 0x6f, 0x63, + 0x6b, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x65, 0x75, + 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x51, 0x75, + 0x65, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x5f, 0x6a, 0x6f, 0x62, + 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x4a, 0x6f, + 0x62, 0x73, 0x22, 0xd6, 0x03, 0x0a, 0x0f, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x53, 0x65, 0x6e, + 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, + 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x4d, + 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x6d, + 0x61, 0x69, 0x6c, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x5c, 0x0a, 0x13, 0x70, 0x65, 0x72, + 0x73, 0x6f, 0x6e, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x53, + 0x65, 0x6e, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, + 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x11, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x67, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x47, 0x63, 0x12, 0x39, 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x07, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x53, 0x65, 0x6e, + 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x1a, + 0x52, 0x0a, 0x10, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x1a, 0x56, 0x0a, 0x1b, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, + 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x36, 0x0a, 0x17, 0x43, + 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x22, 0x97, 0x01, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, + 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x15, + 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, + 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x6d, + 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, + 0x6d, 0x61, 0x69, 0x6c, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, + 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6d, + 0x61, 0x69, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x82, 0x01, + 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xc1, 0x02, - 0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4d, 0x0a, 0x11, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x67, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x1a, 0x34, 0x0a, 0x0c, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6c, - 0x6f, 0x77, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0d, 0x52, 0x03, 0x6c, 0x6f, 0x77, 0x12, 0x12, 0x0a, - 0x04, 0x68, 0x69, 0x67, 0x68, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0d, 0x52, 0x04, 0x68, 0x69, 0x67, - 0x68, 0x22, 0x6e, 0x0a, 0x06, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x14, 0x4e, - 0x4f, 0x54, 0x49, 0x46, 0x59, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, - 0x4f, 0x4e, 0x53, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x5f, - 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x53, 0x10, - 0x01, 0x12, 0x17, 0x0a, 0x13, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x5f, 0x41, 0x43, 0x48, 0x49, - 0x45, 0x56, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4e, 0x4f, - 0x54, 0x49, 0x46, 0x59, 0x5f, 0x56, 0x41, 0x43, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, - 0x03, 0x22, 0x97, 0x04, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x48, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, - 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, - 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, - 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6f, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, - 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0d, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1f, 0x0a, - 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x17, - 0x0a, 0x07, 0x6f, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x12, 0x43, 0x0a, 0x0c, 0x65, 0x78, 0x74, 0x72, - 0x61, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x48, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x52, 0x0b, 0x65, 0x78, 0x74, 0x72, 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x19, 0x0a, - 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x06, 0x52, - 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6d, 0x5f, 0x73, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x79, 0x73, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6d, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x79, 0x73, - 0x69, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x6d, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x13, 0x63, 0x6d, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x70, 0x6f, 0x74, 0x5f, - 0x69, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x74, - 0x49, 0x64, 0x73, 0x1a, 0x36, 0x0a, 0x0a, 0x45, 0x78, 0x74, 0x72, 0x61, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xb0, 0x02, 0x0a, 0x24, - 0x43, 0x4d, 0x73, 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4f, 0x66, 0x53, 0x75, 0x73, 0x70, 0x69, 0x63, 0x69, 0x6f, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, - 0x76, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, - 0x70, 0x70, 0x69, 0x64, 0x12, 0x6a, 0x0a, 0x12, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, - 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x3b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4f, 0x66, 0x53, 0x75, 0x73, 0x70, 0x69, 0x63, 0x69, 0x6f, 0x75, 0x73, 0x41, - 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, - 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x11, 0x6d, - 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x1a, 0x6c, 0x0a, 0x15, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x47, 0x61, 0x6d, 0x65, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x70, 0x70, - 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x74, 0x68, 0x65, 0x72, - 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x06, 0x52, - 0x0d, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x22, 0xfe, - 0x06, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x50, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, - 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x54, 0x78, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, - 0x17, 0x0a, 0x07, 0x67, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x67, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x07, 0x70, 0x61, 0x72, 0x74, - 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x0d, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x27, 0x0a, + 0x0f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x22, 0xc1, 0x01, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, 0x72, 0x61, + 0x6e, 0x74, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x73, 0x73, 0x65, 0x73, 0x32, 0x12, 0x19, + 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, + 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x63, + 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, + 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x61, 0x73, 0x73, + 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0d, 0x70, 0x61, 0x73, 0x73, 0x65, 0x73, 0x54, 0x6f, 0x47, 0x72, 0x61, 0x6e, 0x74, + 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x70, 0x69, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x64, 0x61, + 0x79, 0x73, 0x54, 0x6f, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, + 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x68, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, + 0x47, 0x72, 0x61, 0x6e, 0x74, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x73, 0x73, 0x65, 0x73, + 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x28, 0x0a, 0x0e, 0x70, 0x61, 0x73, 0x73, 0x65, 0x73, + 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x01, + 0x30, 0x52, 0x0d, 0x70, 0x61, 0x73, 0x73, 0x65, 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, + 0x22, 0x5c, 0x0a, 0x1e, 0x43, 0x47, 0x43, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x73, 0x67, + 0x5f, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, + 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, + 0x69, 0x64, 0x3a, 0x0a, 0x80, 0xa6, 0x1d, 0x80, 0x01, 0x88, 0xa6, 0x1d, 0x80, 0x04, 0x22, 0xc7, + 0x0c, 0x0a, 0x27, 0x43, 0x47, 0x43, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x73, 0x67, 0x5f, + 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x12, 0x65, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x3a, 0x01, 0x32, 0x52, 0x11, 0x65, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x21, 0x0a, 0x0c, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, + 0x73, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x2e, + 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x73, 0x49, + 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x22, + 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x76, 0x61, 0x63, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x56, 0x61, 0x63, 0x42, 0x61, 0x6e, 0x6e, + 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x63, 0x79, 0x62, 0x65, 0x72, 0x5f, 0x63, + 0x61, 0x66, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x43, 0x79, 0x62, + 0x65, 0x72, 0x43, 0x61, 0x66, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x73, 0x63, 0x68, + 0x6f, 0x6f, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0f, 0x69, 0x73, 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, + 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, + 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x53, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, + 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, + 0x12, 0x31, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x66, 0x72, 0x65, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x61, + 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x12, 0x69, 0x73, 0x46, 0x72, 0x65, 0x65, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x66, 0x72, 0x65, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x61, + 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x13, 0x66, 0x72, 0x65, 0x65, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x45, 0x78, 0x70, + 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x6c, 0x6f, + 0x77, 0x5f, 0x76, 0x69, 0x6f, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0d, 0x69, 0x73, 0x4c, 0x6f, 0x77, 0x56, 0x69, 0x6f, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x12, + 0x33, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, + 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x13, 0x69, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, + 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, + 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x11, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x42, 0x61, + 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, + 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, + 0x73, 0x54, 0x72, 0x61, 0x64, 0x65, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x14, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x62, 0x61, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x74, 0x72, 0x61, 0x64, + 0x65, 0x42, 0x61, 0x6e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, + 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x13, + 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x73, 0x75, 0x73, 0x70, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x65, 0x61, + 0x6d, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, + 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x72, 0x69, + 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0b, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x15, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x32, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x67, 0x75, 0x61, 0x72, + 0x64, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x13, 0x69, 0x73, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x67, 0x75, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, + 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0f, 0x69, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x12, 0x3a, 0x0a, 0x1a, 0x69, 0x73, 0x5f, 0x74, 0x77, 0x6f, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, + 0x72, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x1d, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x69, 0x73, 0x54, 0x77, 0x6f, 0x46, 0x61, 0x63, 0x74, 0x6f, + 0x72, 0x41, 0x75, 0x74, 0x68, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x35, 0x0a, 0x17, + 0x74, 0x77, 0x6f, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x74, + 0x77, 0x6f, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x76, 0x65, 0x72, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1f, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, + 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x70, + 0x68, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x73, 0x5f, 0x70, 0x68, 0x6f, + 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x18, 0x22, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x74, 0x5f, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x18, 0x23, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x72, 0x74, 0x5f, 0x62, 0x69, 0x72, + 0x74, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, + 0x74, 0x42, 0x69, 0x72, 0x74, 0x68, 0x44, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x78, + 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x25, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x78, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x68, 0x61, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x65, + 0x70, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x69, 0x6e, 0x61, 0x5f, 0x73, 0x73, 0x61, 0x18, 0x26, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x68, 0x61, 0x73, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, + 0x64, 0x43, 0x68, 0x69, 0x6e, 0x61, 0x53, 0x73, 0x61, 0x12, 0x31, 0x0a, 0x15, 0x69, 0x73, 0x5f, + 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x68, 0x69, + 0x6e, 0x61, 0x18, 0x27, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x42, 0x61, 0x6e, 0x6e, + 0x65, 0x64, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x43, 0x68, 0x69, 0x6e, 0x61, 0x3a, 0x0a, 0x80, 0xa6, + 0x1d, 0x80, 0x01, 0x88, 0xa6, 0x1d, 0x80, 0x04, 0x22, 0x33, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x06, 0x52, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x22, 0xfc, 0x01, + 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, + 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x58, 0x0a, 0x11, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x5f, 0x6c, 0x6f, + 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, + 0x6d, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x65, 0x72, + 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x10, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, + 0x64, 0x65, 0x64, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x66, 0x61, + 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x5f, 0x73, 0x74, 0x65, 0x61, + 0x6d, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x06, 0x52, 0x14, 0x66, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, + 0x1a, 0x4a, 0x0a, 0x0b, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, + 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x65, 0x72, + 0x73, 0x6f, 0x6e, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x5f, 0x0a, 0x15, + 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x72, 0x69, 0x65, 0x6e, + 0x64, 0x73, 0x68, 0x69, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, + 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0b, 0x73, 0x74, 0x65, + 0x61, 0x6d, 0x69, 0x64, 0x4c, 0x65, 0x66, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x65, 0x61, + 0x6d, 0x69, 0x64, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, + 0x0c, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x52, 0x69, 0x67, 0x68, 0x74, 0x22, 0x65, 0x0a, + 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x72, 0x69, 0x65, + 0x6e, 0x64, 0x73, 0x68, 0x69, 0x70, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x6f, 0x75, + 0x6e, 0x64, 0x5f, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x68, 0x69, 0x70, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x73, 0x68, 0x69, 0x70, 0x22, 0x8a, 0x02, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, + 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x64, + 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, + 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x44, 0x69, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x34, + 0x0a, 0x03, 0x64, 0x69, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, + 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x75, 0x62, 0x47, 0x43, 0x52, + 0x03, 0x64, 0x69, 0x72, 0x1a, 0x8a, 0x01, 0x0a, 0x05, 0x53, 0x75, 0x62, 0x47, 0x43, 0x12, 0x1b, + 0x0a, 0x09, 0x64, 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x08, 0x64, 0x69, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x10, 0x0a, 0x03, 0x62, 0x6f, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x62, 0x6f, + 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x6e, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, + 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x63, 0x42, 0x69, 0x6e, 0x61, 0x72, + 0x79, 0x22, 0x5d, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, + 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, + 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x22, 0x47, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x57, 0x65, 0x62, + 0x41, 0x50, 0x49, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x64, 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x08, 0x64, 0x69, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x41, 0x0a, 0x25, 0x43, 0x47, 0x43, + 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, + 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x72, 0x75, 0x73, 0x74, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x22, 0x86, 0x02, 0x0a, + 0x26, 0x43, 0x47, 0x43, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x65, + 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x72, 0x75, 0x73, 0x74, 0x5f, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x1a, 0x68, 0x61, 0x73, 0x5f, 0x70, + 0x72, 0x69, 0x6f, 0x72, 0x5f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x68, 0x69, + 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x68, 0x61, 0x73, + 0x50, 0x72, 0x69, 0x6f, 0x72, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x69, 0x73, + 0x74, 0x6f, 0x72, 0x79, 0x12, 0x40, 0x0a, 0x1d, 0x68, 0x61, 0x73, 0x5f, 0x6e, 0x6f, 0x5f, 0x72, + 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x72, + 0x65, 0x73, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x68, 0x61, 0x73, + 0x4e, 0x6f, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, + 0x52, 0x65, 0x73, 0x65, 0x74, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x77, 0x61, 0x6c, + 0x6c, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x68, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, + 0x43, 0x61, 0x73, 0x68, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x41, 0x6c, 0x6c, 0x54, 0x72, + 0x75, 0x73, 0x74, 0x65, 0x64, 0x22, 0xcf, 0x01, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x48, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x56, 0x61, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, + 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x63, 0x62, 0x61, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x63, + 0x62, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, + 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x6e, 0x6f, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0b, 0x69, 0x73, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x4e, 0x6f, 0x77, 0x12, 0x28, 0x0a, + 0x10, 0x69, 0x73, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x66, 0x75, 0x74, 0x75, 0x72, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x42, 0x61, 0x6e, 0x6e, 0x65, + 0x64, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x22, 0x37, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, + 0x22, 0xb2, 0x01, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x50, 0x61, + 0x72, 0x74, 0x6e, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, + 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x77, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x77, 0x69, 0x64, 0x12, 0x18, 0x0a, + 0x07, 0x6e, 0x65, 0x78, 0x6f, 0x6e, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x6e, 0x65, 0x78, 0x6f, 0x6e, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x67, 0x65, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0b, 0x69, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x0a, + 0x69, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, + 0x5f, 0x61, 0x64, 0x75, 0x6c, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, + 0x41, 0x64, 0x75, 0x6c, 0x74, 0x22, 0xf5, 0x02, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x64, + 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, + 0x64, 0x69, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x40, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, + 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x6f, 0x75, + 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3a, 0x06, 0x52, 0x41, 0x4e, 0x44, + 0x4f, 0x4d, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x45, 0x0a, 0x08, 0x66, 0x61, + 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, + 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3a, 0x07, + 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x52, 0x08, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, + 0x6b, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x65, 0x62, 0x61, + 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x70, 0x0a, 0x0d, 0x52, + 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x0a, 0x0a, 0x06, + 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x49, 0x53, 0x43, + 0x41, 0x52, 0x44, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, + 0x53, 0x54, 0x45, 0x41, 0x4d, 0x49, 0x44, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x52, 0x4f, + 0x54, 0x4f, 0x42, 0x55, 0x46, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x55, 0x49, 0x4e, 0x54, + 0x36, 0x34, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x57, 0x45, 0x42, 0x41, 0x50, 0x49, 0x5f, 0x50, + 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x04, 0x22, 0xe2, 0x01, + 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, + 0x72, 0x53, 0x65, 0x74, 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, + 0x67, 0x12, 0x40, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, + 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x52, 0x6f, 0x75, + 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, + 0x69, 0x65, 0x73, 0x1a, 0x7d, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x0e, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x22, 0xbb, 0x01, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, + 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, + 0x73, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x43, 0x0a, 0x07, 0x65, 0x6e, 0x74, + 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x50, + 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x22, 0x47, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, + 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x52, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x07, + 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x01, 0x32, + 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x4a, 0x0a, 0x2b, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xc1, 0x02, 0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, + 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1b, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4d, 0x0a, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6d, + 0x73, 0x67, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x73, 0x1a, 0x34, 0x0a, 0x0c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0d, + 0x52, 0x03, 0x6c, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x69, 0x67, 0x68, 0x18, 0x02, 0x20, + 0x02, 0x28, 0x0d, 0x52, 0x04, 0x68, 0x69, 0x67, 0x68, 0x22, 0x6e, 0x0a, 0x06, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x14, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x5f, 0x55, 0x53, + 0x45, 0x52, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x00, 0x12, 0x1a, 0x0a, + 0x16, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x53, + 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x4e, 0x4f, 0x54, + 0x49, 0x46, 0x59, 0x5f, 0x41, 0x43, 0x48, 0x49, 0x45, 0x56, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x53, + 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x5f, 0x56, 0x41, 0x43, + 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x22, 0x97, 0x04, 0x0a, 0x14, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x48, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x15, 0x0a, + 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, + 0x70, 0x70, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x26, 0x0a, 0x0f, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x65, + 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, + 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x6f, 0x73, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, + 0x12, 0x43, 0x0a, 0x0c, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, + 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x48, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x78, + 0x74, 0x72, 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x0b, 0x65, 0x78, 0x74, 0x72, 0x61, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6d, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, + 0x79, 0x73, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6d, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x79, 0x73, 0x69, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x6d, + 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x6d, 0x53, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x1b, + 0x0a, 0x09, 0x64, 0x65, 0x70, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, + 0x0d, 0x52, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x74, 0x49, 0x64, 0x73, 0x1a, 0x36, 0x0a, 0x0a, 0x45, + 0x78, 0x74, 0x72, 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0xb0, 0x02, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x66, 0x53, 0x75, 0x73, 0x70, 0x69, 0x63, + 0x69, 0x6f, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, + 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x6a, 0x0a, 0x12, + 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x66, 0x53, 0x75, 0x73, + 0x70, 0x69, 0x63, 0x69, 0x6f, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, + 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x11, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x1a, 0x6c, 0x0a, 0x15, 0x4d, 0x75, 0x6c, 0x74, + 0x69, 0x70, 0x6c, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, + 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x25, 0x0a, 0x0e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x06, 0x52, 0x0d, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x74, + 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x22, 0xfe, 0x06, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x44, + 0x50, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x54, 0x78, 0x6e, + 0x73, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x63, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x63, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x3d, 0x0a, 0x07, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x50, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, + 0x72, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x54, 0x78, 0x6e, 0x73, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, + 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x12, + 0x4b, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x50, 0x50, 0x61, + 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x54, 0x78, 0x6e, 0x73, 0x2e, 0x50, + 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x54, 0x78, 0x6e, 0x52, 0x0c, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x8c, 0x04, 0x0a, + 0x0f, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x54, 0x78, 0x6e, + 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x6e, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, + 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x78, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x78, 0x6e, 0x49, 0x64, 0x12, 0x1d, + 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, + 0x09, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, + 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, + 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x78, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x03, 0x74, 0x61, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x5f, 0x75, 0x73, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x72, 0x69, + 0x63, 0x65, 0x55, 0x73, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x78, 0x5f, 0x75, 0x73, 0x64, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, 0x61, 0x78, 0x55, 0x73, 0x64, 0x12, 0x23, + 0x0a, 0x0d, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x78, 0x6e, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x74, 0x65, + 0x61, 0x6d, 0x54, 0x78, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0c, 0x72, 0x65, 0x66, + 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0a, 0x72, 0x65, 0x66, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x49, 0x64, 0x1a, 0x99, 0x01, 0x0a, 0x0b, + 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x70, + 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x09, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, + 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, + 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x93, 0x03, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x50, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x54, 0x78, - 0x6e, 0x73, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, - 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x44, 0x50, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d, 0x69, 0x63, - 0x72, 0x6f, 0x54, 0x78, 0x6e, 0x73, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d, 0x69, - 0x63, 0x72, 0x6f, 0x54, 0x78, 0x6e, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x8c, 0x04, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, - 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x54, 0x78, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x69, 0x74, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x6e, 0x69, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x15, 0x0a, 0x06, 0x74, 0x78, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x05, 0x74, 0x78, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x74, - 0x65, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x74, - 0x65, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, - 0x65, 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, - 0x64, 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x10, - 0x0a, 0x03, 0x74, 0x61, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x74, 0x61, 0x78, - 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x64, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x72, 0x69, 0x63, 0x65, 0x55, 0x73, 0x64, 0x12, 0x17, 0x0a, - 0x07, 0x74, 0x61, 0x78, 0x5f, 0x75, 0x73, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, - 0x74, 0x61, 0x78, 0x55, 0x73, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, - 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, - 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x73, - 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x78, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x54, 0x78, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, - 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, - 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x12, 0x20, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x5f, 0x69, - 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x49, 0x64, 0x1a, 0x99, 0x01, 0x0a, 0x0b, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, - 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, - 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, - 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, - 0x93, 0x03, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x50, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, - 0x72, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x54, 0x78, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x56, 0x0a, 0x0a, 0x65, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x50, 0x50, 0x61, 0x72, 0x74, - 0x6e, 0x65, 0x72, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x54, 0x78, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x3a, - 0x0a, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x0a, 0x65, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x22, 0xfb, 0x01, 0x0a, 0x0a, 0x45, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x49, - 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x70, 0x70, 0x49, 0x44, 0x10, 0x01, 0x12, 0x1b, 0x0a, - 0x17, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x61, 0x72, - 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, - 0x4d, 0x73, 0x67, 0x4e, 0x6f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x53, 0x51, 0x4c, 0x46, - 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x10, 0x04, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x4d, 0x73, - 0x67, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x69, 0x73, 0x63, - 0x72, 0x65, 0x70, 0x61, 0x6e, 0x63, 0x79, 0x10, 0x05, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x4d, - 0x73, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, - 0x65, 0x72, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x6b, - 0x5f, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x52, 0x75, 0x6e, 0x6e, 0x69, - 0x6e, 0x67, 0x10, 0x08, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, - 0x61, 0x74, 0x61, 0x10, 0x09, 0x22, 0x98, 0x01, 0x0a, 0x3b, 0x43, 0x43, 0x68, 0x69, 0x6e, 0x61, - 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x5f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 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, 0x29, 0x0a, 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x70, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x22, 0x63, 0x0a, 0x3c, 0x43, 0x43, 0x68, 0x69, 0x6e, 0x61, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x49, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x72, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x55, 0x72, 0x6c, 0x2a, 0xb6, 0x01, 0x0a, 0x10, 0x47, 0x43, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x42, 0x75, 0x66, 0x4d, 0x73, 0x67, 0x53, 0x72, 0x63, 0x12, 0x20, 0x0a, 0x1c, 0x47, 0x43, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x75, 0x66, 0x4d, 0x73, 0x67, 0x53, 0x72, 0x63, 0x5f, 0x55, - 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, - 0x47, 0x43, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x75, 0x66, 0x4d, 0x73, 0x67, 0x53, 0x72, 0x63, - 0x5f, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x10, 0x01, 0x12, 0x20, 0x0a, - 0x1c, 0x47, 0x43, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x75, 0x66, 0x4d, 0x73, 0x67, 0x53, 0x72, - 0x63, 0x5f, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x44, 0x10, 0x02, 0x12, - 0x1b, 0x0a, 0x17, 0x47, 0x43, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x75, 0x66, 0x4d, 0x73, 0x67, - 0x53, 0x72, 0x63, 0x5f, 0x46, 0x72, 0x6f, 0x6d, 0x47, 0x43, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, - 0x47, 0x43, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x75, 0x66, 0x4d, 0x73, 0x67, 0x53, 0x72, 0x63, - 0x5f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x10, 0x04, 0x3a, 0x43, - 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1d, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe0, 0xd4, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x3a, 0x53, 0x0a, 0x12, 0x6d, 0x73, 0x67, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, - 0x6f, 0x66, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe0, 0xd4, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x3a, 0x02, 0x33, 0x32, 0x52, 0x10, 0x6d, 0x73, 0x67, 0x70, 0x6f, 0x6f, 0x6c, 0x53, - 0x6f, 0x66, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x3a, 0x54, 0x0a, 0x12, 0x6d, 0x73, 0x67, 0x70, - 0x6f, 0x6f, 0x6c, 0x5f, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0xe1, 0xd4, 0x03, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x03, 0x33, 0x38, 0x34, 0x52, 0x10, 0x6d, 0x73, - 0x67, 0x70, 0x6f, 0x6f, 0x6c, 0x48, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x05, - 0x48, 0x01, 0x80, 0x01, 0x00, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x3a, 0x01, 0x32, 0x52, 0x07, + 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x56, 0x0a, 0x0a, 0x65, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x44, 0x50, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d, 0x69, 0x63, 0x72, 0x6f, + 0x54, 0x78, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x3a, 0x0a, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x52, 0x0a, 0x65, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x22, + 0xfb, 0x01, 0x0a, 0x0a, 0x45, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0e, + 0x0a, 0x0a, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, 0x15, + 0x0a, 0x11, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x70, + 0x70, 0x49, 0x44, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x49, 0x6e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, + 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x4e, 0x6f, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x6b, + 0x5f, 0x4d, 0x73, 0x67, 0x53, 0x51, 0x4c, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x10, 0x04, + 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, + 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x69, 0x73, 0x63, 0x72, 0x65, 0x70, 0x61, 0x6e, 0x63, 0x79, 0x10, + 0x05, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x65, + 0x64, 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x72, 0x65, + 0x61, 0x64, 0x79, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x10, 0x08, 0x12, 0x1f, 0x0a, 0x1b, + 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x10, 0x09, 0x22, 0x98, 0x01, + 0x0a, 0x3b, 0x43, 0x43, 0x68, 0x69, 0x6e, 0x61, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, + 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, + 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, + 0x70, 0x69, 0x64, 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, 0x29, 0x0a, + 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x70, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, + 0x70, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x63, 0x0a, 0x3c, 0x43, 0x43, 0x68, 0x69, + 0x6e, 0x61, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x5f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x5f, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x67, 0x72, 0x65, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x72, 0x6c, 0x2a, 0xb6, 0x01, + 0x0a, 0x10, 0x47, 0x43, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x75, 0x66, 0x4d, 0x73, 0x67, 0x53, + 0x72, 0x63, 0x12, 0x20, 0x0a, 0x1c, 0x47, 0x43, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x75, 0x66, + 0x4d, 0x73, 0x67, 0x53, 0x72, 0x63, 0x5f, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x47, 0x43, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x42, + 0x75, 0x66, 0x4d, 0x73, 0x67, 0x53, 0x72, 0x63, 0x5f, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x47, 0x43, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x42, 0x75, 0x66, 0x4d, 0x73, 0x67, 0x53, 0x72, 0x63, 0x5f, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x74, + 0x65, 0x61, 0x6d, 0x49, 0x44, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x47, 0x43, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x42, 0x75, 0x66, 0x4d, 0x73, 0x67, 0x53, 0x72, 0x63, 0x5f, 0x46, 0x72, 0x6f, 0x6d, + 0x47, 0x43, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x47, 0x43, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x42, + 0x75, 0x66, 0x4d, 0x73, 0x67, 0x53, 0x72, 0x63, 0x5f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x53, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x10, 0x04, 0x3a, 0x43, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0xe0, 0xd4, 0x03, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, + 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x3a, 0x53, 0x0a, 0x12, 0x6d, + 0x73, 0x67, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, 0x6f, 0x66, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0xe0, 0xd4, 0x03, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x33, 0x32, 0x52, 0x10, + 0x6d, 0x73, 0x67, 0x70, 0x6f, 0x6f, 0x6c, 0x53, 0x6f, 0x66, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x3a, 0x54, 0x0a, 0x12, 0x6d, 0x73, 0x67, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x68, 0x61, 0x72, 0x64, + 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe1, 0xd4, 0x03, 0x20, 0x01, 0x28, 0x05, 0x3a, + 0x03, 0x33, 0x38, 0x34, 0x52, 0x10, 0x6d, 0x73, 0x67, 0x70, 0x6f, 0x6f, 0x6c, 0x48, 0x61, 0x72, + 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, } var (