From f01314238bc86151beb1489091ae8fe8e4be3190 Mon Sep 17 00:00:00 2001 From: guldev25 Date: Tue, 2 Sep 2025 13:51:10 +0200 Subject: [PATCH 1/7] added audio_bitrate_type in tack info --- protobuf/video/sfu/models/models.pb.go | 683 +++++++++--------- protobuf/video/sfu/models/models.proto | 1 + .../video/sfu/models/models_vtproto.pb.go | 43 ++ 3 files changed, 391 insertions(+), 336 deletions(-) diff --git a/protobuf/video/sfu/models/models.pb.go b/protobuf/video/sfu/models/models.pb.go index 2f51346e2..280be8879 100644 --- a/protobuf/video/sfu/models/models.pb.go +++ b/protobuf/video/sfu/models/models.pb.go @@ -1762,12 +1762,13 @@ type TrackInfo struct { Layers []*VideoLayer `protobuf:"bytes,5,rep,name=layers,proto3" json:"layers,omitempty"` Mid string `protobuf:"bytes,6,opt,name=mid,proto3" json:"mid,omitempty"` // for audio tracks - Dtx bool `protobuf:"varint,7,opt,name=dtx,proto3" json:"dtx,omitempty"` - Stereo bool `protobuf:"varint,8,opt,name=stereo,proto3" json:"stereo,omitempty"` - Red bool `protobuf:"varint,9,opt,name=red,proto3" json:"red,omitempty"` - Muted bool `protobuf:"varint,10,opt,name=muted,proto3" json:"muted,omitempty"` - Codec *Codec `protobuf:"bytes,11,opt,name=codec,proto3" json:"codec,omitempty"` - PublishOptionId int32 `protobuf:"varint,12,opt,name=publish_option_id,json=publishOptionId,proto3" json:"publish_option_id,omitempty"` + Dtx bool `protobuf:"varint,7,opt,name=dtx,proto3" json:"dtx,omitempty"` + Stereo bool `protobuf:"varint,8,opt,name=stereo,proto3" json:"stereo,omitempty"` + Red bool `protobuf:"varint,9,opt,name=red,proto3" json:"red,omitempty"` + Muted bool `protobuf:"varint,10,opt,name=muted,proto3" json:"muted,omitempty"` + Codec *Codec `protobuf:"bytes,11,opt,name=codec,proto3" json:"codec,omitempty"` + PublishOptionId int32 `protobuf:"varint,12,opt,name=publish_option_id,json=publishOptionId,proto3" json:"publish_option_id,omitempty"` + AudioBitrateType string `protobuf:"bytes,13,opt,name=audio_bitrate_type,json=audioBitrateType,proto3" json:"audio_bitrate_type,omitempty"` } func (x *TrackInfo) Reset() { @@ -1872,6 +1873,13 @@ func (x *TrackInfo) GetPublishOptionId() int32 { return 0 } +func (x *TrackInfo) GetAudioBitrateType() string { + if x != nil { + return x.AudioBitrateType + } + return "" +} + type Error struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2936,7 +2944,7 @@ var file_video_sfu_models_models_proto_rawDesc = []byte{ 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x63, 0x65, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xec, 0x02, 0x0a, 0x09, + 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x9a, 0x03, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, @@ -2959,341 +2967,344 @@ var file_video_sfu_models_models_proto_rawDesc = []byte{ 0x73, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x7c, 0x0a, 0x05, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x12, 0x36, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, - 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 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, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, - 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x52, 0x65, 0x74, 0x72, 0x79, 0x22, 0xe1, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x03, 0x73, 0x64, - 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x73, 0x2e, 0x53, 0x64, 0x6b, 0x52, 0x03, 0x73, 0x64, 0x6b, 0x12, 0x2b, 0x0a, 0x02, 0x6f, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, - 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, - 0x2e, 0x4f, 0x53, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, - 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x73, 0x2e, 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x52, 0x07, 0x62, 0x72, 0x6f, 0x77, - 0x73, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, - 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x44, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x7d, 0x0a, 0x03, - 0x53, 0x64, 0x6b, 0x12, 0x34, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, - 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x53, 0x64, 0x6b, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, - 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, - 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x22, 0x56, 0x0a, 0x02, 0x4f, - 0x53, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, - 0x75, 0x72, 0x65, 0x22, 0x37, 0x0a, 0x07, 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xcb, 0x01, 0x0a, - 0x0b, 0x52, 0x54, 0x4d, 0x50, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, - 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, - 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, - 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, - 0x66, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x66, - 0x74, 0x77, 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x66, - 0x74, 0x77, 0x61, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x22, 0x36, 0x0a, 0x06, 0x44, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x22, 0xa0, 0x02, 0x0a, 0x04, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x2b, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, - 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x68, 0x6f, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, - 0x0a, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, - 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x8d, 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x6c, 0x6c, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x73, 0x68, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0f, 0x63, 0x61, 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x41, 0x75, 0x64, 0x69, 0x6f, - 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, - 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x61, 0x6e, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x27, 0x0a, 0x0f, - 0x63, 0x61, 0x6e, 0x5f, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x61, 0x6e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, - 0x73, 0x68, 0x61, 0x72, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x0c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, - 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0b, 0x69, 0x73, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x22, 0x90, 0x01, - 0x0a, 0x0c, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x51, - 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, + 0x73, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x75, + 0x64, 0x69, 0x6f, 0x5f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x42, 0x69, 0x74, + 0x72, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x7c, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x12, 0x36, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x22, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, + 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, + 0x6f, 0x64, 0x65, 0x52, 0x04, 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, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x72, 0x65, + 0x74, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x68, 0x6f, 0x75, 0x6c, + 0x64, 0x52, 0x65, 0x74, 0x72, 0x79, 0x22, 0xe1, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x03, 0x73, 0x64, 0x6b, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, - 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x52, 0x0c, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x61, - 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, - 0x69, 0x73, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x61, 0x76, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, - 0x22, 0x97, 0x01, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x4f, 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, + 0x53, 0x64, 0x6b, 0x52, 0x03, 0x73, 0x64, 0x6b, 0x12, 0x2b, 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, + 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x4f, + 0x53, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, - 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x52, 0x0c, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x38, 0x0a, 0x19, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, - 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73, 0x4c, 0x6f, 0x77, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4d, - 0x6f, 0x64, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xc8, 0x02, 0x0a, 0x10, 0x50, - 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, - 0x41, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, - 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x54, 0x72, - 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, - 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x43, 0x6f, 0x64, 0x65, - 0x63, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x29, 0x0a, 0x11, 0x61, 0x76, 0x67, 0x5f, - 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x0e, 0x61, 0x76, 0x67, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x4d, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x76, 0x67, 0x5f, 0x66, 0x70, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x61, 0x76, 0x67, 0x46, 0x70, 0x73, 0x12, 0x50, 0x0a, 0x0f, - 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, - 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, - 0x56, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0e, - 0x76, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, - 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x69, - 0x74, 0x72, 0x61, 0x74, 0x65, 0x2a, 0x49, 0x0a, 0x08, 0x50, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, - 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x52, 0x10, 0x01, - 0x2a, 0x93, 0x01, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, - 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, - 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, - 0x5f, 0x50, 0x4f, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x4e, 0x4e, 0x45, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x47, 0x4f, - 0x4f, 0x44, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x4c, - 0x4c, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x2a, 0x77, 0x0a, 0x0c, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x51, - 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x1d, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, - 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, - 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x49, 0x44, 0x10, 0x01, - 0x12, 0x16, 0x0a, 0x12, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, - 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, 0x45, - 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0x03, 0x2a, - 0x93, 0x01, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, - 0x16, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, - 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x01, 0x12, - 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x49, - 0x44, 0x45, 0x4f, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, - 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x41, 0x55, - 0x44, 0x49, 0x4f, 0x10, 0x04, 0x2a, 0xcd, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x50, - 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, - 0x45, 0x5f, 0x57, 0x45, 0x42, 0x52, 0x54, 0x43, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, - 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x54, 0x4d, - 0x50, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, - 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x57, 0x48, 0x49, 0x50, 0x10, 0x02, - 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, - 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x49, 0x50, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, - 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, - 0x43, 0x45, 0x5f, 0x52, 0x54, 0x53, 0x50, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x52, + 0x2e, 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x52, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, + 0x72, 0x12, 0x37, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, + 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x7d, 0x0a, 0x03, 0x53, 0x64, + 0x6b, 0x12, 0x34, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x20, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, + 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x53, 0x64, 0x6b, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, 0x14, 0x0a, + 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x69, + 0x6e, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x22, 0x56, 0x0a, 0x02, 0x4f, 0x53, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, + 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, + 0x65, 0x22, 0x37, 0x0a, 0x07, 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xcb, 0x01, 0x0a, 0x0b, 0x52, + 0x54, 0x4d, 0x50, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, + 0x64, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, + 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, 0x61, 0x6d, + 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x66, 0x72, + 0x61, 0x6d, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x66, 0x74, 0x77, + 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x66, 0x74, 0x77, + 0x61, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, + 0x07, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x22, 0x36, 0x0a, 0x06, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x22, 0xa0, 0x02, 0x0a, 0x04, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2b, 0x0a, + 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x68, 0x6f, + 0x73, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x68, 0x6f, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x06, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x39, 0x0a, + 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x22, 0x8d, 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x61, 0x6e, + 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, + 0x68, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, + 0x61, 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x2a, + 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x76, 0x69, + 0x64, 0x65, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x61, 0x6e, 0x50, 0x75, + 0x62, 0x6c, 0x69, 0x73, 0x68, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x61, + 0x6e, 0x5f, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x61, 0x6e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x0c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x70, + 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, + 0x69, 0x73, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x22, 0x90, 0x01, 0x0a, 0x0c, + 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x51, 0x0a, 0x0d, + 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, + 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x41, 0x6e, + 0x64, 0x72, 0x6f, 0x69, 0x64, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x52, 0x0c, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x2d, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x61, 0x76, 0x65, + 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, + 0x50, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x61, 0x76, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x97, + 0x01, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4f, 0x0a, + 0x0d, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, + 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x41, + 0x70, 0x70, 0x6c, 0x65, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x52, 0x0c, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x38, + 0x0a, 0x19, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6d, + 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x15, 0x69, 0x73, 0x4c, 0x6f, 0x77, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x6f, 0x64, + 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xc8, 0x02, 0x0a, 0x10, 0x50, 0x65, 0x72, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x41, 0x0a, + 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, + 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x54, 0x72, 0x61, 0x63, + 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x34, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, + 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, + 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x29, 0x0a, 0x11, 0x61, 0x76, 0x67, 0x5f, 0x66, 0x72, + 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x0e, 0x61, 0x76, 0x67, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4d, + 0x73, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x76, 0x67, 0x5f, 0x66, 0x70, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x06, 0x61, 0x76, 0x67, 0x46, 0x70, 0x73, 0x12, 0x50, 0x0a, 0x0f, 0x76, 0x69, + 0x64, 0x65, 0x6f, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, + 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x56, 0x69, + 0x64, 0x65, 0x6f, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x76, 0x69, + 0x64, 0x65, 0x6f, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x69, 0x74, 0x72, + 0x61, 0x74, 0x65, 0x2a, 0x49, 0x0a, 0x08, 0x50, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x23, 0x0a, 0x1f, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x55, 0x42, + 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x52, 0x10, 0x01, 0x2a, 0x93, + 0x01, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, + 0x6c, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x4e, 0x4e, + 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, + 0x4f, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x47, 0x4f, 0x4f, 0x44, + 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x4c, 0x4c, 0x45, + 0x4e, 0x54, 0x10, 0x03, 0x2a, 0x77, 0x0a, 0x0c, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x51, 0x75, 0x61, + 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x1d, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, + 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, 0x45, 0x4f, + 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x49, 0x44, 0x10, 0x01, 0x12, 0x16, + 0x0a, 0x12, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, + 0x48, 0x49, 0x47, 0x48, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, + 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0x03, 0x2a, 0x93, 0x01, + 0x0a, 0x09, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x54, + 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x43, 0x4b, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x01, 0x12, 0x14, 0x0a, + 0x10, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x49, 0x44, 0x45, + 0x4f, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x10, 0x03, + 0x12, 0x21, 0x0a, 0x1d, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, + 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, + 0x4f, 0x10, 0x04, 0x2a, 0xcd, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, - 0x53, 0x52, 0x54, 0x10, 0x05, 0x2a, 0xea, 0x06, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, - 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, - 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x26, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, - 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, - 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x64, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, - 0x41, 0x43, 0x4b, 0x53, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x65, 0x12, - 0x29, 0x0a, 0x25, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, - 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4f, 0x55, 0x54, 0x5f, - 0x4f, 0x46, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x66, 0x12, 0x32, 0x0a, 0x2e, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, - 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x4c, 0x41, 0x59, - 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x67, 0x12, 0x19, - 0x0a, 0x15, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x49, 0x56, - 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x68, 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, - 0x41, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xc8, 0x01, - 0x12, 0x29, 0x0a, 0x24, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, - 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, - 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0xc9, 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x45, - 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, - 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xca, 0x01, 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, 0x52, + 0x57, 0x45, 0x42, 0x52, 0x54, 0x43, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, + 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x54, 0x4d, 0x50, 0x10, + 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, + 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x57, 0x48, 0x49, 0x50, 0x10, 0x02, 0x12, 0x1a, + 0x0a, 0x16, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, + 0x55, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x49, 0x50, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, + 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, + 0x5f, 0x52, 0x54, 0x53, 0x50, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x52, 0x54, 0x49, + 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x52, + 0x54, 0x10, 0x05, 0x2a, 0xea, 0x06, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, + 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, + 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, + 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, + 0x55, 0x4e, 0x44, 0x10, 0x64, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, + 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, + 0x4b, 0x53, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x65, 0x12, 0x29, 0x0a, + 0x25, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, + 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4f, 0x55, 0x54, 0x5f, 0x4f, 0x46, + 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x66, 0x12, 0x32, 0x0a, 0x2e, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, + 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x4c, 0x41, 0x59, 0x45, 0x52, + 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x67, 0x12, 0x19, 0x0a, 0x15, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x49, 0x56, 0x45, 0x5f, + 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x68, 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, + 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, + 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xc8, 0x01, 0x12, 0x29, + 0x0a, 0x24, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, + 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, + 0x4e, 0x47, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0xc9, 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, - 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xcb, 0x01, - 0x12, 0x2c, 0x0a, 0x27, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, - 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, - 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xcc, 0x01, 0x12, 0x33, - 0x0a, 0x2e, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, - 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x5f, 0x54, - 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, - 0x10, 0xcd, 0x01, 0x12, 0x27, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, - 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x49, - 0x47, 0x4e, 0x41, 0x4c, 0x5f, 0x4c, 0x4f, 0x53, 0x54, 0x10, 0xce, 0x01, 0x12, 0x1e, 0x0a, 0x19, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, - 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xac, 0x02, 0x12, 0x2e, 0x0a, 0x29, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, - 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4c, 0x49, 0x4d, 0x49, - 0x54, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x48, 0x45, 0x44, 0x10, 0xad, 0x02, 0x12, 0x29, 0x0a, 0x24, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, - 0x53, 0x54, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, - 0x49, 0x4c, 0x45, 0x44, 0x10, 0x90, 0x03, 0x12, 0x1f, 0x0a, 0x1a, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, - 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x91, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, - 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x93, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, - 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, - 0x4e, 0x59, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x53, 0x10, 0xad, 0x03, 0x12, 0x25, - 0x0a, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x54, - 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x10, 0xf4, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, - 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x46, 0x55, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, 0x47, - 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xd8, 0x04, 0x12, 0x18, 0x0a, 0x13, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x46, 0x55, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, - 0xbc, 0x05, 0x2a, 0xea, 0x01, 0x0a, 0x07, 0x53, 0x64, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, - 0x0a, 0x14, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x44, 0x4b, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x54, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, - 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x47, 0x55, 0x4c, 0x41, 0x52, - 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, - 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x44, 0x4b, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4f, 0x53, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, - 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x4c, 0x55, 0x54, 0x54, 0x45, 0x52, 0x10, 0x05, - 0x12, 0x19, 0x0a, 0x15, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, - 0x43, 0x54, 0x5f, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x53, - 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x10, 0x07, 0x12, - 0x0f, 0x0a, 0x0b, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x4f, 0x10, 0x08, - 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4c, 0x41, - 0x49, 0x4e, 0x5f, 0x4a, 0x41, 0x56, 0x41, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x10, 0x09, 0x2a, - 0xbb, 0x01, 0x0a, 0x14, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x55, 0x6e, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x52, 0x41, 0x43, - 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, - 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, - 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, - 0x4d, 0x55, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x54, 0x52, 0x41, 0x43, 0x4b, - 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, - 0x4e, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x56, - 0x4f, 0x4b, 0x45, 0x44, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, + 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, + 0x49, 0x4c, 0x45, 0x44, 0x10, 0xca, 0x01, 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, + 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, + 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xcb, 0x01, 0x12, 0x2c, + 0x0a, 0x27, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, + 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, + 0x43, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xcc, 0x01, 0x12, 0x33, 0x0a, 0x2e, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, + 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x5f, 0x54, 0x52, 0x41, + 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0xcd, + 0x01, 0x12, 0x27, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, + 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x49, 0x47, 0x4e, + 0x41, 0x4c, 0x5f, 0x4c, 0x4f, 0x53, 0x54, 0x10, 0xce, 0x01, 0x12, 0x1e, 0x0a, 0x19, 0x45, 0x52, + 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x4e, 0x4f, + 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xac, 0x02, 0x12, 0x2e, 0x0a, 0x29, 0x45, 0x52, + 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x50, 0x41, + 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, + 0x52, 0x45, 0x41, 0x43, 0x48, 0x45, 0x44, 0x10, 0xad, 0x02, 0x12, 0x29, 0x0a, 0x24, 0x45, 0x52, + 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, + 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, + 0x45, 0x44, 0x10, 0x90, 0x03, 0x12, 0x1f, 0x0a, 0x1a, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, + 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, + 0x54, 0x45, 0x44, 0x10, 0x91, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, + 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, + 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x93, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, 0x4e, 0x59, + 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x53, 0x10, 0xad, 0x03, 0x12, 0x25, 0x0a, 0x20, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, + 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, + 0x10, 0xf4, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, + 0x45, 0x5f, 0x53, 0x46, 0x55, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x44, + 0x4f, 0x57, 0x4e, 0x10, 0xd8, 0x04, 0x12, 0x18, 0x0a, 0x13, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, + 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x46, 0x55, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0xbc, 0x05, + 0x2a, 0xea, 0x01, 0x0a, 0x07, 0x53, 0x64, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, + 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x54, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, + 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x47, 0x55, 0x4c, 0x41, 0x52, 0x10, 0x02, + 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x44, + 0x52, 0x4f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x49, 0x4f, 0x53, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, 0x4b, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x4c, 0x55, 0x54, 0x54, 0x45, 0x52, 0x10, 0x05, 0x12, 0x19, + 0x0a, 0x15, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x54, + 0x5f, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x44, 0x4b, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x10, 0x07, 0x12, 0x0f, 0x0a, + 0x0b, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x4f, 0x10, 0x08, 0x12, 0x1d, + 0x0a, 0x19, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x49, 0x4e, + 0x5f, 0x4a, 0x41, 0x56, 0x41, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x10, 0x09, 0x2a, 0xbb, 0x01, + 0x0a, 0x14, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x55, 0x6e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, + 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, - 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x2a, 0x6e, 0x0a, - 0x0c, 0x47, 0x6f, 0x41, 0x77, 0x61, 0x79, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, - 0x1a, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, - 0x1c, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, - 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, - 0x1c, 0x0a, 0x18, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, - 0x4e, 0x5f, 0x52, 0x45, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x2a, 0xb6, 0x01, - 0x0a, 0x0f, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x6e, 0x64, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, - 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, - 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x49, 0x56, 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x45, - 0x44, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, - 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, 0x10, - 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, - 0x4e, 0x44, 0x45, 0x44, 0x10, 0x04, 0x2a, 0xf1, 0x01, 0x0a, 0x1a, 0x57, 0x65, 0x62, 0x73, 0x6f, - 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x53, 0x74, 0x72, - 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x2c, 0x0a, 0x28, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, - 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x2b, 0x0a, 0x27, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x25, + 0x0a, 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, + 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x4d, 0x55, + 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, + 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, + 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x56, 0x4f, 0x4b, + 0x45, 0x44, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, + 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4d, + 0x4f, 0x44, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x2a, 0x6e, 0x0a, 0x0c, 0x47, + 0x6f, 0x41, 0x77, 0x61, 0x79, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x1a, 0x47, + 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x47, + 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x48, + 0x55, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x1c, 0x0a, + 0x18, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, + 0x52, 0x45, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x2a, 0xb6, 0x01, 0x0a, 0x0f, + 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x6e, 0x64, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, + 0x21, 0x0a, 0x1d, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x52, 0x45, + 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, + 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x01, 0x12, + 0x20, 0x0a, 0x1c, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x52, 0x45, + 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x49, 0x56, 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, + 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x03, 0x12, + 0x23, 0x0a, 0x1f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x52, 0x45, + 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x44, + 0x45, 0x44, 0x10, 0x04, 0x2a, 0xf1, 0x01, 0x0a, 0x1a, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, + 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x53, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x67, 0x79, 0x12, 0x2c, 0x0a, 0x28, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, - 0x45, 0x47, 0x59, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x01, - 0x12, 0x25, 0x0a, 0x21, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, - 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, - 0x5f, 0x46, 0x41, 0x53, 0x54, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x57, 0x45, 0x42, 0x53, 0x4f, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, - 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x52, 0x45, 0x4a, 0x4f, 0x49, 0x4e, 0x10, 0x03, - 0x12, 0x28, 0x0a, 0x24, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, - 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, - 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x45, 0x10, 0x04, 0x2a, 0xb0, 0x02, 0x0a, 0x13, 0x41, - 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, - 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4e, 0x44, - 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x4e, 0x44, - 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, - 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x52, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x20, - 0x0a, 0x1c, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, - 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x45, 0x10, 0x04, - 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, - 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, - 0x41, 0x4c, 0x10, 0x05, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, - 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4d, - 0x45, 0x52, 0x47, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, 0x44, - 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x07, 0x2a, 0xba, 0x01, - 0x0a, 0x11, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, - 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, - 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x4e, 0x4f, 0x4d, 0x49, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x50, 0x50, - 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x46, 0x41, 0x49, 0x52, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, 0x45, - 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, - 0x45, 0x52, 0x49, 0x4f, 0x55, 0x53, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x50, 0x50, 0x4c, - 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x04, 0x2a, 0x63, 0x0a, 0x10, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, - 0x0a, 0x1d, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, - 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x2c, 0x0a, 0x28, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x41, - 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, - 0x52, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, 0x01, 0x42, - 0x65, 0x42, 0x0b, 0x53, 0x66, 0x75, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x56, 0x31, 0x50, 0x01, - 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x65, 0x74, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2f, 0x73, - 0x66, 0x75, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0xaa, 0x02, 0x1a, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x66, 0x75, 0x2e, - 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x2b, 0x0a, 0x27, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, + 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, + 0x59, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x01, 0x12, 0x25, + 0x0a, 0x21, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, + 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x46, + 0x41, 0x53, 0x54, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, + 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x52, 0x45, 0x4a, 0x4f, 0x49, 0x4e, 0x10, 0x03, 0x12, 0x28, + 0x0a, 0x24, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, + 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x4d, + 0x49, 0x47, 0x52, 0x41, 0x54, 0x45, 0x10, 0x04, 0x2a, 0xb0, 0x02, 0x0a, 0x13, 0x41, 0x6e, 0x64, + 0x72, 0x6f, 0x69, 0x64, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x25, 0x0a, 0x21, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, + 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4e, 0x44, 0x52, 0x4f, + 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x4e, 0x44, 0x52, 0x4f, + 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, 0x44, 0x52, + 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x52, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, + 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x45, 0x10, 0x04, 0x12, 0x22, + 0x0a, 0x1e, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, + 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, + 0x10, 0x05, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, + 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4d, 0x45, 0x52, + 0x47, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, 0x44, 0x52, 0x4f, + 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x07, 0x2a, 0xba, 0x01, 0x0a, 0x11, + 0x41, 0x70, 0x70, 0x6c, 0x65, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, + 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, + 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, + 0x4d, 0x49, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x50, 0x50, 0x4c, 0x45, + 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, + 0x41, 0x49, 0x52, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, + 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x52, + 0x49, 0x4f, 0x55, 0x53, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, + 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x52, + 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x04, 0x2a, 0x63, 0x0a, 0x10, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x1d, + 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, + 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x2c, 0x0a, 0x28, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, + 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x52, 0x5f, + 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, 0x01, 0x42, 0x65, 0x42, + 0x0b, 0x53, 0x66, 0x75, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x56, 0x31, 0x50, 0x01, 0x5a, 0x37, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x65, 0x74, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2f, 0x73, 0x66, 0x75, + 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0xaa, 0x02, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x66, 0x75, 0x2e, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/protobuf/video/sfu/models/models.proto b/protobuf/video/sfu/models/models.proto index a3528dbca..eb20da7de 100644 --- a/protobuf/video/sfu/models/models.proto +++ b/protobuf/video/sfu/models/models.proto @@ -208,6 +208,7 @@ message TrackInfo { bool muted = 10; Codec codec = 11; int32 publish_option_id = 12; + string audio_bitrate_type = 13; } enum ErrorCode { diff --git a/protobuf/video/sfu/models/models_vtproto.pb.go b/protobuf/video/sfu/models/models_vtproto.pb.go index 61dc4ae8f..7a4e0c3f1 100644 --- a/protobuf/video/sfu/models/models_vtproto.pb.go +++ b/protobuf/video/sfu/models/models_vtproto.pb.go @@ -824,6 +824,13 @@ func (m *TrackInfo) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if len(m.AudioBitrateType) > 0 { + i -= len(m.AudioBitrateType) + copy(dAtA[i:], m.AudioBitrateType) + i = encodeVarint(dAtA, i, uint64(len(m.AudioBitrateType))) + i-- + dAtA[i] = 0x6a + } if m.PublishOptionId != 0 { i = encodeVarint(dAtA, i, uint64(m.PublishOptionId)) i-- @@ -2135,6 +2142,10 @@ func (m *TrackInfo) SizeVT() (n int) { if m.PublishOptionId != 0 { n += 1 + sov(uint64(m.PublishOptionId)) } + l = len(m.AudioBitrateType) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } if m.unknownFields != nil { n += len(m.unknownFields) } @@ -4717,6 +4728,38 @@ func (m *TrackInfo) UnmarshalVT(dAtA []byte) error { break } } + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AudioBitrateType", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AudioBitrateType = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skip(dAtA[iNdEx:]) From db7eb299f8df73c7c5511337dc021dc39d16ec5f Mon Sep 17 00:00:00 2001 From: guldev25 Date: Wed, 3 Sep 2025 13:41:13 +0200 Subject: [PATCH 2/7] Revert "added audio_bitrate_type in tack info" This reverts commit f01314238bc86151beb1489091ae8fe8e4be3190. --- protobuf/video/sfu/models/models.pb.go | 683 +++++++++--------- protobuf/video/sfu/models/models.proto | 1 - .../video/sfu/models/models_vtproto.pb.go | 43 -- 3 files changed, 336 insertions(+), 391 deletions(-) diff --git a/protobuf/video/sfu/models/models.pb.go b/protobuf/video/sfu/models/models.pb.go index 280be8879..2f51346e2 100644 --- a/protobuf/video/sfu/models/models.pb.go +++ b/protobuf/video/sfu/models/models.pb.go @@ -1762,13 +1762,12 @@ type TrackInfo struct { Layers []*VideoLayer `protobuf:"bytes,5,rep,name=layers,proto3" json:"layers,omitempty"` Mid string `protobuf:"bytes,6,opt,name=mid,proto3" json:"mid,omitempty"` // for audio tracks - Dtx bool `protobuf:"varint,7,opt,name=dtx,proto3" json:"dtx,omitempty"` - Stereo bool `protobuf:"varint,8,opt,name=stereo,proto3" json:"stereo,omitempty"` - Red bool `protobuf:"varint,9,opt,name=red,proto3" json:"red,omitempty"` - Muted bool `protobuf:"varint,10,opt,name=muted,proto3" json:"muted,omitempty"` - Codec *Codec `protobuf:"bytes,11,opt,name=codec,proto3" json:"codec,omitempty"` - PublishOptionId int32 `protobuf:"varint,12,opt,name=publish_option_id,json=publishOptionId,proto3" json:"publish_option_id,omitempty"` - AudioBitrateType string `protobuf:"bytes,13,opt,name=audio_bitrate_type,json=audioBitrateType,proto3" json:"audio_bitrate_type,omitempty"` + Dtx bool `protobuf:"varint,7,opt,name=dtx,proto3" json:"dtx,omitempty"` + Stereo bool `protobuf:"varint,8,opt,name=stereo,proto3" json:"stereo,omitempty"` + Red bool `protobuf:"varint,9,opt,name=red,proto3" json:"red,omitempty"` + Muted bool `protobuf:"varint,10,opt,name=muted,proto3" json:"muted,omitempty"` + Codec *Codec `protobuf:"bytes,11,opt,name=codec,proto3" json:"codec,omitempty"` + PublishOptionId int32 `protobuf:"varint,12,opt,name=publish_option_id,json=publishOptionId,proto3" json:"publish_option_id,omitempty"` } func (x *TrackInfo) Reset() { @@ -1873,13 +1872,6 @@ func (x *TrackInfo) GetPublishOptionId() int32 { return 0 } -func (x *TrackInfo) GetAudioBitrateType() string { - if x != nil { - return x.AudioBitrateType - } - return "" -} - type Error struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2944,7 +2936,7 @@ var file_video_sfu_models_models_proto_rawDesc = []byte{ 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x63, 0x65, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x9a, 0x03, 0x0a, 0x09, + 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xec, 0x02, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, @@ -2967,344 +2959,341 @@ var file_video_sfu_models_models_proto_rawDesc = []byte{ 0x73, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x75, - 0x64, 0x69, 0x6f, 0x5f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x42, 0x69, 0x74, - 0x72, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x7c, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x12, 0x36, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x22, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, - 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, - 0x6f, 0x64, 0x65, 0x52, 0x04, 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, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x72, 0x65, - 0x74, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x52, 0x65, 0x74, 0x72, 0x79, 0x22, 0xe1, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x03, 0x73, 0x64, 0x6b, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, + 0x73, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x7c, 0x0a, 0x05, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x12, 0x36, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, + 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 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, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, + 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x68, 0x6f, + 0x75, 0x6c, 0x64, 0x52, 0x65, 0x74, 0x72, 0x79, 0x22, 0xe1, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x03, 0x73, 0x64, + 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x73, 0x2e, 0x53, 0x64, 0x6b, 0x52, 0x03, 0x73, 0x64, 0x6b, 0x12, 0x2b, 0x0a, 0x02, 0x6f, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, + 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, + 0x2e, 0x4f, 0x53, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, + 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x73, 0x2e, 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x52, 0x07, 0x62, 0x72, 0x6f, 0x77, + 0x73, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, + 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x44, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x7d, 0x0a, 0x03, + 0x53, 0x64, 0x6b, 0x12, 0x34, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, + 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x53, 0x64, 0x6b, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, + 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, + 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x22, 0x56, 0x0a, 0x02, 0x4f, + 0x53, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, + 0x75, 0x72, 0x65, 0x22, 0x37, 0x0a, 0x07, 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xcb, 0x01, 0x0a, + 0x0b, 0x52, 0x54, 0x4d, 0x50, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, + 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, + 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, + 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, + 0x66, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x66, + 0x74, 0x77, 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x66, + 0x74, 0x77, 0x61, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x22, 0x36, 0x0a, 0x06, 0x44, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x22, 0xa0, 0x02, 0x0a, 0x04, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x2b, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, + 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x68, 0x6f, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, + 0x0a, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, + 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x8d, 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x6c, 0x6c, 0x47, 0x72, + 0x61, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x73, 0x68, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0f, 0x63, 0x61, 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x41, 0x75, 0x64, 0x69, 0x6f, + 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, + 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x61, 0x6e, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x27, 0x0a, 0x0f, + 0x63, 0x61, 0x6e, 0x5f, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x61, 0x6e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x0c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, + 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0b, 0x69, 0x73, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x22, 0x90, 0x01, + 0x0a, 0x0c, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x51, + 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, - 0x53, 0x64, 0x6b, 0x52, 0x03, 0x73, 0x64, 0x6b, 0x12, 0x2b, 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, - 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x4f, - 0x53, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, + 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x52, 0x0c, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x61, + 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, + 0x69, 0x73, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x61, 0x76, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, + 0x22, 0x97, 0x01, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x4f, 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, - 0x2e, 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x52, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, - 0x72, 0x12, 0x37, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, - 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x44, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x7d, 0x0a, 0x03, 0x53, 0x64, - 0x6b, 0x12, 0x34, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x20, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, - 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x53, 0x64, 0x6b, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, 0x14, 0x0a, - 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x69, - 0x6e, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x22, 0x56, 0x0a, 0x02, 0x4f, 0x53, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, - 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, - 0x65, 0x22, 0x37, 0x0a, 0x07, 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xcb, 0x01, 0x0a, 0x0b, 0x52, - 0x54, 0x4d, 0x50, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, - 0x64, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, - 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, 0x61, 0x6d, - 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x66, 0x72, - 0x61, 0x6d, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x66, 0x74, 0x77, - 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x66, 0x74, 0x77, - 0x61, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, - 0x07, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x22, 0x36, 0x0a, 0x06, 0x44, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x22, 0xa0, 0x02, 0x0a, 0x04, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2b, 0x0a, - 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x68, 0x6f, - 0x73, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x68, 0x6f, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x06, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x39, 0x0a, - 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x22, 0x8d, 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x61, 0x6e, - 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, - 0x68, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, - 0x61, 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x2a, - 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x76, 0x69, - 0x64, 0x65, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x61, 0x6e, 0x50, 0x75, - 0x62, 0x6c, 0x69, 0x73, 0x68, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x61, - 0x6e, 0x5f, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x61, 0x6e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, - 0x61, 0x72, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x0c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, - 0x65, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x70, - 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, - 0x69, 0x73, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x22, 0x90, 0x01, 0x0a, 0x0c, - 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x51, 0x0a, 0x0d, - 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, - 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x41, 0x6e, - 0x64, 0x72, 0x6f, 0x69, 0x64, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x52, 0x0c, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x2d, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x61, 0x76, 0x65, - 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, - 0x50, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x61, 0x76, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x97, - 0x01, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4f, 0x0a, - 0x0d, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, - 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x41, - 0x70, 0x70, 0x6c, 0x65, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x52, 0x0c, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x38, - 0x0a, 0x19, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6d, - 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x15, 0x69, 0x73, 0x4c, 0x6f, 0x77, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x6f, 0x64, - 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xc8, 0x02, 0x0a, 0x10, 0x50, 0x65, 0x72, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x41, 0x0a, - 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, - 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x54, 0x72, 0x61, 0x63, - 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x34, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, - 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, - 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x29, 0x0a, 0x11, 0x61, 0x76, 0x67, 0x5f, 0x66, 0x72, - 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x0e, 0x61, 0x76, 0x67, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4d, - 0x73, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x76, 0x67, 0x5f, 0x66, 0x70, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x06, 0x61, 0x76, 0x67, 0x46, 0x70, 0x73, 0x12, 0x50, 0x0a, 0x0f, 0x76, 0x69, - 0x64, 0x65, 0x6f, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, - 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x56, 0x69, - 0x64, 0x65, 0x6f, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x76, 0x69, - 0x64, 0x65, 0x6f, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x69, 0x74, 0x72, - 0x61, 0x74, 0x65, 0x2a, 0x49, 0x0a, 0x08, 0x50, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x23, 0x0a, 0x1f, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x55, 0x42, - 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x52, 0x10, 0x01, 0x2a, 0x93, - 0x01, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, - 0x6c, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x4e, 0x4e, - 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, - 0x4f, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x47, 0x4f, 0x4f, 0x44, - 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x4c, 0x4c, 0x45, - 0x4e, 0x54, 0x10, 0x03, 0x2a, 0x77, 0x0a, 0x0c, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x51, 0x75, 0x61, - 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x1d, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, - 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, 0x45, 0x4f, - 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x49, 0x44, 0x10, 0x01, 0x12, 0x16, - 0x0a, 0x12, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, - 0x48, 0x49, 0x47, 0x48, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, - 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0x03, 0x2a, 0x93, 0x01, - 0x0a, 0x09, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x54, - 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x43, 0x4b, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x01, 0x12, 0x14, 0x0a, - 0x10, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x49, 0x44, 0x45, - 0x4f, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x10, 0x03, - 0x12, 0x21, 0x0a, 0x1d, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, - 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, - 0x4f, 0x10, 0x04, 0x2a, 0xcd, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x50, 0x41, 0x52, + 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x52, 0x0c, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x38, 0x0a, 0x19, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73, 0x4c, 0x6f, 0x77, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4d, + 0x6f, 0x64, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xc8, 0x02, 0x0a, 0x10, 0x50, + 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, + 0x41, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, + 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x54, 0x72, + 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, + 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x43, 0x6f, 0x64, 0x65, + 0x63, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x29, 0x0a, 0x11, 0x61, 0x76, 0x67, 0x5f, + 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x0e, 0x61, 0x76, 0x67, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x4d, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x76, 0x67, 0x5f, 0x66, 0x70, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x61, 0x76, 0x67, 0x46, 0x70, 0x73, 0x12, 0x50, 0x0a, 0x0f, + 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, + 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0e, + 0x76, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, + 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x69, + 0x74, 0x72, 0x61, 0x74, 0x65, 0x2a, 0x49, 0x0a, 0x08, 0x50, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, + 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x52, 0x10, 0x01, + 0x2a, 0x93, 0x01, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, + 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, + 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, + 0x5f, 0x50, 0x4f, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x4e, 0x4e, 0x45, + 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x47, 0x4f, + 0x4f, 0x44, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x4c, + 0x4c, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x2a, 0x77, 0x0a, 0x0c, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x51, + 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x1d, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, + 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, + 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x49, 0x44, 0x10, 0x01, + 0x12, 0x16, 0x0a, 0x12, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, + 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, 0x45, + 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0x03, 0x2a, + 0x93, 0x01, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, + 0x16, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, + 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x01, 0x12, + 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x49, + 0x44, 0x45, 0x4f, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, + 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x41, 0x55, + 0x44, 0x49, 0x4f, 0x10, 0x04, 0x2a, 0xcd, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x50, + 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, + 0x45, 0x5f, 0x57, 0x45, 0x42, 0x52, 0x54, 0x43, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, + 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x54, 0x4d, + 0x50, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, + 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x57, 0x48, 0x49, 0x50, 0x10, 0x02, + 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, + 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x49, 0x50, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, + 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, + 0x43, 0x45, 0x5f, 0x52, 0x54, 0x53, 0x50, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, - 0x57, 0x45, 0x42, 0x52, 0x54, 0x43, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, - 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x54, 0x4d, 0x50, 0x10, - 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, - 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x57, 0x48, 0x49, 0x50, 0x10, 0x02, 0x12, 0x1a, - 0x0a, 0x16, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, - 0x55, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x49, 0x50, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, - 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, - 0x5f, 0x52, 0x54, 0x53, 0x50, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x52, 0x54, 0x49, - 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x52, - 0x54, 0x10, 0x05, 0x2a, 0xea, 0x06, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, - 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, - 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, - 0x55, 0x4e, 0x44, 0x10, 0x64, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, - 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, - 0x4b, 0x53, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x65, 0x12, 0x29, 0x0a, - 0x25, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, - 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4f, 0x55, 0x54, 0x5f, 0x4f, 0x46, - 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x66, 0x12, 0x32, 0x0a, 0x2e, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, - 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x4c, 0x41, 0x59, 0x45, 0x52, - 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x67, 0x12, 0x19, 0x0a, 0x15, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x49, 0x56, 0x45, 0x5f, - 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x68, 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, - 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xc8, 0x01, 0x12, 0x29, - 0x0a, 0x24, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, - 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, - 0x4e, 0x47, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0xc9, 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x45, 0x52, 0x52, + 0x53, 0x52, 0x54, 0x10, 0x05, 0x2a, 0xea, 0x06, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, + 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, + 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x26, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, + 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, + 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x64, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, + 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, + 0x41, 0x43, 0x4b, 0x53, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x65, 0x12, + 0x29, 0x0a, 0x25, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, + 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4f, 0x55, 0x54, 0x5f, + 0x4f, 0x46, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x66, 0x12, 0x32, 0x0a, 0x2e, 0x45, 0x52, + 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, + 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x4c, 0x41, 0x59, + 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x67, 0x12, 0x19, + 0x0a, 0x15, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x49, 0x56, + 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x68, 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, + 0x41, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xc8, 0x01, + 0x12, 0x29, 0x0a, 0x24, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, + 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, + 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0xc9, 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x45, + 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, + 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xca, 0x01, 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, - 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, - 0x49, 0x4c, 0x45, 0x44, 0x10, 0xca, 0x01, 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, - 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xcb, 0x01, 0x12, 0x2c, - 0x0a, 0x27, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, - 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, - 0x43, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xcc, 0x01, 0x12, 0x33, 0x0a, 0x2e, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, - 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x5f, 0x54, 0x52, 0x41, - 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0xcd, - 0x01, 0x12, 0x27, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, - 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x49, 0x47, 0x4e, - 0x41, 0x4c, 0x5f, 0x4c, 0x4f, 0x53, 0x54, 0x10, 0xce, 0x01, 0x12, 0x1e, 0x0a, 0x19, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x4e, 0x4f, - 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xac, 0x02, 0x12, 0x2e, 0x0a, 0x29, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x50, 0x41, - 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, - 0x52, 0x45, 0x41, 0x43, 0x48, 0x45, 0x44, 0x10, 0xad, 0x02, 0x12, 0x29, 0x0a, 0x24, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, - 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, - 0x45, 0x44, 0x10, 0x90, 0x03, 0x12, 0x1f, 0x0a, 0x1a, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, - 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, - 0x54, 0x45, 0x44, 0x10, 0x91, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, - 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, - 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x93, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, 0x4e, 0x59, - 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x53, 0x10, 0xad, 0x03, 0x12, 0x25, 0x0a, 0x20, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, - 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x10, 0xf4, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, - 0x45, 0x5f, 0x53, 0x46, 0x55, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x44, - 0x4f, 0x57, 0x4e, 0x10, 0xd8, 0x04, 0x12, 0x18, 0x0a, 0x13, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, - 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x46, 0x55, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0xbc, 0x05, - 0x2a, 0xea, 0x01, 0x0a, 0x07, 0x53, 0x64, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, - 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x54, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, - 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x47, 0x55, 0x4c, 0x41, 0x52, 0x10, 0x02, - 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x44, - 0x52, 0x4f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x49, 0x4f, 0x53, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, 0x4b, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x4c, 0x55, 0x54, 0x54, 0x45, 0x52, 0x10, 0x05, 0x12, 0x19, - 0x0a, 0x15, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x54, - 0x5f, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x44, 0x4b, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x10, 0x07, 0x12, 0x0f, 0x0a, - 0x0b, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x4f, 0x10, 0x08, 0x12, 0x1d, - 0x0a, 0x19, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x49, 0x4e, - 0x5f, 0x4a, 0x41, 0x56, 0x41, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x10, 0x09, 0x2a, 0xbb, 0x01, - 0x0a, 0x14, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x55, 0x6e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, - 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, + 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xcb, 0x01, + 0x12, 0x2c, 0x0a, 0x27, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, + 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, + 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xcc, 0x01, 0x12, 0x33, + 0x0a, 0x2e, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, + 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x5f, 0x54, + 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, + 0x10, 0xcd, 0x01, 0x12, 0x27, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, + 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x49, + 0x47, 0x4e, 0x41, 0x4c, 0x5f, 0x4c, 0x4f, 0x53, 0x54, 0x10, 0xce, 0x01, 0x12, 0x1e, 0x0a, 0x19, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, + 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xac, 0x02, 0x12, 0x2e, 0x0a, 0x29, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, + 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4c, 0x49, 0x4d, 0x49, + 0x54, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x48, 0x45, 0x44, 0x10, 0xad, 0x02, 0x12, 0x29, 0x0a, 0x24, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, + 0x53, 0x54, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, + 0x49, 0x4c, 0x45, 0x44, 0x10, 0x90, 0x03, 0x12, 0x1f, 0x0a, 0x1a, 0x45, 0x52, 0x52, 0x4f, 0x52, + 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, + 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x91, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, + 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x93, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, + 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, + 0x4e, 0x59, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x53, 0x10, 0xad, 0x03, 0x12, 0x25, + 0x0a, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x54, + 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x10, 0xf4, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, + 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x46, 0x55, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, 0x47, + 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xd8, 0x04, 0x12, 0x18, 0x0a, 0x13, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x46, 0x55, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, + 0xbc, 0x05, 0x2a, 0xea, 0x01, 0x0a, 0x07, 0x53, 0x64, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, + 0x0a, 0x14, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x44, 0x4b, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x54, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, + 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x47, 0x55, 0x4c, 0x41, 0x52, + 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, + 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x44, 0x4b, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4f, 0x53, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, + 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x4c, 0x55, 0x54, 0x54, 0x45, 0x52, 0x10, 0x05, + 0x12, 0x19, 0x0a, 0x15, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, + 0x43, 0x54, 0x5f, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x53, + 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x10, 0x07, 0x12, + 0x0f, 0x0a, 0x0b, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x4f, 0x10, 0x08, + 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4c, 0x41, + 0x49, 0x4e, 0x5f, 0x4a, 0x41, 0x56, 0x41, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x10, 0x09, 0x2a, + 0xbb, 0x01, 0x0a, 0x14, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x55, 0x6e, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x52, 0x41, 0x43, + 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, + 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, + 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, + 0x4d, 0x55, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x54, 0x52, 0x41, 0x43, 0x4b, + 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, + 0x4e, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x56, + 0x4f, 0x4b, 0x45, 0x44, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x25, - 0x0a, 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, - 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x4d, 0x55, - 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, - 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, - 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x56, 0x4f, 0x4b, - 0x45, 0x44, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, - 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4d, - 0x4f, 0x44, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x2a, 0x6e, 0x0a, 0x0c, 0x47, - 0x6f, 0x41, 0x77, 0x61, 0x79, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x1a, 0x47, - 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x47, - 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x48, - 0x55, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x1c, 0x0a, - 0x18, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, - 0x52, 0x45, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x2a, 0xb6, 0x01, 0x0a, 0x0f, - 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x6e, 0x64, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, - 0x21, 0x0a, 0x1d, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x52, 0x45, - 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, - 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x01, 0x12, - 0x20, 0x0a, 0x1c, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x52, 0x45, - 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x49, 0x56, 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, - 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x03, 0x12, - 0x23, 0x0a, 0x1f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x52, 0x45, - 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x44, - 0x45, 0x44, 0x10, 0x04, 0x2a, 0xf1, 0x01, 0x0a, 0x1a, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, - 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x53, 0x74, 0x72, 0x61, 0x74, - 0x65, 0x67, 0x79, 0x12, 0x2c, 0x0a, 0x28, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, - 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, - 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x2b, 0x0a, 0x27, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, - 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, - 0x59, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x01, 0x12, 0x25, - 0x0a, 0x21, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, - 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x46, - 0x41, 0x53, 0x54, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, + 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x2a, 0x6e, 0x0a, + 0x0c, 0x47, 0x6f, 0x41, 0x77, 0x61, 0x79, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, + 0x1a, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, + 0x1c, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, + 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, + 0x1c, 0x0a, 0x18, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, + 0x4e, 0x5f, 0x52, 0x45, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x2a, 0xb6, 0x01, + 0x0a, 0x0f, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x6e, 0x64, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, + 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, + 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x49, 0x56, 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x45, + 0x44, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, + 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, 0x10, + 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, + 0x4e, 0x44, 0x45, 0x44, 0x10, 0x04, 0x2a, 0xf1, 0x01, 0x0a, 0x1a, 0x57, 0x65, 0x62, 0x73, 0x6f, + 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x53, 0x74, 0x72, + 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x2c, 0x0a, 0x28, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, - 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x52, 0x45, 0x4a, 0x4f, 0x49, 0x4e, 0x10, 0x03, 0x12, 0x28, - 0x0a, 0x24, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, - 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x4d, - 0x49, 0x47, 0x52, 0x41, 0x54, 0x45, 0x10, 0x04, 0x2a, 0xb0, 0x02, 0x0a, 0x13, 0x41, 0x6e, 0x64, - 0x72, 0x6f, 0x69, 0x64, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x25, 0x0a, 0x21, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, - 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4e, 0x44, 0x52, 0x4f, - 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x4e, 0x44, 0x52, 0x4f, - 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, 0x44, 0x52, - 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x52, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, - 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x45, 0x10, 0x04, 0x12, 0x22, - 0x0a, 0x1e, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, - 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, - 0x10, 0x05, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, - 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4d, 0x45, 0x52, - 0x47, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, 0x44, 0x52, 0x4f, - 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x07, 0x2a, 0xba, 0x01, 0x0a, 0x11, - 0x41, 0x70, 0x70, 0x6c, 0x65, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, - 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, - 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, - 0x4d, 0x49, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x50, 0x50, 0x4c, 0x45, - 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, - 0x41, 0x49, 0x52, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, - 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x52, - 0x49, 0x4f, 0x55, 0x53, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, - 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x52, - 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x04, 0x2a, 0x63, 0x0a, 0x10, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x1d, - 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, - 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x2c, 0x0a, 0x28, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, - 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x52, 0x5f, - 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, 0x01, 0x42, 0x65, 0x42, - 0x0b, 0x53, 0x66, 0x75, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x56, 0x31, 0x50, 0x01, 0x5a, 0x37, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x65, 0x74, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2f, 0x73, 0x66, 0x75, - 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0xaa, 0x02, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x66, 0x75, 0x2e, 0x4d, 0x6f, - 0x64, 0x65, 0x6c, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x2b, 0x0a, 0x27, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, + 0x45, 0x47, 0x59, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x01, + 0x12, 0x25, 0x0a, 0x21, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, + 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, + 0x5f, 0x46, 0x41, 0x53, 0x54, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x57, 0x45, 0x42, 0x53, 0x4f, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, + 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x52, 0x45, 0x4a, 0x4f, 0x49, 0x4e, 0x10, 0x03, + 0x12, 0x28, 0x0a, 0x24, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, + 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, + 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x45, 0x10, 0x04, 0x2a, 0xb0, 0x02, 0x0a, 0x13, 0x41, + 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, + 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4e, 0x44, + 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x4e, 0x44, + 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, + 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x52, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x20, + 0x0a, 0x1c, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, + 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x45, 0x10, 0x04, + 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, + 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, + 0x41, 0x4c, 0x10, 0x05, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, + 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4d, + 0x45, 0x52, 0x47, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, 0x44, + 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x07, 0x2a, 0xba, 0x01, + 0x0a, 0x11, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, + 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, + 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x4e, 0x4f, 0x4d, 0x49, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x50, 0x50, + 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x46, 0x41, 0x49, 0x52, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, 0x45, + 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, + 0x45, 0x52, 0x49, 0x4f, 0x55, 0x53, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x50, 0x50, 0x4c, + 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x04, 0x2a, 0x63, 0x0a, 0x10, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, + 0x0a, 0x1d, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, + 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x2c, 0x0a, 0x28, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x41, + 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, + 0x52, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, 0x01, 0x42, + 0x65, 0x42, 0x0b, 0x53, 0x66, 0x75, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x56, 0x31, 0x50, 0x01, + 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x65, 0x74, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2f, 0x73, + 0x66, 0x75, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0xaa, 0x02, 0x1a, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x66, 0x75, 0x2e, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/protobuf/video/sfu/models/models.proto b/protobuf/video/sfu/models/models.proto index eb20da7de..a3528dbca 100644 --- a/protobuf/video/sfu/models/models.proto +++ b/protobuf/video/sfu/models/models.proto @@ -208,7 +208,6 @@ message TrackInfo { bool muted = 10; Codec codec = 11; int32 publish_option_id = 12; - string audio_bitrate_type = 13; } enum ErrorCode { diff --git a/protobuf/video/sfu/models/models_vtproto.pb.go b/protobuf/video/sfu/models/models_vtproto.pb.go index 7a4e0c3f1..61dc4ae8f 100644 --- a/protobuf/video/sfu/models/models_vtproto.pb.go +++ b/protobuf/video/sfu/models/models_vtproto.pb.go @@ -824,13 +824,6 @@ func (m *TrackInfo) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.AudioBitrateType) > 0 { - i -= len(m.AudioBitrateType) - copy(dAtA[i:], m.AudioBitrateType) - i = encodeVarint(dAtA, i, uint64(len(m.AudioBitrateType))) - i-- - dAtA[i] = 0x6a - } if m.PublishOptionId != 0 { i = encodeVarint(dAtA, i, uint64(m.PublishOptionId)) i-- @@ -2142,10 +2135,6 @@ func (m *TrackInfo) SizeVT() (n int) { if m.PublishOptionId != 0 { n += 1 + sov(uint64(m.PublishOptionId)) } - l = len(m.AudioBitrateType) - if l > 0 { - n += 1 + l + sov(uint64(l)) - } if m.unknownFields != nil { n += len(m.unknownFields) } @@ -4728,38 +4717,6 @@ func (m *TrackInfo) UnmarshalVT(dAtA []byte) error { break } } - case 13: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AudioBitrateType", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.AudioBitrateType = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skip(dAtA[iNdEx:]) From 1f07e83d88e1ff88d5efac7c3a97e50e255a6abf Mon Sep 17 00:00:00 2001 From: guldev25 Date: Wed, 3 Sep 2025 13:47:43 +0200 Subject: [PATCH 3/7] added enum --- protobuf/video/sfu/models/models.pb.go | 930 ++++++++++-------- protobuf/video/sfu/models/models.proto | 7 + .../video/sfu/models/models_vtproto.pb.go | 27 + 3 files changed, 534 insertions(+), 430 deletions(-) diff --git a/protobuf/video/sfu/models/models.pb.go b/protobuf/video/sfu/models/models.pb.go index 2f51346e2..1357d3544 100644 --- a/protobuf/video/sfu/models/models.pb.go +++ b/protobuf/video/sfu/models/models.pb.go @@ -287,6 +287,55 @@ func (ParticipantSource) EnumDescriptor() ([]byte, []int) { return file_video_sfu_models_models_proto_rawDescGZIP(), []int{4} } +type AudioBitrateType int32 + +const ( + AudioBitrateType_VOICE_STANDARD AudioBitrateType = 0 + AudioBitrateType_VOICE_HIGH_QUALITY AudioBitrateType = 1 + AudioBitrateType_MUSIC_HIGH_QUALITY AudioBitrateType = 2 +) + +// Enum value maps for AudioBitrateType. +var ( + AudioBitrateType_name = map[int32]string{ + 0: "VOICE_STANDARD", + 1: "VOICE_HIGH_QUALITY", + 2: "MUSIC_HIGH_QUALITY", + } + AudioBitrateType_value = map[string]int32{ + "VOICE_STANDARD": 0, + "VOICE_HIGH_QUALITY": 1, + "MUSIC_HIGH_QUALITY": 2, + } +) + +func (x AudioBitrateType) Enum() *AudioBitrateType { + p := new(AudioBitrateType) + *p = x + return p +} + +func (x AudioBitrateType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AudioBitrateType) Descriptor() protoreflect.EnumDescriptor { + return file_video_sfu_models_models_proto_enumTypes[5].Descriptor() +} + +func (AudioBitrateType) Type() protoreflect.EnumType { + return &file_video_sfu_models_models_proto_enumTypes[5] +} + +func (x AudioBitrateType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AudioBitrateType.Descriptor instead. +func (AudioBitrateType) EnumDescriptor() ([]byte, []int) { + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{5} +} + type ErrorCode int32 const ( @@ -377,11 +426,11 @@ func (x ErrorCode) String() string { } func (ErrorCode) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[5].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[6].Descriptor() } func (ErrorCode) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[5] + return &file_video_sfu_models_models_proto_enumTypes[6] } func (x ErrorCode) Number() protoreflect.EnumNumber { @@ -390,7 +439,7 @@ func (x ErrorCode) Number() protoreflect.EnumNumber { // Deprecated: Use ErrorCode.Descriptor instead. func (ErrorCode) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{5} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{6} } type SdkType int32 @@ -447,11 +496,11 @@ func (x SdkType) String() string { } func (SdkType) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[6].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[7].Descriptor() } func (SdkType) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[6] + return &file_video_sfu_models_models_proto_enumTypes[7] } func (x SdkType) Number() protoreflect.EnumNumber { @@ -460,7 +509,7 @@ func (x SdkType) Number() protoreflect.EnumNumber { // Deprecated: Use SdkType.Descriptor instead. func (SdkType) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{6} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{7} } type TrackUnpublishReason int32 @@ -509,11 +558,11 @@ func (x TrackUnpublishReason) String() string { } func (TrackUnpublishReason) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[7].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[8].Descriptor() } func (TrackUnpublishReason) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[7] + return &file_video_sfu_models_models_proto_enumTypes[8] } func (x TrackUnpublishReason) Number() protoreflect.EnumNumber { @@ -522,7 +571,7 @@ func (x TrackUnpublishReason) Number() protoreflect.EnumNumber { // Deprecated: Use TrackUnpublishReason.Descriptor instead. func (TrackUnpublishReason) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{7} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{8} } // GoAwayReason represents the reason for the SFU to @@ -560,11 +609,11 @@ func (x GoAwayReason) String() string { } func (GoAwayReason) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[8].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[9].Descriptor() } func (GoAwayReason) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[8] + return &file_video_sfu_models_models_proto_enumTypes[9] } func (x GoAwayReason) Number() protoreflect.EnumNumber { @@ -573,7 +622,7 @@ func (x GoAwayReason) Number() protoreflect.EnumNumber { // Deprecated: Use GoAwayReason.Descriptor instead. func (GoAwayReason) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{8} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{9} } // CallEndedReason represents the reason for the call to end. @@ -616,11 +665,11 @@ func (x CallEndedReason) String() string { } func (CallEndedReason) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[9].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[10].Descriptor() } func (CallEndedReason) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[9] + return &file_video_sfu_models_models_proto_enumTypes[10] } func (x CallEndedReason) Number() protoreflect.EnumNumber { @@ -629,7 +678,7 @@ func (x CallEndedReason) Number() protoreflect.EnumNumber { // Deprecated: Use CallEndedReason.Descriptor instead. func (CallEndedReason) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{9} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{10} } // WebsocketReconnectStrategy defines the ws strategies available for handling reconnections. @@ -678,11 +727,11 @@ func (x WebsocketReconnectStrategy) String() string { } func (WebsocketReconnectStrategy) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[10].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[11].Descriptor() } func (WebsocketReconnectStrategy) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[10] + return &file_video_sfu_models_models_proto_enumTypes[11] } func (x WebsocketReconnectStrategy) Number() protoreflect.EnumNumber { @@ -691,7 +740,7 @@ func (x WebsocketReconnectStrategy) Number() protoreflect.EnumNumber { // Deprecated: Use WebsocketReconnectStrategy.Descriptor instead. func (WebsocketReconnectStrategy) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{10} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{11} } // AndroidThermalState is reported by the Android API. The full list of values is documented here @@ -744,11 +793,11 @@ func (x AndroidThermalState) String() string { } func (AndroidThermalState) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[11].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[12].Descriptor() } func (AndroidThermalState) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[11] + return &file_video_sfu_models_models_proto_enumTypes[12] } func (x AndroidThermalState) Number() protoreflect.EnumNumber { @@ -757,7 +806,7 @@ func (x AndroidThermalState) Number() protoreflect.EnumNumber { // Deprecated: Use AndroidThermalState.Descriptor instead. func (AndroidThermalState) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{11} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{12} } // AppleThermalState is the thermal state as reported by Apple devices when available or applicable to the platform. @@ -801,11 +850,11 @@ func (x AppleThermalState) String() string { } func (AppleThermalState) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[12].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[13].Descriptor() } func (AppleThermalState) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[12] + return &file_video_sfu_models_models_proto_enumTypes[13] } func (x AppleThermalState) Number() protoreflect.EnumNumber { @@ -814,7 +863,7 @@ func (x AppleThermalState) Number() protoreflect.EnumNumber { // Deprecated: Use AppleThermalState.Descriptor instead. func (AppleThermalState) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{12} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{13} } // ClientCapability defines a feature that client supports @@ -849,11 +898,11 @@ func (x ClientCapability) String() string { } func (ClientCapability) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[13].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[14].Descriptor() } func (ClientCapability) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[13] + return &file_video_sfu_models_models_proto_enumTypes[14] } func (x ClientCapability) Number() protoreflect.EnumNumber { @@ -862,7 +911,7 @@ func (x ClientCapability) Number() protoreflect.EnumNumber { // Deprecated: Use ClientCapability.Descriptor instead. func (ClientCapability) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{13} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{14} } // CallState is the current state of the call @@ -1762,12 +1811,13 @@ type TrackInfo struct { Layers []*VideoLayer `protobuf:"bytes,5,rep,name=layers,proto3" json:"layers,omitempty"` Mid string `protobuf:"bytes,6,opt,name=mid,proto3" json:"mid,omitempty"` // for audio tracks - Dtx bool `protobuf:"varint,7,opt,name=dtx,proto3" json:"dtx,omitempty"` - Stereo bool `protobuf:"varint,8,opt,name=stereo,proto3" json:"stereo,omitempty"` - Red bool `protobuf:"varint,9,opt,name=red,proto3" json:"red,omitempty"` - Muted bool `protobuf:"varint,10,opt,name=muted,proto3" json:"muted,omitempty"` - Codec *Codec `protobuf:"bytes,11,opt,name=codec,proto3" json:"codec,omitempty"` - PublishOptionId int32 `protobuf:"varint,12,opt,name=publish_option_id,json=publishOptionId,proto3" json:"publish_option_id,omitempty"` + Dtx bool `protobuf:"varint,7,opt,name=dtx,proto3" json:"dtx,omitempty"` + Stereo bool `protobuf:"varint,8,opt,name=stereo,proto3" json:"stereo,omitempty"` + Red bool `protobuf:"varint,9,opt,name=red,proto3" json:"red,omitempty"` + Muted bool `protobuf:"varint,10,opt,name=muted,proto3" json:"muted,omitempty"` + Codec *Codec `protobuf:"bytes,11,opt,name=codec,proto3" json:"codec,omitempty"` + PublishOptionId int32 `protobuf:"varint,12,opt,name=publish_option_id,json=publishOptionId,proto3" json:"publish_option_id,omitempty"` + AudioBitrateType AudioBitrateType `protobuf:"varint,13,opt,name=audio_bitrate_type,json=audioBitrateType,proto3,enum=stream.video.sfu.models.AudioBitrateType" json:"audio_bitrate_type,omitempty"` } func (x *TrackInfo) Reset() { @@ -1872,6 +1922,13 @@ func (x *TrackInfo) GetPublishOptionId() int32 { return 0 } +func (x *TrackInfo) GetAudioBitrateType() AudioBitrateType { + if x != nil { + return x.AudioBitrateType + } + return AudioBitrateType_VOICE_STANDARD +} + type Error struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2936,7 +2993,7 @@ var file_video_sfu_models_models_proto_rawDesc = []byte{ 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x63, 0x65, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xec, 0x02, 0x0a, 0x09, + 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xc5, 0x03, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, @@ -2959,341 +3016,352 @@ var file_video_sfu_models_models_proto_rawDesc = []byte{ 0x73, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x7c, 0x0a, 0x05, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x12, 0x36, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, - 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 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, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, - 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x52, 0x65, 0x74, 0x72, 0x79, 0x22, 0xe1, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x03, 0x73, 0x64, - 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x73, 0x2e, 0x53, 0x64, 0x6b, 0x52, 0x03, 0x73, 0x64, 0x6b, 0x12, 0x2b, 0x0a, 0x02, 0x6f, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, + 0x73, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x57, 0x0a, 0x12, 0x61, 0x75, + 0x64, 0x69, 0x6f, 0x5f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, - 0x2e, 0x4f, 0x53, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, - 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x73, 0x2e, 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x52, 0x07, 0x62, 0x72, 0x6f, 0x77, - 0x73, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, - 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x44, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x7d, 0x0a, 0x03, - 0x53, 0x64, 0x6b, 0x12, 0x34, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, - 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x53, 0x64, 0x6b, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, - 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, - 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x22, 0x56, 0x0a, 0x02, 0x4f, - 0x53, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, - 0x75, 0x72, 0x65, 0x22, 0x37, 0x0a, 0x07, 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xcb, 0x01, 0x0a, - 0x0b, 0x52, 0x54, 0x4d, 0x50, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, - 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, - 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, - 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, - 0x66, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x66, - 0x74, 0x77, 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x66, - 0x74, 0x77, 0x61, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x22, 0x36, 0x0a, 0x06, 0x44, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x22, 0xa0, 0x02, 0x0a, 0x04, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x2b, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, - 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x68, 0x6f, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, - 0x0a, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, - 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x8d, 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x6c, 0x6c, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x73, 0x68, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0f, 0x63, 0x61, 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x41, 0x75, 0x64, 0x69, 0x6f, - 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, - 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x61, 0x6e, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x27, 0x0a, 0x0f, - 0x63, 0x61, 0x6e, 0x5f, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x61, 0x6e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, - 0x73, 0x68, 0x61, 0x72, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x0c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, - 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0b, 0x69, 0x73, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x22, 0x90, 0x01, - 0x0a, 0x0c, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x51, - 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, - 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, - 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x52, 0x0c, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x61, - 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, - 0x69, 0x73, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x61, 0x76, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, - 0x22, 0x97, 0x01, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x4f, 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, - 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, - 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x52, 0x0c, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x38, 0x0a, 0x19, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, - 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73, 0x4c, 0x6f, 0x77, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4d, - 0x6f, 0x64, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xc8, 0x02, 0x0a, 0x10, 0x50, - 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, - 0x41, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, - 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x54, 0x72, - 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, - 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x43, 0x6f, 0x64, 0x65, - 0x63, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x29, 0x0a, 0x11, 0x61, 0x76, 0x67, 0x5f, - 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x0e, 0x61, 0x76, 0x67, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x4d, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x76, 0x67, 0x5f, 0x66, 0x70, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x61, 0x76, 0x67, 0x46, 0x70, 0x73, 0x12, 0x50, 0x0a, 0x0f, - 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, - 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, - 0x56, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0e, - 0x76, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, - 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x69, - 0x74, 0x72, 0x61, 0x74, 0x65, 0x2a, 0x49, 0x0a, 0x08, 0x50, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, - 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x52, 0x10, 0x01, - 0x2a, 0x93, 0x01, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, - 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, - 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, - 0x5f, 0x50, 0x4f, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x4e, 0x4e, 0x45, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x47, 0x4f, - 0x4f, 0x44, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x4c, - 0x4c, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x2a, 0x77, 0x0a, 0x0c, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x51, - 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x1d, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, - 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, - 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x49, 0x44, 0x10, 0x01, - 0x12, 0x16, 0x0a, 0x12, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, - 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, 0x45, - 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0x03, 0x2a, - 0x93, 0x01, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, - 0x16, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, - 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x01, 0x12, - 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x49, - 0x44, 0x45, 0x4f, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, - 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x41, 0x55, - 0x44, 0x49, 0x4f, 0x10, 0x04, 0x2a, 0xcd, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x50, - 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, - 0x45, 0x5f, 0x57, 0x45, 0x42, 0x52, 0x54, 0x43, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, - 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x54, 0x4d, - 0x50, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, - 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x57, 0x48, 0x49, 0x50, 0x10, 0x02, - 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, - 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x49, 0x50, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, + 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x42, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x10, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x42, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x22, 0x7c, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x36, 0x0a, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, + 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, 0x21, + 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x52, 0x65, 0x74, 0x72, + 0x79, 0x22, 0xe1, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x03, 0x73, 0x64, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, + 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x53, 0x64, 0x6b, 0x52, 0x03, + 0x73, 0x64, 0x6b, 0x12, 0x2b, 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, + 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x4f, 0x53, 0x52, 0x02, 0x6f, 0x73, + 0x12, 0x3a, 0x0a, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, + 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x42, 0x72, 0x6f, 0x77, + 0x73, 0x65, 0x72, 0x52, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x06, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x7d, 0x0a, 0x03, 0x53, 0x64, 0x6b, 0x12, 0x34, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x53, 0x64, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x14, + 0x0a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, + 0x61, 0x74, 0x63, 0x68, 0x22, 0x56, 0x0a, 0x02, 0x4f, 0x53, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x22, 0x37, 0x0a, 0x07, + 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xcb, 0x01, 0x0a, 0x0b, 0x52, 0x54, 0x4d, 0x50, 0x49, 0x6e, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x74, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x61, + 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x63, 0x6f, + 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x63, 0x6f, 0x64, + 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, + 0x64, 0x64, 0x72, 0x22, 0x36, 0x0a, 0x06, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa0, 0x02, 0x0a, 0x04, + 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x6f, 0x73, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x8d, + 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, + 0x11, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x61, 0x75, 0x64, + 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x61, 0x6e, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x73, 0x68, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x6e, + 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x61, 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x61, 0x6e, 0x5f, 0x73, 0x63, 0x72, + 0x65, 0x65, 0x6e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, + 0x63, 0x61, 0x6e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x22, 0x85, + 0x01, 0x0a, 0x0c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, + 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x22, 0x90, 0x01, 0x0a, 0x0c, 0x41, 0x6e, 0x64, 0x72, 0x6f, + 0x69, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x51, 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x72, 0x6d, + 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, + 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, + 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, + 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x74, 0x68, + 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x69, 0x73, + 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x61, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x50, 0x6f, 0x77, 0x65, 0x72, + 0x53, 0x61, 0x76, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x97, 0x01, 0x0a, 0x0a, 0x41, 0x70, + 0x70, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4f, 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x72, + 0x6d, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x2a, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, + 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x54, + 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x74, 0x68, 0x65, + 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x19, 0x69, 0x73, 0x5f, + 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73, + 0x4c, 0x6f, 0x77, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x22, 0xc8, 0x02, 0x0a, 0x10, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, + 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x73, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x63, + 0x6f, 0x64, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, + 0x63, 0x12, 0x29, 0x0a, 0x11, 0x61, 0x76, 0x67, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x61, 0x76, + 0x67, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x17, 0x0a, 0x07, + 0x61, 0x76, 0x67, 0x5f, 0x66, 0x70, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x61, + 0x76, 0x67, 0x46, 0x70, 0x73, 0x12, 0x50, 0x0a, 0x0f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x64, + 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, + 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x69, + 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x69, + 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x2a, 0x49, + 0x0a, 0x08, 0x50, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x45, + 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, + 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x18, 0x0a, 0x14, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x55, 0x42, + 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x52, 0x10, 0x01, 0x2a, 0x93, 0x01, 0x0a, 0x11, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, + 0x22, 0x0a, 0x1e, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, + 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x4f, 0x4f, 0x52, 0x10, 0x01, + 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, + 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x47, 0x4f, 0x4f, 0x44, 0x10, 0x02, 0x12, 0x20, 0x0a, + 0x1c, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, + 0x49, 0x54, 0x59, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x2a, + 0x77, 0x0a, 0x0c, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, + 0x21, 0x0a, 0x1d, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, + 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, + 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x49, 0x44, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x49, 0x44, + 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, + 0x02, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, + 0x54, 0x59, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0x03, 0x2a, 0x93, 0x01, 0x0a, 0x09, 0x54, 0x72, 0x61, + 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x43, + 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x10, 0x02, 0x12, 0x1b, + 0x0a, 0x17, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x43, 0x52, + 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x54, + 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, + 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x04, 0x2a, 0xcd, + 0x01, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, + 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x57, 0x45, 0x42, 0x52, 0x54, + 0x43, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, + 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x54, 0x4d, 0x50, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, - 0x43, 0x45, 0x5f, 0x52, 0x54, 0x53, 0x50, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x52, + 0x43, 0x45, 0x5f, 0x57, 0x48, 0x49, 0x50, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, - 0x53, 0x52, 0x54, 0x10, 0x05, 0x2a, 0xea, 0x06, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, - 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, - 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x26, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, - 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, - 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x64, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, - 0x41, 0x43, 0x4b, 0x53, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x65, 0x12, - 0x29, 0x0a, 0x25, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, - 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4f, 0x55, 0x54, 0x5f, - 0x4f, 0x46, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x66, 0x12, 0x32, 0x0a, 0x2e, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, - 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x4c, 0x41, 0x59, - 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x67, 0x12, 0x19, - 0x0a, 0x15, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x49, 0x56, - 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x68, 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, - 0x41, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xc8, 0x01, - 0x12, 0x29, 0x0a, 0x24, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, - 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, - 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0xc9, 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x45, - 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, - 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xca, 0x01, 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, - 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xcb, 0x01, - 0x12, 0x2c, 0x0a, 0x27, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, - 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, - 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xcc, 0x01, 0x12, 0x33, - 0x0a, 0x2e, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, - 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x5f, 0x54, - 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, - 0x10, 0xcd, 0x01, 0x12, 0x27, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, - 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x49, - 0x47, 0x4e, 0x41, 0x4c, 0x5f, 0x4c, 0x4f, 0x53, 0x54, 0x10, 0xce, 0x01, 0x12, 0x1e, 0x0a, 0x19, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, - 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xac, 0x02, 0x12, 0x2e, 0x0a, 0x29, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, - 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4c, 0x49, 0x4d, 0x49, - 0x54, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x48, 0x45, 0x44, 0x10, 0xad, 0x02, 0x12, 0x29, 0x0a, 0x24, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, - 0x53, 0x54, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, - 0x49, 0x4c, 0x45, 0x44, 0x10, 0x90, 0x03, 0x12, 0x1f, 0x0a, 0x1a, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, - 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x91, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, - 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x93, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, - 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, - 0x4e, 0x59, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x53, 0x10, 0xad, 0x03, 0x12, 0x25, - 0x0a, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x54, - 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x10, 0xf4, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, - 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x46, 0x55, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, 0x47, - 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xd8, 0x04, 0x12, 0x18, 0x0a, 0x13, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x46, 0x55, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, - 0xbc, 0x05, 0x2a, 0xea, 0x01, 0x0a, 0x07, 0x53, 0x64, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, - 0x0a, 0x14, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x44, 0x4b, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x54, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, - 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x47, 0x55, 0x4c, 0x41, 0x52, - 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, - 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x44, 0x4b, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4f, 0x53, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, - 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x4c, 0x55, 0x54, 0x54, 0x45, 0x52, 0x10, 0x05, - 0x12, 0x19, 0x0a, 0x15, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, - 0x43, 0x54, 0x5f, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x53, - 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x10, 0x07, 0x12, - 0x0f, 0x0a, 0x0b, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x4f, 0x10, 0x08, - 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4c, 0x41, - 0x49, 0x4e, 0x5f, 0x4a, 0x41, 0x56, 0x41, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x10, 0x09, 0x2a, - 0xbb, 0x01, 0x0a, 0x14, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x55, 0x6e, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x52, 0x41, 0x43, + 0x53, 0x49, 0x50, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, + 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x54, 0x53, 0x50, + 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, + 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x52, 0x54, 0x10, 0x05, 0x2a, 0x56, + 0x0a, 0x10, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x42, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x4e, + 0x44, 0x41, 0x52, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x5f, + 0x48, 0x49, 0x47, 0x48, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x01, 0x12, 0x16, + 0x0a, 0x12, 0x4d, 0x55, 0x53, 0x49, 0x43, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x5f, 0x51, 0x55, 0x41, + 0x4c, 0x49, 0x54, 0x59, 0x10, 0x02, 0x2a, 0xea, 0x06, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, + 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x26, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, + 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4e, 0x4f, 0x54, + 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x64, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, + 0x52, 0x41, 0x43, 0x4b, 0x53, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x65, + 0x12, 0x29, 0x0a, 0x25, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, + 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4f, 0x55, 0x54, + 0x5f, 0x4f, 0x46, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x66, 0x12, 0x32, 0x0a, 0x2e, 0x45, + 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, + 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x4c, 0x41, + 0x59, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x67, 0x12, + 0x19, 0x0a, 0x15, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x49, + 0x56, 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x68, 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, + 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, + 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xc8, + 0x01, 0x12, 0x29, 0x0a, 0x24, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, + 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, + 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0xc9, 0x01, 0x12, 0x2c, 0x0a, 0x27, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, + 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xca, 0x01, 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, + 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, + 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xcb, + 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, + 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, + 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xcc, 0x01, 0x12, + 0x33, 0x0a, 0x2e, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, + 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x5f, + 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, + 0x45, 0x10, 0xcd, 0x01, 0x12, 0x27, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, + 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, + 0x49, 0x47, 0x4e, 0x41, 0x4c, 0x5f, 0x4c, 0x4f, 0x53, 0x54, 0x10, 0xce, 0x01, 0x12, 0x1e, 0x0a, + 0x19, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, + 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xac, 0x02, 0x12, 0x2e, 0x0a, + 0x29, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, + 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4c, 0x49, 0x4d, + 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x48, 0x45, 0x44, 0x10, 0xad, 0x02, 0x12, 0x29, 0x0a, + 0x24, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x51, 0x55, + 0x45, 0x53, 0x54, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, + 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x90, 0x03, 0x12, 0x1f, 0x0a, 0x1a, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, + 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x91, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, + 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x93, 0x03, 0x12, 0x21, 0x0a, 0x1c, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, + 0x41, 0x4e, 0x59, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x53, 0x10, 0xad, 0x03, 0x12, + 0x25, 0x0a, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, + 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x45, 0x52, + 0x52, 0x4f, 0x52, 0x10, 0xf4, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, + 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x46, 0x55, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, + 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xd8, 0x04, 0x12, 0x18, 0x0a, 0x13, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x46, 0x55, 0x5f, 0x46, 0x55, 0x4c, 0x4c, + 0x10, 0xbc, 0x05, 0x2a, 0xea, 0x01, 0x0a, 0x07, 0x53, 0x64, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x18, 0x0a, 0x14, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x44, 0x4b, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x54, 0x10, 0x01, 0x12, 0x14, 0x0a, + 0x10, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x47, 0x55, 0x4c, 0x41, + 0x52, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x44, 0x4b, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4f, 0x53, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x53, + 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x4c, 0x55, 0x54, 0x54, 0x45, 0x52, 0x10, + 0x05, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, + 0x41, 0x43, 0x54, 0x5f, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, + 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x10, 0x07, + 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x4f, 0x10, + 0x08, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4c, + 0x41, 0x49, 0x4e, 0x5f, 0x4a, 0x41, 0x56, 0x41, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x10, 0x09, + 0x2a, 0xbb, 0x01, 0x0a, 0x14, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x55, 0x6e, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x52, 0x41, + 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, + 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, + 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, + 0x5f, 0x4d, 0x55, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, - 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, - 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, - 0x4d, 0x55, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x54, 0x52, 0x41, 0x43, 0x4b, + 0x4f, 0x4e, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, + 0x56, 0x4f, 0x4b, 0x45, 0x44, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, - 0x4e, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x56, - 0x4f, 0x4b, 0x45, 0x44, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, - 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, - 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x2a, 0x6e, 0x0a, - 0x0c, 0x47, 0x6f, 0x41, 0x77, 0x61, 0x79, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, - 0x1a, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, - 0x1c, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, - 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, - 0x1c, 0x0a, 0x18, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, - 0x4e, 0x5f, 0x52, 0x45, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x2a, 0xb6, 0x01, - 0x0a, 0x0f, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x6e, 0x64, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, - 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, - 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x49, 0x56, 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x45, - 0x44, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, - 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, 0x10, - 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, - 0x4e, 0x44, 0x45, 0x44, 0x10, 0x04, 0x2a, 0xf1, 0x01, 0x0a, 0x1a, 0x57, 0x65, 0x62, 0x73, 0x6f, - 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x53, 0x74, 0x72, - 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x2c, 0x0a, 0x28, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, - 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x2b, 0x0a, 0x27, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, - 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, - 0x45, 0x47, 0x59, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x01, - 0x12, 0x25, 0x0a, 0x21, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, - 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, - 0x5f, 0x46, 0x41, 0x53, 0x54, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x57, 0x45, 0x42, 0x53, 0x4f, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, - 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x52, 0x45, 0x4a, 0x4f, 0x49, 0x4e, 0x10, 0x03, - 0x12, 0x28, 0x0a, 0x24, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, - 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, - 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x45, 0x10, 0x04, 0x2a, 0xb0, 0x02, 0x0a, 0x13, 0x41, - 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, - 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4e, 0x44, - 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x4e, 0x44, - 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, + 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x2a, 0x6e, + 0x0a, 0x0c, 0x47, 0x6f, 0x41, 0x77, 0x61, 0x79, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1e, + 0x0a, 0x1a, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, + 0x0a, 0x1c, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, + 0x5f, 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x01, + 0x12, 0x1c, 0x0a, 0x18, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, + 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x2a, 0xb6, + 0x01, 0x0a, 0x0f, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x6e, 0x64, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, + 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, + 0x44, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, + 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, + 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x49, 0x56, 0x45, 0x5f, 0x45, 0x4e, 0x44, + 0x45, 0x44, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, + 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, + 0x10, 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, + 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, + 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x04, 0x2a, 0xf1, 0x01, 0x0a, 0x1a, 0x57, 0x65, 0x62, 0x73, + 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x53, 0x74, + 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x2c, 0x0a, 0x28, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, + 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x2b, 0x0a, 0x27, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, + 0x54, 0x45, 0x47, 0x59, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, + 0x01, 0x12, 0x25, 0x0a, 0x21, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, + 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, + 0x59, 0x5f, 0x46, 0x41, 0x53, 0x54, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x57, 0x45, 0x42, 0x53, + 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, + 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x52, 0x45, 0x4a, 0x4f, 0x49, 0x4e, 0x10, + 0x03, 0x12, 0x28, 0x0a, 0x24, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, + 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, + 0x59, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x45, 0x10, 0x04, 0x2a, 0xb0, 0x02, 0x0a, 0x13, + 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, + 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x52, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x20, - 0x0a, 0x1c, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, - 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x45, 0x10, 0x04, - 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, - 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, - 0x41, 0x4c, 0x10, 0x05, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, - 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4d, - 0x45, 0x52, 0x47, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, 0x44, - 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x07, 0x2a, 0xba, 0x01, - 0x0a, 0x11, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, - 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, - 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x4e, 0x4f, 0x4d, 0x49, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x50, 0x50, + 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x4e, + 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x41, + 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x52, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, + 0x20, 0x0a, 0x1c, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, + 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x45, 0x10, + 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, + 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, + 0x43, 0x41, 0x4c, 0x10, 0x05, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, + 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, + 0x4d, 0x45, 0x52, 0x47, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, + 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x07, 0x2a, 0xba, + 0x01, 0x0a, 0x11, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x48, + 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x46, 0x41, 0x49, 0x52, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, 0x45, - 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, - 0x45, 0x52, 0x49, 0x4f, 0x55, 0x53, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x50, 0x50, 0x4c, + 0x5f, 0x4e, 0x4f, 0x4d, 0x49, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x50, + 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x45, 0x5f, 0x46, 0x41, 0x49, 0x52, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x04, 0x2a, 0x63, 0x0a, 0x10, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, - 0x0a, 0x1d, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, - 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x2c, 0x0a, 0x28, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x41, - 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, - 0x52, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, 0x01, 0x42, - 0x65, 0x42, 0x0b, 0x53, 0x66, 0x75, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x56, 0x31, 0x50, 0x01, - 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x65, 0x74, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2f, 0x73, - 0x66, 0x75, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0xaa, 0x02, 0x1a, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x66, 0x75, 0x2e, - 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x53, 0x45, 0x52, 0x49, 0x4f, 0x55, 0x53, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x50, 0x50, + 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x04, 0x2a, 0x63, 0x0a, 0x10, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, + 0x21, 0x0a, 0x1d, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, + 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x2c, 0x0a, 0x28, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x50, + 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, + 0x45, 0x52, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, 0x01, + 0x42, 0x65, 0x42, 0x0b, 0x53, 0x66, 0x75, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x56, 0x31, 0x50, + 0x01, 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x65, + 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2f, + 0x73, 0x66, 0x75, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0xaa, 0x02, 0x1a, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x66, 0x75, + 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3308,7 +3376,7 @@ func file_video_sfu_models_models_proto_rawDescGZIP() []byte { return file_video_sfu_models_models_proto_rawDescData } -var file_video_sfu_models_models_proto_enumTypes = make([]protoimpl.EnumInfo, 14) +var file_video_sfu_models_models_proto_enumTypes = make([]protoimpl.EnumInfo, 15) var file_video_sfu_models_models_proto_msgTypes = make([]protoimpl.MessageInfo, 25) var file_video_sfu_models_models_proto_goTypes = []interface{}{ (PeerType)(0), // 0: stream.video.sfu.models.PeerType @@ -3316,84 +3384,86 @@ var file_video_sfu_models_models_proto_goTypes = []interface{}{ (VideoQuality)(0), // 2: stream.video.sfu.models.VideoQuality (TrackType)(0), // 3: stream.video.sfu.models.TrackType (ParticipantSource)(0), // 4: stream.video.sfu.models.ParticipantSource - (ErrorCode)(0), // 5: stream.video.sfu.models.ErrorCode - (SdkType)(0), // 6: stream.video.sfu.models.SdkType - (TrackUnpublishReason)(0), // 7: stream.video.sfu.models.TrackUnpublishReason - (GoAwayReason)(0), // 8: stream.video.sfu.models.GoAwayReason - (CallEndedReason)(0), // 9: stream.video.sfu.models.CallEndedReason - (WebsocketReconnectStrategy)(0), // 10: stream.video.sfu.models.WebsocketReconnectStrategy - (AndroidThermalState)(0), // 11: stream.video.sfu.models.AndroidThermalState - (AppleThermalState)(0), // 12: stream.video.sfu.models.AppleThermalState - (ClientCapability)(0), // 13: stream.video.sfu.models.ClientCapability - (*CallState)(nil), // 14: stream.video.sfu.models.CallState - (*ParticipantCount)(nil), // 15: stream.video.sfu.models.ParticipantCount - (*Pin)(nil), // 16: stream.video.sfu.models.Pin - (*Participant)(nil), // 17: stream.video.sfu.models.Participant - (*StreamQuality)(nil), // 18: stream.video.sfu.models.StreamQuality - (*VideoDimension)(nil), // 19: stream.video.sfu.models.VideoDimension - (*VideoLayer)(nil), // 20: stream.video.sfu.models.VideoLayer - (*SubscribeOption)(nil), // 21: stream.video.sfu.models.SubscribeOption - (*PublishOption)(nil), // 22: stream.video.sfu.models.PublishOption - (*Codec)(nil), // 23: stream.video.sfu.models.Codec - (*ICETrickle)(nil), // 24: stream.video.sfu.models.ICETrickle - (*TrackInfo)(nil), // 25: stream.video.sfu.models.TrackInfo - (*Error)(nil), // 26: stream.video.sfu.models.Error - (*ClientDetails)(nil), // 27: stream.video.sfu.models.ClientDetails - (*Sdk)(nil), // 28: stream.video.sfu.models.Sdk - (*OS)(nil), // 29: stream.video.sfu.models.OS - (*Browser)(nil), // 30: stream.video.sfu.models.Browser - (*RTMPIngress)(nil), // 31: stream.video.sfu.models.RTMPIngress - (*Device)(nil), // 32: stream.video.sfu.models.Device - (*Call)(nil), // 33: stream.video.sfu.models.Call - (*CallGrants)(nil), // 34: stream.video.sfu.models.CallGrants - (*InputDevices)(nil), // 35: stream.video.sfu.models.InputDevices - (*AndroidState)(nil), // 36: stream.video.sfu.models.AndroidState - (*AppleState)(nil), // 37: stream.video.sfu.models.AppleState - (*PerformanceStats)(nil), // 38: stream.video.sfu.models.PerformanceStats - (*timestamppb.Timestamp)(nil), // 39: google.protobuf.Timestamp - (*structpb.Struct)(nil), // 40: google.protobuf.Struct + (AudioBitrateType)(0), // 5: stream.video.sfu.models.AudioBitrateType + (ErrorCode)(0), // 6: stream.video.sfu.models.ErrorCode + (SdkType)(0), // 7: stream.video.sfu.models.SdkType + (TrackUnpublishReason)(0), // 8: stream.video.sfu.models.TrackUnpublishReason + (GoAwayReason)(0), // 9: stream.video.sfu.models.GoAwayReason + (CallEndedReason)(0), // 10: stream.video.sfu.models.CallEndedReason + (WebsocketReconnectStrategy)(0), // 11: stream.video.sfu.models.WebsocketReconnectStrategy + (AndroidThermalState)(0), // 12: stream.video.sfu.models.AndroidThermalState + (AppleThermalState)(0), // 13: stream.video.sfu.models.AppleThermalState + (ClientCapability)(0), // 14: stream.video.sfu.models.ClientCapability + (*CallState)(nil), // 15: stream.video.sfu.models.CallState + (*ParticipantCount)(nil), // 16: stream.video.sfu.models.ParticipantCount + (*Pin)(nil), // 17: stream.video.sfu.models.Pin + (*Participant)(nil), // 18: stream.video.sfu.models.Participant + (*StreamQuality)(nil), // 19: stream.video.sfu.models.StreamQuality + (*VideoDimension)(nil), // 20: stream.video.sfu.models.VideoDimension + (*VideoLayer)(nil), // 21: stream.video.sfu.models.VideoLayer + (*SubscribeOption)(nil), // 22: stream.video.sfu.models.SubscribeOption + (*PublishOption)(nil), // 23: stream.video.sfu.models.PublishOption + (*Codec)(nil), // 24: stream.video.sfu.models.Codec + (*ICETrickle)(nil), // 25: stream.video.sfu.models.ICETrickle + (*TrackInfo)(nil), // 26: stream.video.sfu.models.TrackInfo + (*Error)(nil), // 27: stream.video.sfu.models.Error + (*ClientDetails)(nil), // 28: stream.video.sfu.models.ClientDetails + (*Sdk)(nil), // 29: stream.video.sfu.models.Sdk + (*OS)(nil), // 30: stream.video.sfu.models.OS + (*Browser)(nil), // 31: stream.video.sfu.models.Browser + (*RTMPIngress)(nil), // 32: stream.video.sfu.models.RTMPIngress + (*Device)(nil), // 33: stream.video.sfu.models.Device + (*Call)(nil), // 34: stream.video.sfu.models.Call + (*CallGrants)(nil), // 35: stream.video.sfu.models.CallGrants + (*InputDevices)(nil), // 36: stream.video.sfu.models.InputDevices + (*AndroidState)(nil), // 37: stream.video.sfu.models.AndroidState + (*AppleState)(nil), // 38: stream.video.sfu.models.AppleState + (*PerformanceStats)(nil), // 39: stream.video.sfu.models.PerformanceStats + (*timestamppb.Timestamp)(nil), // 40: google.protobuf.Timestamp + (*structpb.Struct)(nil), // 41: google.protobuf.Struct } var file_video_sfu_models_models_proto_depIdxs = []int32{ - 17, // 0: stream.video.sfu.models.CallState.participants:type_name -> stream.video.sfu.models.Participant - 39, // 1: stream.video.sfu.models.CallState.started_at:type_name -> google.protobuf.Timestamp - 15, // 2: stream.video.sfu.models.CallState.participant_count:type_name -> stream.video.sfu.models.ParticipantCount - 16, // 3: stream.video.sfu.models.CallState.pins:type_name -> stream.video.sfu.models.Pin + 18, // 0: stream.video.sfu.models.CallState.participants:type_name -> stream.video.sfu.models.Participant + 40, // 1: stream.video.sfu.models.CallState.started_at:type_name -> google.protobuf.Timestamp + 16, // 2: stream.video.sfu.models.CallState.participant_count:type_name -> stream.video.sfu.models.ParticipantCount + 17, // 3: stream.video.sfu.models.CallState.pins:type_name -> stream.video.sfu.models.Pin 3, // 4: stream.video.sfu.models.Participant.published_tracks:type_name -> stream.video.sfu.models.TrackType - 39, // 5: stream.video.sfu.models.Participant.joined_at:type_name -> google.protobuf.Timestamp + 40, // 5: stream.video.sfu.models.Participant.joined_at:type_name -> google.protobuf.Timestamp 1, // 6: stream.video.sfu.models.Participant.connection_quality:type_name -> stream.video.sfu.models.ConnectionQuality - 40, // 7: stream.video.sfu.models.Participant.custom:type_name -> google.protobuf.Struct + 41, // 7: stream.video.sfu.models.Participant.custom:type_name -> google.protobuf.Struct 4, // 8: stream.video.sfu.models.Participant.source:type_name -> stream.video.sfu.models.ParticipantSource 2, // 9: stream.video.sfu.models.StreamQuality.video_quality:type_name -> stream.video.sfu.models.VideoQuality - 19, // 10: stream.video.sfu.models.VideoLayer.video_dimension:type_name -> stream.video.sfu.models.VideoDimension + 20, // 10: stream.video.sfu.models.VideoLayer.video_dimension:type_name -> stream.video.sfu.models.VideoDimension 2, // 11: stream.video.sfu.models.VideoLayer.quality:type_name -> stream.video.sfu.models.VideoQuality 3, // 12: stream.video.sfu.models.SubscribeOption.track_type:type_name -> stream.video.sfu.models.TrackType - 23, // 13: stream.video.sfu.models.SubscribeOption.codecs:type_name -> stream.video.sfu.models.Codec + 24, // 13: stream.video.sfu.models.SubscribeOption.codecs:type_name -> stream.video.sfu.models.Codec 3, // 14: stream.video.sfu.models.PublishOption.track_type:type_name -> stream.video.sfu.models.TrackType - 23, // 15: stream.video.sfu.models.PublishOption.codec:type_name -> stream.video.sfu.models.Codec - 19, // 16: stream.video.sfu.models.PublishOption.video_dimension:type_name -> stream.video.sfu.models.VideoDimension + 24, // 15: stream.video.sfu.models.PublishOption.codec:type_name -> stream.video.sfu.models.Codec + 20, // 16: stream.video.sfu.models.PublishOption.video_dimension:type_name -> stream.video.sfu.models.VideoDimension 0, // 17: stream.video.sfu.models.ICETrickle.peer_type:type_name -> stream.video.sfu.models.PeerType 3, // 18: stream.video.sfu.models.TrackInfo.track_type:type_name -> stream.video.sfu.models.TrackType - 20, // 19: stream.video.sfu.models.TrackInfo.layers:type_name -> stream.video.sfu.models.VideoLayer - 23, // 20: stream.video.sfu.models.TrackInfo.codec:type_name -> stream.video.sfu.models.Codec - 5, // 21: stream.video.sfu.models.Error.code:type_name -> stream.video.sfu.models.ErrorCode - 28, // 22: stream.video.sfu.models.ClientDetails.sdk:type_name -> stream.video.sfu.models.Sdk - 29, // 23: stream.video.sfu.models.ClientDetails.os:type_name -> stream.video.sfu.models.OS - 30, // 24: stream.video.sfu.models.ClientDetails.browser:type_name -> stream.video.sfu.models.Browser - 32, // 25: stream.video.sfu.models.ClientDetails.device:type_name -> stream.video.sfu.models.Device - 6, // 26: stream.video.sfu.models.Sdk.type:type_name -> stream.video.sfu.models.SdkType - 40, // 27: stream.video.sfu.models.Call.custom:type_name -> google.protobuf.Struct - 39, // 28: stream.video.sfu.models.Call.created_at:type_name -> google.protobuf.Timestamp - 39, // 29: stream.video.sfu.models.Call.updated_at:type_name -> google.protobuf.Timestamp - 11, // 30: stream.video.sfu.models.AndroidState.thermal_state:type_name -> stream.video.sfu.models.AndroidThermalState - 12, // 31: stream.video.sfu.models.AppleState.thermal_state:type_name -> stream.video.sfu.models.AppleThermalState - 3, // 32: stream.video.sfu.models.PerformanceStats.track_type:type_name -> stream.video.sfu.models.TrackType - 23, // 33: stream.video.sfu.models.PerformanceStats.codec:type_name -> stream.video.sfu.models.Codec - 19, // 34: stream.video.sfu.models.PerformanceStats.video_dimension:type_name -> stream.video.sfu.models.VideoDimension - 35, // [35:35] is the sub-list for method output_type - 35, // [35:35] is the sub-list for method input_type - 35, // [35:35] is the sub-list for extension type_name - 35, // [35:35] is the sub-list for extension extendee - 0, // [0:35] is the sub-list for field type_name + 21, // 19: stream.video.sfu.models.TrackInfo.layers:type_name -> stream.video.sfu.models.VideoLayer + 24, // 20: stream.video.sfu.models.TrackInfo.codec:type_name -> stream.video.sfu.models.Codec + 5, // 21: stream.video.sfu.models.TrackInfo.audio_bitrate_type:type_name -> stream.video.sfu.models.AudioBitrateType + 6, // 22: stream.video.sfu.models.Error.code:type_name -> stream.video.sfu.models.ErrorCode + 29, // 23: stream.video.sfu.models.ClientDetails.sdk:type_name -> stream.video.sfu.models.Sdk + 30, // 24: stream.video.sfu.models.ClientDetails.os:type_name -> stream.video.sfu.models.OS + 31, // 25: stream.video.sfu.models.ClientDetails.browser:type_name -> stream.video.sfu.models.Browser + 33, // 26: stream.video.sfu.models.ClientDetails.device:type_name -> stream.video.sfu.models.Device + 7, // 27: stream.video.sfu.models.Sdk.type:type_name -> stream.video.sfu.models.SdkType + 41, // 28: stream.video.sfu.models.Call.custom:type_name -> google.protobuf.Struct + 40, // 29: stream.video.sfu.models.Call.created_at:type_name -> google.protobuf.Timestamp + 40, // 30: stream.video.sfu.models.Call.updated_at:type_name -> google.protobuf.Timestamp + 12, // 31: stream.video.sfu.models.AndroidState.thermal_state:type_name -> stream.video.sfu.models.AndroidThermalState + 13, // 32: stream.video.sfu.models.AppleState.thermal_state:type_name -> stream.video.sfu.models.AppleThermalState + 3, // 33: stream.video.sfu.models.PerformanceStats.track_type:type_name -> stream.video.sfu.models.TrackType + 24, // 34: stream.video.sfu.models.PerformanceStats.codec:type_name -> stream.video.sfu.models.Codec + 20, // 35: stream.video.sfu.models.PerformanceStats.video_dimension:type_name -> stream.video.sfu.models.VideoDimension + 36, // [36:36] is the sub-list for method output_type + 36, // [36:36] is the sub-list for method input_type + 36, // [36:36] is the sub-list for extension type_name + 36, // [36:36] is the sub-list for extension extendee + 0, // [0:36] is the sub-list for field type_name } func init() { file_video_sfu_models_models_proto_init() } @@ -3708,7 +3778,7 @@ func file_video_sfu_models_models_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_video_sfu_models_models_proto_rawDesc, - NumEnums: 14, + NumEnums: 15, NumMessages: 25, NumExtensions: 0, NumServices: 0, diff --git a/protobuf/video/sfu/models/models.proto b/protobuf/video/sfu/models/models.proto index a3528dbca..f13da2041 100644 --- a/protobuf/video/sfu/models/models.proto +++ b/protobuf/video/sfu/models/models.proto @@ -196,6 +196,12 @@ message ICETrickle { string session_id = 3; } +enum AudioBitrateType { + VOICE_STANDARD = 0; + VOICE_HIGH_QUALITY = 1; + MUSIC_HIGH_QUALITY = 2; +} + message TrackInfo { string track_id = 1; TrackType track_type = 2; @@ -208,6 +214,7 @@ message TrackInfo { bool muted = 10; Codec codec = 11; int32 publish_option_id = 12; + AudioBitrateType audio_bitrate_type = 13; } enum ErrorCode { diff --git a/protobuf/video/sfu/models/models_vtproto.pb.go b/protobuf/video/sfu/models/models_vtproto.pb.go index 61dc4ae8f..38338f883 100644 --- a/protobuf/video/sfu/models/models_vtproto.pb.go +++ b/protobuf/video/sfu/models/models_vtproto.pb.go @@ -824,6 +824,11 @@ func (m *TrackInfo) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.AudioBitrateType != 0 { + i = encodeVarint(dAtA, i, uint64(m.AudioBitrateType)) + i-- + dAtA[i] = 0x68 + } if m.PublishOptionId != 0 { i = encodeVarint(dAtA, i, uint64(m.PublishOptionId)) i-- @@ -2135,6 +2140,9 @@ func (m *TrackInfo) SizeVT() (n int) { if m.PublishOptionId != 0 { n += 1 + sov(uint64(m.PublishOptionId)) } + if m.AudioBitrateType != 0 { + n += 1 + sov(uint64(m.AudioBitrateType)) + } if m.unknownFields != nil { n += len(m.unknownFields) } @@ -4717,6 +4725,25 @@ func (m *TrackInfo) UnmarshalVT(dAtA []byte) error { break } } + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AudioBitrateType", wireType) + } + m.AudioBitrateType = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AudioBitrateType |= AudioBitrateType(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skip(dAtA[iNdEx:]) From 813318d46a314d1a02e2fc91196a9991a25cb381 Mon Sep 17 00:00:00 2001 From: guldev25 Date: Wed, 3 Sep 2025 14:07:57 +0200 Subject: [PATCH 4/7] Revert "added enum" This reverts commit 1f07e83d88e1ff88d5efac7c3a97e50e255a6abf. --- protobuf/video/sfu/models/models.pb.go | 930 ++++++++---------- protobuf/video/sfu/models/models.proto | 7 - .../video/sfu/models/models_vtproto.pb.go | 27 - 3 files changed, 430 insertions(+), 534 deletions(-) diff --git a/protobuf/video/sfu/models/models.pb.go b/protobuf/video/sfu/models/models.pb.go index 1357d3544..2f51346e2 100644 --- a/protobuf/video/sfu/models/models.pb.go +++ b/protobuf/video/sfu/models/models.pb.go @@ -287,55 +287,6 @@ func (ParticipantSource) EnumDescriptor() ([]byte, []int) { return file_video_sfu_models_models_proto_rawDescGZIP(), []int{4} } -type AudioBitrateType int32 - -const ( - AudioBitrateType_VOICE_STANDARD AudioBitrateType = 0 - AudioBitrateType_VOICE_HIGH_QUALITY AudioBitrateType = 1 - AudioBitrateType_MUSIC_HIGH_QUALITY AudioBitrateType = 2 -) - -// Enum value maps for AudioBitrateType. -var ( - AudioBitrateType_name = map[int32]string{ - 0: "VOICE_STANDARD", - 1: "VOICE_HIGH_QUALITY", - 2: "MUSIC_HIGH_QUALITY", - } - AudioBitrateType_value = map[string]int32{ - "VOICE_STANDARD": 0, - "VOICE_HIGH_QUALITY": 1, - "MUSIC_HIGH_QUALITY": 2, - } -) - -func (x AudioBitrateType) Enum() *AudioBitrateType { - p := new(AudioBitrateType) - *p = x - return p -} - -func (x AudioBitrateType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (AudioBitrateType) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[5].Descriptor() -} - -func (AudioBitrateType) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[5] -} - -func (x AudioBitrateType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use AudioBitrateType.Descriptor instead. -func (AudioBitrateType) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{5} -} - type ErrorCode int32 const ( @@ -426,11 +377,11 @@ func (x ErrorCode) String() string { } func (ErrorCode) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[6].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[5].Descriptor() } func (ErrorCode) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[6] + return &file_video_sfu_models_models_proto_enumTypes[5] } func (x ErrorCode) Number() protoreflect.EnumNumber { @@ -439,7 +390,7 @@ func (x ErrorCode) Number() protoreflect.EnumNumber { // Deprecated: Use ErrorCode.Descriptor instead. func (ErrorCode) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{6} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{5} } type SdkType int32 @@ -496,11 +447,11 @@ func (x SdkType) String() string { } func (SdkType) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[7].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[6].Descriptor() } func (SdkType) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[7] + return &file_video_sfu_models_models_proto_enumTypes[6] } func (x SdkType) Number() protoreflect.EnumNumber { @@ -509,7 +460,7 @@ func (x SdkType) Number() protoreflect.EnumNumber { // Deprecated: Use SdkType.Descriptor instead. func (SdkType) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{7} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{6} } type TrackUnpublishReason int32 @@ -558,11 +509,11 @@ func (x TrackUnpublishReason) String() string { } func (TrackUnpublishReason) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[8].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[7].Descriptor() } func (TrackUnpublishReason) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[8] + return &file_video_sfu_models_models_proto_enumTypes[7] } func (x TrackUnpublishReason) Number() protoreflect.EnumNumber { @@ -571,7 +522,7 @@ func (x TrackUnpublishReason) Number() protoreflect.EnumNumber { // Deprecated: Use TrackUnpublishReason.Descriptor instead. func (TrackUnpublishReason) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{8} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{7} } // GoAwayReason represents the reason for the SFU to @@ -609,11 +560,11 @@ func (x GoAwayReason) String() string { } func (GoAwayReason) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[9].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[8].Descriptor() } func (GoAwayReason) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[9] + return &file_video_sfu_models_models_proto_enumTypes[8] } func (x GoAwayReason) Number() protoreflect.EnumNumber { @@ -622,7 +573,7 @@ func (x GoAwayReason) Number() protoreflect.EnumNumber { // Deprecated: Use GoAwayReason.Descriptor instead. func (GoAwayReason) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{9} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{8} } // CallEndedReason represents the reason for the call to end. @@ -665,11 +616,11 @@ func (x CallEndedReason) String() string { } func (CallEndedReason) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[10].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[9].Descriptor() } func (CallEndedReason) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[10] + return &file_video_sfu_models_models_proto_enumTypes[9] } func (x CallEndedReason) Number() protoreflect.EnumNumber { @@ -678,7 +629,7 @@ func (x CallEndedReason) Number() protoreflect.EnumNumber { // Deprecated: Use CallEndedReason.Descriptor instead. func (CallEndedReason) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{10} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{9} } // WebsocketReconnectStrategy defines the ws strategies available for handling reconnections. @@ -727,11 +678,11 @@ func (x WebsocketReconnectStrategy) String() string { } func (WebsocketReconnectStrategy) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[11].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[10].Descriptor() } func (WebsocketReconnectStrategy) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[11] + return &file_video_sfu_models_models_proto_enumTypes[10] } func (x WebsocketReconnectStrategy) Number() protoreflect.EnumNumber { @@ -740,7 +691,7 @@ func (x WebsocketReconnectStrategy) Number() protoreflect.EnumNumber { // Deprecated: Use WebsocketReconnectStrategy.Descriptor instead. func (WebsocketReconnectStrategy) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{11} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{10} } // AndroidThermalState is reported by the Android API. The full list of values is documented here @@ -793,11 +744,11 @@ func (x AndroidThermalState) String() string { } func (AndroidThermalState) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[12].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[11].Descriptor() } func (AndroidThermalState) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[12] + return &file_video_sfu_models_models_proto_enumTypes[11] } func (x AndroidThermalState) Number() protoreflect.EnumNumber { @@ -806,7 +757,7 @@ func (x AndroidThermalState) Number() protoreflect.EnumNumber { // Deprecated: Use AndroidThermalState.Descriptor instead. func (AndroidThermalState) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{12} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{11} } // AppleThermalState is the thermal state as reported by Apple devices when available or applicable to the platform. @@ -850,11 +801,11 @@ func (x AppleThermalState) String() string { } func (AppleThermalState) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[13].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[12].Descriptor() } func (AppleThermalState) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[13] + return &file_video_sfu_models_models_proto_enumTypes[12] } func (x AppleThermalState) Number() protoreflect.EnumNumber { @@ -863,7 +814,7 @@ func (x AppleThermalState) Number() protoreflect.EnumNumber { // Deprecated: Use AppleThermalState.Descriptor instead. func (AppleThermalState) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{13} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{12} } // ClientCapability defines a feature that client supports @@ -898,11 +849,11 @@ func (x ClientCapability) String() string { } func (ClientCapability) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[14].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[13].Descriptor() } func (ClientCapability) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[14] + return &file_video_sfu_models_models_proto_enumTypes[13] } func (x ClientCapability) Number() protoreflect.EnumNumber { @@ -911,7 +862,7 @@ func (x ClientCapability) Number() protoreflect.EnumNumber { // Deprecated: Use ClientCapability.Descriptor instead. func (ClientCapability) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{14} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{13} } // CallState is the current state of the call @@ -1811,13 +1762,12 @@ type TrackInfo struct { Layers []*VideoLayer `protobuf:"bytes,5,rep,name=layers,proto3" json:"layers,omitempty"` Mid string `protobuf:"bytes,6,opt,name=mid,proto3" json:"mid,omitempty"` // for audio tracks - Dtx bool `protobuf:"varint,7,opt,name=dtx,proto3" json:"dtx,omitempty"` - Stereo bool `protobuf:"varint,8,opt,name=stereo,proto3" json:"stereo,omitempty"` - Red bool `protobuf:"varint,9,opt,name=red,proto3" json:"red,omitempty"` - Muted bool `protobuf:"varint,10,opt,name=muted,proto3" json:"muted,omitempty"` - Codec *Codec `protobuf:"bytes,11,opt,name=codec,proto3" json:"codec,omitempty"` - PublishOptionId int32 `protobuf:"varint,12,opt,name=publish_option_id,json=publishOptionId,proto3" json:"publish_option_id,omitempty"` - AudioBitrateType AudioBitrateType `protobuf:"varint,13,opt,name=audio_bitrate_type,json=audioBitrateType,proto3,enum=stream.video.sfu.models.AudioBitrateType" json:"audio_bitrate_type,omitempty"` + Dtx bool `protobuf:"varint,7,opt,name=dtx,proto3" json:"dtx,omitempty"` + Stereo bool `protobuf:"varint,8,opt,name=stereo,proto3" json:"stereo,omitempty"` + Red bool `protobuf:"varint,9,opt,name=red,proto3" json:"red,omitempty"` + Muted bool `protobuf:"varint,10,opt,name=muted,proto3" json:"muted,omitempty"` + Codec *Codec `protobuf:"bytes,11,opt,name=codec,proto3" json:"codec,omitempty"` + PublishOptionId int32 `protobuf:"varint,12,opt,name=publish_option_id,json=publishOptionId,proto3" json:"publish_option_id,omitempty"` } func (x *TrackInfo) Reset() { @@ -1922,13 +1872,6 @@ func (x *TrackInfo) GetPublishOptionId() int32 { return 0 } -func (x *TrackInfo) GetAudioBitrateType() AudioBitrateType { - if x != nil { - return x.AudioBitrateType - } - return AudioBitrateType_VOICE_STANDARD -} - type Error struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2993,7 +2936,7 @@ var file_video_sfu_models_models_proto_rawDesc = []byte{ 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x63, 0x65, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xc5, 0x03, 0x0a, 0x09, + 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xec, 0x02, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, @@ -3016,352 +2959,341 @@ var file_video_sfu_models_models_proto_rawDesc = []byte{ 0x73, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x57, 0x0a, 0x12, 0x61, 0x75, - 0x64, 0x69, 0x6f, 0x5f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, + 0x73, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x7c, 0x0a, 0x05, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x12, 0x36, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, + 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 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, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, + 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x68, 0x6f, + 0x75, 0x6c, 0x64, 0x52, 0x65, 0x74, 0x72, 0x79, 0x22, 0xe1, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x03, 0x73, 0x64, + 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x73, 0x2e, 0x53, 0x64, 0x6b, 0x52, 0x03, 0x73, 0x64, 0x6b, 0x12, 0x2b, 0x0a, 0x02, 0x6f, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, - 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x42, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x10, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x42, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x22, 0x7c, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x36, 0x0a, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, - 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, 0x21, - 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x52, 0x65, 0x74, 0x72, - 0x79, 0x22, 0xe1, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x03, 0x73, 0x64, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, - 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x53, 0x64, 0x6b, 0x52, 0x03, - 0x73, 0x64, 0x6b, 0x12, 0x2b, 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, - 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x4f, 0x53, 0x52, 0x02, 0x6f, 0x73, - 0x12, 0x3a, 0x0a, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, - 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x42, 0x72, 0x6f, 0x77, - 0x73, 0x65, 0x72, 0x52, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x06, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x7d, 0x0a, 0x03, 0x53, 0x64, 0x6b, 0x12, 0x34, 0x0a, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x53, 0x64, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x14, - 0x0a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, - 0x61, 0x74, 0x63, 0x68, 0x22, 0x56, 0x0a, 0x02, 0x4f, 0x53, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x22, 0x37, 0x0a, 0x07, - 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xcb, 0x01, 0x0a, 0x0b, 0x52, 0x54, 0x4d, 0x50, 0x49, 0x6e, - 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x74, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x61, - 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x63, 0x6f, - 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x63, 0x6f, 0x64, - 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, - 0x64, 0x64, 0x72, 0x22, 0x36, 0x0a, 0x06, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa0, 0x02, 0x0a, 0x04, - 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x6f, 0x73, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, - 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x8d, - 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, - 0x11, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x61, 0x75, 0x64, - 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x61, 0x6e, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x6e, - 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x61, 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, - 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x61, 0x6e, 0x5f, 0x73, 0x63, 0x72, - 0x65, 0x65, 0x6e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, - 0x63, 0x61, 0x6e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x22, 0x85, - 0x01, 0x0a, 0x0c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, - 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, - 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, - 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x22, 0x90, 0x01, 0x0a, 0x0c, 0x41, 0x6e, 0x64, 0x72, 0x6f, - 0x69, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x51, 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x72, 0x6d, - 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, - 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, - 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, - 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x74, 0x68, - 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x69, 0x73, - 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x61, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x50, 0x6f, 0x77, 0x65, 0x72, - 0x53, 0x61, 0x76, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x97, 0x01, 0x0a, 0x0a, 0x41, 0x70, - 0x70, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4f, 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x72, - 0x6d, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x2a, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, - 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x54, - 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x74, 0x68, 0x65, - 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x19, 0x69, 0x73, 0x5f, - 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73, - 0x4c, 0x6f, 0x77, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x22, 0xc8, 0x02, 0x0a, 0x10, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, - 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x73, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x63, - 0x6f, 0x64, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, - 0x63, 0x12, 0x29, 0x0a, 0x11, 0x61, 0x76, 0x67, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x61, 0x76, - 0x67, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x17, 0x0a, 0x07, - 0x61, 0x76, 0x67, 0x5f, 0x66, 0x70, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x61, - 0x76, 0x67, 0x46, 0x70, 0x73, 0x12, 0x50, 0x0a, 0x0f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x64, - 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, - 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x69, - 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x69, - 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x2a, 0x49, - 0x0a, 0x08, 0x50, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x45, - 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, - 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x18, 0x0a, 0x14, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x55, 0x42, - 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x52, 0x10, 0x01, 0x2a, 0x93, 0x01, 0x0a, 0x11, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, - 0x22, 0x0a, 0x1e, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, - 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x4f, 0x4f, 0x52, 0x10, 0x01, - 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, - 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x47, 0x4f, 0x4f, 0x44, 0x10, 0x02, 0x12, 0x20, 0x0a, - 0x1c, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, - 0x49, 0x54, 0x59, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x2a, - 0x77, 0x0a, 0x0c, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, - 0x21, 0x0a, 0x1d, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, - 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, - 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x49, 0x44, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x49, 0x44, - 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, - 0x02, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, - 0x54, 0x59, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0x03, 0x2a, 0x93, 0x01, 0x0a, 0x09, 0x54, 0x72, 0x61, - 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x43, - 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x10, 0x02, 0x12, 0x1b, - 0x0a, 0x17, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x43, 0x52, - 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x54, - 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, - 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x04, 0x2a, 0xcd, - 0x01, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, - 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x57, 0x45, 0x42, 0x52, 0x54, - 0x43, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, - 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x54, 0x4d, 0x50, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, + 0x2e, 0x4f, 0x53, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, + 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x73, 0x2e, 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x52, 0x07, 0x62, 0x72, 0x6f, 0x77, + 0x73, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, + 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x44, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x7d, 0x0a, 0x03, + 0x53, 0x64, 0x6b, 0x12, 0x34, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, + 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x53, 0x64, 0x6b, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, + 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, + 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x22, 0x56, 0x0a, 0x02, 0x4f, + 0x53, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, + 0x75, 0x72, 0x65, 0x22, 0x37, 0x0a, 0x07, 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xcb, 0x01, 0x0a, + 0x0b, 0x52, 0x54, 0x4d, 0x50, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, + 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, + 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, + 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, + 0x66, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x66, + 0x74, 0x77, 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x66, + 0x74, 0x77, 0x61, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x22, 0x36, 0x0a, 0x06, 0x44, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x22, 0xa0, 0x02, 0x0a, 0x04, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x2b, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, + 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x68, 0x6f, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, + 0x0a, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, + 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x8d, 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x6c, 0x6c, 0x47, 0x72, + 0x61, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x73, 0x68, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0f, 0x63, 0x61, 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x41, 0x75, 0x64, 0x69, 0x6f, + 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, + 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x61, 0x6e, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x27, 0x0a, 0x0f, + 0x63, 0x61, 0x6e, 0x5f, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x61, 0x6e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x0c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, + 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0b, 0x69, 0x73, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x22, 0x90, 0x01, + 0x0a, 0x0c, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x51, + 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, + 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, + 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x52, 0x0c, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x61, + 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, + 0x69, 0x73, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x61, 0x76, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, + 0x22, 0x97, 0x01, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x4f, 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, + 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, + 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x52, 0x0c, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x38, 0x0a, 0x19, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73, 0x4c, 0x6f, 0x77, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4d, + 0x6f, 0x64, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xc8, 0x02, 0x0a, 0x10, 0x50, + 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, + 0x41, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, + 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x54, 0x72, + 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, + 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x43, 0x6f, 0x64, 0x65, + 0x63, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x29, 0x0a, 0x11, 0x61, 0x76, 0x67, 0x5f, + 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x0e, 0x61, 0x76, 0x67, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x4d, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x76, 0x67, 0x5f, 0x66, 0x70, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x61, 0x76, 0x67, 0x46, 0x70, 0x73, 0x12, 0x50, 0x0a, 0x0f, + 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, + 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0e, + 0x76, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, + 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x69, + 0x74, 0x72, 0x61, 0x74, 0x65, 0x2a, 0x49, 0x0a, 0x08, 0x50, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, + 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x52, 0x10, 0x01, + 0x2a, 0x93, 0x01, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, + 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, + 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, + 0x5f, 0x50, 0x4f, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x4e, 0x4e, 0x45, + 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x47, 0x4f, + 0x4f, 0x44, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x4c, + 0x4c, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x2a, 0x77, 0x0a, 0x0c, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x51, + 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x1d, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, + 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, + 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x49, 0x44, 0x10, 0x01, + 0x12, 0x16, 0x0a, 0x12, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, + 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, 0x45, + 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0x03, 0x2a, + 0x93, 0x01, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, + 0x16, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, + 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x01, 0x12, + 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x49, + 0x44, 0x45, 0x4f, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, + 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x41, 0x55, + 0x44, 0x49, 0x4f, 0x10, 0x04, 0x2a, 0xcd, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x50, + 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, + 0x45, 0x5f, 0x57, 0x45, 0x42, 0x52, 0x54, 0x43, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, + 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x54, 0x4d, + 0x50, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, + 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x57, 0x48, 0x49, 0x50, 0x10, 0x02, + 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, + 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x49, 0x50, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, - 0x43, 0x45, 0x5f, 0x57, 0x48, 0x49, 0x50, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x52, + 0x43, 0x45, 0x5f, 0x52, 0x54, 0x53, 0x50, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, - 0x53, 0x49, 0x50, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, - 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x54, 0x53, 0x50, - 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, - 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x52, 0x54, 0x10, 0x05, 0x2a, 0x56, - 0x0a, 0x10, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x42, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x4e, - 0x44, 0x41, 0x52, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x5f, - 0x48, 0x49, 0x47, 0x48, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x01, 0x12, 0x16, - 0x0a, 0x12, 0x4d, 0x55, 0x53, 0x49, 0x43, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x5f, 0x51, 0x55, 0x41, - 0x4c, 0x49, 0x54, 0x59, 0x10, 0x02, 0x2a, 0xea, 0x06, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, - 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x26, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, - 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4e, 0x4f, 0x54, - 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x64, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, - 0x52, 0x41, 0x43, 0x4b, 0x53, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x65, - 0x12, 0x29, 0x0a, 0x25, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, - 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4f, 0x55, 0x54, - 0x5f, 0x4f, 0x46, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x66, 0x12, 0x32, 0x0a, 0x2e, 0x45, - 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, - 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x4c, 0x41, - 0x59, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x67, 0x12, - 0x19, 0x0a, 0x15, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x49, - 0x56, 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x68, 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, - 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xc8, - 0x01, 0x12, 0x29, 0x0a, 0x24, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, - 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, - 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0xc9, 0x01, 0x12, 0x2c, 0x0a, 0x27, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, - 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xca, 0x01, 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, - 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xcb, - 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, - 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, - 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xcc, 0x01, 0x12, - 0x33, 0x0a, 0x2e, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, - 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x5f, - 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, - 0x45, 0x10, 0xcd, 0x01, 0x12, 0x27, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, - 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, - 0x49, 0x47, 0x4e, 0x41, 0x4c, 0x5f, 0x4c, 0x4f, 0x53, 0x54, 0x10, 0xce, 0x01, 0x12, 0x1e, 0x0a, - 0x19, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, - 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xac, 0x02, 0x12, 0x2e, 0x0a, - 0x29, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, - 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4c, 0x49, 0x4d, - 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x48, 0x45, 0x44, 0x10, 0xad, 0x02, 0x12, 0x29, 0x0a, - 0x24, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x51, 0x55, - 0x45, 0x53, 0x54, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, - 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x90, 0x03, 0x12, 0x1f, 0x0a, 0x1a, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, - 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x91, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, - 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x93, 0x03, 0x12, 0x21, 0x0a, 0x1c, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, - 0x41, 0x4e, 0x59, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x53, 0x10, 0xad, 0x03, 0x12, - 0x25, 0x0a, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, - 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x10, 0xf4, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, - 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x46, 0x55, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, - 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xd8, 0x04, 0x12, 0x18, 0x0a, 0x13, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x46, 0x55, 0x5f, 0x46, 0x55, 0x4c, 0x4c, - 0x10, 0xbc, 0x05, 0x2a, 0xea, 0x01, 0x0a, 0x07, 0x53, 0x64, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x18, 0x0a, 0x14, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x44, 0x4b, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x54, 0x10, 0x01, 0x12, 0x14, 0x0a, - 0x10, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x47, 0x55, 0x4c, 0x41, - 0x52, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x44, 0x4b, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4f, 0x53, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x53, - 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x4c, 0x55, 0x54, 0x54, 0x45, 0x52, 0x10, - 0x05, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, - 0x41, 0x43, 0x54, 0x5f, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, - 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x10, 0x07, - 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x4f, 0x10, - 0x08, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4c, - 0x41, 0x49, 0x4e, 0x5f, 0x4a, 0x41, 0x56, 0x41, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x10, 0x09, - 0x2a, 0xbb, 0x01, 0x0a, 0x14, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x55, 0x6e, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x52, 0x41, - 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, - 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, - 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, - 0x5f, 0x4d, 0x55, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x54, 0x52, 0x41, 0x43, + 0x53, 0x52, 0x54, 0x10, 0x05, 0x2a, 0xea, 0x06, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, + 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, + 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x26, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, + 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, + 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x64, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, + 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, + 0x41, 0x43, 0x4b, 0x53, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x65, 0x12, + 0x29, 0x0a, 0x25, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, + 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4f, 0x55, 0x54, 0x5f, + 0x4f, 0x46, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x66, 0x12, 0x32, 0x0a, 0x2e, 0x45, 0x52, + 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, + 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x4c, 0x41, 0x59, + 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x67, 0x12, 0x19, + 0x0a, 0x15, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x49, 0x56, + 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x68, 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, + 0x41, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xc8, 0x01, + 0x12, 0x29, 0x0a, 0x24, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, + 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, + 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0xc9, 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x45, + 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, + 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xca, 0x01, 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, + 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xcb, 0x01, + 0x12, 0x2c, 0x0a, 0x27, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, + 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, + 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xcc, 0x01, 0x12, 0x33, + 0x0a, 0x2e, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, + 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x5f, 0x54, + 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, + 0x10, 0xcd, 0x01, 0x12, 0x27, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, + 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x49, + 0x47, 0x4e, 0x41, 0x4c, 0x5f, 0x4c, 0x4f, 0x53, 0x54, 0x10, 0xce, 0x01, 0x12, 0x1e, 0x0a, 0x19, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, + 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xac, 0x02, 0x12, 0x2e, 0x0a, 0x29, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, + 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4c, 0x49, 0x4d, 0x49, + 0x54, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x48, 0x45, 0x44, 0x10, 0xad, 0x02, 0x12, 0x29, 0x0a, 0x24, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, + 0x53, 0x54, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, + 0x49, 0x4c, 0x45, 0x44, 0x10, 0x90, 0x03, 0x12, 0x1f, 0x0a, 0x1a, 0x45, 0x52, 0x52, 0x4f, 0x52, + 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, + 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x91, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, + 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x93, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, + 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, + 0x4e, 0x59, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x53, 0x10, 0xad, 0x03, 0x12, 0x25, + 0x0a, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x54, + 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x10, 0xf4, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, + 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x46, 0x55, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, 0x47, + 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xd8, 0x04, 0x12, 0x18, 0x0a, 0x13, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x46, 0x55, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, + 0xbc, 0x05, 0x2a, 0xea, 0x01, 0x0a, 0x07, 0x53, 0x64, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, + 0x0a, 0x14, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x44, 0x4b, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x54, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, + 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x47, 0x55, 0x4c, 0x41, 0x52, + 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, + 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x44, 0x4b, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4f, 0x53, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, + 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x4c, 0x55, 0x54, 0x54, 0x45, 0x52, 0x10, 0x05, + 0x12, 0x19, 0x0a, 0x15, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, + 0x43, 0x54, 0x5f, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x53, + 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x10, 0x07, 0x12, + 0x0f, 0x0a, 0x0b, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x4f, 0x10, 0x08, + 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4c, 0x41, + 0x49, 0x4e, 0x5f, 0x4a, 0x41, 0x56, 0x41, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x10, 0x09, 0x2a, + 0xbb, 0x01, 0x0a, 0x14, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x55, 0x6e, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, - 0x4f, 0x4e, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, - 0x56, 0x4f, 0x4b, 0x45, 0x44, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, + 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, + 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, + 0x4d, 0x55, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, - 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x2a, 0x6e, - 0x0a, 0x0c, 0x47, 0x6f, 0x41, 0x77, 0x61, 0x79, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1e, - 0x0a, 0x1a, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, - 0x0a, 0x1c, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, - 0x5f, 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x01, - 0x12, 0x1c, 0x0a, 0x18, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, - 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x2a, 0xb6, - 0x01, 0x0a, 0x0f, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x6e, 0x64, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, - 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, - 0x44, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, - 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, - 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x49, 0x56, 0x45, 0x5f, 0x45, 0x4e, 0x44, - 0x45, 0x44, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, - 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, - 0x10, 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, - 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, - 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x04, 0x2a, 0xf1, 0x01, 0x0a, 0x1a, 0x57, 0x65, 0x62, 0x73, - 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x53, 0x74, - 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x2c, 0x0a, 0x28, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, - 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x2b, 0x0a, 0x27, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, - 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, - 0x54, 0x45, 0x47, 0x59, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, - 0x01, 0x12, 0x25, 0x0a, 0x21, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, - 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, - 0x59, 0x5f, 0x46, 0x41, 0x53, 0x54, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x57, 0x45, 0x42, 0x53, - 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, - 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x52, 0x45, 0x4a, 0x4f, 0x49, 0x4e, 0x10, - 0x03, 0x12, 0x28, 0x0a, 0x24, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, - 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, - 0x59, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x45, 0x10, 0x04, 0x2a, 0xb0, 0x02, 0x0a, 0x13, - 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, - 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4e, - 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x4e, - 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x41, - 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x52, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, - 0x20, 0x0a, 0x1c, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, - 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x45, 0x10, - 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, - 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, - 0x43, 0x41, 0x4c, 0x10, 0x05, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, - 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, - 0x4d, 0x45, 0x52, 0x47, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, - 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x07, 0x2a, 0xba, - 0x01, 0x0a, 0x11, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x48, + 0x4e, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x56, + 0x4f, 0x4b, 0x45, 0x44, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, + 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, + 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x2a, 0x6e, 0x0a, + 0x0c, 0x47, 0x6f, 0x41, 0x77, 0x61, 0x79, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, + 0x1a, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, + 0x1c, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, + 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, + 0x1c, 0x0a, 0x18, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, + 0x4e, 0x5f, 0x52, 0x45, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x2a, 0xb6, 0x01, + 0x0a, 0x0f, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x6e, 0x64, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, + 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, + 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x49, 0x56, 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x45, + 0x44, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, + 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, 0x10, + 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, + 0x4e, 0x44, 0x45, 0x44, 0x10, 0x04, 0x2a, 0xf1, 0x01, 0x0a, 0x1a, 0x57, 0x65, 0x62, 0x73, 0x6f, + 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x53, 0x74, 0x72, + 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x2c, 0x0a, 0x28, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, + 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x2b, 0x0a, 0x27, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, + 0x45, 0x47, 0x59, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x01, + 0x12, 0x25, 0x0a, 0x21, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, + 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, + 0x5f, 0x46, 0x41, 0x53, 0x54, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x57, 0x45, 0x42, 0x53, 0x4f, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, + 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x52, 0x45, 0x4a, 0x4f, 0x49, 0x4e, 0x10, 0x03, + 0x12, 0x28, 0x0a, 0x24, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, + 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, + 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x45, 0x10, 0x04, 0x2a, 0xb0, 0x02, 0x0a, 0x13, 0x41, + 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, - 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x4e, 0x4f, 0x4d, 0x49, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x50, - 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x5f, 0x46, 0x41, 0x49, 0x52, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4e, 0x44, + 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x4e, 0x44, + 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, + 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x52, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x20, + 0x0a, 0x1c, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, + 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x45, 0x10, 0x04, + 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, + 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, + 0x41, 0x4c, 0x10, 0x05, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, + 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4d, + 0x45, 0x52, 0x47, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, 0x44, + 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x07, 0x2a, 0xba, 0x01, + 0x0a, 0x11, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, + 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x53, 0x45, 0x52, 0x49, 0x4f, 0x55, 0x53, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x50, 0x50, + 0x4e, 0x4f, 0x4d, 0x49, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x04, 0x2a, 0x63, 0x0a, 0x10, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, - 0x21, 0x0a, 0x1d, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, - 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x2c, 0x0a, 0x28, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x50, - 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, - 0x45, 0x52, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, 0x01, - 0x42, 0x65, 0x42, 0x0b, 0x53, 0x66, 0x75, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x56, 0x31, 0x50, - 0x01, 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x65, - 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2f, - 0x73, 0x66, 0x75, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0xaa, 0x02, 0x1a, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x66, 0x75, - 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x5f, 0x46, 0x41, 0x49, 0x52, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, 0x45, + 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, + 0x45, 0x52, 0x49, 0x4f, 0x55, 0x53, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x50, 0x50, 0x4c, + 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x04, 0x2a, 0x63, 0x0a, 0x10, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, + 0x0a, 0x1d, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, + 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x2c, 0x0a, 0x28, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x41, + 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, + 0x52, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, 0x01, 0x42, + 0x65, 0x42, 0x0b, 0x53, 0x66, 0x75, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x56, 0x31, 0x50, 0x01, + 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x65, 0x74, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2f, 0x73, + 0x66, 0x75, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0xaa, 0x02, 0x1a, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x66, 0x75, 0x2e, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3376,7 +3308,7 @@ func file_video_sfu_models_models_proto_rawDescGZIP() []byte { return file_video_sfu_models_models_proto_rawDescData } -var file_video_sfu_models_models_proto_enumTypes = make([]protoimpl.EnumInfo, 15) +var file_video_sfu_models_models_proto_enumTypes = make([]protoimpl.EnumInfo, 14) var file_video_sfu_models_models_proto_msgTypes = make([]protoimpl.MessageInfo, 25) var file_video_sfu_models_models_proto_goTypes = []interface{}{ (PeerType)(0), // 0: stream.video.sfu.models.PeerType @@ -3384,86 +3316,84 @@ var file_video_sfu_models_models_proto_goTypes = []interface{}{ (VideoQuality)(0), // 2: stream.video.sfu.models.VideoQuality (TrackType)(0), // 3: stream.video.sfu.models.TrackType (ParticipantSource)(0), // 4: stream.video.sfu.models.ParticipantSource - (AudioBitrateType)(0), // 5: stream.video.sfu.models.AudioBitrateType - (ErrorCode)(0), // 6: stream.video.sfu.models.ErrorCode - (SdkType)(0), // 7: stream.video.sfu.models.SdkType - (TrackUnpublishReason)(0), // 8: stream.video.sfu.models.TrackUnpublishReason - (GoAwayReason)(0), // 9: stream.video.sfu.models.GoAwayReason - (CallEndedReason)(0), // 10: stream.video.sfu.models.CallEndedReason - (WebsocketReconnectStrategy)(0), // 11: stream.video.sfu.models.WebsocketReconnectStrategy - (AndroidThermalState)(0), // 12: stream.video.sfu.models.AndroidThermalState - (AppleThermalState)(0), // 13: stream.video.sfu.models.AppleThermalState - (ClientCapability)(0), // 14: stream.video.sfu.models.ClientCapability - (*CallState)(nil), // 15: stream.video.sfu.models.CallState - (*ParticipantCount)(nil), // 16: stream.video.sfu.models.ParticipantCount - (*Pin)(nil), // 17: stream.video.sfu.models.Pin - (*Participant)(nil), // 18: stream.video.sfu.models.Participant - (*StreamQuality)(nil), // 19: stream.video.sfu.models.StreamQuality - (*VideoDimension)(nil), // 20: stream.video.sfu.models.VideoDimension - (*VideoLayer)(nil), // 21: stream.video.sfu.models.VideoLayer - (*SubscribeOption)(nil), // 22: stream.video.sfu.models.SubscribeOption - (*PublishOption)(nil), // 23: stream.video.sfu.models.PublishOption - (*Codec)(nil), // 24: stream.video.sfu.models.Codec - (*ICETrickle)(nil), // 25: stream.video.sfu.models.ICETrickle - (*TrackInfo)(nil), // 26: stream.video.sfu.models.TrackInfo - (*Error)(nil), // 27: stream.video.sfu.models.Error - (*ClientDetails)(nil), // 28: stream.video.sfu.models.ClientDetails - (*Sdk)(nil), // 29: stream.video.sfu.models.Sdk - (*OS)(nil), // 30: stream.video.sfu.models.OS - (*Browser)(nil), // 31: stream.video.sfu.models.Browser - (*RTMPIngress)(nil), // 32: stream.video.sfu.models.RTMPIngress - (*Device)(nil), // 33: stream.video.sfu.models.Device - (*Call)(nil), // 34: stream.video.sfu.models.Call - (*CallGrants)(nil), // 35: stream.video.sfu.models.CallGrants - (*InputDevices)(nil), // 36: stream.video.sfu.models.InputDevices - (*AndroidState)(nil), // 37: stream.video.sfu.models.AndroidState - (*AppleState)(nil), // 38: stream.video.sfu.models.AppleState - (*PerformanceStats)(nil), // 39: stream.video.sfu.models.PerformanceStats - (*timestamppb.Timestamp)(nil), // 40: google.protobuf.Timestamp - (*structpb.Struct)(nil), // 41: google.protobuf.Struct + (ErrorCode)(0), // 5: stream.video.sfu.models.ErrorCode + (SdkType)(0), // 6: stream.video.sfu.models.SdkType + (TrackUnpublishReason)(0), // 7: stream.video.sfu.models.TrackUnpublishReason + (GoAwayReason)(0), // 8: stream.video.sfu.models.GoAwayReason + (CallEndedReason)(0), // 9: stream.video.sfu.models.CallEndedReason + (WebsocketReconnectStrategy)(0), // 10: stream.video.sfu.models.WebsocketReconnectStrategy + (AndroidThermalState)(0), // 11: stream.video.sfu.models.AndroidThermalState + (AppleThermalState)(0), // 12: stream.video.sfu.models.AppleThermalState + (ClientCapability)(0), // 13: stream.video.sfu.models.ClientCapability + (*CallState)(nil), // 14: stream.video.sfu.models.CallState + (*ParticipantCount)(nil), // 15: stream.video.sfu.models.ParticipantCount + (*Pin)(nil), // 16: stream.video.sfu.models.Pin + (*Participant)(nil), // 17: stream.video.sfu.models.Participant + (*StreamQuality)(nil), // 18: stream.video.sfu.models.StreamQuality + (*VideoDimension)(nil), // 19: stream.video.sfu.models.VideoDimension + (*VideoLayer)(nil), // 20: stream.video.sfu.models.VideoLayer + (*SubscribeOption)(nil), // 21: stream.video.sfu.models.SubscribeOption + (*PublishOption)(nil), // 22: stream.video.sfu.models.PublishOption + (*Codec)(nil), // 23: stream.video.sfu.models.Codec + (*ICETrickle)(nil), // 24: stream.video.sfu.models.ICETrickle + (*TrackInfo)(nil), // 25: stream.video.sfu.models.TrackInfo + (*Error)(nil), // 26: stream.video.sfu.models.Error + (*ClientDetails)(nil), // 27: stream.video.sfu.models.ClientDetails + (*Sdk)(nil), // 28: stream.video.sfu.models.Sdk + (*OS)(nil), // 29: stream.video.sfu.models.OS + (*Browser)(nil), // 30: stream.video.sfu.models.Browser + (*RTMPIngress)(nil), // 31: stream.video.sfu.models.RTMPIngress + (*Device)(nil), // 32: stream.video.sfu.models.Device + (*Call)(nil), // 33: stream.video.sfu.models.Call + (*CallGrants)(nil), // 34: stream.video.sfu.models.CallGrants + (*InputDevices)(nil), // 35: stream.video.sfu.models.InputDevices + (*AndroidState)(nil), // 36: stream.video.sfu.models.AndroidState + (*AppleState)(nil), // 37: stream.video.sfu.models.AppleState + (*PerformanceStats)(nil), // 38: stream.video.sfu.models.PerformanceStats + (*timestamppb.Timestamp)(nil), // 39: google.protobuf.Timestamp + (*structpb.Struct)(nil), // 40: google.protobuf.Struct } var file_video_sfu_models_models_proto_depIdxs = []int32{ - 18, // 0: stream.video.sfu.models.CallState.participants:type_name -> stream.video.sfu.models.Participant - 40, // 1: stream.video.sfu.models.CallState.started_at:type_name -> google.protobuf.Timestamp - 16, // 2: stream.video.sfu.models.CallState.participant_count:type_name -> stream.video.sfu.models.ParticipantCount - 17, // 3: stream.video.sfu.models.CallState.pins:type_name -> stream.video.sfu.models.Pin + 17, // 0: stream.video.sfu.models.CallState.participants:type_name -> stream.video.sfu.models.Participant + 39, // 1: stream.video.sfu.models.CallState.started_at:type_name -> google.protobuf.Timestamp + 15, // 2: stream.video.sfu.models.CallState.participant_count:type_name -> stream.video.sfu.models.ParticipantCount + 16, // 3: stream.video.sfu.models.CallState.pins:type_name -> stream.video.sfu.models.Pin 3, // 4: stream.video.sfu.models.Participant.published_tracks:type_name -> stream.video.sfu.models.TrackType - 40, // 5: stream.video.sfu.models.Participant.joined_at:type_name -> google.protobuf.Timestamp + 39, // 5: stream.video.sfu.models.Participant.joined_at:type_name -> google.protobuf.Timestamp 1, // 6: stream.video.sfu.models.Participant.connection_quality:type_name -> stream.video.sfu.models.ConnectionQuality - 41, // 7: stream.video.sfu.models.Participant.custom:type_name -> google.protobuf.Struct + 40, // 7: stream.video.sfu.models.Participant.custom:type_name -> google.protobuf.Struct 4, // 8: stream.video.sfu.models.Participant.source:type_name -> stream.video.sfu.models.ParticipantSource 2, // 9: stream.video.sfu.models.StreamQuality.video_quality:type_name -> stream.video.sfu.models.VideoQuality - 20, // 10: stream.video.sfu.models.VideoLayer.video_dimension:type_name -> stream.video.sfu.models.VideoDimension + 19, // 10: stream.video.sfu.models.VideoLayer.video_dimension:type_name -> stream.video.sfu.models.VideoDimension 2, // 11: stream.video.sfu.models.VideoLayer.quality:type_name -> stream.video.sfu.models.VideoQuality 3, // 12: stream.video.sfu.models.SubscribeOption.track_type:type_name -> stream.video.sfu.models.TrackType - 24, // 13: stream.video.sfu.models.SubscribeOption.codecs:type_name -> stream.video.sfu.models.Codec + 23, // 13: stream.video.sfu.models.SubscribeOption.codecs:type_name -> stream.video.sfu.models.Codec 3, // 14: stream.video.sfu.models.PublishOption.track_type:type_name -> stream.video.sfu.models.TrackType - 24, // 15: stream.video.sfu.models.PublishOption.codec:type_name -> stream.video.sfu.models.Codec - 20, // 16: stream.video.sfu.models.PublishOption.video_dimension:type_name -> stream.video.sfu.models.VideoDimension + 23, // 15: stream.video.sfu.models.PublishOption.codec:type_name -> stream.video.sfu.models.Codec + 19, // 16: stream.video.sfu.models.PublishOption.video_dimension:type_name -> stream.video.sfu.models.VideoDimension 0, // 17: stream.video.sfu.models.ICETrickle.peer_type:type_name -> stream.video.sfu.models.PeerType 3, // 18: stream.video.sfu.models.TrackInfo.track_type:type_name -> stream.video.sfu.models.TrackType - 21, // 19: stream.video.sfu.models.TrackInfo.layers:type_name -> stream.video.sfu.models.VideoLayer - 24, // 20: stream.video.sfu.models.TrackInfo.codec:type_name -> stream.video.sfu.models.Codec - 5, // 21: stream.video.sfu.models.TrackInfo.audio_bitrate_type:type_name -> stream.video.sfu.models.AudioBitrateType - 6, // 22: stream.video.sfu.models.Error.code:type_name -> stream.video.sfu.models.ErrorCode - 29, // 23: stream.video.sfu.models.ClientDetails.sdk:type_name -> stream.video.sfu.models.Sdk - 30, // 24: stream.video.sfu.models.ClientDetails.os:type_name -> stream.video.sfu.models.OS - 31, // 25: stream.video.sfu.models.ClientDetails.browser:type_name -> stream.video.sfu.models.Browser - 33, // 26: stream.video.sfu.models.ClientDetails.device:type_name -> stream.video.sfu.models.Device - 7, // 27: stream.video.sfu.models.Sdk.type:type_name -> stream.video.sfu.models.SdkType - 41, // 28: stream.video.sfu.models.Call.custom:type_name -> google.protobuf.Struct - 40, // 29: stream.video.sfu.models.Call.created_at:type_name -> google.protobuf.Timestamp - 40, // 30: stream.video.sfu.models.Call.updated_at:type_name -> google.protobuf.Timestamp - 12, // 31: stream.video.sfu.models.AndroidState.thermal_state:type_name -> stream.video.sfu.models.AndroidThermalState - 13, // 32: stream.video.sfu.models.AppleState.thermal_state:type_name -> stream.video.sfu.models.AppleThermalState - 3, // 33: stream.video.sfu.models.PerformanceStats.track_type:type_name -> stream.video.sfu.models.TrackType - 24, // 34: stream.video.sfu.models.PerformanceStats.codec:type_name -> stream.video.sfu.models.Codec - 20, // 35: stream.video.sfu.models.PerformanceStats.video_dimension:type_name -> stream.video.sfu.models.VideoDimension - 36, // [36:36] is the sub-list for method output_type - 36, // [36:36] is the sub-list for method input_type - 36, // [36:36] is the sub-list for extension type_name - 36, // [36:36] is the sub-list for extension extendee - 0, // [0:36] is the sub-list for field type_name + 20, // 19: stream.video.sfu.models.TrackInfo.layers:type_name -> stream.video.sfu.models.VideoLayer + 23, // 20: stream.video.sfu.models.TrackInfo.codec:type_name -> stream.video.sfu.models.Codec + 5, // 21: stream.video.sfu.models.Error.code:type_name -> stream.video.sfu.models.ErrorCode + 28, // 22: stream.video.sfu.models.ClientDetails.sdk:type_name -> stream.video.sfu.models.Sdk + 29, // 23: stream.video.sfu.models.ClientDetails.os:type_name -> stream.video.sfu.models.OS + 30, // 24: stream.video.sfu.models.ClientDetails.browser:type_name -> stream.video.sfu.models.Browser + 32, // 25: stream.video.sfu.models.ClientDetails.device:type_name -> stream.video.sfu.models.Device + 6, // 26: stream.video.sfu.models.Sdk.type:type_name -> stream.video.sfu.models.SdkType + 40, // 27: stream.video.sfu.models.Call.custom:type_name -> google.protobuf.Struct + 39, // 28: stream.video.sfu.models.Call.created_at:type_name -> google.protobuf.Timestamp + 39, // 29: stream.video.sfu.models.Call.updated_at:type_name -> google.protobuf.Timestamp + 11, // 30: stream.video.sfu.models.AndroidState.thermal_state:type_name -> stream.video.sfu.models.AndroidThermalState + 12, // 31: stream.video.sfu.models.AppleState.thermal_state:type_name -> stream.video.sfu.models.AppleThermalState + 3, // 32: stream.video.sfu.models.PerformanceStats.track_type:type_name -> stream.video.sfu.models.TrackType + 23, // 33: stream.video.sfu.models.PerformanceStats.codec:type_name -> stream.video.sfu.models.Codec + 19, // 34: stream.video.sfu.models.PerformanceStats.video_dimension:type_name -> stream.video.sfu.models.VideoDimension + 35, // [35:35] is the sub-list for method output_type + 35, // [35:35] is the sub-list for method input_type + 35, // [35:35] is the sub-list for extension type_name + 35, // [35:35] is the sub-list for extension extendee + 0, // [0:35] is the sub-list for field type_name } func init() { file_video_sfu_models_models_proto_init() } @@ -3778,7 +3708,7 @@ func file_video_sfu_models_models_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_video_sfu_models_models_proto_rawDesc, - NumEnums: 15, + NumEnums: 14, NumMessages: 25, NumExtensions: 0, NumServices: 0, diff --git a/protobuf/video/sfu/models/models.proto b/protobuf/video/sfu/models/models.proto index f13da2041..a3528dbca 100644 --- a/protobuf/video/sfu/models/models.proto +++ b/protobuf/video/sfu/models/models.proto @@ -196,12 +196,6 @@ message ICETrickle { string session_id = 3; } -enum AudioBitrateType { - VOICE_STANDARD = 0; - VOICE_HIGH_QUALITY = 1; - MUSIC_HIGH_QUALITY = 2; -} - message TrackInfo { string track_id = 1; TrackType track_type = 2; @@ -214,7 +208,6 @@ message TrackInfo { bool muted = 10; Codec codec = 11; int32 publish_option_id = 12; - AudioBitrateType audio_bitrate_type = 13; } enum ErrorCode { diff --git a/protobuf/video/sfu/models/models_vtproto.pb.go b/protobuf/video/sfu/models/models_vtproto.pb.go index 38338f883..61dc4ae8f 100644 --- a/protobuf/video/sfu/models/models_vtproto.pb.go +++ b/protobuf/video/sfu/models/models_vtproto.pb.go @@ -824,11 +824,6 @@ func (m *TrackInfo) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.AudioBitrateType != 0 { - i = encodeVarint(dAtA, i, uint64(m.AudioBitrateType)) - i-- - dAtA[i] = 0x68 - } if m.PublishOptionId != 0 { i = encodeVarint(dAtA, i, uint64(m.PublishOptionId)) i-- @@ -2140,9 +2135,6 @@ func (m *TrackInfo) SizeVT() (n int) { if m.PublishOptionId != 0 { n += 1 + sov(uint64(m.PublishOptionId)) } - if m.AudioBitrateType != 0 { - n += 1 + sov(uint64(m.AudioBitrateType)) - } if m.unknownFields != nil { n += len(m.unknownFields) } @@ -4725,25 +4717,6 @@ func (m *TrackInfo) UnmarshalVT(dAtA []byte) error { break } } - case 13: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field AudioBitrateType", wireType) - } - m.AudioBitrateType = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.AudioBitrateType |= AudioBitrateType(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := skip(dAtA[iNdEx:]) From b061070bfdc2ae0a91f602da3180e8b871288df0 Mon Sep 17 00:00:00 2001 From: guldev25 Date: Wed, 3 Sep 2025 14:09:48 +0200 Subject: [PATCH 5/7] Add AudioBitrateType enum and field to TrackInfo Introduces the AudioBitrateType enum to models.proto and updates the generated Go files. The TrackInfo message now includes an audio_bitrate_type field to specify the audio bitrate type for tracks. --- protobuf/video/sfu/models/models.pb.go | 935 ++++++++++-------- protobuf/video/sfu/models/models.proto | 7 + .../video/sfu/models/models_vtproto.pb.go | 27 + 3 files changed, 537 insertions(+), 432 deletions(-) diff --git a/protobuf/video/sfu/models/models.pb.go b/protobuf/video/sfu/models/models.pb.go index 2f51346e2..8defc12c3 100644 --- a/protobuf/video/sfu/models/models.pb.go +++ b/protobuf/video/sfu/models/models.pb.go @@ -287,6 +287,55 @@ func (ParticipantSource) EnumDescriptor() ([]byte, []int) { return file_video_sfu_models_models_proto_rawDescGZIP(), []int{4} } +type AudioBitrateType int32 + +const ( + AudioBitrateType_VOICE_STANDARD_UNSPECIFIED AudioBitrateType = 0 + AudioBitrateType_VOICE_HIGH_QUALITY AudioBitrateType = 1 + AudioBitrateType_MUSIC_HIGH_QUALITY AudioBitrateType = 2 +) + +// Enum value maps for AudioBitrateType. +var ( + AudioBitrateType_name = map[int32]string{ + 0: "VOICE_STANDARD_UNSPECIFIED", + 1: "VOICE_HIGH_QUALITY", + 2: "MUSIC_HIGH_QUALITY", + } + AudioBitrateType_value = map[string]int32{ + "VOICE_STANDARD_UNSPECIFIED": 0, + "VOICE_HIGH_QUALITY": 1, + "MUSIC_HIGH_QUALITY": 2, + } +) + +func (x AudioBitrateType) Enum() *AudioBitrateType { + p := new(AudioBitrateType) + *p = x + return p +} + +func (x AudioBitrateType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AudioBitrateType) Descriptor() protoreflect.EnumDescriptor { + return file_video_sfu_models_models_proto_enumTypes[5].Descriptor() +} + +func (AudioBitrateType) Type() protoreflect.EnumType { + return &file_video_sfu_models_models_proto_enumTypes[5] +} + +func (x AudioBitrateType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AudioBitrateType.Descriptor instead. +func (AudioBitrateType) EnumDescriptor() ([]byte, []int) { + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{5} +} + type ErrorCode int32 const ( @@ -377,11 +426,11 @@ func (x ErrorCode) String() string { } func (ErrorCode) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[5].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[6].Descriptor() } func (ErrorCode) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[5] + return &file_video_sfu_models_models_proto_enumTypes[6] } func (x ErrorCode) Number() protoreflect.EnumNumber { @@ -390,7 +439,7 @@ func (x ErrorCode) Number() protoreflect.EnumNumber { // Deprecated: Use ErrorCode.Descriptor instead. func (ErrorCode) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{5} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{6} } type SdkType int32 @@ -447,11 +496,11 @@ func (x SdkType) String() string { } func (SdkType) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[6].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[7].Descriptor() } func (SdkType) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[6] + return &file_video_sfu_models_models_proto_enumTypes[7] } func (x SdkType) Number() protoreflect.EnumNumber { @@ -460,7 +509,7 @@ func (x SdkType) Number() protoreflect.EnumNumber { // Deprecated: Use SdkType.Descriptor instead. func (SdkType) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{6} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{7} } type TrackUnpublishReason int32 @@ -509,11 +558,11 @@ func (x TrackUnpublishReason) String() string { } func (TrackUnpublishReason) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[7].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[8].Descriptor() } func (TrackUnpublishReason) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[7] + return &file_video_sfu_models_models_proto_enumTypes[8] } func (x TrackUnpublishReason) Number() protoreflect.EnumNumber { @@ -522,7 +571,7 @@ func (x TrackUnpublishReason) Number() protoreflect.EnumNumber { // Deprecated: Use TrackUnpublishReason.Descriptor instead. func (TrackUnpublishReason) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{7} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{8} } // GoAwayReason represents the reason for the SFU to @@ -560,11 +609,11 @@ func (x GoAwayReason) String() string { } func (GoAwayReason) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[8].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[9].Descriptor() } func (GoAwayReason) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[8] + return &file_video_sfu_models_models_proto_enumTypes[9] } func (x GoAwayReason) Number() protoreflect.EnumNumber { @@ -573,7 +622,7 @@ func (x GoAwayReason) Number() protoreflect.EnumNumber { // Deprecated: Use GoAwayReason.Descriptor instead. func (GoAwayReason) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{8} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{9} } // CallEndedReason represents the reason for the call to end. @@ -616,11 +665,11 @@ func (x CallEndedReason) String() string { } func (CallEndedReason) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[9].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[10].Descriptor() } func (CallEndedReason) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[9] + return &file_video_sfu_models_models_proto_enumTypes[10] } func (x CallEndedReason) Number() protoreflect.EnumNumber { @@ -629,7 +678,7 @@ func (x CallEndedReason) Number() protoreflect.EnumNumber { // Deprecated: Use CallEndedReason.Descriptor instead. func (CallEndedReason) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{9} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{10} } // WebsocketReconnectStrategy defines the ws strategies available for handling reconnections. @@ -678,11 +727,11 @@ func (x WebsocketReconnectStrategy) String() string { } func (WebsocketReconnectStrategy) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[10].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[11].Descriptor() } func (WebsocketReconnectStrategy) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[10] + return &file_video_sfu_models_models_proto_enumTypes[11] } func (x WebsocketReconnectStrategy) Number() protoreflect.EnumNumber { @@ -691,7 +740,7 @@ func (x WebsocketReconnectStrategy) Number() protoreflect.EnumNumber { // Deprecated: Use WebsocketReconnectStrategy.Descriptor instead. func (WebsocketReconnectStrategy) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{10} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{11} } // AndroidThermalState is reported by the Android API. The full list of values is documented here @@ -744,11 +793,11 @@ func (x AndroidThermalState) String() string { } func (AndroidThermalState) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[11].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[12].Descriptor() } func (AndroidThermalState) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[11] + return &file_video_sfu_models_models_proto_enumTypes[12] } func (x AndroidThermalState) Number() protoreflect.EnumNumber { @@ -757,7 +806,7 @@ func (x AndroidThermalState) Number() protoreflect.EnumNumber { // Deprecated: Use AndroidThermalState.Descriptor instead. func (AndroidThermalState) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{11} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{12} } // AppleThermalState is the thermal state as reported by Apple devices when available or applicable to the platform. @@ -801,11 +850,11 @@ func (x AppleThermalState) String() string { } func (AppleThermalState) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[12].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[13].Descriptor() } func (AppleThermalState) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[12] + return &file_video_sfu_models_models_proto_enumTypes[13] } func (x AppleThermalState) Number() protoreflect.EnumNumber { @@ -814,7 +863,7 @@ func (x AppleThermalState) Number() protoreflect.EnumNumber { // Deprecated: Use AppleThermalState.Descriptor instead. func (AppleThermalState) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{12} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{13} } // ClientCapability defines a feature that client supports @@ -849,11 +898,11 @@ func (x ClientCapability) String() string { } func (ClientCapability) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[13].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[14].Descriptor() } func (ClientCapability) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[13] + return &file_video_sfu_models_models_proto_enumTypes[14] } func (x ClientCapability) Number() protoreflect.EnumNumber { @@ -862,7 +911,7 @@ func (x ClientCapability) Number() protoreflect.EnumNumber { // Deprecated: Use ClientCapability.Descriptor instead. func (ClientCapability) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{13} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{14} } // CallState is the current state of the call @@ -1762,12 +1811,13 @@ type TrackInfo struct { Layers []*VideoLayer `protobuf:"bytes,5,rep,name=layers,proto3" json:"layers,omitempty"` Mid string `protobuf:"bytes,6,opt,name=mid,proto3" json:"mid,omitempty"` // for audio tracks - Dtx bool `protobuf:"varint,7,opt,name=dtx,proto3" json:"dtx,omitempty"` - Stereo bool `protobuf:"varint,8,opt,name=stereo,proto3" json:"stereo,omitempty"` - Red bool `protobuf:"varint,9,opt,name=red,proto3" json:"red,omitempty"` - Muted bool `protobuf:"varint,10,opt,name=muted,proto3" json:"muted,omitempty"` - Codec *Codec `protobuf:"bytes,11,opt,name=codec,proto3" json:"codec,omitempty"` - PublishOptionId int32 `protobuf:"varint,12,opt,name=publish_option_id,json=publishOptionId,proto3" json:"publish_option_id,omitempty"` + Dtx bool `protobuf:"varint,7,opt,name=dtx,proto3" json:"dtx,omitempty"` + Stereo bool `protobuf:"varint,8,opt,name=stereo,proto3" json:"stereo,omitempty"` + Red bool `protobuf:"varint,9,opt,name=red,proto3" json:"red,omitempty"` + Muted bool `protobuf:"varint,10,opt,name=muted,proto3" json:"muted,omitempty"` + Codec *Codec `protobuf:"bytes,11,opt,name=codec,proto3" json:"codec,omitempty"` + PublishOptionId int32 `protobuf:"varint,12,opt,name=publish_option_id,json=publishOptionId,proto3" json:"publish_option_id,omitempty"` + AudioBitrateType AudioBitrateType `protobuf:"varint,13,opt,name=audio_bitrate_type,json=audioBitrateType,proto3,enum=stream.video.sfu.models.AudioBitrateType" json:"audio_bitrate_type,omitempty"` } func (x *TrackInfo) Reset() { @@ -1872,6 +1922,13 @@ func (x *TrackInfo) GetPublishOptionId() int32 { return 0 } +func (x *TrackInfo) GetAudioBitrateType() AudioBitrateType { + if x != nil { + return x.AudioBitrateType + } + return AudioBitrateType_VOICE_STANDARD_UNSPECIFIED +} + type Error struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2936,7 +2993,7 @@ var file_video_sfu_models_models_proto_rawDesc = []byte{ 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x63, 0x65, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xec, 0x02, 0x0a, 0x09, + 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xc5, 0x03, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, @@ -2959,341 +3016,353 @@ var file_video_sfu_models_models_proto_rawDesc = []byte{ 0x73, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x7c, 0x0a, 0x05, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x12, 0x36, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, - 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 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, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, - 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x52, 0x65, 0x74, 0x72, 0x79, 0x22, 0xe1, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x03, 0x73, 0x64, - 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x73, 0x2e, 0x53, 0x64, 0x6b, 0x52, 0x03, 0x73, 0x64, 0x6b, 0x12, 0x2b, 0x0a, 0x02, 0x6f, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, - 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, - 0x2e, 0x4f, 0x53, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, - 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x73, 0x2e, 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x52, 0x07, 0x62, 0x72, 0x6f, 0x77, - 0x73, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, - 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x44, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x7d, 0x0a, 0x03, - 0x53, 0x64, 0x6b, 0x12, 0x34, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, - 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x53, 0x64, 0x6b, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, - 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, - 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x22, 0x56, 0x0a, 0x02, 0x4f, - 0x53, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, - 0x75, 0x72, 0x65, 0x22, 0x37, 0x0a, 0x07, 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xcb, 0x01, 0x0a, - 0x0b, 0x52, 0x54, 0x4d, 0x50, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, - 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, - 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, - 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, - 0x66, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x66, - 0x74, 0x77, 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x66, - 0x74, 0x77, 0x61, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x22, 0x36, 0x0a, 0x06, 0x44, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x22, 0xa0, 0x02, 0x0a, 0x04, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x2b, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, - 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x68, 0x6f, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, - 0x0a, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, - 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x8d, 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x6c, 0x6c, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x73, 0x68, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0f, 0x63, 0x61, 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x41, 0x75, 0x64, 0x69, 0x6f, - 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, - 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x61, 0x6e, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x27, 0x0a, 0x0f, - 0x63, 0x61, 0x6e, 0x5f, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x61, 0x6e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, - 0x73, 0x68, 0x61, 0x72, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x0c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, - 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0b, 0x69, 0x73, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x22, 0x90, 0x01, - 0x0a, 0x0c, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x51, - 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, - 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, - 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x52, 0x0c, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x61, - 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, - 0x69, 0x73, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x61, 0x76, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, - 0x22, 0x97, 0x01, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x4f, 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, + 0x73, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x57, 0x0a, 0x12, 0x61, 0x75, + 0x64, 0x69, 0x6f, 0x5f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, - 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x52, 0x0c, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x38, 0x0a, 0x19, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, - 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73, 0x4c, 0x6f, 0x77, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4d, - 0x6f, 0x64, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xc8, 0x02, 0x0a, 0x10, 0x50, - 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, - 0x41, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, - 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x54, 0x72, - 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, - 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x43, 0x6f, 0x64, 0x65, - 0x63, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x29, 0x0a, 0x11, 0x61, 0x76, 0x67, 0x5f, - 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x0e, 0x61, 0x76, 0x67, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x4d, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x76, 0x67, 0x5f, 0x66, 0x70, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x61, 0x76, 0x67, 0x46, 0x70, 0x73, 0x12, 0x50, 0x0a, 0x0f, - 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, - 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, - 0x56, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0e, - 0x76, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, - 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x69, - 0x74, 0x72, 0x61, 0x74, 0x65, 0x2a, 0x49, 0x0a, 0x08, 0x50, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, - 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x52, 0x10, 0x01, - 0x2a, 0x93, 0x01, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, - 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, - 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, - 0x5f, 0x50, 0x4f, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x4e, 0x4e, 0x45, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x47, 0x4f, - 0x4f, 0x44, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x4c, - 0x4c, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x2a, 0x77, 0x0a, 0x0c, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x51, - 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x1d, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, - 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, - 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x49, 0x44, 0x10, 0x01, - 0x12, 0x16, 0x0a, 0x12, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, - 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, 0x45, - 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0x03, 0x2a, - 0x93, 0x01, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, - 0x16, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, - 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x01, 0x12, - 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x49, - 0x44, 0x45, 0x4f, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, - 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x41, 0x55, - 0x44, 0x49, 0x4f, 0x10, 0x04, 0x2a, 0xcd, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x50, - 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, - 0x45, 0x5f, 0x57, 0x45, 0x42, 0x52, 0x54, 0x43, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, - 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x54, 0x4d, - 0x50, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, - 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x57, 0x48, 0x49, 0x50, 0x10, 0x02, - 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, - 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x49, 0x50, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, + 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x42, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x10, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x42, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x22, 0x7c, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x36, 0x0a, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, + 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, 0x21, + 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x52, 0x65, 0x74, 0x72, + 0x79, 0x22, 0xe1, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x03, 0x73, 0x64, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, + 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x53, 0x64, 0x6b, 0x52, 0x03, + 0x73, 0x64, 0x6b, 0x12, 0x2b, 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, + 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x4f, 0x53, 0x52, 0x02, 0x6f, 0x73, + 0x12, 0x3a, 0x0a, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, + 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x42, 0x72, 0x6f, 0x77, + 0x73, 0x65, 0x72, 0x52, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x06, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x7d, 0x0a, 0x03, 0x53, 0x64, 0x6b, 0x12, 0x34, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x53, 0x64, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x14, + 0x0a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, + 0x61, 0x74, 0x63, 0x68, 0x22, 0x56, 0x0a, 0x02, 0x4f, 0x53, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x22, 0x37, 0x0a, 0x07, + 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xcb, 0x01, 0x0a, 0x0b, 0x52, 0x54, 0x4d, 0x50, 0x49, 0x6e, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x74, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x61, + 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x63, 0x6f, + 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x63, 0x6f, 0x64, + 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, + 0x64, 0x64, 0x72, 0x22, 0x36, 0x0a, 0x06, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa0, 0x02, 0x0a, 0x04, + 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x6f, 0x73, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x8d, + 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, + 0x11, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x61, 0x75, 0x64, + 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x61, 0x6e, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x73, 0x68, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x6e, + 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x61, 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x61, 0x6e, 0x5f, 0x73, 0x63, 0x72, + 0x65, 0x65, 0x6e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, + 0x63, 0x61, 0x6e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x22, 0x85, + 0x01, 0x0a, 0x0c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, + 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x22, 0x90, 0x01, 0x0a, 0x0c, 0x41, 0x6e, 0x64, 0x72, 0x6f, + 0x69, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x51, 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x72, 0x6d, + 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, + 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, + 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, + 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x74, 0x68, + 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x69, 0x73, + 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x61, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x50, 0x6f, 0x77, 0x65, 0x72, + 0x53, 0x61, 0x76, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x97, 0x01, 0x0a, 0x0a, 0x41, 0x70, + 0x70, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4f, 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x72, + 0x6d, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x2a, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, + 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x54, + 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x74, 0x68, 0x65, + 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x19, 0x69, 0x73, 0x5f, + 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73, + 0x4c, 0x6f, 0x77, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x22, 0xc8, 0x02, 0x0a, 0x10, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, + 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x73, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x63, + 0x6f, 0x64, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, + 0x63, 0x12, 0x29, 0x0a, 0x11, 0x61, 0x76, 0x67, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x61, 0x76, + 0x67, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x17, 0x0a, 0x07, + 0x61, 0x76, 0x67, 0x5f, 0x66, 0x70, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x61, + 0x76, 0x67, 0x46, 0x70, 0x73, 0x12, 0x50, 0x0a, 0x0f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x64, + 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, + 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x69, + 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x69, + 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x2a, 0x49, + 0x0a, 0x08, 0x50, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x45, + 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, + 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x18, 0x0a, 0x14, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x55, 0x42, + 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x52, 0x10, 0x01, 0x2a, 0x93, 0x01, 0x0a, 0x11, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, + 0x22, 0x0a, 0x1e, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, + 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x4f, 0x4f, 0x52, 0x10, 0x01, + 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, + 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x47, 0x4f, 0x4f, 0x44, 0x10, 0x02, 0x12, 0x20, 0x0a, + 0x1c, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, + 0x49, 0x54, 0x59, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x2a, + 0x77, 0x0a, 0x0c, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, + 0x21, 0x0a, 0x1d, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, + 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, + 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x49, 0x44, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x49, 0x44, + 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, + 0x02, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, + 0x54, 0x59, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0x03, 0x2a, 0x93, 0x01, 0x0a, 0x09, 0x54, 0x72, 0x61, + 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x43, + 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x10, 0x02, 0x12, 0x1b, + 0x0a, 0x17, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x43, 0x52, + 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x54, + 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, + 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x04, 0x2a, 0xcd, + 0x01, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, + 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x57, 0x45, 0x42, 0x52, 0x54, + 0x43, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, + 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x54, 0x4d, 0x50, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, - 0x43, 0x45, 0x5f, 0x52, 0x54, 0x53, 0x50, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x52, + 0x43, 0x45, 0x5f, 0x57, 0x48, 0x49, 0x50, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, - 0x53, 0x52, 0x54, 0x10, 0x05, 0x2a, 0xea, 0x06, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, - 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, - 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x26, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, - 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, - 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x64, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, + 0x53, 0x49, 0x50, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, + 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x54, 0x53, 0x50, + 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, + 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x52, 0x54, 0x10, 0x05, 0x2a, 0x62, + 0x0a, 0x10, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x42, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x4e, + 0x44, 0x41, 0x52, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x48, 0x49, 0x47, 0x48, + 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4d, 0x55, + 0x53, 0x49, 0x43, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, + 0x10, 0x02, 0x2a, 0xea, 0x06, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, + 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, + 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, + 0x4e, 0x44, 0x10, 0x64, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, + 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, + 0x53, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x65, 0x12, 0x29, 0x0a, 0x25, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, + 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4f, 0x55, 0x54, 0x5f, 0x4f, 0x46, 0x5f, + 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x66, 0x12, 0x32, 0x0a, 0x2e, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, - 0x41, 0x43, 0x4b, 0x53, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x65, 0x12, - 0x29, 0x0a, 0x25, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, - 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4f, 0x55, 0x54, 0x5f, - 0x4f, 0x46, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x66, 0x12, 0x32, 0x0a, 0x2e, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, - 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x4c, 0x41, 0x59, - 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x67, 0x12, 0x19, - 0x0a, 0x15, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x49, 0x56, - 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x68, 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, - 0x41, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xc8, 0x01, - 0x12, 0x29, 0x0a, 0x24, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, - 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, - 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0xc9, 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x45, + 0x41, 0x43, 0x4b, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, + 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x67, 0x12, 0x19, 0x0a, 0x15, 0x45, + 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x49, 0x56, 0x45, 0x5f, 0x45, + 0x4e, 0x44, 0x45, 0x44, 0x10, 0x68, 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, + 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, + 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xc8, 0x01, 0x12, 0x29, 0x0a, + 0x24, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, + 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4e, + 0x47, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0xc9, 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, + 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, + 0x4c, 0x45, 0x44, 0x10, 0xca, 0x01, 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, + 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, + 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xcb, 0x01, 0x12, 0x2c, 0x0a, + 0x27, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, + 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, + 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xcc, 0x01, 0x12, 0x33, 0x0a, 0x2e, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, - 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xca, 0x01, 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, - 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xcb, 0x01, - 0x12, 0x2c, 0x0a, 0x27, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, - 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, - 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xcc, 0x01, 0x12, 0x33, - 0x0a, 0x2e, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, - 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x5f, 0x54, - 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, - 0x10, 0xcd, 0x01, 0x12, 0x27, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, - 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x49, - 0x47, 0x4e, 0x41, 0x4c, 0x5f, 0x4c, 0x4f, 0x53, 0x54, 0x10, 0xce, 0x01, 0x12, 0x1e, 0x0a, 0x19, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, - 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xac, 0x02, 0x12, 0x2e, 0x0a, 0x29, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, - 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4c, 0x49, 0x4d, 0x49, - 0x54, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x48, 0x45, 0x44, 0x10, 0xad, 0x02, 0x12, 0x29, 0x0a, 0x24, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, - 0x53, 0x54, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, - 0x49, 0x4c, 0x45, 0x44, 0x10, 0x90, 0x03, 0x12, 0x1f, 0x0a, 0x1a, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, - 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x91, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, - 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x93, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, - 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, - 0x4e, 0x59, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x53, 0x10, 0xad, 0x03, 0x12, 0x25, - 0x0a, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x54, - 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x10, 0xf4, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, - 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x46, 0x55, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, 0x47, - 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xd8, 0x04, 0x12, 0x18, 0x0a, 0x13, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x46, 0x55, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, - 0xbc, 0x05, 0x2a, 0xea, 0x01, 0x0a, 0x07, 0x53, 0x64, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, - 0x0a, 0x14, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x44, 0x4b, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x54, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, - 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x47, 0x55, 0x4c, 0x41, 0x52, - 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, - 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x44, 0x4b, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4f, 0x53, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, - 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x4c, 0x55, 0x54, 0x54, 0x45, 0x52, 0x10, 0x05, - 0x12, 0x19, 0x0a, 0x15, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, - 0x43, 0x54, 0x5f, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x53, - 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x10, 0x07, 0x12, - 0x0f, 0x0a, 0x0b, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x4f, 0x10, 0x08, - 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4c, 0x41, - 0x49, 0x4e, 0x5f, 0x4a, 0x41, 0x56, 0x41, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x10, 0x09, 0x2a, - 0xbb, 0x01, 0x0a, 0x14, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x55, 0x6e, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x52, 0x41, 0x43, - 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, - 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, - 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, - 0x4d, 0x55, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x54, 0x52, 0x41, 0x43, 0x4b, - 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, - 0x4e, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x56, - 0x4f, 0x4b, 0x45, 0x44, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, - 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, - 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x2a, 0x6e, 0x0a, - 0x0c, 0x47, 0x6f, 0x41, 0x77, 0x61, 0x79, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, - 0x1a, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, - 0x1c, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, - 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, - 0x1c, 0x0a, 0x18, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, - 0x4e, 0x5f, 0x52, 0x45, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x2a, 0xb6, 0x01, - 0x0a, 0x0f, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x6e, 0x64, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, - 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, - 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x49, 0x56, 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x45, - 0x44, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, - 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, 0x10, - 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, - 0x4e, 0x44, 0x45, 0x44, 0x10, 0x04, 0x2a, 0xf1, 0x01, 0x0a, 0x1a, 0x57, 0x65, 0x62, 0x73, 0x6f, - 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x53, 0x74, 0x72, - 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x2c, 0x0a, 0x28, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, - 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x2b, 0x0a, 0x27, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, - 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, - 0x45, 0x47, 0x59, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x01, - 0x12, 0x25, 0x0a, 0x21, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, - 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, - 0x5f, 0x46, 0x41, 0x53, 0x54, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x57, 0x45, 0x42, 0x53, 0x4f, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, - 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x52, 0x45, 0x4a, 0x4f, 0x49, 0x4e, 0x10, 0x03, - 0x12, 0x28, 0x0a, 0x24, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, + 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x5f, 0x54, 0x52, 0x41, 0x4e, + 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0xcd, 0x01, + 0x12, 0x27, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, + 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, + 0x4c, 0x5f, 0x4c, 0x4f, 0x53, 0x54, 0x10, 0xce, 0x01, 0x12, 0x1e, 0x0a, 0x19, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, + 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xac, 0x02, 0x12, 0x2e, 0x0a, 0x29, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x50, 0x41, 0x52, + 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x52, + 0x45, 0x41, 0x43, 0x48, 0x45, 0x44, 0x10, 0xad, 0x02, 0x12, 0x29, 0x0a, 0x24, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, + 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, + 0x44, 0x10, 0x90, 0x03, 0x12, 0x1f, 0x0a, 0x1a, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, + 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, + 0x45, 0x44, 0x10, 0x91, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, + 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, + 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x93, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, + 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x53, 0x10, 0xad, 0x03, 0x12, 0x25, 0x0a, 0x20, 0x45, + 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, + 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, + 0xf4, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, + 0x5f, 0x53, 0x46, 0x55, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, + 0x57, 0x4e, 0x10, 0xd8, 0x04, 0x12, 0x18, 0x0a, 0x13, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, + 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x46, 0x55, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0xbc, 0x05, 0x2a, + 0xea, 0x01, 0x0a, 0x07, 0x53, 0x64, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x53, + 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x54, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, 0x4b, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x47, 0x55, 0x4c, 0x41, 0x52, 0x10, 0x02, 0x12, + 0x14, 0x0a, 0x10, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x52, + 0x4f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x49, 0x4f, 0x53, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, 0x4b, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x46, 0x4c, 0x55, 0x54, 0x54, 0x45, 0x52, 0x10, 0x05, 0x12, 0x19, 0x0a, + 0x15, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x54, 0x5f, + 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x44, 0x4b, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x10, 0x07, 0x12, 0x0f, 0x0a, 0x0b, + 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x4f, 0x10, 0x08, 0x12, 0x1d, 0x0a, + 0x19, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x49, 0x4e, 0x5f, + 0x4a, 0x41, 0x56, 0x41, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x10, 0x09, 0x2a, 0xbb, 0x01, 0x0a, + 0x14, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x55, 0x6e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, + 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x25, 0x0a, + 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, + 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x4d, 0x55, 0x54, + 0x45, 0x44, 0x10, 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, + 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, + 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x56, 0x4f, 0x4b, 0x45, + 0x44, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, + 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, + 0x44, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x2a, 0x6e, 0x0a, 0x0c, 0x47, 0x6f, + 0x41, 0x77, 0x61, 0x79, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x1a, 0x47, 0x4f, + 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x47, 0x4f, + 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x48, 0x55, + 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, + 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x52, + 0x45, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x2a, 0xb6, 0x01, 0x0a, 0x0f, 0x43, + 0x61, 0x6c, 0x6c, 0x45, 0x6e, 0x64, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x21, + 0x0a, 0x1d, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, + 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x01, 0x12, 0x20, + 0x0a, 0x1c, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, + 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x49, 0x56, 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x02, + 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x52, + 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x03, 0x12, 0x23, + 0x0a, 0x1f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, + 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x44, 0x45, + 0x44, 0x10, 0x04, 0x2a, 0xf1, 0x01, 0x0a, 0x1a, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, + 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, + 0x67, 0x79, 0x12, 0x2c, 0x0a, 0x28, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, + 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x2b, 0x0a, 0x27, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, - 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x45, 0x10, 0x04, 0x2a, 0xb0, 0x02, 0x0a, 0x13, 0x41, - 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, - 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4e, 0x44, - 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x4e, 0x44, - 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, - 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x52, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x20, - 0x0a, 0x1c, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, - 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x45, 0x10, 0x04, - 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, - 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, - 0x41, 0x4c, 0x10, 0x05, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, - 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4d, - 0x45, 0x52, 0x47, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, 0x44, - 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x07, 0x2a, 0xba, 0x01, - 0x0a, 0x11, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, - 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, - 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x4e, 0x4f, 0x4d, 0x49, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x50, 0x50, - 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x46, 0x41, 0x49, 0x52, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, 0x45, - 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, - 0x45, 0x52, 0x49, 0x4f, 0x55, 0x53, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x50, 0x50, 0x4c, - 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x04, 0x2a, 0x63, 0x0a, 0x10, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, - 0x0a, 0x1d, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, - 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x2c, 0x0a, 0x28, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x41, - 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, - 0x52, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, 0x01, 0x42, - 0x65, 0x42, 0x0b, 0x53, 0x66, 0x75, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x56, 0x31, 0x50, 0x01, - 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x65, 0x74, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2f, 0x73, - 0x66, 0x75, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0xaa, 0x02, 0x1a, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x66, 0x75, 0x2e, - 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x01, 0x12, 0x25, 0x0a, + 0x21, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, + 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x46, 0x41, + 0x53, 0x54, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, + 0x54, 0x45, 0x47, 0x59, 0x5f, 0x52, 0x45, 0x4a, 0x4f, 0x49, 0x4e, 0x10, 0x03, 0x12, 0x28, 0x0a, + 0x24, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, + 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x4d, 0x49, + 0x47, 0x52, 0x41, 0x54, 0x45, 0x10, 0x04, 0x2a, 0xb0, 0x02, 0x0a, 0x13, 0x41, 0x6e, 0x64, 0x72, + 0x6f, 0x69, 0x64, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x25, 0x0a, 0x21, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, + 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, + 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, + 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x4c, 0x49, 0x47, 0x48, 0x54, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, 0x44, 0x52, 0x4f, + 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x52, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x41, + 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x45, 0x10, 0x04, 0x12, 0x22, 0x0a, + 0x1e, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, + 0x05, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, + 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4d, 0x45, 0x52, 0x47, + 0x45, 0x4e, 0x43, 0x59, 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, + 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x07, 0x2a, 0xba, 0x01, 0x0a, 0x11, 0x41, + 0x70, 0x70, 0x6c, 0x65, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, + 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, + 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4d, + 0x49, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, + 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, + 0x49, 0x52, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x48, + 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x49, + 0x4f, 0x55, 0x53, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, + 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x52, 0x49, + 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x04, 0x2a, 0x63, 0x0a, 0x10, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x1d, 0x43, + 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2c, + 0x0a, 0x28, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, + 0x49, 0x54, 0x59, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x52, 0x5f, 0x56, + 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, 0x01, 0x42, 0x65, 0x42, 0x0b, + 0x53, 0x66, 0x75, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x56, 0x31, 0x50, 0x01, 0x5a, 0x37, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x65, 0x74, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2f, 0x73, 0x66, 0x75, 0x2f, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0xaa, 0x02, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x66, 0x75, 0x2e, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3308,7 +3377,7 @@ func file_video_sfu_models_models_proto_rawDescGZIP() []byte { return file_video_sfu_models_models_proto_rawDescData } -var file_video_sfu_models_models_proto_enumTypes = make([]protoimpl.EnumInfo, 14) +var file_video_sfu_models_models_proto_enumTypes = make([]protoimpl.EnumInfo, 15) var file_video_sfu_models_models_proto_msgTypes = make([]protoimpl.MessageInfo, 25) var file_video_sfu_models_models_proto_goTypes = []interface{}{ (PeerType)(0), // 0: stream.video.sfu.models.PeerType @@ -3316,84 +3385,86 @@ var file_video_sfu_models_models_proto_goTypes = []interface{}{ (VideoQuality)(0), // 2: stream.video.sfu.models.VideoQuality (TrackType)(0), // 3: stream.video.sfu.models.TrackType (ParticipantSource)(0), // 4: stream.video.sfu.models.ParticipantSource - (ErrorCode)(0), // 5: stream.video.sfu.models.ErrorCode - (SdkType)(0), // 6: stream.video.sfu.models.SdkType - (TrackUnpublishReason)(0), // 7: stream.video.sfu.models.TrackUnpublishReason - (GoAwayReason)(0), // 8: stream.video.sfu.models.GoAwayReason - (CallEndedReason)(0), // 9: stream.video.sfu.models.CallEndedReason - (WebsocketReconnectStrategy)(0), // 10: stream.video.sfu.models.WebsocketReconnectStrategy - (AndroidThermalState)(0), // 11: stream.video.sfu.models.AndroidThermalState - (AppleThermalState)(0), // 12: stream.video.sfu.models.AppleThermalState - (ClientCapability)(0), // 13: stream.video.sfu.models.ClientCapability - (*CallState)(nil), // 14: stream.video.sfu.models.CallState - (*ParticipantCount)(nil), // 15: stream.video.sfu.models.ParticipantCount - (*Pin)(nil), // 16: stream.video.sfu.models.Pin - (*Participant)(nil), // 17: stream.video.sfu.models.Participant - (*StreamQuality)(nil), // 18: stream.video.sfu.models.StreamQuality - (*VideoDimension)(nil), // 19: stream.video.sfu.models.VideoDimension - (*VideoLayer)(nil), // 20: stream.video.sfu.models.VideoLayer - (*SubscribeOption)(nil), // 21: stream.video.sfu.models.SubscribeOption - (*PublishOption)(nil), // 22: stream.video.sfu.models.PublishOption - (*Codec)(nil), // 23: stream.video.sfu.models.Codec - (*ICETrickle)(nil), // 24: stream.video.sfu.models.ICETrickle - (*TrackInfo)(nil), // 25: stream.video.sfu.models.TrackInfo - (*Error)(nil), // 26: stream.video.sfu.models.Error - (*ClientDetails)(nil), // 27: stream.video.sfu.models.ClientDetails - (*Sdk)(nil), // 28: stream.video.sfu.models.Sdk - (*OS)(nil), // 29: stream.video.sfu.models.OS - (*Browser)(nil), // 30: stream.video.sfu.models.Browser - (*RTMPIngress)(nil), // 31: stream.video.sfu.models.RTMPIngress - (*Device)(nil), // 32: stream.video.sfu.models.Device - (*Call)(nil), // 33: stream.video.sfu.models.Call - (*CallGrants)(nil), // 34: stream.video.sfu.models.CallGrants - (*InputDevices)(nil), // 35: stream.video.sfu.models.InputDevices - (*AndroidState)(nil), // 36: stream.video.sfu.models.AndroidState - (*AppleState)(nil), // 37: stream.video.sfu.models.AppleState - (*PerformanceStats)(nil), // 38: stream.video.sfu.models.PerformanceStats - (*timestamppb.Timestamp)(nil), // 39: google.protobuf.Timestamp - (*structpb.Struct)(nil), // 40: google.protobuf.Struct + (AudioBitrateType)(0), // 5: stream.video.sfu.models.AudioBitrateType + (ErrorCode)(0), // 6: stream.video.sfu.models.ErrorCode + (SdkType)(0), // 7: stream.video.sfu.models.SdkType + (TrackUnpublishReason)(0), // 8: stream.video.sfu.models.TrackUnpublishReason + (GoAwayReason)(0), // 9: stream.video.sfu.models.GoAwayReason + (CallEndedReason)(0), // 10: stream.video.sfu.models.CallEndedReason + (WebsocketReconnectStrategy)(0), // 11: stream.video.sfu.models.WebsocketReconnectStrategy + (AndroidThermalState)(0), // 12: stream.video.sfu.models.AndroidThermalState + (AppleThermalState)(0), // 13: stream.video.sfu.models.AppleThermalState + (ClientCapability)(0), // 14: stream.video.sfu.models.ClientCapability + (*CallState)(nil), // 15: stream.video.sfu.models.CallState + (*ParticipantCount)(nil), // 16: stream.video.sfu.models.ParticipantCount + (*Pin)(nil), // 17: stream.video.sfu.models.Pin + (*Participant)(nil), // 18: stream.video.sfu.models.Participant + (*StreamQuality)(nil), // 19: stream.video.sfu.models.StreamQuality + (*VideoDimension)(nil), // 20: stream.video.sfu.models.VideoDimension + (*VideoLayer)(nil), // 21: stream.video.sfu.models.VideoLayer + (*SubscribeOption)(nil), // 22: stream.video.sfu.models.SubscribeOption + (*PublishOption)(nil), // 23: stream.video.sfu.models.PublishOption + (*Codec)(nil), // 24: stream.video.sfu.models.Codec + (*ICETrickle)(nil), // 25: stream.video.sfu.models.ICETrickle + (*TrackInfo)(nil), // 26: stream.video.sfu.models.TrackInfo + (*Error)(nil), // 27: stream.video.sfu.models.Error + (*ClientDetails)(nil), // 28: stream.video.sfu.models.ClientDetails + (*Sdk)(nil), // 29: stream.video.sfu.models.Sdk + (*OS)(nil), // 30: stream.video.sfu.models.OS + (*Browser)(nil), // 31: stream.video.sfu.models.Browser + (*RTMPIngress)(nil), // 32: stream.video.sfu.models.RTMPIngress + (*Device)(nil), // 33: stream.video.sfu.models.Device + (*Call)(nil), // 34: stream.video.sfu.models.Call + (*CallGrants)(nil), // 35: stream.video.sfu.models.CallGrants + (*InputDevices)(nil), // 36: stream.video.sfu.models.InputDevices + (*AndroidState)(nil), // 37: stream.video.sfu.models.AndroidState + (*AppleState)(nil), // 38: stream.video.sfu.models.AppleState + (*PerformanceStats)(nil), // 39: stream.video.sfu.models.PerformanceStats + (*timestamppb.Timestamp)(nil), // 40: google.protobuf.Timestamp + (*structpb.Struct)(nil), // 41: google.protobuf.Struct } var file_video_sfu_models_models_proto_depIdxs = []int32{ - 17, // 0: stream.video.sfu.models.CallState.participants:type_name -> stream.video.sfu.models.Participant - 39, // 1: stream.video.sfu.models.CallState.started_at:type_name -> google.protobuf.Timestamp - 15, // 2: stream.video.sfu.models.CallState.participant_count:type_name -> stream.video.sfu.models.ParticipantCount - 16, // 3: stream.video.sfu.models.CallState.pins:type_name -> stream.video.sfu.models.Pin + 18, // 0: stream.video.sfu.models.CallState.participants:type_name -> stream.video.sfu.models.Participant + 40, // 1: stream.video.sfu.models.CallState.started_at:type_name -> google.protobuf.Timestamp + 16, // 2: stream.video.sfu.models.CallState.participant_count:type_name -> stream.video.sfu.models.ParticipantCount + 17, // 3: stream.video.sfu.models.CallState.pins:type_name -> stream.video.sfu.models.Pin 3, // 4: stream.video.sfu.models.Participant.published_tracks:type_name -> stream.video.sfu.models.TrackType - 39, // 5: stream.video.sfu.models.Participant.joined_at:type_name -> google.protobuf.Timestamp + 40, // 5: stream.video.sfu.models.Participant.joined_at:type_name -> google.protobuf.Timestamp 1, // 6: stream.video.sfu.models.Participant.connection_quality:type_name -> stream.video.sfu.models.ConnectionQuality - 40, // 7: stream.video.sfu.models.Participant.custom:type_name -> google.protobuf.Struct + 41, // 7: stream.video.sfu.models.Participant.custom:type_name -> google.protobuf.Struct 4, // 8: stream.video.sfu.models.Participant.source:type_name -> stream.video.sfu.models.ParticipantSource 2, // 9: stream.video.sfu.models.StreamQuality.video_quality:type_name -> stream.video.sfu.models.VideoQuality - 19, // 10: stream.video.sfu.models.VideoLayer.video_dimension:type_name -> stream.video.sfu.models.VideoDimension + 20, // 10: stream.video.sfu.models.VideoLayer.video_dimension:type_name -> stream.video.sfu.models.VideoDimension 2, // 11: stream.video.sfu.models.VideoLayer.quality:type_name -> stream.video.sfu.models.VideoQuality 3, // 12: stream.video.sfu.models.SubscribeOption.track_type:type_name -> stream.video.sfu.models.TrackType - 23, // 13: stream.video.sfu.models.SubscribeOption.codecs:type_name -> stream.video.sfu.models.Codec + 24, // 13: stream.video.sfu.models.SubscribeOption.codecs:type_name -> stream.video.sfu.models.Codec 3, // 14: stream.video.sfu.models.PublishOption.track_type:type_name -> stream.video.sfu.models.TrackType - 23, // 15: stream.video.sfu.models.PublishOption.codec:type_name -> stream.video.sfu.models.Codec - 19, // 16: stream.video.sfu.models.PublishOption.video_dimension:type_name -> stream.video.sfu.models.VideoDimension + 24, // 15: stream.video.sfu.models.PublishOption.codec:type_name -> stream.video.sfu.models.Codec + 20, // 16: stream.video.sfu.models.PublishOption.video_dimension:type_name -> stream.video.sfu.models.VideoDimension 0, // 17: stream.video.sfu.models.ICETrickle.peer_type:type_name -> stream.video.sfu.models.PeerType 3, // 18: stream.video.sfu.models.TrackInfo.track_type:type_name -> stream.video.sfu.models.TrackType - 20, // 19: stream.video.sfu.models.TrackInfo.layers:type_name -> stream.video.sfu.models.VideoLayer - 23, // 20: stream.video.sfu.models.TrackInfo.codec:type_name -> stream.video.sfu.models.Codec - 5, // 21: stream.video.sfu.models.Error.code:type_name -> stream.video.sfu.models.ErrorCode - 28, // 22: stream.video.sfu.models.ClientDetails.sdk:type_name -> stream.video.sfu.models.Sdk - 29, // 23: stream.video.sfu.models.ClientDetails.os:type_name -> stream.video.sfu.models.OS - 30, // 24: stream.video.sfu.models.ClientDetails.browser:type_name -> stream.video.sfu.models.Browser - 32, // 25: stream.video.sfu.models.ClientDetails.device:type_name -> stream.video.sfu.models.Device - 6, // 26: stream.video.sfu.models.Sdk.type:type_name -> stream.video.sfu.models.SdkType - 40, // 27: stream.video.sfu.models.Call.custom:type_name -> google.protobuf.Struct - 39, // 28: stream.video.sfu.models.Call.created_at:type_name -> google.protobuf.Timestamp - 39, // 29: stream.video.sfu.models.Call.updated_at:type_name -> google.protobuf.Timestamp - 11, // 30: stream.video.sfu.models.AndroidState.thermal_state:type_name -> stream.video.sfu.models.AndroidThermalState - 12, // 31: stream.video.sfu.models.AppleState.thermal_state:type_name -> stream.video.sfu.models.AppleThermalState - 3, // 32: stream.video.sfu.models.PerformanceStats.track_type:type_name -> stream.video.sfu.models.TrackType - 23, // 33: stream.video.sfu.models.PerformanceStats.codec:type_name -> stream.video.sfu.models.Codec - 19, // 34: stream.video.sfu.models.PerformanceStats.video_dimension:type_name -> stream.video.sfu.models.VideoDimension - 35, // [35:35] is the sub-list for method output_type - 35, // [35:35] is the sub-list for method input_type - 35, // [35:35] is the sub-list for extension type_name - 35, // [35:35] is the sub-list for extension extendee - 0, // [0:35] is the sub-list for field type_name + 21, // 19: stream.video.sfu.models.TrackInfo.layers:type_name -> stream.video.sfu.models.VideoLayer + 24, // 20: stream.video.sfu.models.TrackInfo.codec:type_name -> stream.video.sfu.models.Codec + 5, // 21: stream.video.sfu.models.TrackInfo.audio_bitrate_type:type_name -> stream.video.sfu.models.AudioBitrateType + 6, // 22: stream.video.sfu.models.Error.code:type_name -> stream.video.sfu.models.ErrorCode + 29, // 23: stream.video.sfu.models.ClientDetails.sdk:type_name -> stream.video.sfu.models.Sdk + 30, // 24: stream.video.sfu.models.ClientDetails.os:type_name -> stream.video.sfu.models.OS + 31, // 25: stream.video.sfu.models.ClientDetails.browser:type_name -> stream.video.sfu.models.Browser + 33, // 26: stream.video.sfu.models.ClientDetails.device:type_name -> stream.video.sfu.models.Device + 7, // 27: stream.video.sfu.models.Sdk.type:type_name -> stream.video.sfu.models.SdkType + 41, // 28: stream.video.sfu.models.Call.custom:type_name -> google.protobuf.Struct + 40, // 29: stream.video.sfu.models.Call.created_at:type_name -> google.protobuf.Timestamp + 40, // 30: stream.video.sfu.models.Call.updated_at:type_name -> google.protobuf.Timestamp + 12, // 31: stream.video.sfu.models.AndroidState.thermal_state:type_name -> stream.video.sfu.models.AndroidThermalState + 13, // 32: stream.video.sfu.models.AppleState.thermal_state:type_name -> stream.video.sfu.models.AppleThermalState + 3, // 33: stream.video.sfu.models.PerformanceStats.track_type:type_name -> stream.video.sfu.models.TrackType + 24, // 34: stream.video.sfu.models.PerformanceStats.codec:type_name -> stream.video.sfu.models.Codec + 20, // 35: stream.video.sfu.models.PerformanceStats.video_dimension:type_name -> stream.video.sfu.models.VideoDimension + 36, // [36:36] is the sub-list for method output_type + 36, // [36:36] is the sub-list for method input_type + 36, // [36:36] is the sub-list for extension type_name + 36, // [36:36] is the sub-list for extension extendee + 0, // [0:36] is the sub-list for field type_name } func init() { file_video_sfu_models_models_proto_init() } @@ -3708,7 +3779,7 @@ func file_video_sfu_models_models_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_video_sfu_models_models_proto_rawDesc, - NumEnums: 14, + NumEnums: 15, NumMessages: 25, NumExtensions: 0, NumServices: 0, diff --git a/protobuf/video/sfu/models/models.proto b/protobuf/video/sfu/models/models.proto index a3528dbca..137c63936 100644 --- a/protobuf/video/sfu/models/models.proto +++ b/protobuf/video/sfu/models/models.proto @@ -196,6 +196,12 @@ message ICETrickle { string session_id = 3; } +enum AudioBitrateType { + VOICE_STANDARD_UNSPECIFIED = 0; + VOICE_HIGH_QUALITY = 1; + MUSIC_HIGH_QUALITY = 2; +} + message TrackInfo { string track_id = 1; TrackType track_type = 2; @@ -208,6 +214,7 @@ message TrackInfo { bool muted = 10; Codec codec = 11; int32 publish_option_id = 12; + AudioBitrateType audio_bitrate_type = 13; } enum ErrorCode { diff --git a/protobuf/video/sfu/models/models_vtproto.pb.go b/protobuf/video/sfu/models/models_vtproto.pb.go index 61dc4ae8f..38338f883 100644 --- a/protobuf/video/sfu/models/models_vtproto.pb.go +++ b/protobuf/video/sfu/models/models_vtproto.pb.go @@ -824,6 +824,11 @@ func (m *TrackInfo) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.AudioBitrateType != 0 { + i = encodeVarint(dAtA, i, uint64(m.AudioBitrateType)) + i-- + dAtA[i] = 0x68 + } if m.PublishOptionId != 0 { i = encodeVarint(dAtA, i, uint64(m.PublishOptionId)) i-- @@ -2135,6 +2140,9 @@ func (m *TrackInfo) SizeVT() (n int) { if m.PublishOptionId != 0 { n += 1 + sov(uint64(m.PublishOptionId)) } + if m.AudioBitrateType != 0 { + n += 1 + sov(uint64(m.AudioBitrateType)) + } if m.unknownFields != nil { n += len(m.unknownFields) } @@ -4717,6 +4725,25 @@ func (m *TrackInfo) UnmarshalVT(dAtA []byte) error { break } } + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AudioBitrateType", wireType) + } + m.AudioBitrateType = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AudioBitrateType |= AudioBitrateType(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skip(dAtA[iNdEx:]) From f3c48065466d5552e63e9df6c810fe353499e0a7 Mon Sep 17 00:00:00 2001 From: guldev25 Date: Thu, 4 Sep 2025 11:31:02 +0200 Subject: [PATCH 6/7] Revert "Add AudioBitrateType enum and field to TrackInfo" This reverts commit b061070bfdc2ae0a91f602da3180e8b871288df0. --- protobuf/video/sfu/models/models.pb.go | 935 ++++++++---------- protobuf/video/sfu/models/models.proto | 7 - .../video/sfu/models/models_vtproto.pb.go | 27 - 3 files changed, 432 insertions(+), 537 deletions(-) diff --git a/protobuf/video/sfu/models/models.pb.go b/protobuf/video/sfu/models/models.pb.go index 8defc12c3..2f51346e2 100644 --- a/protobuf/video/sfu/models/models.pb.go +++ b/protobuf/video/sfu/models/models.pb.go @@ -287,55 +287,6 @@ func (ParticipantSource) EnumDescriptor() ([]byte, []int) { return file_video_sfu_models_models_proto_rawDescGZIP(), []int{4} } -type AudioBitrateType int32 - -const ( - AudioBitrateType_VOICE_STANDARD_UNSPECIFIED AudioBitrateType = 0 - AudioBitrateType_VOICE_HIGH_QUALITY AudioBitrateType = 1 - AudioBitrateType_MUSIC_HIGH_QUALITY AudioBitrateType = 2 -) - -// Enum value maps for AudioBitrateType. -var ( - AudioBitrateType_name = map[int32]string{ - 0: "VOICE_STANDARD_UNSPECIFIED", - 1: "VOICE_HIGH_QUALITY", - 2: "MUSIC_HIGH_QUALITY", - } - AudioBitrateType_value = map[string]int32{ - "VOICE_STANDARD_UNSPECIFIED": 0, - "VOICE_HIGH_QUALITY": 1, - "MUSIC_HIGH_QUALITY": 2, - } -) - -func (x AudioBitrateType) Enum() *AudioBitrateType { - p := new(AudioBitrateType) - *p = x - return p -} - -func (x AudioBitrateType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (AudioBitrateType) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[5].Descriptor() -} - -func (AudioBitrateType) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[5] -} - -func (x AudioBitrateType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use AudioBitrateType.Descriptor instead. -func (AudioBitrateType) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{5} -} - type ErrorCode int32 const ( @@ -426,11 +377,11 @@ func (x ErrorCode) String() string { } func (ErrorCode) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[6].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[5].Descriptor() } func (ErrorCode) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[6] + return &file_video_sfu_models_models_proto_enumTypes[5] } func (x ErrorCode) Number() protoreflect.EnumNumber { @@ -439,7 +390,7 @@ func (x ErrorCode) Number() protoreflect.EnumNumber { // Deprecated: Use ErrorCode.Descriptor instead. func (ErrorCode) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{6} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{5} } type SdkType int32 @@ -496,11 +447,11 @@ func (x SdkType) String() string { } func (SdkType) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[7].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[6].Descriptor() } func (SdkType) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[7] + return &file_video_sfu_models_models_proto_enumTypes[6] } func (x SdkType) Number() protoreflect.EnumNumber { @@ -509,7 +460,7 @@ func (x SdkType) Number() protoreflect.EnumNumber { // Deprecated: Use SdkType.Descriptor instead. func (SdkType) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{7} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{6} } type TrackUnpublishReason int32 @@ -558,11 +509,11 @@ func (x TrackUnpublishReason) String() string { } func (TrackUnpublishReason) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[8].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[7].Descriptor() } func (TrackUnpublishReason) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[8] + return &file_video_sfu_models_models_proto_enumTypes[7] } func (x TrackUnpublishReason) Number() protoreflect.EnumNumber { @@ -571,7 +522,7 @@ func (x TrackUnpublishReason) Number() protoreflect.EnumNumber { // Deprecated: Use TrackUnpublishReason.Descriptor instead. func (TrackUnpublishReason) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{8} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{7} } // GoAwayReason represents the reason for the SFU to @@ -609,11 +560,11 @@ func (x GoAwayReason) String() string { } func (GoAwayReason) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[9].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[8].Descriptor() } func (GoAwayReason) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[9] + return &file_video_sfu_models_models_proto_enumTypes[8] } func (x GoAwayReason) Number() protoreflect.EnumNumber { @@ -622,7 +573,7 @@ func (x GoAwayReason) Number() protoreflect.EnumNumber { // Deprecated: Use GoAwayReason.Descriptor instead. func (GoAwayReason) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{9} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{8} } // CallEndedReason represents the reason for the call to end. @@ -665,11 +616,11 @@ func (x CallEndedReason) String() string { } func (CallEndedReason) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[10].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[9].Descriptor() } func (CallEndedReason) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[10] + return &file_video_sfu_models_models_proto_enumTypes[9] } func (x CallEndedReason) Number() protoreflect.EnumNumber { @@ -678,7 +629,7 @@ func (x CallEndedReason) Number() protoreflect.EnumNumber { // Deprecated: Use CallEndedReason.Descriptor instead. func (CallEndedReason) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{10} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{9} } // WebsocketReconnectStrategy defines the ws strategies available for handling reconnections. @@ -727,11 +678,11 @@ func (x WebsocketReconnectStrategy) String() string { } func (WebsocketReconnectStrategy) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[11].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[10].Descriptor() } func (WebsocketReconnectStrategy) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[11] + return &file_video_sfu_models_models_proto_enumTypes[10] } func (x WebsocketReconnectStrategy) Number() protoreflect.EnumNumber { @@ -740,7 +691,7 @@ func (x WebsocketReconnectStrategy) Number() protoreflect.EnumNumber { // Deprecated: Use WebsocketReconnectStrategy.Descriptor instead. func (WebsocketReconnectStrategy) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{11} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{10} } // AndroidThermalState is reported by the Android API. The full list of values is documented here @@ -793,11 +744,11 @@ func (x AndroidThermalState) String() string { } func (AndroidThermalState) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[12].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[11].Descriptor() } func (AndroidThermalState) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[12] + return &file_video_sfu_models_models_proto_enumTypes[11] } func (x AndroidThermalState) Number() protoreflect.EnumNumber { @@ -806,7 +757,7 @@ func (x AndroidThermalState) Number() protoreflect.EnumNumber { // Deprecated: Use AndroidThermalState.Descriptor instead. func (AndroidThermalState) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{12} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{11} } // AppleThermalState is the thermal state as reported by Apple devices when available or applicable to the platform. @@ -850,11 +801,11 @@ func (x AppleThermalState) String() string { } func (AppleThermalState) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[13].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[12].Descriptor() } func (AppleThermalState) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[13] + return &file_video_sfu_models_models_proto_enumTypes[12] } func (x AppleThermalState) Number() protoreflect.EnumNumber { @@ -863,7 +814,7 @@ func (x AppleThermalState) Number() protoreflect.EnumNumber { // Deprecated: Use AppleThermalState.Descriptor instead. func (AppleThermalState) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{13} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{12} } // ClientCapability defines a feature that client supports @@ -898,11 +849,11 @@ func (x ClientCapability) String() string { } func (ClientCapability) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[14].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[13].Descriptor() } func (ClientCapability) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[14] + return &file_video_sfu_models_models_proto_enumTypes[13] } func (x ClientCapability) Number() protoreflect.EnumNumber { @@ -911,7 +862,7 @@ func (x ClientCapability) Number() protoreflect.EnumNumber { // Deprecated: Use ClientCapability.Descriptor instead. func (ClientCapability) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{14} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{13} } // CallState is the current state of the call @@ -1811,13 +1762,12 @@ type TrackInfo struct { Layers []*VideoLayer `protobuf:"bytes,5,rep,name=layers,proto3" json:"layers,omitempty"` Mid string `protobuf:"bytes,6,opt,name=mid,proto3" json:"mid,omitempty"` // for audio tracks - Dtx bool `protobuf:"varint,7,opt,name=dtx,proto3" json:"dtx,omitempty"` - Stereo bool `protobuf:"varint,8,opt,name=stereo,proto3" json:"stereo,omitempty"` - Red bool `protobuf:"varint,9,opt,name=red,proto3" json:"red,omitempty"` - Muted bool `protobuf:"varint,10,opt,name=muted,proto3" json:"muted,omitempty"` - Codec *Codec `protobuf:"bytes,11,opt,name=codec,proto3" json:"codec,omitempty"` - PublishOptionId int32 `protobuf:"varint,12,opt,name=publish_option_id,json=publishOptionId,proto3" json:"publish_option_id,omitempty"` - AudioBitrateType AudioBitrateType `protobuf:"varint,13,opt,name=audio_bitrate_type,json=audioBitrateType,proto3,enum=stream.video.sfu.models.AudioBitrateType" json:"audio_bitrate_type,omitempty"` + Dtx bool `protobuf:"varint,7,opt,name=dtx,proto3" json:"dtx,omitempty"` + Stereo bool `protobuf:"varint,8,opt,name=stereo,proto3" json:"stereo,omitempty"` + Red bool `protobuf:"varint,9,opt,name=red,proto3" json:"red,omitempty"` + Muted bool `protobuf:"varint,10,opt,name=muted,proto3" json:"muted,omitempty"` + Codec *Codec `protobuf:"bytes,11,opt,name=codec,proto3" json:"codec,omitempty"` + PublishOptionId int32 `protobuf:"varint,12,opt,name=publish_option_id,json=publishOptionId,proto3" json:"publish_option_id,omitempty"` } func (x *TrackInfo) Reset() { @@ -1922,13 +1872,6 @@ func (x *TrackInfo) GetPublishOptionId() int32 { return 0 } -func (x *TrackInfo) GetAudioBitrateType() AudioBitrateType { - if x != nil { - return x.AudioBitrateType - } - return AudioBitrateType_VOICE_STANDARD_UNSPECIFIED -} - type Error struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2993,7 +2936,7 @@ var file_video_sfu_models_models_proto_rawDesc = []byte{ 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x63, 0x65, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xc5, 0x03, 0x0a, 0x09, + 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xec, 0x02, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, @@ -3016,353 +2959,341 @@ var file_video_sfu_models_models_proto_rawDesc = []byte{ 0x73, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x57, 0x0a, 0x12, 0x61, 0x75, - 0x64, 0x69, 0x6f, 0x5f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, + 0x73, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x7c, 0x0a, 0x05, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x12, 0x36, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, + 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 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, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, + 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x68, 0x6f, + 0x75, 0x6c, 0x64, 0x52, 0x65, 0x74, 0x72, 0x79, 0x22, 0xe1, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x03, 0x73, 0x64, + 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x73, 0x2e, 0x53, 0x64, 0x6b, 0x52, 0x03, 0x73, 0x64, 0x6b, 0x12, 0x2b, 0x0a, 0x02, 0x6f, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, - 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x42, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x10, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x42, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x22, 0x7c, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x36, 0x0a, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, - 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, 0x21, - 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x52, 0x65, 0x74, 0x72, - 0x79, 0x22, 0xe1, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x03, 0x73, 0x64, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, - 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x53, 0x64, 0x6b, 0x52, 0x03, - 0x73, 0x64, 0x6b, 0x12, 0x2b, 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, - 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x4f, 0x53, 0x52, 0x02, 0x6f, 0x73, - 0x12, 0x3a, 0x0a, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, - 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x42, 0x72, 0x6f, 0x77, - 0x73, 0x65, 0x72, 0x52, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x06, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x7d, 0x0a, 0x03, 0x53, 0x64, 0x6b, 0x12, 0x34, 0x0a, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x53, 0x64, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x14, - 0x0a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, - 0x61, 0x74, 0x63, 0x68, 0x22, 0x56, 0x0a, 0x02, 0x4f, 0x53, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x22, 0x37, 0x0a, 0x07, - 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xcb, 0x01, 0x0a, 0x0b, 0x52, 0x54, 0x4d, 0x50, 0x49, 0x6e, - 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x74, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x61, - 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x63, 0x6f, - 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x63, 0x6f, 0x64, - 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, - 0x64, 0x64, 0x72, 0x22, 0x36, 0x0a, 0x06, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa0, 0x02, 0x0a, 0x04, - 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x6f, 0x73, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, - 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x8d, - 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, - 0x11, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x61, 0x75, 0x64, - 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x61, 0x6e, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x6e, - 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x61, 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, - 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x61, 0x6e, 0x5f, 0x73, 0x63, 0x72, - 0x65, 0x65, 0x6e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, - 0x63, 0x61, 0x6e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x22, 0x85, - 0x01, 0x0a, 0x0c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, - 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, - 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, - 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x22, 0x90, 0x01, 0x0a, 0x0c, 0x41, 0x6e, 0x64, 0x72, 0x6f, - 0x69, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x51, 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x72, 0x6d, - 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, - 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, - 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, - 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x74, 0x68, - 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x69, 0x73, - 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x61, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x50, 0x6f, 0x77, 0x65, 0x72, - 0x53, 0x61, 0x76, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x97, 0x01, 0x0a, 0x0a, 0x41, 0x70, - 0x70, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4f, 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x72, - 0x6d, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x2a, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, - 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x54, - 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x74, 0x68, 0x65, - 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x19, 0x69, 0x73, 0x5f, - 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73, - 0x4c, 0x6f, 0x77, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x22, 0xc8, 0x02, 0x0a, 0x10, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, - 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x73, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x63, - 0x6f, 0x64, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, - 0x63, 0x12, 0x29, 0x0a, 0x11, 0x61, 0x76, 0x67, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x61, 0x76, - 0x67, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x17, 0x0a, 0x07, - 0x61, 0x76, 0x67, 0x5f, 0x66, 0x70, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x61, - 0x76, 0x67, 0x46, 0x70, 0x73, 0x12, 0x50, 0x0a, 0x0f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x64, - 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, - 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x69, - 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x69, - 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x2a, 0x49, - 0x0a, 0x08, 0x50, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x45, - 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, - 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x18, 0x0a, 0x14, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x55, 0x42, - 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x52, 0x10, 0x01, 0x2a, 0x93, 0x01, 0x0a, 0x11, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, - 0x22, 0x0a, 0x1e, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, - 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x4f, 0x4f, 0x52, 0x10, 0x01, - 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, - 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x47, 0x4f, 0x4f, 0x44, 0x10, 0x02, 0x12, 0x20, 0x0a, - 0x1c, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, - 0x49, 0x54, 0x59, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x2a, - 0x77, 0x0a, 0x0c, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, - 0x21, 0x0a, 0x1d, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, - 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, - 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x49, 0x44, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x49, 0x44, - 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, - 0x02, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, - 0x54, 0x59, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0x03, 0x2a, 0x93, 0x01, 0x0a, 0x09, 0x54, 0x72, 0x61, - 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x43, - 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x10, 0x02, 0x12, 0x1b, - 0x0a, 0x17, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x43, 0x52, - 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x54, - 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, - 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x04, 0x2a, 0xcd, - 0x01, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, - 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x57, 0x45, 0x42, 0x52, 0x54, - 0x43, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, - 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x54, 0x4d, 0x50, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, + 0x2e, 0x4f, 0x53, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, + 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x73, 0x2e, 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x52, 0x07, 0x62, 0x72, 0x6f, 0x77, + 0x73, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, + 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x44, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x7d, 0x0a, 0x03, + 0x53, 0x64, 0x6b, 0x12, 0x34, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, + 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x53, 0x64, 0x6b, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, + 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, + 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x22, 0x56, 0x0a, 0x02, 0x4f, + 0x53, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, + 0x75, 0x72, 0x65, 0x22, 0x37, 0x0a, 0x07, 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xcb, 0x01, 0x0a, + 0x0b, 0x52, 0x54, 0x4d, 0x50, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, + 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, + 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, + 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, + 0x66, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x66, + 0x74, 0x77, 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x66, + 0x74, 0x77, 0x61, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x22, 0x36, 0x0a, 0x06, 0x44, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x22, 0xa0, 0x02, 0x0a, 0x04, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x2b, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, + 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x68, 0x6f, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, + 0x0a, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, + 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x8d, 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x6c, 0x6c, 0x47, 0x72, + 0x61, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x73, 0x68, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0f, 0x63, 0x61, 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x41, 0x75, 0x64, 0x69, 0x6f, + 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, + 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x61, 0x6e, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x27, 0x0a, 0x0f, + 0x63, 0x61, 0x6e, 0x5f, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x61, 0x6e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x0c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, + 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0b, 0x69, 0x73, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x22, 0x90, 0x01, + 0x0a, 0x0c, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x51, + 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, + 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, + 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x52, 0x0c, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x61, + 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, + 0x69, 0x73, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x61, 0x76, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, + 0x22, 0x97, 0x01, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x4f, 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, + 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, + 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x52, 0x0c, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x38, 0x0a, 0x19, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73, 0x4c, 0x6f, 0x77, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4d, + 0x6f, 0x64, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xc8, 0x02, 0x0a, 0x10, 0x50, + 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, + 0x41, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, + 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x54, 0x72, + 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, + 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x43, 0x6f, 0x64, 0x65, + 0x63, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x29, 0x0a, 0x11, 0x61, 0x76, 0x67, 0x5f, + 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x0e, 0x61, 0x76, 0x67, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x4d, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x76, 0x67, 0x5f, 0x66, 0x70, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x61, 0x76, 0x67, 0x46, 0x70, 0x73, 0x12, 0x50, 0x0a, 0x0f, + 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, + 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0e, + 0x76, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, + 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x69, + 0x74, 0x72, 0x61, 0x74, 0x65, 0x2a, 0x49, 0x0a, 0x08, 0x50, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, + 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x52, 0x10, 0x01, + 0x2a, 0x93, 0x01, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, + 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, + 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, + 0x5f, 0x50, 0x4f, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x4e, 0x4e, 0x45, + 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x47, 0x4f, + 0x4f, 0x44, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x4c, + 0x4c, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x2a, 0x77, 0x0a, 0x0c, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x51, + 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x1d, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, + 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, + 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x49, 0x44, 0x10, 0x01, + 0x12, 0x16, 0x0a, 0x12, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, + 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, 0x45, + 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0x03, 0x2a, + 0x93, 0x01, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, + 0x16, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, + 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x01, 0x12, + 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x49, + 0x44, 0x45, 0x4f, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, + 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x41, 0x55, + 0x44, 0x49, 0x4f, 0x10, 0x04, 0x2a, 0xcd, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x50, + 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, + 0x45, 0x5f, 0x57, 0x45, 0x42, 0x52, 0x54, 0x43, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, + 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x54, 0x4d, + 0x50, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, + 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x57, 0x48, 0x49, 0x50, 0x10, 0x02, + 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, + 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x49, 0x50, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, - 0x43, 0x45, 0x5f, 0x57, 0x48, 0x49, 0x50, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x52, + 0x43, 0x45, 0x5f, 0x52, 0x54, 0x53, 0x50, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, - 0x53, 0x49, 0x50, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, - 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x54, 0x53, 0x50, - 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, - 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x52, 0x54, 0x10, 0x05, 0x2a, 0x62, - 0x0a, 0x10, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x42, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x4e, - 0x44, 0x41, 0x52, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x48, 0x49, 0x47, 0x48, - 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4d, 0x55, - 0x53, 0x49, 0x43, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, - 0x10, 0x02, 0x2a, 0xea, 0x06, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, - 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, - 0x4e, 0x44, 0x10, 0x64, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, - 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, - 0x53, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x65, 0x12, 0x29, 0x0a, 0x25, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, - 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4f, 0x55, 0x54, 0x5f, 0x4f, 0x46, 0x5f, - 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x66, 0x12, 0x32, 0x0a, 0x2e, 0x45, 0x52, 0x52, 0x4f, 0x52, + 0x53, 0x52, 0x54, 0x10, 0x05, 0x2a, 0xea, 0x06, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, + 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, + 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x26, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, + 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, + 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x64, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, - 0x41, 0x43, 0x4b, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, - 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x67, 0x12, 0x19, 0x0a, 0x15, 0x45, - 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x49, 0x56, 0x45, 0x5f, 0x45, - 0x4e, 0x44, 0x45, 0x44, 0x10, 0x68, 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, - 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, - 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xc8, 0x01, 0x12, 0x29, 0x0a, - 0x24, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, - 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4e, - 0x47, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0xc9, 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, - 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, - 0x4c, 0x45, 0x44, 0x10, 0xca, 0x01, 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, - 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, - 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xcb, 0x01, 0x12, 0x2c, 0x0a, - 0x27, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, - 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, - 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xcc, 0x01, 0x12, 0x33, 0x0a, 0x2e, 0x45, + 0x41, 0x43, 0x4b, 0x53, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x65, 0x12, + 0x29, 0x0a, 0x25, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, + 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4f, 0x55, 0x54, 0x5f, + 0x4f, 0x46, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x66, 0x12, 0x32, 0x0a, 0x2e, 0x45, 0x52, + 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, + 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x4c, 0x41, 0x59, + 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x67, 0x12, 0x19, + 0x0a, 0x15, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x49, 0x56, + 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x68, 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, + 0x41, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xc8, 0x01, + 0x12, 0x29, 0x0a, 0x24, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, + 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, + 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0xc9, 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, - 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x5f, 0x54, 0x52, 0x41, 0x4e, - 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0xcd, 0x01, - 0x12, 0x27, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, - 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, - 0x4c, 0x5f, 0x4c, 0x4f, 0x53, 0x54, 0x10, 0xce, 0x01, 0x12, 0x1e, 0x0a, 0x19, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, - 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xac, 0x02, 0x12, 0x2e, 0x0a, 0x29, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x50, 0x41, 0x52, - 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x52, - 0x45, 0x41, 0x43, 0x48, 0x45, 0x44, 0x10, 0xad, 0x02, 0x12, 0x29, 0x0a, 0x24, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, - 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, - 0x44, 0x10, 0x90, 0x03, 0x12, 0x1f, 0x0a, 0x1a, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, - 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, - 0x45, 0x44, 0x10, 0x91, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, - 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, - 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x93, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, - 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x53, 0x10, 0xad, 0x03, 0x12, 0x25, 0x0a, 0x20, 0x45, - 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, - 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, - 0xf4, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, - 0x5f, 0x53, 0x46, 0x55, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, - 0x57, 0x4e, 0x10, 0xd8, 0x04, 0x12, 0x18, 0x0a, 0x13, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, - 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x46, 0x55, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0xbc, 0x05, 0x2a, - 0xea, 0x01, 0x0a, 0x07, 0x53, 0x64, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x53, - 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x54, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, 0x4b, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x47, 0x55, 0x4c, 0x41, 0x52, 0x10, 0x02, 0x12, - 0x14, 0x0a, 0x10, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x52, - 0x4f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x49, 0x4f, 0x53, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, 0x4b, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x46, 0x4c, 0x55, 0x54, 0x54, 0x45, 0x52, 0x10, 0x05, 0x12, 0x19, 0x0a, - 0x15, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x54, 0x5f, - 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x44, 0x4b, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x10, 0x07, 0x12, 0x0f, 0x0a, 0x0b, - 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x4f, 0x10, 0x08, 0x12, 0x1d, 0x0a, - 0x19, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x49, 0x4e, 0x5f, - 0x4a, 0x41, 0x56, 0x41, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x10, 0x09, 0x2a, 0xbb, 0x01, 0x0a, - 0x14, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x55, 0x6e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, - 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x25, 0x0a, - 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, - 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x4d, 0x55, 0x54, - 0x45, 0x44, 0x10, 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, - 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, - 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x56, 0x4f, 0x4b, 0x45, - 0x44, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, - 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, - 0x44, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x2a, 0x6e, 0x0a, 0x0c, 0x47, 0x6f, - 0x41, 0x77, 0x61, 0x79, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x1a, 0x47, 0x4f, - 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x47, 0x4f, - 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x48, 0x55, - 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, - 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x52, - 0x45, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x2a, 0xb6, 0x01, 0x0a, 0x0f, 0x43, - 0x61, 0x6c, 0x6c, 0x45, 0x6e, 0x64, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x21, - 0x0a, 0x1d, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, - 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x01, 0x12, 0x20, - 0x0a, 0x1c, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, - 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x49, 0x56, 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x02, - 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x52, - 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x03, 0x12, 0x23, - 0x0a, 0x1f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, - 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x44, 0x45, - 0x44, 0x10, 0x04, 0x2a, 0xf1, 0x01, 0x0a, 0x1a, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, - 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, - 0x67, 0x79, 0x12, 0x2c, 0x0a, 0x28, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, - 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x2b, 0x0a, 0x27, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, + 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xca, 0x01, 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, + 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xcb, 0x01, + 0x12, 0x2c, 0x0a, 0x27, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, + 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, + 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xcc, 0x01, 0x12, 0x33, + 0x0a, 0x2e, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, + 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x5f, 0x54, + 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, + 0x10, 0xcd, 0x01, 0x12, 0x27, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, + 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x49, + 0x47, 0x4e, 0x41, 0x4c, 0x5f, 0x4c, 0x4f, 0x53, 0x54, 0x10, 0xce, 0x01, 0x12, 0x1e, 0x0a, 0x19, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, + 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xac, 0x02, 0x12, 0x2e, 0x0a, 0x29, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, + 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4c, 0x49, 0x4d, 0x49, + 0x54, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x48, 0x45, 0x44, 0x10, 0xad, 0x02, 0x12, 0x29, 0x0a, 0x24, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, + 0x53, 0x54, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, + 0x49, 0x4c, 0x45, 0x44, 0x10, 0x90, 0x03, 0x12, 0x1f, 0x0a, 0x1a, 0x45, 0x52, 0x52, 0x4f, 0x52, + 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, + 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x91, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, + 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x93, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, + 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, + 0x4e, 0x59, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x53, 0x10, 0xad, 0x03, 0x12, 0x25, + 0x0a, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x54, + 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x10, 0xf4, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, + 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x46, 0x55, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, 0x47, + 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xd8, 0x04, 0x12, 0x18, 0x0a, 0x13, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x46, 0x55, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, + 0xbc, 0x05, 0x2a, 0xea, 0x01, 0x0a, 0x07, 0x53, 0x64, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, + 0x0a, 0x14, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x44, 0x4b, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x54, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, + 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x47, 0x55, 0x4c, 0x41, 0x52, + 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, + 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x44, 0x4b, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4f, 0x53, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, + 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x4c, 0x55, 0x54, 0x54, 0x45, 0x52, 0x10, 0x05, + 0x12, 0x19, 0x0a, 0x15, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, + 0x43, 0x54, 0x5f, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x53, + 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x10, 0x07, 0x12, + 0x0f, 0x0a, 0x0b, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x4f, 0x10, 0x08, + 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4c, 0x41, + 0x49, 0x4e, 0x5f, 0x4a, 0x41, 0x56, 0x41, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x10, 0x09, 0x2a, + 0xbb, 0x01, 0x0a, 0x14, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x55, 0x6e, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x52, 0x41, 0x43, + 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, + 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, + 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, + 0x4d, 0x55, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x54, 0x52, 0x41, 0x43, 0x4b, + 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, + 0x4e, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x56, + 0x4f, 0x4b, 0x45, 0x44, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, + 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, + 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x2a, 0x6e, 0x0a, + 0x0c, 0x47, 0x6f, 0x41, 0x77, 0x61, 0x79, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, + 0x1a, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, + 0x1c, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, + 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, + 0x1c, 0x0a, 0x18, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, + 0x4e, 0x5f, 0x52, 0x45, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x2a, 0xb6, 0x01, + 0x0a, 0x0f, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x6e, 0x64, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, + 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, + 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x49, 0x56, 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x45, + 0x44, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, + 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, 0x10, + 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, + 0x4e, 0x44, 0x45, 0x44, 0x10, 0x04, 0x2a, 0xf1, 0x01, 0x0a, 0x1a, 0x57, 0x65, 0x62, 0x73, 0x6f, + 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x53, 0x74, 0x72, + 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x2c, 0x0a, 0x28, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, + 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x2b, 0x0a, 0x27, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, + 0x45, 0x47, 0x59, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x01, + 0x12, 0x25, 0x0a, 0x21, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, + 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, + 0x5f, 0x46, 0x41, 0x53, 0x54, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x57, 0x45, 0x42, 0x53, 0x4f, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, + 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x52, 0x45, 0x4a, 0x4f, 0x49, 0x4e, 0x10, 0x03, + 0x12, 0x28, 0x0a, 0x24, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, - 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x01, 0x12, 0x25, 0x0a, - 0x21, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, - 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x46, 0x41, - 0x53, 0x54, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, - 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, - 0x54, 0x45, 0x47, 0x59, 0x5f, 0x52, 0x45, 0x4a, 0x4f, 0x49, 0x4e, 0x10, 0x03, 0x12, 0x28, 0x0a, - 0x24, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, - 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x4d, 0x49, - 0x47, 0x52, 0x41, 0x54, 0x45, 0x10, 0x04, 0x2a, 0xb0, 0x02, 0x0a, 0x13, 0x41, 0x6e, 0x64, 0x72, - 0x6f, 0x69, 0x64, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x25, 0x0a, 0x21, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, - 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, - 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, - 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x4c, 0x49, 0x47, 0x48, 0x54, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, 0x44, 0x52, 0x4f, - 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x52, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x41, - 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x45, 0x10, 0x04, 0x12, 0x22, 0x0a, - 0x1e, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, - 0x05, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, - 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4d, 0x45, 0x52, 0x47, - 0x45, 0x4e, 0x43, 0x59, 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, - 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x07, 0x2a, 0xba, 0x01, 0x0a, 0x11, 0x41, - 0x70, 0x70, 0x6c, 0x65, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, - 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, - 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4d, - 0x49, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, - 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, - 0x49, 0x52, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x48, - 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x49, - 0x4f, 0x55, 0x53, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, - 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x52, 0x49, - 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x04, 0x2a, 0x63, 0x0a, 0x10, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x1d, 0x43, - 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2c, - 0x0a, 0x28, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, - 0x49, 0x54, 0x59, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x52, 0x5f, 0x56, - 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, 0x01, 0x42, 0x65, 0x42, 0x0b, - 0x53, 0x66, 0x75, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x56, 0x31, 0x50, 0x01, 0x5a, 0x37, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x65, 0x74, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2f, 0x73, 0x66, 0x75, 0x2f, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0xaa, 0x02, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, - 0x56, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x66, 0x75, 0x2e, 0x4d, 0x6f, 0x64, - 0x65, 0x6c, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x45, 0x10, 0x04, 0x2a, 0xb0, 0x02, 0x0a, 0x13, 0x41, + 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, + 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4e, 0x44, + 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x4e, 0x44, + 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, + 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x52, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x20, + 0x0a, 0x1c, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, + 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x45, 0x10, 0x04, + 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, + 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, + 0x41, 0x4c, 0x10, 0x05, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, + 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4d, + 0x45, 0x52, 0x47, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, 0x44, + 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x07, 0x2a, 0xba, 0x01, + 0x0a, 0x11, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, + 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, + 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x4e, 0x4f, 0x4d, 0x49, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x50, 0x50, + 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x46, 0x41, 0x49, 0x52, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, 0x45, + 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, + 0x45, 0x52, 0x49, 0x4f, 0x55, 0x53, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x50, 0x50, 0x4c, + 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x04, 0x2a, 0x63, 0x0a, 0x10, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, + 0x0a, 0x1d, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, + 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x2c, 0x0a, 0x28, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x41, + 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, + 0x52, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, 0x01, 0x42, + 0x65, 0x42, 0x0b, 0x53, 0x66, 0x75, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x56, 0x31, 0x50, 0x01, + 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x65, 0x74, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2f, 0x73, + 0x66, 0x75, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0xaa, 0x02, 0x1a, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x66, 0x75, 0x2e, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3377,7 +3308,7 @@ func file_video_sfu_models_models_proto_rawDescGZIP() []byte { return file_video_sfu_models_models_proto_rawDescData } -var file_video_sfu_models_models_proto_enumTypes = make([]protoimpl.EnumInfo, 15) +var file_video_sfu_models_models_proto_enumTypes = make([]protoimpl.EnumInfo, 14) var file_video_sfu_models_models_proto_msgTypes = make([]protoimpl.MessageInfo, 25) var file_video_sfu_models_models_proto_goTypes = []interface{}{ (PeerType)(0), // 0: stream.video.sfu.models.PeerType @@ -3385,86 +3316,84 @@ var file_video_sfu_models_models_proto_goTypes = []interface{}{ (VideoQuality)(0), // 2: stream.video.sfu.models.VideoQuality (TrackType)(0), // 3: stream.video.sfu.models.TrackType (ParticipantSource)(0), // 4: stream.video.sfu.models.ParticipantSource - (AudioBitrateType)(0), // 5: stream.video.sfu.models.AudioBitrateType - (ErrorCode)(0), // 6: stream.video.sfu.models.ErrorCode - (SdkType)(0), // 7: stream.video.sfu.models.SdkType - (TrackUnpublishReason)(0), // 8: stream.video.sfu.models.TrackUnpublishReason - (GoAwayReason)(0), // 9: stream.video.sfu.models.GoAwayReason - (CallEndedReason)(0), // 10: stream.video.sfu.models.CallEndedReason - (WebsocketReconnectStrategy)(0), // 11: stream.video.sfu.models.WebsocketReconnectStrategy - (AndroidThermalState)(0), // 12: stream.video.sfu.models.AndroidThermalState - (AppleThermalState)(0), // 13: stream.video.sfu.models.AppleThermalState - (ClientCapability)(0), // 14: stream.video.sfu.models.ClientCapability - (*CallState)(nil), // 15: stream.video.sfu.models.CallState - (*ParticipantCount)(nil), // 16: stream.video.sfu.models.ParticipantCount - (*Pin)(nil), // 17: stream.video.sfu.models.Pin - (*Participant)(nil), // 18: stream.video.sfu.models.Participant - (*StreamQuality)(nil), // 19: stream.video.sfu.models.StreamQuality - (*VideoDimension)(nil), // 20: stream.video.sfu.models.VideoDimension - (*VideoLayer)(nil), // 21: stream.video.sfu.models.VideoLayer - (*SubscribeOption)(nil), // 22: stream.video.sfu.models.SubscribeOption - (*PublishOption)(nil), // 23: stream.video.sfu.models.PublishOption - (*Codec)(nil), // 24: stream.video.sfu.models.Codec - (*ICETrickle)(nil), // 25: stream.video.sfu.models.ICETrickle - (*TrackInfo)(nil), // 26: stream.video.sfu.models.TrackInfo - (*Error)(nil), // 27: stream.video.sfu.models.Error - (*ClientDetails)(nil), // 28: stream.video.sfu.models.ClientDetails - (*Sdk)(nil), // 29: stream.video.sfu.models.Sdk - (*OS)(nil), // 30: stream.video.sfu.models.OS - (*Browser)(nil), // 31: stream.video.sfu.models.Browser - (*RTMPIngress)(nil), // 32: stream.video.sfu.models.RTMPIngress - (*Device)(nil), // 33: stream.video.sfu.models.Device - (*Call)(nil), // 34: stream.video.sfu.models.Call - (*CallGrants)(nil), // 35: stream.video.sfu.models.CallGrants - (*InputDevices)(nil), // 36: stream.video.sfu.models.InputDevices - (*AndroidState)(nil), // 37: stream.video.sfu.models.AndroidState - (*AppleState)(nil), // 38: stream.video.sfu.models.AppleState - (*PerformanceStats)(nil), // 39: stream.video.sfu.models.PerformanceStats - (*timestamppb.Timestamp)(nil), // 40: google.protobuf.Timestamp - (*structpb.Struct)(nil), // 41: google.protobuf.Struct + (ErrorCode)(0), // 5: stream.video.sfu.models.ErrorCode + (SdkType)(0), // 6: stream.video.sfu.models.SdkType + (TrackUnpublishReason)(0), // 7: stream.video.sfu.models.TrackUnpublishReason + (GoAwayReason)(0), // 8: stream.video.sfu.models.GoAwayReason + (CallEndedReason)(0), // 9: stream.video.sfu.models.CallEndedReason + (WebsocketReconnectStrategy)(0), // 10: stream.video.sfu.models.WebsocketReconnectStrategy + (AndroidThermalState)(0), // 11: stream.video.sfu.models.AndroidThermalState + (AppleThermalState)(0), // 12: stream.video.sfu.models.AppleThermalState + (ClientCapability)(0), // 13: stream.video.sfu.models.ClientCapability + (*CallState)(nil), // 14: stream.video.sfu.models.CallState + (*ParticipantCount)(nil), // 15: stream.video.sfu.models.ParticipantCount + (*Pin)(nil), // 16: stream.video.sfu.models.Pin + (*Participant)(nil), // 17: stream.video.sfu.models.Participant + (*StreamQuality)(nil), // 18: stream.video.sfu.models.StreamQuality + (*VideoDimension)(nil), // 19: stream.video.sfu.models.VideoDimension + (*VideoLayer)(nil), // 20: stream.video.sfu.models.VideoLayer + (*SubscribeOption)(nil), // 21: stream.video.sfu.models.SubscribeOption + (*PublishOption)(nil), // 22: stream.video.sfu.models.PublishOption + (*Codec)(nil), // 23: stream.video.sfu.models.Codec + (*ICETrickle)(nil), // 24: stream.video.sfu.models.ICETrickle + (*TrackInfo)(nil), // 25: stream.video.sfu.models.TrackInfo + (*Error)(nil), // 26: stream.video.sfu.models.Error + (*ClientDetails)(nil), // 27: stream.video.sfu.models.ClientDetails + (*Sdk)(nil), // 28: stream.video.sfu.models.Sdk + (*OS)(nil), // 29: stream.video.sfu.models.OS + (*Browser)(nil), // 30: stream.video.sfu.models.Browser + (*RTMPIngress)(nil), // 31: stream.video.sfu.models.RTMPIngress + (*Device)(nil), // 32: stream.video.sfu.models.Device + (*Call)(nil), // 33: stream.video.sfu.models.Call + (*CallGrants)(nil), // 34: stream.video.sfu.models.CallGrants + (*InputDevices)(nil), // 35: stream.video.sfu.models.InputDevices + (*AndroidState)(nil), // 36: stream.video.sfu.models.AndroidState + (*AppleState)(nil), // 37: stream.video.sfu.models.AppleState + (*PerformanceStats)(nil), // 38: stream.video.sfu.models.PerformanceStats + (*timestamppb.Timestamp)(nil), // 39: google.protobuf.Timestamp + (*structpb.Struct)(nil), // 40: google.protobuf.Struct } var file_video_sfu_models_models_proto_depIdxs = []int32{ - 18, // 0: stream.video.sfu.models.CallState.participants:type_name -> stream.video.sfu.models.Participant - 40, // 1: stream.video.sfu.models.CallState.started_at:type_name -> google.protobuf.Timestamp - 16, // 2: stream.video.sfu.models.CallState.participant_count:type_name -> stream.video.sfu.models.ParticipantCount - 17, // 3: stream.video.sfu.models.CallState.pins:type_name -> stream.video.sfu.models.Pin + 17, // 0: stream.video.sfu.models.CallState.participants:type_name -> stream.video.sfu.models.Participant + 39, // 1: stream.video.sfu.models.CallState.started_at:type_name -> google.protobuf.Timestamp + 15, // 2: stream.video.sfu.models.CallState.participant_count:type_name -> stream.video.sfu.models.ParticipantCount + 16, // 3: stream.video.sfu.models.CallState.pins:type_name -> stream.video.sfu.models.Pin 3, // 4: stream.video.sfu.models.Participant.published_tracks:type_name -> stream.video.sfu.models.TrackType - 40, // 5: stream.video.sfu.models.Participant.joined_at:type_name -> google.protobuf.Timestamp + 39, // 5: stream.video.sfu.models.Participant.joined_at:type_name -> google.protobuf.Timestamp 1, // 6: stream.video.sfu.models.Participant.connection_quality:type_name -> stream.video.sfu.models.ConnectionQuality - 41, // 7: stream.video.sfu.models.Participant.custom:type_name -> google.protobuf.Struct + 40, // 7: stream.video.sfu.models.Participant.custom:type_name -> google.protobuf.Struct 4, // 8: stream.video.sfu.models.Participant.source:type_name -> stream.video.sfu.models.ParticipantSource 2, // 9: stream.video.sfu.models.StreamQuality.video_quality:type_name -> stream.video.sfu.models.VideoQuality - 20, // 10: stream.video.sfu.models.VideoLayer.video_dimension:type_name -> stream.video.sfu.models.VideoDimension + 19, // 10: stream.video.sfu.models.VideoLayer.video_dimension:type_name -> stream.video.sfu.models.VideoDimension 2, // 11: stream.video.sfu.models.VideoLayer.quality:type_name -> stream.video.sfu.models.VideoQuality 3, // 12: stream.video.sfu.models.SubscribeOption.track_type:type_name -> stream.video.sfu.models.TrackType - 24, // 13: stream.video.sfu.models.SubscribeOption.codecs:type_name -> stream.video.sfu.models.Codec + 23, // 13: stream.video.sfu.models.SubscribeOption.codecs:type_name -> stream.video.sfu.models.Codec 3, // 14: stream.video.sfu.models.PublishOption.track_type:type_name -> stream.video.sfu.models.TrackType - 24, // 15: stream.video.sfu.models.PublishOption.codec:type_name -> stream.video.sfu.models.Codec - 20, // 16: stream.video.sfu.models.PublishOption.video_dimension:type_name -> stream.video.sfu.models.VideoDimension + 23, // 15: stream.video.sfu.models.PublishOption.codec:type_name -> stream.video.sfu.models.Codec + 19, // 16: stream.video.sfu.models.PublishOption.video_dimension:type_name -> stream.video.sfu.models.VideoDimension 0, // 17: stream.video.sfu.models.ICETrickle.peer_type:type_name -> stream.video.sfu.models.PeerType 3, // 18: stream.video.sfu.models.TrackInfo.track_type:type_name -> stream.video.sfu.models.TrackType - 21, // 19: stream.video.sfu.models.TrackInfo.layers:type_name -> stream.video.sfu.models.VideoLayer - 24, // 20: stream.video.sfu.models.TrackInfo.codec:type_name -> stream.video.sfu.models.Codec - 5, // 21: stream.video.sfu.models.TrackInfo.audio_bitrate_type:type_name -> stream.video.sfu.models.AudioBitrateType - 6, // 22: stream.video.sfu.models.Error.code:type_name -> stream.video.sfu.models.ErrorCode - 29, // 23: stream.video.sfu.models.ClientDetails.sdk:type_name -> stream.video.sfu.models.Sdk - 30, // 24: stream.video.sfu.models.ClientDetails.os:type_name -> stream.video.sfu.models.OS - 31, // 25: stream.video.sfu.models.ClientDetails.browser:type_name -> stream.video.sfu.models.Browser - 33, // 26: stream.video.sfu.models.ClientDetails.device:type_name -> stream.video.sfu.models.Device - 7, // 27: stream.video.sfu.models.Sdk.type:type_name -> stream.video.sfu.models.SdkType - 41, // 28: stream.video.sfu.models.Call.custom:type_name -> google.protobuf.Struct - 40, // 29: stream.video.sfu.models.Call.created_at:type_name -> google.protobuf.Timestamp - 40, // 30: stream.video.sfu.models.Call.updated_at:type_name -> google.protobuf.Timestamp - 12, // 31: stream.video.sfu.models.AndroidState.thermal_state:type_name -> stream.video.sfu.models.AndroidThermalState - 13, // 32: stream.video.sfu.models.AppleState.thermal_state:type_name -> stream.video.sfu.models.AppleThermalState - 3, // 33: stream.video.sfu.models.PerformanceStats.track_type:type_name -> stream.video.sfu.models.TrackType - 24, // 34: stream.video.sfu.models.PerformanceStats.codec:type_name -> stream.video.sfu.models.Codec - 20, // 35: stream.video.sfu.models.PerformanceStats.video_dimension:type_name -> stream.video.sfu.models.VideoDimension - 36, // [36:36] is the sub-list for method output_type - 36, // [36:36] is the sub-list for method input_type - 36, // [36:36] is the sub-list for extension type_name - 36, // [36:36] is the sub-list for extension extendee - 0, // [0:36] is the sub-list for field type_name + 20, // 19: stream.video.sfu.models.TrackInfo.layers:type_name -> stream.video.sfu.models.VideoLayer + 23, // 20: stream.video.sfu.models.TrackInfo.codec:type_name -> stream.video.sfu.models.Codec + 5, // 21: stream.video.sfu.models.Error.code:type_name -> stream.video.sfu.models.ErrorCode + 28, // 22: stream.video.sfu.models.ClientDetails.sdk:type_name -> stream.video.sfu.models.Sdk + 29, // 23: stream.video.sfu.models.ClientDetails.os:type_name -> stream.video.sfu.models.OS + 30, // 24: stream.video.sfu.models.ClientDetails.browser:type_name -> stream.video.sfu.models.Browser + 32, // 25: stream.video.sfu.models.ClientDetails.device:type_name -> stream.video.sfu.models.Device + 6, // 26: stream.video.sfu.models.Sdk.type:type_name -> stream.video.sfu.models.SdkType + 40, // 27: stream.video.sfu.models.Call.custom:type_name -> google.protobuf.Struct + 39, // 28: stream.video.sfu.models.Call.created_at:type_name -> google.protobuf.Timestamp + 39, // 29: stream.video.sfu.models.Call.updated_at:type_name -> google.protobuf.Timestamp + 11, // 30: stream.video.sfu.models.AndroidState.thermal_state:type_name -> stream.video.sfu.models.AndroidThermalState + 12, // 31: stream.video.sfu.models.AppleState.thermal_state:type_name -> stream.video.sfu.models.AppleThermalState + 3, // 32: stream.video.sfu.models.PerformanceStats.track_type:type_name -> stream.video.sfu.models.TrackType + 23, // 33: stream.video.sfu.models.PerformanceStats.codec:type_name -> stream.video.sfu.models.Codec + 19, // 34: stream.video.sfu.models.PerformanceStats.video_dimension:type_name -> stream.video.sfu.models.VideoDimension + 35, // [35:35] is the sub-list for method output_type + 35, // [35:35] is the sub-list for method input_type + 35, // [35:35] is the sub-list for extension type_name + 35, // [35:35] is the sub-list for extension extendee + 0, // [0:35] is the sub-list for field type_name } func init() { file_video_sfu_models_models_proto_init() } @@ -3779,7 +3708,7 @@ func file_video_sfu_models_models_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_video_sfu_models_models_proto_rawDesc, - NumEnums: 15, + NumEnums: 14, NumMessages: 25, NumExtensions: 0, NumServices: 0, diff --git a/protobuf/video/sfu/models/models.proto b/protobuf/video/sfu/models/models.proto index 137c63936..a3528dbca 100644 --- a/protobuf/video/sfu/models/models.proto +++ b/protobuf/video/sfu/models/models.proto @@ -196,12 +196,6 @@ message ICETrickle { string session_id = 3; } -enum AudioBitrateType { - VOICE_STANDARD_UNSPECIFIED = 0; - VOICE_HIGH_QUALITY = 1; - MUSIC_HIGH_QUALITY = 2; -} - message TrackInfo { string track_id = 1; TrackType track_type = 2; @@ -214,7 +208,6 @@ message TrackInfo { bool muted = 10; Codec codec = 11; int32 publish_option_id = 12; - AudioBitrateType audio_bitrate_type = 13; } enum ErrorCode { diff --git a/protobuf/video/sfu/models/models_vtproto.pb.go b/protobuf/video/sfu/models/models_vtproto.pb.go index 38338f883..61dc4ae8f 100644 --- a/protobuf/video/sfu/models/models_vtproto.pb.go +++ b/protobuf/video/sfu/models/models_vtproto.pb.go @@ -824,11 +824,6 @@ func (m *TrackInfo) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.AudioBitrateType != 0 { - i = encodeVarint(dAtA, i, uint64(m.AudioBitrateType)) - i-- - dAtA[i] = 0x68 - } if m.PublishOptionId != 0 { i = encodeVarint(dAtA, i, uint64(m.PublishOptionId)) i-- @@ -2140,9 +2135,6 @@ func (m *TrackInfo) SizeVT() (n int) { if m.PublishOptionId != 0 { n += 1 + sov(uint64(m.PublishOptionId)) } - if m.AudioBitrateType != 0 { - n += 1 + sov(uint64(m.AudioBitrateType)) - } if m.unknownFields != nil { n += len(m.unknownFields) } @@ -4725,25 +4717,6 @@ func (m *TrackInfo) UnmarshalVT(dAtA []byte) error { break } } - case 13: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field AudioBitrateType", wireType) - } - m.AudioBitrateType = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.AudioBitrateType |= AudioBitrateType(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := skip(dAtA[iNdEx:]) From ed2970cdcf20aad03332ab98ddaafd707640ca7c Mon Sep 17 00:00:00 2001 From: guldev25 Date: Thu, 4 Sep 2025 11:32:27 +0200 Subject: [PATCH 7/7] fix lint issues --- protobuf/video/sfu/models/models.pb.go | 933 ++++++++++-------- protobuf/video/sfu/models/models.proto | 7 + .../video/sfu/models/models_vtproto.pb.go | 27 + 3 files changed, 538 insertions(+), 429 deletions(-) diff --git a/protobuf/video/sfu/models/models.pb.go b/protobuf/video/sfu/models/models.pb.go index 2f51346e2..9ebb396c6 100644 --- a/protobuf/video/sfu/models/models.pb.go +++ b/protobuf/video/sfu/models/models.pb.go @@ -287,6 +287,55 @@ func (ParticipantSource) EnumDescriptor() ([]byte, []int) { return file_video_sfu_models_models_proto_rawDescGZIP(), []int{4} } +type AudioBitrateType int32 + +const ( + AudioBitrateType_AUDIO_BITRATE_TYPE_VOICE_STANDARD_UNSPECIFIED AudioBitrateType = 0 + AudioBitrateType_AUDIO_BITRATE_TYPE_VOICE_HIGH_QUALITY AudioBitrateType = 1 + AudioBitrateType_AUDIO_BITRATE_TYPE_MUSIC_HIGH_QUALITY AudioBitrateType = 2 +) + +// Enum value maps for AudioBitrateType. +var ( + AudioBitrateType_name = map[int32]string{ + 0: "AUDIO_BITRATE_TYPE_VOICE_STANDARD_UNSPECIFIED", + 1: "AUDIO_BITRATE_TYPE_VOICE_HIGH_QUALITY", + 2: "AUDIO_BITRATE_TYPE_MUSIC_HIGH_QUALITY", + } + AudioBitrateType_value = map[string]int32{ + "AUDIO_BITRATE_TYPE_VOICE_STANDARD_UNSPECIFIED": 0, + "AUDIO_BITRATE_TYPE_VOICE_HIGH_QUALITY": 1, + "AUDIO_BITRATE_TYPE_MUSIC_HIGH_QUALITY": 2, + } +) + +func (x AudioBitrateType) Enum() *AudioBitrateType { + p := new(AudioBitrateType) + *p = x + return p +} + +func (x AudioBitrateType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AudioBitrateType) Descriptor() protoreflect.EnumDescriptor { + return file_video_sfu_models_models_proto_enumTypes[5].Descriptor() +} + +func (AudioBitrateType) Type() protoreflect.EnumType { + return &file_video_sfu_models_models_proto_enumTypes[5] +} + +func (x AudioBitrateType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AudioBitrateType.Descriptor instead. +func (AudioBitrateType) EnumDescriptor() ([]byte, []int) { + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{5} +} + type ErrorCode int32 const ( @@ -377,11 +426,11 @@ func (x ErrorCode) String() string { } func (ErrorCode) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[5].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[6].Descriptor() } func (ErrorCode) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[5] + return &file_video_sfu_models_models_proto_enumTypes[6] } func (x ErrorCode) Number() protoreflect.EnumNumber { @@ -390,7 +439,7 @@ func (x ErrorCode) Number() protoreflect.EnumNumber { // Deprecated: Use ErrorCode.Descriptor instead. func (ErrorCode) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{5} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{6} } type SdkType int32 @@ -447,11 +496,11 @@ func (x SdkType) String() string { } func (SdkType) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[6].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[7].Descriptor() } func (SdkType) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[6] + return &file_video_sfu_models_models_proto_enumTypes[7] } func (x SdkType) Number() protoreflect.EnumNumber { @@ -460,7 +509,7 @@ func (x SdkType) Number() protoreflect.EnumNumber { // Deprecated: Use SdkType.Descriptor instead. func (SdkType) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{6} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{7} } type TrackUnpublishReason int32 @@ -509,11 +558,11 @@ func (x TrackUnpublishReason) String() string { } func (TrackUnpublishReason) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[7].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[8].Descriptor() } func (TrackUnpublishReason) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[7] + return &file_video_sfu_models_models_proto_enumTypes[8] } func (x TrackUnpublishReason) Number() protoreflect.EnumNumber { @@ -522,7 +571,7 @@ func (x TrackUnpublishReason) Number() protoreflect.EnumNumber { // Deprecated: Use TrackUnpublishReason.Descriptor instead. func (TrackUnpublishReason) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{7} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{8} } // GoAwayReason represents the reason for the SFU to @@ -560,11 +609,11 @@ func (x GoAwayReason) String() string { } func (GoAwayReason) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[8].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[9].Descriptor() } func (GoAwayReason) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[8] + return &file_video_sfu_models_models_proto_enumTypes[9] } func (x GoAwayReason) Number() protoreflect.EnumNumber { @@ -573,7 +622,7 @@ func (x GoAwayReason) Number() protoreflect.EnumNumber { // Deprecated: Use GoAwayReason.Descriptor instead. func (GoAwayReason) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{8} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{9} } // CallEndedReason represents the reason for the call to end. @@ -616,11 +665,11 @@ func (x CallEndedReason) String() string { } func (CallEndedReason) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[9].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[10].Descriptor() } func (CallEndedReason) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[9] + return &file_video_sfu_models_models_proto_enumTypes[10] } func (x CallEndedReason) Number() protoreflect.EnumNumber { @@ -629,7 +678,7 @@ func (x CallEndedReason) Number() protoreflect.EnumNumber { // Deprecated: Use CallEndedReason.Descriptor instead. func (CallEndedReason) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{9} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{10} } // WebsocketReconnectStrategy defines the ws strategies available for handling reconnections. @@ -678,11 +727,11 @@ func (x WebsocketReconnectStrategy) String() string { } func (WebsocketReconnectStrategy) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[10].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[11].Descriptor() } func (WebsocketReconnectStrategy) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[10] + return &file_video_sfu_models_models_proto_enumTypes[11] } func (x WebsocketReconnectStrategy) Number() protoreflect.EnumNumber { @@ -691,7 +740,7 @@ func (x WebsocketReconnectStrategy) Number() protoreflect.EnumNumber { // Deprecated: Use WebsocketReconnectStrategy.Descriptor instead. func (WebsocketReconnectStrategy) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{10} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{11} } // AndroidThermalState is reported by the Android API. The full list of values is documented here @@ -744,11 +793,11 @@ func (x AndroidThermalState) String() string { } func (AndroidThermalState) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[11].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[12].Descriptor() } func (AndroidThermalState) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[11] + return &file_video_sfu_models_models_proto_enumTypes[12] } func (x AndroidThermalState) Number() protoreflect.EnumNumber { @@ -757,7 +806,7 @@ func (x AndroidThermalState) Number() protoreflect.EnumNumber { // Deprecated: Use AndroidThermalState.Descriptor instead. func (AndroidThermalState) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{11} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{12} } // AppleThermalState is the thermal state as reported by Apple devices when available or applicable to the platform. @@ -801,11 +850,11 @@ func (x AppleThermalState) String() string { } func (AppleThermalState) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[12].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[13].Descriptor() } func (AppleThermalState) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[12] + return &file_video_sfu_models_models_proto_enumTypes[13] } func (x AppleThermalState) Number() protoreflect.EnumNumber { @@ -814,7 +863,7 @@ func (x AppleThermalState) Number() protoreflect.EnumNumber { // Deprecated: Use AppleThermalState.Descriptor instead. func (AppleThermalState) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{12} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{13} } // ClientCapability defines a feature that client supports @@ -849,11 +898,11 @@ func (x ClientCapability) String() string { } func (ClientCapability) Descriptor() protoreflect.EnumDescriptor { - return file_video_sfu_models_models_proto_enumTypes[13].Descriptor() + return file_video_sfu_models_models_proto_enumTypes[14].Descriptor() } func (ClientCapability) Type() protoreflect.EnumType { - return &file_video_sfu_models_models_proto_enumTypes[13] + return &file_video_sfu_models_models_proto_enumTypes[14] } func (x ClientCapability) Number() protoreflect.EnumNumber { @@ -862,7 +911,7 @@ func (x ClientCapability) Number() protoreflect.EnumNumber { // Deprecated: Use ClientCapability.Descriptor instead. func (ClientCapability) EnumDescriptor() ([]byte, []int) { - return file_video_sfu_models_models_proto_rawDescGZIP(), []int{13} + return file_video_sfu_models_models_proto_rawDescGZIP(), []int{14} } // CallState is the current state of the call @@ -1762,12 +1811,13 @@ type TrackInfo struct { Layers []*VideoLayer `protobuf:"bytes,5,rep,name=layers,proto3" json:"layers,omitempty"` Mid string `protobuf:"bytes,6,opt,name=mid,proto3" json:"mid,omitempty"` // for audio tracks - Dtx bool `protobuf:"varint,7,opt,name=dtx,proto3" json:"dtx,omitempty"` - Stereo bool `protobuf:"varint,8,opt,name=stereo,proto3" json:"stereo,omitempty"` - Red bool `protobuf:"varint,9,opt,name=red,proto3" json:"red,omitempty"` - Muted bool `protobuf:"varint,10,opt,name=muted,proto3" json:"muted,omitempty"` - Codec *Codec `protobuf:"bytes,11,opt,name=codec,proto3" json:"codec,omitempty"` - PublishOptionId int32 `protobuf:"varint,12,opt,name=publish_option_id,json=publishOptionId,proto3" json:"publish_option_id,omitempty"` + Dtx bool `protobuf:"varint,7,opt,name=dtx,proto3" json:"dtx,omitempty"` + Stereo bool `protobuf:"varint,8,opt,name=stereo,proto3" json:"stereo,omitempty"` + Red bool `protobuf:"varint,9,opt,name=red,proto3" json:"red,omitempty"` + Muted bool `protobuf:"varint,10,opt,name=muted,proto3" json:"muted,omitempty"` + Codec *Codec `protobuf:"bytes,11,opt,name=codec,proto3" json:"codec,omitempty"` + PublishOptionId int32 `protobuf:"varint,12,opt,name=publish_option_id,json=publishOptionId,proto3" json:"publish_option_id,omitempty"` + AudioBitrateType AudioBitrateType `protobuf:"varint,13,opt,name=audio_bitrate_type,json=audioBitrateType,proto3,enum=stream.video.sfu.models.AudioBitrateType" json:"audio_bitrate_type,omitempty"` } func (x *TrackInfo) Reset() { @@ -1872,6 +1922,13 @@ func (x *TrackInfo) GetPublishOptionId() int32 { return 0 } +func (x *TrackInfo) GetAudioBitrateType() AudioBitrateType { + if x != nil { + return x.AudioBitrateType + } + return AudioBitrateType_AUDIO_BITRATE_TYPE_VOICE_STANDARD_UNSPECIFIED +} + type Error struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2936,7 +2993,7 @@ var file_video_sfu_models_models_proto_rawDesc = []byte{ 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x63, 0x65, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xec, 0x02, 0x0a, 0x09, + 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xc5, 0x03, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, @@ -2959,341 +3016,357 @@ var file_video_sfu_models_models_proto_rawDesc = []byte{ 0x73, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x7c, 0x0a, 0x05, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x12, 0x36, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, - 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 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, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, - 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x52, 0x65, 0x74, 0x72, 0x79, 0x22, 0xe1, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x03, 0x73, 0x64, - 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x73, 0x2e, 0x53, 0x64, 0x6b, 0x52, 0x03, 0x73, 0x64, 0x6b, 0x12, 0x2b, 0x0a, 0x02, 0x6f, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, + 0x73, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x57, 0x0a, 0x12, 0x61, 0x75, + 0x64, 0x69, 0x6f, 0x5f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, - 0x2e, 0x4f, 0x53, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, - 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x73, 0x2e, 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x52, 0x07, 0x62, 0x72, 0x6f, 0x77, - 0x73, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, - 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x44, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x7d, 0x0a, 0x03, - 0x53, 0x64, 0x6b, 0x12, 0x34, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, - 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x53, 0x64, 0x6b, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, - 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, - 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x22, 0x56, 0x0a, 0x02, 0x4f, - 0x53, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, - 0x75, 0x72, 0x65, 0x22, 0x37, 0x0a, 0x07, 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xcb, 0x01, 0x0a, - 0x0b, 0x52, 0x54, 0x4d, 0x50, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, - 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, - 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, - 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, - 0x66, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x66, - 0x74, 0x77, 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x66, - 0x74, 0x77, 0x61, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x22, 0x36, 0x0a, 0x06, 0x44, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x22, 0xa0, 0x02, 0x0a, 0x04, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x2b, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, - 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x68, 0x6f, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, - 0x0a, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, - 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x8d, 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x6c, 0x6c, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x73, 0x68, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0f, 0x63, 0x61, 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x41, 0x75, 0x64, 0x69, 0x6f, - 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, - 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x61, 0x6e, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x27, 0x0a, 0x0f, - 0x63, 0x61, 0x6e, 0x5f, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x61, 0x6e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, - 0x73, 0x68, 0x61, 0x72, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x0c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, - 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0b, 0x69, 0x73, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x22, 0x90, 0x01, - 0x0a, 0x0c, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x51, - 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, - 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, - 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x52, 0x0c, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x61, - 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, - 0x69, 0x73, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x61, 0x76, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, - 0x22, 0x97, 0x01, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x4f, 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, - 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, - 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x52, 0x0c, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x38, 0x0a, 0x19, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, - 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73, 0x4c, 0x6f, 0x77, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4d, - 0x6f, 0x64, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xc8, 0x02, 0x0a, 0x10, 0x50, - 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, - 0x41, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, - 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x54, 0x72, - 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, - 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x43, 0x6f, 0x64, 0x65, - 0x63, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x29, 0x0a, 0x11, 0x61, 0x76, 0x67, 0x5f, - 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x0e, 0x61, 0x76, 0x67, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x4d, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x76, 0x67, 0x5f, 0x66, 0x70, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x61, 0x76, 0x67, 0x46, 0x70, 0x73, 0x12, 0x50, 0x0a, 0x0f, - 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, - 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, - 0x56, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0e, - 0x76, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, - 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x69, - 0x74, 0x72, 0x61, 0x74, 0x65, 0x2a, 0x49, 0x0a, 0x08, 0x50, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, - 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x52, 0x10, 0x01, - 0x2a, 0x93, 0x01, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, - 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, - 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, - 0x5f, 0x50, 0x4f, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x4e, 0x4e, 0x45, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x47, 0x4f, - 0x4f, 0x44, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x4c, - 0x4c, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x2a, 0x77, 0x0a, 0x0c, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x51, - 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x1d, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, - 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, - 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x49, 0x44, 0x10, 0x01, - 0x12, 0x16, 0x0a, 0x12, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, - 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, 0x45, - 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0x03, 0x2a, - 0x93, 0x01, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, - 0x16, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, - 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x01, 0x12, - 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x49, - 0x44, 0x45, 0x4f, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, - 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x41, 0x55, - 0x44, 0x49, 0x4f, 0x10, 0x04, 0x2a, 0xcd, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x50, - 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, - 0x45, 0x5f, 0x57, 0x45, 0x42, 0x52, 0x54, 0x43, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, - 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x54, 0x4d, - 0x50, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, - 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x57, 0x48, 0x49, 0x50, 0x10, 0x02, - 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, - 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x49, 0x50, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, + 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x42, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x10, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x42, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x22, 0x7c, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x36, 0x0a, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, + 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, 0x21, + 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x52, 0x65, 0x74, 0x72, + 0x79, 0x22, 0xe1, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x03, 0x73, 0x64, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, + 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x53, 0x64, 0x6b, 0x52, 0x03, + 0x73, 0x64, 0x6b, 0x12, 0x2b, 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, + 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x4f, 0x53, 0x52, 0x02, 0x6f, 0x73, + 0x12, 0x3a, 0x0a, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, + 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x42, 0x72, 0x6f, 0x77, + 0x73, 0x65, 0x72, 0x52, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x06, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x7d, 0x0a, 0x03, 0x53, 0x64, 0x6b, 0x12, 0x34, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x53, 0x64, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x14, + 0x0a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, + 0x61, 0x74, 0x63, 0x68, 0x22, 0x56, 0x0a, 0x02, 0x4f, 0x53, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x22, 0x37, 0x0a, 0x07, + 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xcb, 0x01, 0x0a, 0x0b, 0x52, 0x54, 0x4d, 0x50, 0x49, 0x6e, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x74, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x61, + 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x63, 0x6f, + 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x63, 0x6f, 0x64, + 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, + 0x64, 0x64, 0x72, 0x22, 0x36, 0x0a, 0x06, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa0, 0x02, 0x0a, 0x04, + 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x6f, 0x73, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x8d, + 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, + 0x11, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x61, 0x75, 0x64, + 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x61, 0x6e, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x73, 0x68, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x6e, + 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x61, 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x61, 0x6e, 0x5f, 0x73, 0x63, 0x72, + 0x65, 0x65, 0x6e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, + 0x63, 0x61, 0x6e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x22, 0x85, + 0x01, 0x0a, 0x0c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, + 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x22, 0x90, 0x01, 0x0a, 0x0c, 0x41, 0x6e, 0x64, 0x72, 0x6f, + 0x69, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x51, 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x72, 0x6d, + 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, + 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, + 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, + 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x74, 0x68, + 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x69, 0x73, + 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x61, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x50, 0x6f, 0x77, 0x65, 0x72, + 0x53, 0x61, 0x76, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x97, 0x01, 0x0a, 0x0a, 0x41, 0x70, + 0x70, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4f, 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x72, + 0x6d, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x2a, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, + 0x66, 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x54, + 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x74, 0x68, 0x65, + 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x19, 0x69, 0x73, 0x5f, + 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73, + 0x4c, 0x6f, 0x77, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x22, 0xc8, 0x02, 0x0a, 0x10, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, + 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x73, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x63, + 0x6f, 0x64, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, 0x75, 0x2e, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, + 0x63, 0x12, 0x29, 0x0a, 0x11, 0x61, 0x76, 0x67, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x61, 0x76, + 0x67, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x17, 0x0a, 0x07, + 0x61, 0x76, 0x67, 0x5f, 0x66, 0x70, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x61, + 0x76, 0x67, 0x46, 0x70, 0x73, 0x12, 0x50, 0x0a, 0x0f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x64, + 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x73, 0x66, + 0x75, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x69, + 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x69, + 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x2a, 0x49, + 0x0a, 0x08, 0x50, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x45, + 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, + 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x18, 0x0a, 0x14, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x55, 0x42, + 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x52, 0x10, 0x01, 0x2a, 0x93, 0x01, 0x0a, 0x11, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, + 0x22, 0x0a, 0x1e, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, + 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x4f, 0x4f, 0x52, 0x10, 0x01, + 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, + 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x47, 0x4f, 0x4f, 0x44, 0x10, 0x02, 0x12, 0x20, 0x0a, + 0x1c, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x41, 0x4c, + 0x49, 0x54, 0x59, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x2a, + 0x77, 0x0a, 0x0c, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, + 0x21, 0x0a, 0x1d, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, + 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, + 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x49, 0x44, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x49, 0x44, + 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, + 0x02, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, + 0x54, 0x59, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0x03, 0x2a, 0x93, 0x01, 0x0a, 0x09, 0x54, 0x72, 0x61, + 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x43, + 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x10, 0x02, 0x12, 0x1b, + 0x0a, 0x17, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x43, 0x52, + 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x54, + 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, + 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x04, 0x2a, 0xcd, + 0x01, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, + 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x57, 0x45, 0x42, 0x52, 0x54, + 0x43, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, + 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x54, 0x4d, 0x50, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, - 0x43, 0x45, 0x5f, 0x52, 0x54, 0x53, 0x50, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x52, + 0x43, 0x45, 0x5f, 0x57, 0x48, 0x49, 0x50, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, - 0x53, 0x52, 0x54, 0x10, 0x05, 0x2a, 0xea, 0x06, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, - 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, - 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x26, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, - 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, - 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x64, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, - 0x41, 0x43, 0x4b, 0x53, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x65, 0x12, - 0x29, 0x0a, 0x25, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, - 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4f, 0x55, 0x54, 0x5f, - 0x4f, 0x46, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x66, 0x12, 0x32, 0x0a, 0x2e, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, - 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x4c, 0x41, 0x59, - 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x67, 0x12, 0x19, - 0x0a, 0x15, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x49, 0x56, - 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x68, 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, - 0x41, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xc8, 0x01, - 0x12, 0x29, 0x0a, 0x24, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, + 0x53, 0x49, 0x50, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, + 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x54, 0x53, 0x50, + 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, + 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x52, 0x54, 0x10, 0x05, 0x2a, 0x9b, + 0x01, 0x0a, 0x10, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x42, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x31, 0x0a, 0x2d, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x5f, 0x42, 0x49, 0x54, + 0x52, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x5f, + 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x29, 0x0a, 0x25, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x5f, + 0x42, 0x49, 0x54, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x4f, 0x49, + 0x43, 0x45, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x10, + 0x01, 0x12, 0x29, 0x0a, 0x25, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x5f, 0x42, 0x49, 0x54, 0x52, 0x41, + 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x55, 0x53, 0x49, 0x43, 0x5f, 0x48, 0x49, + 0x47, 0x48, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x02, 0x2a, 0xea, 0x06, 0x0a, + 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x52, + 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, + 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, + 0x43, 0x4b, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x64, 0x12, 0x26, + 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, + 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x53, 0x5f, 0x4d, 0x49, 0x53, 0x4d, + 0x41, 0x54, 0x43, 0x48, 0x10, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, + 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, + 0x43, 0x4b, 0x5f, 0x4f, 0x55, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, + 0x66, 0x12, 0x32, 0x0a, 0x2e, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, + 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x56, 0x49, + 0x44, 0x45, 0x4f, 0x5f, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, + 0x55, 0x4e, 0x44, 0x10, 0x67, 0x12, 0x19, 0x0a, 0x15, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, + 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x49, 0x56, 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x68, + 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, + 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, + 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xc8, 0x01, 0x12, 0x29, 0x0a, 0x24, 0x45, 0x52, 0x52, 0x4f, 0x52, + 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, + 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x55, 0x54, 0x10, + 0xc9, 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, + 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, + 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xca, 0x01, + 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, - 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0xc9, 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x45, - 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, - 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xca, 0x01, 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, - 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xcb, 0x01, - 0x12, 0x2c, 0x0a, 0x27, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, - 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, - 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xcc, 0x01, 0x12, 0x33, - 0x0a, 0x2e, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, - 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x5f, 0x54, - 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, - 0x10, 0xcd, 0x01, 0x12, 0x27, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, - 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x49, - 0x47, 0x4e, 0x41, 0x4c, 0x5f, 0x4c, 0x4f, 0x53, 0x54, 0x10, 0xce, 0x01, 0x12, 0x1e, 0x0a, 0x19, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, - 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xac, 0x02, 0x12, 0x2e, 0x0a, 0x29, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, - 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4c, 0x49, 0x4d, 0x49, - 0x54, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x48, 0x45, 0x44, 0x10, 0xad, 0x02, 0x12, 0x29, 0x0a, 0x24, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, - 0x53, 0x54, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, - 0x49, 0x4c, 0x45, 0x44, 0x10, 0x90, 0x03, 0x12, 0x1f, 0x0a, 0x1a, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, - 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x91, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, - 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x93, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, - 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, - 0x4e, 0x59, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x53, 0x10, 0xad, 0x03, 0x12, 0x25, - 0x0a, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x54, - 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x10, 0xf4, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, - 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x46, 0x55, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, 0x47, - 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xd8, 0x04, 0x12, 0x18, 0x0a, 0x13, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x46, 0x55, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, - 0xbc, 0x05, 0x2a, 0xea, 0x01, 0x0a, 0x07, 0x53, 0x64, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, - 0x0a, 0x14, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x44, 0x4b, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x54, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, - 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x47, 0x55, 0x4c, 0x41, 0x52, - 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, - 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x44, 0x4b, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4f, 0x53, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, - 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x4c, 0x55, 0x54, 0x54, 0x45, 0x52, 0x10, 0x05, - 0x12, 0x19, 0x0a, 0x15, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, - 0x43, 0x54, 0x5f, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x53, - 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x10, 0x07, 0x12, - 0x0f, 0x0a, 0x0b, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x4f, 0x10, 0x08, - 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4c, 0x41, - 0x49, 0x4e, 0x5f, 0x4a, 0x41, 0x56, 0x41, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x10, 0x09, 0x2a, - 0xbb, 0x01, 0x0a, 0x14, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x55, 0x6e, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x52, 0x41, 0x43, - 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, - 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, - 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, - 0x4d, 0x55, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x54, 0x52, 0x41, 0x43, 0x4b, + 0x54, 0x49, 0x4e, 0x47, 0x10, 0xcb, 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x45, 0x52, 0x52, 0x4f, 0x52, + 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, + 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, + 0x45, 0x44, 0x10, 0xcc, 0x01, 0x12, 0x33, 0x0a, 0x2e, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, + 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, + 0x4d, 0x45, 0x44, 0x49, 0x41, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, + 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0xcd, 0x01, 0x12, 0x27, 0x0a, 0x22, 0x45, 0x52, + 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, + 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x4c, 0x5f, 0x4c, 0x4f, 0x53, 0x54, + 0x10, 0xce, 0x01, 0x12, 0x1e, 0x0a, 0x19, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, + 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, + 0x10, 0xac, 0x02, 0x12, 0x2e, 0x0a, 0x29, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, + 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, + 0x4e, 0x54, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x48, 0x45, 0x44, + 0x10, 0xad, 0x02, 0x12, 0x29, 0x0a, 0x24, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, + 0x45, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x90, 0x03, 0x12, 0x1f, + 0x0a, 0x1a, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x41, + 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x91, 0x03, 0x12, + 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x45, + 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, + 0x93, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, + 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, + 0x54, 0x53, 0x10, 0xad, 0x03, 0x12, 0x25, 0x0a, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, + 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x52, + 0x56, 0x45, 0x52, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0xf4, 0x03, 0x12, 0x21, 0x0a, 0x1c, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x46, 0x55, 0x5f, 0x53, + 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xd8, 0x04, 0x12, + 0x18, 0x0a, 0x13, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x46, + 0x55, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0xbc, 0x05, 0x2a, 0xea, 0x01, 0x0a, 0x07, 0x53, 0x64, + 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x12, 0x0a, 0x0e, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x43, + 0x54, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x41, 0x4e, 0x47, 0x55, 0x4c, 0x41, 0x52, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, 0x4b, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x03, 0x12, + 0x10, 0x0a, 0x0c, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4f, 0x53, 0x10, + 0x04, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x4c, + 0x55, 0x54, 0x54, 0x45, 0x52, 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x44, 0x4b, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x54, 0x5f, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, + 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, + 0x4e, 0x49, 0x54, 0x59, 0x10, 0x07, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x44, 0x4b, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x47, 0x4f, 0x10, 0x08, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x44, 0x4b, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x49, 0x4e, 0x5f, 0x4a, 0x41, 0x56, 0x41, 0x53, 0x43, + 0x52, 0x49, 0x50, 0x54, 0x10, 0x09, 0x2a, 0xbb, 0x01, 0x0a, 0x14, 0x54, 0x72, 0x61, 0x63, 0x6b, + 0x55, 0x6e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, + 0x26, 0x0a, 0x22, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, + 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, - 0x4e, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x56, - 0x4f, 0x4b, 0x45, 0x44, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, - 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, - 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x2a, 0x6e, 0x0a, - 0x0c, 0x47, 0x6f, 0x41, 0x77, 0x61, 0x79, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, - 0x1a, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, - 0x1c, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, - 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, - 0x1c, 0x0a, 0x18, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, - 0x4e, 0x5f, 0x52, 0x45, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x2a, 0xb6, 0x01, - 0x0a, 0x0f, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x6e, 0x64, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, + 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x4d, 0x55, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x2d, + 0x0a, 0x29, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, + 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, + 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x56, 0x4f, 0x4b, 0x45, 0x44, 0x10, 0x02, 0x12, 0x25, 0x0a, + 0x21, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, + 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x52, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x10, 0x03, 0x2a, 0x6e, 0x0a, 0x0c, 0x47, 0x6f, 0x41, 0x77, 0x61, 0x79, 0x52, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x1a, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, - 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, - 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x49, 0x56, 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x45, - 0x44, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, - 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, 0x10, - 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, - 0x4e, 0x44, 0x45, 0x44, 0x10, 0x04, 0x2a, 0xf1, 0x01, 0x0a, 0x1a, 0x57, 0x65, 0x62, 0x73, 0x6f, - 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x53, 0x74, 0x72, - 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x2c, 0x0a, 0x28, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, - 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x2b, 0x0a, 0x27, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, - 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, - 0x45, 0x47, 0x59, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x01, - 0x12, 0x25, 0x0a, 0x21, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, - 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, - 0x5f, 0x46, 0x41, 0x53, 0x54, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x57, 0x45, 0x42, 0x53, 0x4f, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x5f, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, + 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x47, 0x4f, 0x5f, 0x41, 0x57, 0x41, + 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x42, 0x41, 0x4c, 0x41, 0x4e, + 0x43, 0x45, 0x10, 0x02, 0x2a, 0xb6, 0x01, 0x0a, 0x0f, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x6e, 0x64, + 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x41, 0x4c, 0x4c, + 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, + 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, + 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x41, 0x4c, 0x4c, + 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x49, + 0x56, 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x41, + 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, + 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x41, 0x4c, 0x4c, + 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x45, + 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x04, 0x2a, 0xf1, 0x01, + 0x0a, 0x1a, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x2c, 0x0a, 0x28, + 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, + 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2b, 0x0a, 0x27, 0x57, 0x45, + 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, + 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, + 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, - 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x52, 0x45, 0x4a, 0x4f, 0x49, 0x4e, 0x10, 0x03, - 0x12, 0x28, 0x0a, 0x24, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, - 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, - 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x45, 0x10, 0x04, 0x2a, 0xb0, 0x02, 0x0a, 0x13, 0x41, - 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, - 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4e, 0x44, - 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x4e, 0x44, - 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, - 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x52, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x20, - 0x0a, 0x1c, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, - 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x45, 0x10, 0x04, - 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, - 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, - 0x41, 0x4c, 0x10, 0x05, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, - 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4d, - 0x45, 0x52, 0x47, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, 0x44, + 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x46, 0x41, 0x53, 0x54, 0x10, 0x02, 0x12, 0x27, + 0x0a, 0x23, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, + 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x52, + 0x45, 0x4a, 0x4f, 0x49, 0x4e, 0x10, 0x03, 0x12, 0x28, 0x0a, 0x24, 0x57, 0x45, 0x42, 0x53, 0x4f, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, + 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x45, 0x10, + 0x04, 0x2a, 0xb0, 0x02, 0x0a, 0x13, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x54, 0x68, 0x65, + 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x07, 0x2a, 0xba, 0x01, - 0x0a, 0x11, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, - 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, - 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x4e, 0x4f, 0x4d, 0x49, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x50, 0x50, - 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x46, 0x41, 0x49, 0x52, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, 0x45, + 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, + 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, + 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, + 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x10, + 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, + 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x52, + 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, - 0x45, 0x52, 0x49, 0x4f, 0x55, 0x53, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x50, 0x50, 0x4c, - 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x04, 0x2a, 0x63, 0x0a, 0x10, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, - 0x0a, 0x1d, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, - 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x2c, 0x0a, 0x28, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x41, - 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, - 0x52, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, 0x01, 0x42, - 0x65, 0x42, 0x0b, 0x53, 0x66, 0x75, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x56, 0x31, 0x50, 0x01, - 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x65, 0x74, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2f, 0x73, - 0x66, 0x75, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0xaa, 0x02, 0x1a, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x66, 0x75, 0x2e, - 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x45, 0x56, 0x45, 0x52, 0x45, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, 0x44, 0x52, 0x4f, + 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x05, 0x12, 0x23, 0x0a, 0x1f, 0x41, + 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x06, + 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x54, 0x48, 0x45, 0x52, + 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, + 0x57, 0x4e, 0x10, 0x07, 0x2a, 0xba, 0x01, 0x0a, 0x11, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x54, 0x68, + 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x50, + 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4d, 0x49, 0x4e, 0x41, 0x4c, 0x10, 0x01, + 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, + 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x52, 0x10, 0x02, 0x12, 0x1f, + 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x49, 0x4f, 0x55, 0x53, 0x10, 0x03, 0x12, + 0x20, 0x0a, 0x1c, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x48, 0x45, 0x52, 0x4d, 0x41, 0x4c, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, + 0x04, 0x2a, 0x63, 0x0a, 0x10, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, + 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2c, 0x0a, 0x28, 0x43, 0x4c, 0x49, 0x45, + 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x55, + 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x52, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x50, + 0x41, 0x55, 0x53, 0x45, 0x10, 0x01, 0x42, 0x65, 0x42, 0x0b, 0x53, 0x66, 0x75, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x73, 0x56, 0x31, 0x50, 0x01, 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x65, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2f, 0x73, 0x66, 0x75, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, + 0xaa, 0x02, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x66, 0x75, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3308,7 +3381,7 @@ func file_video_sfu_models_models_proto_rawDescGZIP() []byte { return file_video_sfu_models_models_proto_rawDescData } -var file_video_sfu_models_models_proto_enumTypes = make([]protoimpl.EnumInfo, 14) +var file_video_sfu_models_models_proto_enumTypes = make([]protoimpl.EnumInfo, 15) var file_video_sfu_models_models_proto_msgTypes = make([]protoimpl.MessageInfo, 25) var file_video_sfu_models_models_proto_goTypes = []interface{}{ (PeerType)(0), // 0: stream.video.sfu.models.PeerType @@ -3316,84 +3389,86 @@ var file_video_sfu_models_models_proto_goTypes = []interface{}{ (VideoQuality)(0), // 2: stream.video.sfu.models.VideoQuality (TrackType)(0), // 3: stream.video.sfu.models.TrackType (ParticipantSource)(0), // 4: stream.video.sfu.models.ParticipantSource - (ErrorCode)(0), // 5: stream.video.sfu.models.ErrorCode - (SdkType)(0), // 6: stream.video.sfu.models.SdkType - (TrackUnpublishReason)(0), // 7: stream.video.sfu.models.TrackUnpublishReason - (GoAwayReason)(0), // 8: stream.video.sfu.models.GoAwayReason - (CallEndedReason)(0), // 9: stream.video.sfu.models.CallEndedReason - (WebsocketReconnectStrategy)(0), // 10: stream.video.sfu.models.WebsocketReconnectStrategy - (AndroidThermalState)(0), // 11: stream.video.sfu.models.AndroidThermalState - (AppleThermalState)(0), // 12: stream.video.sfu.models.AppleThermalState - (ClientCapability)(0), // 13: stream.video.sfu.models.ClientCapability - (*CallState)(nil), // 14: stream.video.sfu.models.CallState - (*ParticipantCount)(nil), // 15: stream.video.sfu.models.ParticipantCount - (*Pin)(nil), // 16: stream.video.sfu.models.Pin - (*Participant)(nil), // 17: stream.video.sfu.models.Participant - (*StreamQuality)(nil), // 18: stream.video.sfu.models.StreamQuality - (*VideoDimension)(nil), // 19: stream.video.sfu.models.VideoDimension - (*VideoLayer)(nil), // 20: stream.video.sfu.models.VideoLayer - (*SubscribeOption)(nil), // 21: stream.video.sfu.models.SubscribeOption - (*PublishOption)(nil), // 22: stream.video.sfu.models.PublishOption - (*Codec)(nil), // 23: stream.video.sfu.models.Codec - (*ICETrickle)(nil), // 24: stream.video.sfu.models.ICETrickle - (*TrackInfo)(nil), // 25: stream.video.sfu.models.TrackInfo - (*Error)(nil), // 26: stream.video.sfu.models.Error - (*ClientDetails)(nil), // 27: stream.video.sfu.models.ClientDetails - (*Sdk)(nil), // 28: stream.video.sfu.models.Sdk - (*OS)(nil), // 29: stream.video.sfu.models.OS - (*Browser)(nil), // 30: stream.video.sfu.models.Browser - (*RTMPIngress)(nil), // 31: stream.video.sfu.models.RTMPIngress - (*Device)(nil), // 32: stream.video.sfu.models.Device - (*Call)(nil), // 33: stream.video.sfu.models.Call - (*CallGrants)(nil), // 34: stream.video.sfu.models.CallGrants - (*InputDevices)(nil), // 35: stream.video.sfu.models.InputDevices - (*AndroidState)(nil), // 36: stream.video.sfu.models.AndroidState - (*AppleState)(nil), // 37: stream.video.sfu.models.AppleState - (*PerformanceStats)(nil), // 38: stream.video.sfu.models.PerformanceStats - (*timestamppb.Timestamp)(nil), // 39: google.protobuf.Timestamp - (*structpb.Struct)(nil), // 40: google.protobuf.Struct + (AudioBitrateType)(0), // 5: stream.video.sfu.models.AudioBitrateType + (ErrorCode)(0), // 6: stream.video.sfu.models.ErrorCode + (SdkType)(0), // 7: stream.video.sfu.models.SdkType + (TrackUnpublishReason)(0), // 8: stream.video.sfu.models.TrackUnpublishReason + (GoAwayReason)(0), // 9: stream.video.sfu.models.GoAwayReason + (CallEndedReason)(0), // 10: stream.video.sfu.models.CallEndedReason + (WebsocketReconnectStrategy)(0), // 11: stream.video.sfu.models.WebsocketReconnectStrategy + (AndroidThermalState)(0), // 12: stream.video.sfu.models.AndroidThermalState + (AppleThermalState)(0), // 13: stream.video.sfu.models.AppleThermalState + (ClientCapability)(0), // 14: stream.video.sfu.models.ClientCapability + (*CallState)(nil), // 15: stream.video.sfu.models.CallState + (*ParticipantCount)(nil), // 16: stream.video.sfu.models.ParticipantCount + (*Pin)(nil), // 17: stream.video.sfu.models.Pin + (*Participant)(nil), // 18: stream.video.sfu.models.Participant + (*StreamQuality)(nil), // 19: stream.video.sfu.models.StreamQuality + (*VideoDimension)(nil), // 20: stream.video.sfu.models.VideoDimension + (*VideoLayer)(nil), // 21: stream.video.sfu.models.VideoLayer + (*SubscribeOption)(nil), // 22: stream.video.sfu.models.SubscribeOption + (*PublishOption)(nil), // 23: stream.video.sfu.models.PublishOption + (*Codec)(nil), // 24: stream.video.sfu.models.Codec + (*ICETrickle)(nil), // 25: stream.video.sfu.models.ICETrickle + (*TrackInfo)(nil), // 26: stream.video.sfu.models.TrackInfo + (*Error)(nil), // 27: stream.video.sfu.models.Error + (*ClientDetails)(nil), // 28: stream.video.sfu.models.ClientDetails + (*Sdk)(nil), // 29: stream.video.sfu.models.Sdk + (*OS)(nil), // 30: stream.video.sfu.models.OS + (*Browser)(nil), // 31: stream.video.sfu.models.Browser + (*RTMPIngress)(nil), // 32: stream.video.sfu.models.RTMPIngress + (*Device)(nil), // 33: stream.video.sfu.models.Device + (*Call)(nil), // 34: stream.video.sfu.models.Call + (*CallGrants)(nil), // 35: stream.video.sfu.models.CallGrants + (*InputDevices)(nil), // 36: stream.video.sfu.models.InputDevices + (*AndroidState)(nil), // 37: stream.video.sfu.models.AndroidState + (*AppleState)(nil), // 38: stream.video.sfu.models.AppleState + (*PerformanceStats)(nil), // 39: stream.video.sfu.models.PerformanceStats + (*timestamppb.Timestamp)(nil), // 40: google.protobuf.Timestamp + (*structpb.Struct)(nil), // 41: google.protobuf.Struct } var file_video_sfu_models_models_proto_depIdxs = []int32{ - 17, // 0: stream.video.sfu.models.CallState.participants:type_name -> stream.video.sfu.models.Participant - 39, // 1: stream.video.sfu.models.CallState.started_at:type_name -> google.protobuf.Timestamp - 15, // 2: stream.video.sfu.models.CallState.participant_count:type_name -> stream.video.sfu.models.ParticipantCount - 16, // 3: stream.video.sfu.models.CallState.pins:type_name -> stream.video.sfu.models.Pin + 18, // 0: stream.video.sfu.models.CallState.participants:type_name -> stream.video.sfu.models.Participant + 40, // 1: stream.video.sfu.models.CallState.started_at:type_name -> google.protobuf.Timestamp + 16, // 2: stream.video.sfu.models.CallState.participant_count:type_name -> stream.video.sfu.models.ParticipantCount + 17, // 3: stream.video.sfu.models.CallState.pins:type_name -> stream.video.sfu.models.Pin 3, // 4: stream.video.sfu.models.Participant.published_tracks:type_name -> stream.video.sfu.models.TrackType - 39, // 5: stream.video.sfu.models.Participant.joined_at:type_name -> google.protobuf.Timestamp + 40, // 5: stream.video.sfu.models.Participant.joined_at:type_name -> google.protobuf.Timestamp 1, // 6: stream.video.sfu.models.Participant.connection_quality:type_name -> stream.video.sfu.models.ConnectionQuality - 40, // 7: stream.video.sfu.models.Participant.custom:type_name -> google.protobuf.Struct + 41, // 7: stream.video.sfu.models.Participant.custom:type_name -> google.protobuf.Struct 4, // 8: stream.video.sfu.models.Participant.source:type_name -> stream.video.sfu.models.ParticipantSource 2, // 9: stream.video.sfu.models.StreamQuality.video_quality:type_name -> stream.video.sfu.models.VideoQuality - 19, // 10: stream.video.sfu.models.VideoLayer.video_dimension:type_name -> stream.video.sfu.models.VideoDimension + 20, // 10: stream.video.sfu.models.VideoLayer.video_dimension:type_name -> stream.video.sfu.models.VideoDimension 2, // 11: stream.video.sfu.models.VideoLayer.quality:type_name -> stream.video.sfu.models.VideoQuality 3, // 12: stream.video.sfu.models.SubscribeOption.track_type:type_name -> stream.video.sfu.models.TrackType - 23, // 13: stream.video.sfu.models.SubscribeOption.codecs:type_name -> stream.video.sfu.models.Codec + 24, // 13: stream.video.sfu.models.SubscribeOption.codecs:type_name -> stream.video.sfu.models.Codec 3, // 14: stream.video.sfu.models.PublishOption.track_type:type_name -> stream.video.sfu.models.TrackType - 23, // 15: stream.video.sfu.models.PublishOption.codec:type_name -> stream.video.sfu.models.Codec - 19, // 16: stream.video.sfu.models.PublishOption.video_dimension:type_name -> stream.video.sfu.models.VideoDimension + 24, // 15: stream.video.sfu.models.PublishOption.codec:type_name -> stream.video.sfu.models.Codec + 20, // 16: stream.video.sfu.models.PublishOption.video_dimension:type_name -> stream.video.sfu.models.VideoDimension 0, // 17: stream.video.sfu.models.ICETrickle.peer_type:type_name -> stream.video.sfu.models.PeerType 3, // 18: stream.video.sfu.models.TrackInfo.track_type:type_name -> stream.video.sfu.models.TrackType - 20, // 19: stream.video.sfu.models.TrackInfo.layers:type_name -> stream.video.sfu.models.VideoLayer - 23, // 20: stream.video.sfu.models.TrackInfo.codec:type_name -> stream.video.sfu.models.Codec - 5, // 21: stream.video.sfu.models.Error.code:type_name -> stream.video.sfu.models.ErrorCode - 28, // 22: stream.video.sfu.models.ClientDetails.sdk:type_name -> stream.video.sfu.models.Sdk - 29, // 23: stream.video.sfu.models.ClientDetails.os:type_name -> stream.video.sfu.models.OS - 30, // 24: stream.video.sfu.models.ClientDetails.browser:type_name -> stream.video.sfu.models.Browser - 32, // 25: stream.video.sfu.models.ClientDetails.device:type_name -> stream.video.sfu.models.Device - 6, // 26: stream.video.sfu.models.Sdk.type:type_name -> stream.video.sfu.models.SdkType - 40, // 27: stream.video.sfu.models.Call.custom:type_name -> google.protobuf.Struct - 39, // 28: stream.video.sfu.models.Call.created_at:type_name -> google.protobuf.Timestamp - 39, // 29: stream.video.sfu.models.Call.updated_at:type_name -> google.protobuf.Timestamp - 11, // 30: stream.video.sfu.models.AndroidState.thermal_state:type_name -> stream.video.sfu.models.AndroidThermalState - 12, // 31: stream.video.sfu.models.AppleState.thermal_state:type_name -> stream.video.sfu.models.AppleThermalState - 3, // 32: stream.video.sfu.models.PerformanceStats.track_type:type_name -> stream.video.sfu.models.TrackType - 23, // 33: stream.video.sfu.models.PerformanceStats.codec:type_name -> stream.video.sfu.models.Codec - 19, // 34: stream.video.sfu.models.PerformanceStats.video_dimension:type_name -> stream.video.sfu.models.VideoDimension - 35, // [35:35] is the sub-list for method output_type - 35, // [35:35] is the sub-list for method input_type - 35, // [35:35] is the sub-list for extension type_name - 35, // [35:35] is the sub-list for extension extendee - 0, // [0:35] is the sub-list for field type_name + 21, // 19: stream.video.sfu.models.TrackInfo.layers:type_name -> stream.video.sfu.models.VideoLayer + 24, // 20: stream.video.sfu.models.TrackInfo.codec:type_name -> stream.video.sfu.models.Codec + 5, // 21: stream.video.sfu.models.TrackInfo.audio_bitrate_type:type_name -> stream.video.sfu.models.AudioBitrateType + 6, // 22: stream.video.sfu.models.Error.code:type_name -> stream.video.sfu.models.ErrorCode + 29, // 23: stream.video.sfu.models.ClientDetails.sdk:type_name -> stream.video.sfu.models.Sdk + 30, // 24: stream.video.sfu.models.ClientDetails.os:type_name -> stream.video.sfu.models.OS + 31, // 25: stream.video.sfu.models.ClientDetails.browser:type_name -> stream.video.sfu.models.Browser + 33, // 26: stream.video.sfu.models.ClientDetails.device:type_name -> stream.video.sfu.models.Device + 7, // 27: stream.video.sfu.models.Sdk.type:type_name -> stream.video.sfu.models.SdkType + 41, // 28: stream.video.sfu.models.Call.custom:type_name -> google.protobuf.Struct + 40, // 29: stream.video.sfu.models.Call.created_at:type_name -> google.protobuf.Timestamp + 40, // 30: stream.video.sfu.models.Call.updated_at:type_name -> google.protobuf.Timestamp + 12, // 31: stream.video.sfu.models.AndroidState.thermal_state:type_name -> stream.video.sfu.models.AndroidThermalState + 13, // 32: stream.video.sfu.models.AppleState.thermal_state:type_name -> stream.video.sfu.models.AppleThermalState + 3, // 33: stream.video.sfu.models.PerformanceStats.track_type:type_name -> stream.video.sfu.models.TrackType + 24, // 34: stream.video.sfu.models.PerformanceStats.codec:type_name -> stream.video.sfu.models.Codec + 20, // 35: stream.video.sfu.models.PerformanceStats.video_dimension:type_name -> stream.video.sfu.models.VideoDimension + 36, // [36:36] is the sub-list for method output_type + 36, // [36:36] is the sub-list for method input_type + 36, // [36:36] is the sub-list for extension type_name + 36, // [36:36] is the sub-list for extension extendee + 0, // [0:36] is the sub-list for field type_name } func init() { file_video_sfu_models_models_proto_init() } @@ -3708,7 +3783,7 @@ func file_video_sfu_models_models_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_video_sfu_models_models_proto_rawDesc, - NumEnums: 14, + NumEnums: 15, NumMessages: 25, NumExtensions: 0, NumServices: 0, diff --git a/protobuf/video/sfu/models/models.proto b/protobuf/video/sfu/models/models.proto index a3528dbca..02b0df4e9 100644 --- a/protobuf/video/sfu/models/models.proto +++ b/protobuf/video/sfu/models/models.proto @@ -196,6 +196,12 @@ message ICETrickle { string session_id = 3; } +enum AudioBitrateType { + AUDIO_BITRATE_TYPE_VOICE_STANDARD_UNSPECIFIED = 0; + AUDIO_BITRATE_TYPE_VOICE_HIGH_QUALITY = 1; + AUDIO_BITRATE_TYPE_MUSIC_HIGH_QUALITY = 2; +} + message TrackInfo { string track_id = 1; TrackType track_type = 2; @@ -208,6 +214,7 @@ message TrackInfo { bool muted = 10; Codec codec = 11; int32 publish_option_id = 12; + AudioBitrateType audio_bitrate_type = 13; } enum ErrorCode { diff --git a/protobuf/video/sfu/models/models_vtproto.pb.go b/protobuf/video/sfu/models/models_vtproto.pb.go index 61dc4ae8f..38338f883 100644 --- a/protobuf/video/sfu/models/models_vtproto.pb.go +++ b/protobuf/video/sfu/models/models_vtproto.pb.go @@ -824,6 +824,11 @@ func (m *TrackInfo) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.AudioBitrateType != 0 { + i = encodeVarint(dAtA, i, uint64(m.AudioBitrateType)) + i-- + dAtA[i] = 0x68 + } if m.PublishOptionId != 0 { i = encodeVarint(dAtA, i, uint64(m.PublishOptionId)) i-- @@ -2135,6 +2140,9 @@ func (m *TrackInfo) SizeVT() (n int) { if m.PublishOptionId != 0 { n += 1 + sov(uint64(m.PublishOptionId)) } + if m.AudioBitrateType != 0 { + n += 1 + sov(uint64(m.AudioBitrateType)) + } if m.unknownFields != nil { n += len(m.unknownFields) } @@ -4717,6 +4725,25 @@ func (m *TrackInfo) UnmarshalVT(dAtA []byte) error { break } } + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AudioBitrateType", wireType) + } + m.AudioBitrateType = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AudioBitrateType |= AudioBitrateType(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skip(dAtA[iNdEx:])