From 30c4a4c5431689131cb18b891487eb404279400a Mon Sep 17 00:00:00 2001 From: Denys Smirnov Date: Thu, 5 Dec 2024 17:27:56 +0200 Subject: [PATCH] Add get API for SIP Dispatch Rules. --- .changeset/lemon-otters-teach.md | 6 + livekit/livekit_sip.pb.go | 748 ++++++++++++++++++------------- livekit/livekit_sip.twirp.go | 607 ++++++++++++++++++------- protobufs/livekit_sip.proto | 9 + 4 files changed, 888 insertions(+), 482 deletions(-) create mode 100644 .changeset/lemon-otters-teach.md diff --git a/.changeset/lemon-otters-teach.md b/.changeset/lemon-otters-teach.md new file mode 100644 index 00000000..253655ea --- /dev/null +++ b/.changeset/lemon-otters-teach.md @@ -0,0 +1,6 @@ +--- +"@livekit/protocol": minor +"github.com/livekit/protocol": minor +--- + +Add get API for SIP Dispatch Rules. diff --git a/livekit/livekit_sip.pb.go b/livekit/livekit_sip.pb.go index b076bf8b..628d4cac 100644 --- a/livekit/livekit_sip.pb.go +++ b/livekit/livekit_sip.pb.go @@ -1887,6 +1887,96 @@ func (x *SIPDispatchRuleInfo) GetAttributes() map[string]string { return nil } +type GetSIPDispatchRuleRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SipDispatchRuleId string `protobuf:"bytes,1,opt,name=sip_dispatch_rule_id,json=sipDispatchRuleId,proto3" json:"sip_dispatch_rule_id,omitempty"` +} + +func (x *GetSIPDispatchRuleRequest) Reset() { + *x = GetSIPDispatchRuleRequest{} + mi := &file_livekit_sip_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetSIPDispatchRuleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSIPDispatchRuleRequest) ProtoMessage() {} + +func (x *GetSIPDispatchRuleRequest) ProtoReflect() protoreflect.Message { + mi := &file_livekit_sip_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSIPDispatchRuleRequest.ProtoReflect.Descriptor instead. +func (*GetSIPDispatchRuleRequest) Descriptor() ([]byte, []int) { + return file_livekit_sip_proto_rawDescGZIP(), []int{23} +} + +func (x *GetSIPDispatchRuleRequest) GetSipDispatchRuleId() string { + if x != nil { + return x.SipDispatchRuleId + } + return "" +} + +type GetSIPDispatchRuleResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Rule *SIPDispatchRuleInfo `protobuf:"bytes,1,opt,name=rule,proto3" json:"rule,omitempty"` +} + +func (x *GetSIPDispatchRuleResponse) Reset() { + *x = GetSIPDispatchRuleResponse{} + mi := &file_livekit_sip_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetSIPDispatchRuleResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSIPDispatchRuleResponse) ProtoMessage() {} + +func (x *GetSIPDispatchRuleResponse) ProtoReflect() protoreflect.Message { + mi := &file_livekit_sip_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSIPDispatchRuleResponse.ProtoReflect.Descriptor instead. +func (*GetSIPDispatchRuleResponse) Descriptor() ([]byte, []int) { + return file_livekit_sip_proto_rawDescGZIP(), []int{24} +} + +func (x *GetSIPDispatchRuleResponse) GetRule() *SIPDispatchRuleInfo { + if x != nil { + return x.Rule + } + return nil +} + type ListSIPDispatchRuleRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1895,7 +1985,7 @@ type ListSIPDispatchRuleRequest struct { func (x *ListSIPDispatchRuleRequest) Reset() { *x = ListSIPDispatchRuleRequest{} - mi := &file_livekit_sip_proto_msgTypes[23] + mi := &file_livekit_sip_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1907,7 +1997,7 @@ func (x *ListSIPDispatchRuleRequest) String() string { func (*ListSIPDispatchRuleRequest) ProtoMessage() {} func (x *ListSIPDispatchRuleRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_sip_proto_msgTypes[23] + mi := &file_livekit_sip_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1920,7 +2010,7 @@ func (x *ListSIPDispatchRuleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListSIPDispatchRuleRequest.ProtoReflect.Descriptor instead. func (*ListSIPDispatchRuleRequest) Descriptor() ([]byte, []int) { - return file_livekit_sip_proto_rawDescGZIP(), []int{23} + return file_livekit_sip_proto_rawDescGZIP(), []int{25} } type ListSIPDispatchRuleResponse struct { @@ -1933,7 +2023,7 @@ type ListSIPDispatchRuleResponse struct { func (x *ListSIPDispatchRuleResponse) Reset() { *x = ListSIPDispatchRuleResponse{} - mi := &file_livekit_sip_proto_msgTypes[24] + mi := &file_livekit_sip_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1945,7 +2035,7 @@ func (x *ListSIPDispatchRuleResponse) String() string { func (*ListSIPDispatchRuleResponse) ProtoMessage() {} func (x *ListSIPDispatchRuleResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_sip_proto_msgTypes[24] + mi := &file_livekit_sip_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1958,7 +2048,7 @@ func (x *ListSIPDispatchRuleResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListSIPDispatchRuleResponse.ProtoReflect.Descriptor instead. func (*ListSIPDispatchRuleResponse) Descriptor() ([]byte, []int) { - return file_livekit_sip_proto_rawDescGZIP(), []int{24} + return file_livekit_sip_proto_rawDescGZIP(), []int{26} } func (x *ListSIPDispatchRuleResponse) GetItems() []*SIPDispatchRuleInfo { @@ -1978,7 +2068,7 @@ type DeleteSIPDispatchRuleRequest struct { func (x *DeleteSIPDispatchRuleRequest) Reset() { *x = DeleteSIPDispatchRuleRequest{} - mi := &file_livekit_sip_proto_msgTypes[25] + mi := &file_livekit_sip_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1990,7 +2080,7 @@ func (x *DeleteSIPDispatchRuleRequest) String() string { func (*DeleteSIPDispatchRuleRequest) ProtoMessage() {} func (x *DeleteSIPDispatchRuleRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_sip_proto_msgTypes[25] + mi := &file_livekit_sip_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2003,7 +2093,7 @@ func (x *DeleteSIPDispatchRuleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteSIPDispatchRuleRequest.ProtoReflect.Descriptor instead. func (*DeleteSIPDispatchRuleRequest) Descriptor() ([]byte, []int) { - return file_livekit_sip_proto_rawDescGZIP(), []int{25} + return file_livekit_sip_proto_rawDescGZIP(), []int{27} } func (x *DeleteSIPDispatchRuleRequest) GetSipDispatchRuleId() string { @@ -2057,7 +2147,7 @@ type CreateSIPParticipantRequest struct { func (x *CreateSIPParticipantRequest) Reset() { *x = CreateSIPParticipantRequest{} - mi := &file_livekit_sip_proto_msgTypes[26] + mi := &file_livekit_sip_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2069,7 +2159,7 @@ func (x *CreateSIPParticipantRequest) String() string { func (*CreateSIPParticipantRequest) ProtoMessage() {} func (x *CreateSIPParticipantRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_sip_proto_msgTypes[26] + mi := &file_livekit_sip_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2082,7 +2172,7 @@ func (x *CreateSIPParticipantRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateSIPParticipantRequest.ProtoReflect.Descriptor instead. func (*CreateSIPParticipantRequest) Descriptor() ([]byte, []int) { - return file_livekit_sip_proto_rawDescGZIP(), []int{26} + return file_livekit_sip_proto_rawDescGZIP(), []int{28} } func (x *CreateSIPParticipantRequest) GetSipTrunkId() string { @@ -2204,7 +2294,7 @@ type SIPParticipantInfo struct { func (x *SIPParticipantInfo) Reset() { *x = SIPParticipantInfo{} - mi := &file_livekit_sip_proto_msgTypes[27] + mi := &file_livekit_sip_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2216,7 +2306,7 @@ func (x *SIPParticipantInfo) String() string { func (*SIPParticipantInfo) ProtoMessage() {} func (x *SIPParticipantInfo) ProtoReflect() protoreflect.Message { - mi := &file_livekit_sip_proto_msgTypes[27] + mi := &file_livekit_sip_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2229,7 +2319,7 @@ func (x *SIPParticipantInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use SIPParticipantInfo.ProtoReflect.Descriptor instead. func (*SIPParticipantInfo) Descriptor() ([]byte, []int) { - return file_livekit_sip_proto_rawDescGZIP(), []int{27} + return file_livekit_sip_proto_rawDescGZIP(), []int{29} } func (x *SIPParticipantInfo) GetParticipantId() string { @@ -2274,7 +2364,7 @@ type TransferSIPParticipantRequest struct { func (x *TransferSIPParticipantRequest) Reset() { *x = TransferSIPParticipantRequest{} - mi := &file_livekit_sip_proto_msgTypes[28] + mi := &file_livekit_sip_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2286,7 +2376,7 @@ func (x *TransferSIPParticipantRequest) String() string { func (*TransferSIPParticipantRequest) ProtoMessage() {} func (x *TransferSIPParticipantRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_sip_proto_msgTypes[28] + mi := &file_livekit_sip_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2299,7 +2389,7 @@ func (x *TransferSIPParticipantRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TransferSIPParticipantRequest.ProtoReflect.Descriptor instead. func (*TransferSIPParticipantRequest) Descriptor() ([]byte, []int) { - return file_livekit_sip_proto_rawDescGZIP(), []int{28} + return file_livekit_sip_proto_rawDescGZIP(), []int{30} } func (x *TransferSIPParticipantRequest) GetParticipantIdentity() string { @@ -2353,7 +2443,7 @@ type SIPCallInfo struct { func (x *SIPCallInfo) Reset() { *x = SIPCallInfo{} - mi := &file_livekit_sip_proto_msgTypes[29] + mi := &file_livekit_sip_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2365,7 +2455,7 @@ func (x *SIPCallInfo) String() string { func (*SIPCallInfo) ProtoMessage() {} func (x *SIPCallInfo) ProtoReflect() protoreflect.Message { - mi := &file_livekit_sip_proto_msgTypes[29] + mi := &file_livekit_sip_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2378,7 +2468,7 @@ func (x *SIPCallInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use SIPCallInfo.ProtoReflect.Descriptor instead. func (*SIPCallInfo) Descriptor() ([]byte, []int) { - return file_livekit_sip_proto_rawDescGZIP(), []int{29} + return file_livekit_sip_proto_rawDescGZIP(), []int{31} } func (x *SIPCallInfo) GetCallId() string { @@ -2493,7 +2583,7 @@ type SIPUri struct { func (x *SIPUri) Reset() { *x = SIPUri{} - mi := &file_livekit_sip_proto_msgTypes[30] + mi := &file_livekit_sip_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2505,7 +2595,7 @@ func (x *SIPUri) String() string { func (*SIPUri) ProtoMessage() {} func (x *SIPUri) ProtoReflect() protoreflect.Message { - mi := &file_livekit_sip_proto_msgTypes[30] + mi := &file_livekit_sip_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2518,7 +2608,7 @@ func (x *SIPUri) ProtoReflect() protoreflect.Message { // Deprecated: Use SIPUri.ProtoReflect.Descriptor instead. func (*SIPUri) Descriptor() ([]byte, []int) { - return file_livekit_sip_proto_rawDescGZIP(), []int{30} + return file_livekit_sip_proto_rawDescGZIP(), []int{32} } func (x *SIPUri) GetUser() string { @@ -2885,234 +2975,249 @@ var file_livekit_sip_proto_rawDesc = []byte{ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0x1c, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0x51, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, - 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, - 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x22, 0x4f, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x49, 0x50, 0x44, - 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x14, 0x73, 0x69, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, - 0x63, 0x68, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x11, 0x73, 0x69, 0x70, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, - 0x65, 0x49, 0x64, 0x22, 0xaa, 0x06, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49, - 0x50, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x73, 0x69, 0x70, 0x5f, 0x74, 0x72, 0x75, 0x6e, 0x6b, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x69, 0x70, 0x54, 0x72, - 0x75, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x69, 0x70, 0x5f, 0x63, 0x61, 0x6c, - 0x6c, 0x5f, 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x70, 0x43, - 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x69, 0x70, 0x5f, 0x6e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x70, 0x4e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x76, 0x0a, 0x16, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x15, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, - 0x6d, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x74, 0x6d, 0x66, 0x12, 0x27, - 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x65, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x52, - 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x5f, - 0x64, 0x69, 0x61, 0x6c, 0x74, 0x6f, 0x6e, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, - 0x70, 0x6c, 0x61, 0x79, 0x44, 0x69, 0x61, 0x6c, 0x74, 0x6f, 0x6e, 0x65, 0x12, 0x2a, 0x0a, 0x11, - 0x68, 0x69, 0x64, 0x65, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x68, 0x69, 0x64, 0x65, 0x50, 0x68, 0x6f, - 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x0f, 0x72, 0x69, 0x6e, 0x67, - 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x72, 0x69, - 0x6e, 0x67, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x45, 0x0a, 0x11, - 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x43, 0x61, 0x6c, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, 0x72, - 0x69, 0x73, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x4b, 0x72, 0x69, 0x73, 0x70, 0x1a, 0x48, 0x0a, 0x1a, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x69, 0x70, 0x61, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x22, 0xab, 0x01, 0x0a, 0x12, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x31, + 0x01, 0x22, 0x4c, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, + 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, + 0x0a, 0x14, 0x73, 0x69, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, + 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x69, + 0x70, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x22, + 0x4e, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, + 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x22, + 0x1c, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x51, 0x0a, + 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x05, + 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, + 0x22, 0x4f, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, + 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x2f, 0x0a, 0x14, 0x73, 0x69, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, + 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, + 0x73, 0x69, 0x70, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x49, + 0x64, 0x22, 0xaa, 0x06, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x73, 0x69, 0x70, 0x5f, 0x74, 0x72, 0x75, 0x6e, 0x6b, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x69, 0x70, 0x54, 0x72, 0x75, 0x6e, + 0x6b, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x69, 0x70, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, + 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x70, 0x43, 0x61, 0x6c, + 0x6c, 0x54, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x69, 0x70, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x70, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, + 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x76, 0x0a, 0x16, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3f, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, + 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x15, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, 0x6d, 0x66, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x74, 0x6d, 0x66, 0x12, 0x27, 0x0a, 0x0d, + 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x69, 0x6e, + 0x67, 0x74, 0x6f, 0x6e, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x69, + 0x61, 0x6c, 0x74, 0x6f, 0x6e, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x70, 0x6c, + 0x61, 0x79, 0x44, 0x69, 0x61, 0x6c, 0x74, 0x6f, 0x6e, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x69, + 0x64, 0x65, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x68, 0x69, 0x64, 0x65, 0x50, 0x68, 0x6f, 0x6e, 0x65, + 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x0f, 0x72, 0x69, 0x6e, 0x67, 0x69, 0x6e, + 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x72, 0x69, 0x6e, 0x67, + 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x45, 0x0a, 0x11, 0x6d, 0x61, + 0x78, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x43, 0x61, 0x6c, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, 0x72, 0x69, 0x73, + 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4b, + 0x72, 0x69, 0x73, 0x70, 0x1a, 0x48, 0x0a, 0x1a, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xab, + 0x01, 0x0a, 0x12, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, + 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x14, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, + 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0b, + 0x73, 0x69, 0x70, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x73, 0x69, 0x70, 0x43, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x22, 0xb5, 0x01, 0x0a, + 0x1d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, + 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, + 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x6f, 0x12, + 0x23, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x69, 0x61, 0x6c, 0x74, 0x6f, 0x6e, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x44, 0x69, 0x61, 0x6c, + 0x74, 0x6f, 0x6e, 0x65, 0x22, 0xae, 0x04, 0x0a, 0x0b, 0x53, 0x49, 0x50, 0x43, 0x61, 0x6c, 0x6c, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x19, 0x0a, + 0x08, 0x74, 0x72, 0x75, 0x6e, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x74, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, + 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, - 0x0a, 0x0b, 0x73, 0x69, 0x70, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x70, 0x43, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x22, 0xb5, - 0x01, 0x0a, 0x1d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x49, 0x50, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, - 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x69, 0x61, 0x6c, 0x74, 0x6f, - 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x44, 0x69, - 0x61, 0x6c, 0x74, 0x6f, 0x6e, 0x65, 0x22, 0xae, 0x04, 0x0a, 0x0b, 0x53, 0x49, 0x50, 0x43, 0x61, - 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x12, - 0x19, 0x0a, 0x08, 0x74, 0x72, 0x75, 0x6e, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x74, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, - 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, - 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, - 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, - 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x75, 0x72, 0x69, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x53, 0x49, 0x50, 0x55, 0x72, 0x69, 0x52, 0x07, 0x66, 0x72, 0x6f, 0x6d, 0x55, 0x72, 0x69, 0x12, - 0x26, 0x0a, 0x06, 0x74, 0x6f, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0f, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x55, 0x72, 0x69, - 0x52, 0x05, 0x74, 0x6f, 0x55, 0x72, 0x69, 0x12, 0x3e, 0x0a, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, - 0x0e, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x46, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x46, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x0b, 0x63, 0x61, 0x6c, 0x6c, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x63, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, - 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x19, - 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x07, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x41, 0x74, 0x12, 0x46, 0x0a, 0x11, 0x64, 0x69, 0x73, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, - 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, - 0x10, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x89, 0x01, 0x0a, 0x06, 0x53, 0x49, 0x50, 0x55, - 0x72, 0x69, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, - 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x33, - 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, - 0x6f, 0x72, 0x74, 0x2a, 0x6b, 0x0a, 0x0c, 0x53, 0x49, 0x50, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, - 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x49, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, - 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x53, - 0x49, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x55, 0x44, 0x50, - 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x49, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, - 0x4f, 0x52, 0x54, 0x5f, 0x54, 0x43, 0x50, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x49, 0x50, - 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x54, 0x4c, 0x53, 0x10, 0x03, - 0x2a, 0x77, 0x0a, 0x0d, 0x53, 0x49, 0x50, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x43, 0x53, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x49, 0x4e, - 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x43, 0x53, 0x5f, - 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, - 0x45, 0x44, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x43, 0x53, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x45, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x43, 0x53, 0x5f, 0x44, 0x49, 0x53, 0x43, - 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x43, - 0x53, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x2a, 0x29, 0x0a, 0x0a, 0x53, 0x49, 0x50, - 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, - 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4b, 0x52, 0x49, 0x53, 0x50, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, - 0x45, 0x44, 0x10, 0x01, 0x32, 0xba, 0x09, 0x0a, 0x03, 0x53, 0x49, 0x50, 0x12, 0x50, 0x0a, 0x0c, - 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x12, 0x1c, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x54, 0x72, - 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6c, 0x69, 0x76, + 0x79, 0x12, 0x2a, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, + 0x50, 0x55, 0x72, 0x69, 0x52, 0x07, 0x66, 0x72, 0x6f, 0x6d, 0x55, 0x72, 0x69, 0x12, 0x26, 0x0a, + 0x06, 0x74, 0x6f, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, + 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x55, 0x72, 0x69, 0x52, 0x05, + 0x74, 0x6f, 0x55, 0x72, 0x69, 0x12, 0x3e, 0x0a, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0e, 0x32, + 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x52, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x0b, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6c, 0x69, 0x76, + 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x0a, 0x63, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, + 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x19, 0x0a, 0x08, + 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, + 0x65, 0x6e, 0x64, 0x65, 0x64, 0x41, 0x74, 0x12, 0x46, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, 0x69, 0x73, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x10, 0x64, + 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, + 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x89, 0x01, 0x0a, 0x06, 0x53, 0x49, 0x50, 0x55, 0x72, 0x69, + 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x75, 0x73, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x33, 0x0a, 0x09, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, + 0x74, 0x2a, 0x6b, 0x0a, 0x0c, 0x53, 0x49, 0x50, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, + 0x74, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x49, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, + 0x52, 0x54, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x49, 0x50, + 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x55, 0x44, 0x50, 0x10, 0x01, + 0x12, 0x15, 0x0a, 0x11, 0x53, 0x49, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, + 0x54, 0x5f, 0x54, 0x43, 0x50, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x49, 0x50, 0x5f, 0x54, + 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x54, 0x4c, 0x53, 0x10, 0x03, 0x2a, 0x77, + 0x0a, 0x0d, 0x53, 0x49, 0x50, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x15, 0x0a, 0x11, 0x53, 0x43, 0x53, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x49, 0x4e, 0x43, 0x4f, + 0x4d, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x43, 0x53, 0x5f, 0x50, 0x41, + 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x45, 0x44, + 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x43, 0x53, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, + 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x43, 0x53, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, + 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x43, 0x53, 0x5f, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x2a, 0x29, 0x0a, 0x0a, 0x53, 0x49, 0x50, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, + 0x11, 0x0a, 0x0d, 0x4b, 0x52, 0x49, 0x53, 0x50, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, + 0x10, 0x01, 0x32, 0x99, 0x0a, 0x0a, 0x03, 0x53, 0x49, 0x50, 0x12, 0x50, 0x0a, 0x0c, 0x4c, 0x69, + 0x73, 0x74, 0x53, 0x49, 0x50, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x12, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x54, 0x72, 0x75, 0x6e, - 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x5c, - 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f, 0x75, - 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x12, 0x25, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f, 0x75, - 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5f, 0x0a, 0x16, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, - 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x12, 0x26, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, - 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x4f, 0x75, 0x74, 0x62, - 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5d, 0x0a, - 0x12, 0x47, 0x65, 0x74, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, - 0x75, 0x6e, 0x6b, 0x12, 0x22, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x47, 0x65, - 0x74, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, - 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x13, - 0x47, 0x65, 0x74, 0x53, 0x49, 0x50, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, - 0x75, 0x6e, 0x6b, 0x12, 0x23, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x47, 0x65, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x5c, 0x0a, 0x15, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, + 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x12, 0x25, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, + 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, + 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5f, 0x0a, 0x16, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, + 0x72, 0x75, 0x6e, 0x6b, 0x12, 0x26, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, + 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, + 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5d, 0x0a, 0x12, 0x47, + 0x65, 0x74, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, + 0x6b, 0x12, 0x22, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x53, + 0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x47, 0x65, 0x74, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, + 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, 0x49, 0x50, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, - 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x49, 0x50, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, - 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, - 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, - 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x12, 0x23, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x6b, 0x12, 0x23, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x53, + 0x49, 0x50, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x47, 0x65, 0x74, 0x53, 0x49, 0x50, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, + 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, - 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6c, 0x69, 0x76, - 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x63, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x4f, 0x75, 0x74, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x12, 0x24, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, - 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, - 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, - 0x49, 0x50, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x12, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x49, 0x50, 0x54, 0x72, 0x75, 0x6e, 0x6b, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x53, 0x49, 0x50, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5c, - 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, - 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x25, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, - 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x60, 0x0a, 0x13, + 0x75, 0x6e, 0x6b, 0x12, 0x23, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, + 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, + 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, + 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x12, 0x24, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, + 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x4f, 0x75, + 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x49, 0x50, + 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x12, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x49, 0x50, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x53, 0x49, 0x50, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5c, 0x0a, 0x15, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x25, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5d, 0x0a, 0x12, 0x47, 0x65, + 0x74, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, + 0x12, 0x22, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x49, + 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x47, + 0x65, 0x74, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x13, 0x4c, 0x69, 0x73, + 0x74, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, + 0x12, 0x23, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, + 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x75, 0x6c, 0x65, 0x12, 0x23, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, - 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, - 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x25, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, - 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x59, 0x0a, 0x14, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x6e, 0x74, 0x12, 0x24, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x69, 0x76, - 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x58, 0x0a, 0x16, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x12, 0x26, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, - 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, - 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, 0x69, 0x76, 0x65, 0x4b, - 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, 0x69, 0x76, 0x65, 0x4b, - 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x75, 0x6c, 0x65, 0x12, 0x25, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x59, 0x0a, 0x14, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x12, 0x24, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0x2e, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x58, 0x0a, 0x16, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, + 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x26, + 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x46, + 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, + 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, + 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3128,7 +3233,7 @@ func file_livekit_sip_proto_rawDescGZIP() []byte { } var file_livekit_sip_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_livekit_sip_proto_msgTypes = make([]protoimpl.MessageInfo, 40) +var file_livekit_sip_proto_msgTypes = make([]protoimpl.MessageInfo, 42) var file_livekit_sip_proto_goTypes = []any{ (SIPTransport)(0), // 0: livekit.SIPTransport (SIPCallStatus)(0), // 1: livekit.SIPCallStatus @@ -3157,41 +3262,43 @@ var file_livekit_sip_proto_goTypes = []any{ (*SIPDispatchRule)(nil), // 24: livekit.SIPDispatchRule (*CreateSIPDispatchRuleRequest)(nil), // 25: livekit.CreateSIPDispatchRuleRequest (*SIPDispatchRuleInfo)(nil), // 26: livekit.SIPDispatchRuleInfo - (*ListSIPDispatchRuleRequest)(nil), // 27: livekit.ListSIPDispatchRuleRequest - (*ListSIPDispatchRuleResponse)(nil), // 28: livekit.ListSIPDispatchRuleResponse - (*DeleteSIPDispatchRuleRequest)(nil), // 29: livekit.DeleteSIPDispatchRuleRequest - (*CreateSIPParticipantRequest)(nil), // 30: livekit.CreateSIPParticipantRequest - (*SIPParticipantInfo)(nil), // 31: livekit.SIPParticipantInfo - (*TransferSIPParticipantRequest)(nil), // 32: livekit.TransferSIPParticipantRequest - (*SIPCallInfo)(nil), // 33: livekit.SIPCallInfo - (*SIPUri)(nil), // 34: livekit.SIPUri - nil, // 35: livekit.SIPInboundTrunkInfo.HeadersEntry - nil, // 36: livekit.SIPInboundTrunkInfo.HeadersToAttributesEntry - nil, // 37: livekit.SIPInboundTrunkInfo.AttributesToHeadersEntry - nil, // 38: livekit.SIPOutboundTrunkInfo.HeadersEntry - nil, // 39: livekit.SIPOutboundTrunkInfo.HeadersToAttributesEntry - nil, // 40: livekit.SIPOutboundTrunkInfo.AttributesToHeadersEntry - nil, // 41: livekit.CreateSIPDispatchRuleRequest.AttributesEntry - nil, // 42: livekit.SIPDispatchRuleInfo.AttributesEntry - nil, // 43: livekit.CreateSIPParticipantRequest.ParticipantAttributesEntry - (*durationpb.Duration)(nil), // 44: google.protobuf.Duration - (DisconnectReason)(0), // 45: livekit.DisconnectReason - (*emptypb.Empty)(nil), // 46: google.protobuf.Empty + (*GetSIPDispatchRuleRequest)(nil), // 27: livekit.GetSIPDispatchRuleRequest + (*GetSIPDispatchRuleResponse)(nil), // 28: livekit.GetSIPDispatchRuleResponse + (*ListSIPDispatchRuleRequest)(nil), // 29: livekit.ListSIPDispatchRuleRequest + (*ListSIPDispatchRuleResponse)(nil), // 30: livekit.ListSIPDispatchRuleResponse + (*DeleteSIPDispatchRuleRequest)(nil), // 31: livekit.DeleteSIPDispatchRuleRequest + (*CreateSIPParticipantRequest)(nil), // 32: livekit.CreateSIPParticipantRequest + (*SIPParticipantInfo)(nil), // 33: livekit.SIPParticipantInfo + (*TransferSIPParticipantRequest)(nil), // 34: livekit.TransferSIPParticipantRequest + (*SIPCallInfo)(nil), // 35: livekit.SIPCallInfo + (*SIPUri)(nil), // 36: livekit.SIPUri + nil, // 37: livekit.SIPInboundTrunkInfo.HeadersEntry + nil, // 38: livekit.SIPInboundTrunkInfo.HeadersToAttributesEntry + nil, // 39: livekit.SIPInboundTrunkInfo.AttributesToHeadersEntry + nil, // 40: livekit.SIPOutboundTrunkInfo.HeadersEntry + nil, // 41: livekit.SIPOutboundTrunkInfo.HeadersToAttributesEntry + nil, // 42: livekit.SIPOutboundTrunkInfo.AttributesToHeadersEntry + nil, // 43: livekit.CreateSIPDispatchRuleRequest.AttributesEntry + nil, // 44: livekit.SIPDispatchRuleInfo.AttributesEntry + nil, // 45: livekit.CreateSIPParticipantRequest.ParticipantAttributesEntry + (*durationpb.Duration)(nil), // 46: google.protobuf.Duration + (DisconnectReason)(0), // 47: livekit.DisconnectReason + (*emptypb.Empty)(nil), // 48: google.protobuf.Empty } var file_livekit_sip_proto_depIdxs = []int32{ 3, // 0: livekit.SIPTrunkInfo.kind:type_name -> livekit.SIPTrunkInfo.TrunkKind 0, // 1: livekit.SIPTrunkInfo.transport:type_name -> livekit.SIPTransport 7, // 2: livekit.CreateSIPInboundTrunkRequest.trunk:type_name -> livekit.SIPInboundTrunkInfo - 35, // 3: livekit.SIPInboundTrunkInfo.headers:type_name -> livekit.SIPInboundTrunkInfo.HeadersEntry - 36, // 4: livekit.SIPInboundTrunkInfo.headers_to_attributes:type_name -> livekit.SIPInboundTrunkInfo.HeadersToAttributesEntry - 37, // 5: livekit.SIPInboundTrunkInfo.attributes_to_headers:type_name -> livekit.SIPInboundTrunkInfo.AttributesToHeadersEntry - 44, // 6: livekit.SIPInboundTrunkInfo.ringing_timeout:type_name -> google.protobuf.Duration - 44, // 7: livekit.SIPInboundTrunkInfo.max_call_duration:type_name -> google.protobuf.Duration + 37, // 3: livekit.SIPInboundTrunkInfo.headers:type_name -> livekit.SIPInboundTrunkInfo.HeadersEntry + 38, // 4: livekit.SIPInboundTrunkInfo.headers_to_attributes:type_name -> livekit.SIPInboundTrunkInfo.HeadersToAttributesEntry + 39, // 5: livekit.SIPInboundTrunkInfo.attributes_to_headers:type_name -> livekit.SIPInboundTrunkInfo.AttributesToHeadersEntry + 46, // 6: livekit.SIPInboundTrunkInfo.ringing_timeout:type_name -> google.protobuf.Duration + 46, // 7: livekit.SIPInboundTrunkInfo.max_call_duration:type_name -> google.protobuf.Duration 9, // 8: livekit.CreateSIPOutboundTrunkRequest.trunk:type_name -> livekit.SIPOutboundTrunkInfo 0, // 9: livekit.SIPOutboundTrunkInfo.transport:type_name -> livekit.SIPTransport - 38, // 10: livekit.SIPOutboundTrunkInfo.headers:type_name -> livekit.SIPOutboundTrunkInfo.HeadersEntry - 39, // 11: livekit.SIPOutboundTrunkInfo.headers_to_attributes:type_name -> livekit.SIPOutboundTrunkInfo.HeadersToAttributesEntry - 40, // 12: livekit.SIPOutboundTrunkInfo.attributes_to_headers:type_name -> livekit.SIPOutboundTrunkInfo.AttributesToHeadersEntry + 40, // 10: livekit.SIPOutboundTrunkInfo.headers:type_name -> livekit.SIPOutboundTrunkInfo.HeadersEntry + 41, // 11: livekit.SIPOutboundTrunkInfo.headers_to_attributes:type_name -> livekit.SIPOutboundTrunkInfo.HeadersToAttributesEntry + 42, // 12: livekit.SIPOutboundTrunkInfo.attributes_to_headers:type_name -> livekit.SIPOutboundTrunkInfo.AttributesToHeadersEntry 7, // 13: livekit.GetSIPInboundTrunkResponse.trunk:type_name -> livekit.SIPInboundTrunkInfo 9, // 14: livekit.GetSIPOutboundTrunkResponse.trunk:type_name -> livekit.SIPOutboundTrunkInfo 5, // 15: livekit.ListSIPTrunkResponse.items:type_name -> livekit.SIPTrunkInfo @@ -3201,50 +3308,53 @@ var file_livekit_sip_proto_depIdxs = []int32{ 22, // 19: livekit.SIPDispatchRule.dispatch_rule_individual:type_name -> livekit.SIPDispatchRuleIndividual 23, // 20: livekit.SIPDispatchRule.dispatch_rule_callee:type_name -> livekit.SIPDispatchRuleCallee 24, // 21: livekit.CreateSIPDispatchRuleRequest.rule:type_name -> livekit.SIPDispatchRule - 41, // 22: livekit.CreateSIPDispatchRuleRequest.attributes:type_name -> livekit.CreateSIPDispatchRuleRequest.AttributesEntry + 43, // 22: livekit.CreateSIPDispatchRuleRequest.attributes:type_name -> livekit.CreateSIPDispatchRuleRequest.AttributesEntry 24, // 23: livekit.SIPDispatchRuleInfo.rule:type_name -> livekit.SIPDispatchRule - 42, // 24: livekit.SIPDispatchRuleInfo.attributes:type_name -> livekit.SIPDispatchRuleInfo.AttributesEntry - 26, // 25: livekit.ListSIPDispatchRuleResponse.items:type_name -> livekit.SIPDispatchRuleInfo - 43, // 26: livekit.CreateSIPParticipantRequest.participant_attributes:type_name -> livekit.CreateSIPParticipantRequest.ParticipantAttributesEntry - 44, // 27: livekit.CreateSIPParticipantRequest.ringing_timeout:type_name -> google.protobuf.Duration - 44, // 28: livekit.CreateSIPParticipantRequest.max_call_duration:type_name -> google.protobuf.Duration - 34, // 29: livekit.SIPCallInfo.from_uri:type_name -> livekit.SIPUri - 34, // 30: livekit.SIPCallInfo.to_uri:type_name -> livekit.SIPUri - 2, // 31: livekit.SIPCallInfo.enabled_features:type_name -> livekit.SIPFeature - 1, // 32: livekit.SIPCallInfo.call_status:type_name -> livekit.SIPCallStatus - 45, // 33: livekit.SIPCallInfo.disconnect_reason:type_name -> livekit.DisconnectReason - 0, // 34: livekit.SIPUri.transport:type_name -> livekit.SIPTransport - 14, // 35: livekit.SIP.ListSIPTrunk:input_type -> livekit.ListSIPTrunkRequest - 6, // 36: livekit.SIP.CreateSIPInboundTrunk:input_type -> livekit.CreateSIPInboundTrunkRequest - 8, // 37: livekit.SIP.CreateSIPOutboundTrunk:input_type -> livekit.CreateSIPOutboundTrunkRequest - 10, // 38: livekit.SIP.GetSIPInboundTrunk:input_type -> livekit.GetSIPInboundTrunkRequest - 12, // 39: livekit.SIP.GetSIPOutboundTrunk:input_type -> livekit.GetSIPOutboundTrunkRequest - 16, // 40: livekit.SIP.ListSIPInboundTrunk:input_type -> livekit.ListSIPInboundTrunkRequest - 18, // 41: livekit.SIP.ListSIPOutboundTrunk:input_type -> livekit.ListSIPOutboundTrunkRequest - 20, // 42: livekit.SIP.DeleteSIPTrunk:input_type -> livekit.DeleteSIPTrunkRequest - 25, // 43: livekit.SIP.CreateSIPDispatchRule:input_type -> livekit.CreateSIPDispatchRuleRequest - 27, // 44: livekit.SIP.ListSIPDispatchRule:input_type -> livekit.ListSIPDispatchRuleRequest - 29, // 45: livekit.SIP.DeleteSIPDispatchRule:input_type -> livekit.DeleteSIPDispatchRuleRequest - 30, // 46: livekit.SIP.CreateSIPParticipant:input_type -> livekit.CreateSIPParticipantRequest - 32, // 47: livekit.SIP.TransferSIPParticipant:input_type -> livekit.TransferSIPParticipantRequest - 15, // 48: livekit.SIP.ListSIPTrunk:output_type -> livekit.ListSIPTrunkResponse - 7, // 49: livekit.SIP.CreateSIPInboundTrunk:output_type -> livekit.SIPInboundTrunkInfo - 9, // 50: livekit.SIP.CreateSIPOutboundTrunk:output_type -> livekit.SIPOutboundTrunkInfo - 11, // 51: livekit.SIP.GetSIPInboundTrunk:output_type -> livekit.GetSIPInboundTrunkResponse - 13, // 52: livekit.SIP.GetSIPOutboundTrunk:output_type -> livekit.GetSIPOutboundTrunkResponse - 17, // 53: livekit.SIP.ListSIPInboundTrunk:output_type -> livekit.ListSIPInboundTrunkResponse - 19, // 54: livekit.SIP.ListSIPOutboundTrunk:output_type -> livekit.ListSIPOutboundTrunkResponse - 5, // 55: livekit.SIP.DeleteSIPTrunk:output_type -> livekit.SIPTrunkInfo - 26, // 56: livekit.SIP.CreateSIPDispatchRule:output_type -> livekit.SIPDispatchRuleInfo - 28, // 57: livekit.SIP.ListSIPDispatchRule:output_type -> livekit.ListSIPDispatchRuleResponse - 26, // 58: livekit.SIP.DeleteSIPDispatchRule:output_type -> livekit.SIPDispatchRuleInfo - 31, // 59: livekit.SIP.CreateSIPParticipant:output_type -> livekit.SIPParticipantInfo - 46, // 60: livekit.SIP.TransferSIPParticipant:output_type -> google.protobuf.Empty - 48, // [48:61] is the sub-list for method output_type - 35, // [35:48] 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 + 44, // 24: livekit.SIPDispatchRuleInfo.attributes:type_name -> livekit.SIPDispatchRuleInfo.AttributesEntry + 26, // 25: livekit.GetSIPDispatchRuleResponse.rule:type_name -> livekit.SIPDispatchRuleInfo + 26, // 26: livekit.ListSIPDispatchRuleResponse.items:type_name -> livekit.SIPDispatchRuleInfo + 45, // 27: livekit.CreateSIPParticipantRequest.participant_attributes:type_name -> livekit.CreateSIPParticipantRequest.ParticipantAttributesEntry + 46, // 28: livekit.CreateSIPParticipantRequest.ringing_timeout:type_name -> google.protobuf.Duration + 46, // 29: livekit.CreateSIPParticipantRequest.max_call_duration:type_name -> google.protobuf.Duration + 36, // 30: livekit.SIPCallInfo.from_uri:type_name -> livekit.SIPUri + 36, // 31: livekit.SIPCallInfo.to_uri:type_name -> livekit.SIPUri + 2, // 32: livekit.SIPCallInfo.enabled_features:type_name -> livekit.SIPFeature + 1, // 33: livekit.SIPCallInfo.call_status:type_name -> livekit.SIPCallStatus + 47, // 34: livekit.SIPCallInfo.disconnect_reason:type_name -> livekit.DisconnectReason + 0, // 35: livekit.SIPUri.transport:type_name -> livekit.SIPTransport + 14, // 36: livekit.SIP.ListSIPTrunk:input_type -> livekit.ListSIPTrunkRequest + 6, // 37: livekit.SIP.CreateSIPInboundTrunk:input_type -> livekit.CreateSIPInboundTrunkRequest + 8, // 38: livekit.SIP.CreateSIPOutboundTrunk:input_type -> livekit.CreateSIPOutboundTrunkRequest + 10, // 39: livekit.SIP.GetSIPInboundTrunk:input_type -> livekit.GetSIPInboundTrunkRequest + 12, // 40: livekit.SIP.GetSIPOutboundTrunk:input_type -> livekit.GetSIPOutboundTrunkRequest + 16, // 41: livekit.SIP.ListSIPInboundTrunk:input_type -> livekit.ListSIPInboundTrunkRequest + 18, // 42: livekit.SIP.ListSIPOutboundTrunk:input_type -> livekit.ListSIPOutboundTrunkRequest + 20, // 43: livekit.SIP.DeleteSIPTrunk:input_type -> livekit.DeleteSIPTrunkRequest + 25, // 44: livekit.SIP.CreateSIPDispatchRule:input_type -> livekit.CreateSIPDispatchRuleRequest + 27, // 45: livekit.SIP.GetSIPDispatchRule:input_type -> livekit.GetSIPDispatchRuleRequest + 29, // 46: livekit.SIP.ListSIPDispatchRule:input_type -> livekit.ListSIPDispatchRuleRequest + 31, // 47: livekit.SIP.DeleteSIPDispatchRule:input_type -> livekit.DeleteSIPDispatchRuleRequest + 32, // 48: livekit.SIP.CreateSIPParticipant:input_type -> livekit.CreateSIPParticipantRequest + 34, // 49: livekit.SIP.TransferSIPParticipant:input_type -> livekit.TransferSIPParticipantRequest + 15, // 50: livekit.SIP.ListSIPTrunk:output_type -> livekit.ListSIPTrunkResponse + 7, // 51: livekit.SIP.CreateSIPInboundTrunk:output_type -> livekit.SIPInboundTrunkInfo + 9, // 52: livekit.SIP.CreateSIPOutboundTrunk:output_type -> livekit.SIPOutboundTrunkInfo + 11, // 53: livekit.SIP.GetSIPInboundTrunk:output_type -> livekit.GetSIPInboundTrunkResponse + 13, // 54: livekit.SIP.GetSIPOutboundTrunk:output_type -> livekit.GetSIPOutboundTrunkResponse + 17, // 55: livekit.SIP.ListSIPInboundTrunk:output_type -> livekit.ListSIPInboundTrunkResponse + 19, // 56: livekit.SIP.ListSIPOutboundTrunk:output_type -> livekit.ListSIPOutboundTrunkResponse + 5, // 57: livekit.SIP.DeleteSIPTrunk:output_type -> livekit.SIPTrunkInfo + 26, // 58: livekit.SIP.CreateSIPDispatchRule:output_type -> livekit.SIPDispatchRuleInfo + 28, // 59: livekit.SIP.GetSIPDispatchRule:output_type -> livekit.GetSIPDispatchRuleResponse + 30, // 60: livekit.SIP.ListSIPDispatchRule:output_type -> livekit.ListSIPDispatchRuleResponse + 26, // 61: livekit.SIP.DeleteSIPDispatchRule:output_type -> livekit.SIPDispatchRuleInfo + 33, // 62: livekit.SIP.CreateSIPParticipant:output_type -> livekit.SIPParticipantInfo + 48, // 63: livekit.SIP.TransferSIPParticipant:output_type -> google.protobuf.Empty + 50, // [50:64] is the sub-list for method output_type + 36, // [36:50] 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_livekit_sip_proto_init() } @@ -3264,7 +3374,7 @@ func file_livekit_sip_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_livekit_sip_proto_rawDesc, NumEnums: 4, - NumMessages: 40, + NumMessages: 42, NumExtensions: 0, NumServices: 1, }, diff --git a/livekit/livekit_sip.twirp.go b/livekit/livekit_sip.twirp.go index 97c78235..b4ecbcbc 100644 --- a/livekit/livekit_sip.twirp.go +++ b/livekit/livekit_sip.twirp.go @@ -48,6 +48,8 @@ type SIP interface { CreateSIPDispatchRule(context.Context, *CreateSIPDispatchRuleRequest) (*SIPDispatchRuleInfo, error) + GetSIPDispatchRule(context.Context, *GetSIPDispatchRuleRequest) (*GetSIPDispatchRuleResponse, error) + ListSIPDispatchRule(context.Context, *ListSIPDispatchRuleRequest) (*ListSIPDispatchRuleResponse, error) DeleteSIPDispatchRule(context.Context, *DeleteSIPDispatchRuleRequest) (*SIPDispatchRuleInfo, error) @@ -63,7 +65,7 @@ type SIP interface { type sIPProtobufClient struct { client HTTPClient - urls [13]string + urls [14]string interceptor twirp.Interceptor opts twirp.ClientOptions } @@ -91,7 +93,7 @@ func NewSIPProtobufClient(baseURL string, client HTTPClient, opts ...twirp.Clien // Build method URLs: []/./ serviceURL := sanitizeBaseURL(baseURL) serviceURL += baseServicePath(pathPrefix, "livekit", "SIP") - urls := [13]string{ + urls := [14]string{ serviceURL + "ListSIPTrunk", serviceURL + "CreateSIPInboundTrunk", serviceURL + "CreateSIPOutboundTrunk", @@ -101,6 +103,7 @@ func NewSIPProtobufClient(baseURL string, client HTTPClient, opts ...twirp.Clien serviceURL + "ListSIPOutboundTrunk", serviceURL + "DeleteSIPTrunk", serviceURL + "CreateSIPDispatchRule", + serviceURL + "GetSIPDispatchRule", serviceURL + "ListSIPDispatchRule", serviceURL + "DeleteSIPDispatchRule", serviceURL + "CreateSIPParticipant", @@ -529,6 +532,52 @@ func (c *sIPProtobufClient) callCreateSIPDispatchRule(ctx context.Context, in *C return out, nil } +func (c *sIPProtobufClient) GetSIPDispatchRule(ctx context.Context, in *GetSIPDispatchRuleRequest) (*GetSIPDispatchRuleResponse, error) { + ctx = ctxsetters.WithPackageName(ctx, "livekit") + ctx = ctxsetters.WithServiceName(ctx, "SIP") + ctx = ctxsetters.WithMethodName(ctx, "GetSIPDispatchRule") + caller := c.callGetSIPDispatchRule + if c.interceptor != nil { + caller = func(ctx context.Context, req *GetSIPDispatchRuleRequest) (*GetSIPDispatchRuleResponse, error) { + resp, err := c.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*GetSIPDispatchRuleRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*GetSIPDispatchRuleRequest) when calling interceptor") + } + return c.callGetSIPDispatchRule(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*GetSIPDispatchRuleResponse) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*GetSIPDispatchRuleResponse) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + return caller(ctx, in) +} + +func (c *sIPProtobufClient) callGetSIPDispatchRule(ctx context.Context, in *GetSIPDispatchRuleRequest) (*GetSIPDispatchRuleResponse, error) { + out := new(GetSIPDispatchRuleResponse) + ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[9], in, out) + if err != nil { + twerr, ok := err.(twirp.Error) + if !ok { + twerr = twirp.InternalErrorWith(err) + } + callClientError(ctx, c.opts.Hooks, twerr) + return nil, err + } + + callClientResponseReceived(ctx, c.opts.Hooks) + + return out, nil +} + func (c *sIPProtobufClient) ListSIPDispatchRule(ctx context.Context, in *ListSIPDispatchRuleRequest) (*ListSIPDispatchRuleResponse, error) { ctx = ctxsetters.WithPackageName(ctx, "livekit") ctx = ctxsetters.WithServiceName(ctx, "SIP") @@ -560,7 +609,7 @@ func (c *sIPProtobufClient) ListSIPDispatchRule(ctx context.Context, in *ListSIP func (c *sIPProtobufClient) callListSIPDispatchRule(ctx context.Context, in *ListSIPDispatchRuleRequest) (*ListSIPDispatchRuleResponse, error) { out := new(ListSIPDispatchRuleResponse) - ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[9], in, out) + ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[10], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -606,7 +655,7 @@ func (c *sIPProtobufClient) DeleteSIPDispatchRule(ctx context.Context, in *Delet func (c *sIPProtobufClient) callDeleteSIPDispatchRule(ctx context.Context, in *DeleteSIPDispatchRuleRequest) (*SIPDispatchRuleInfo, error) { out := new(SIPDispatchRuleInfo) - ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[10], in, out) + ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[11], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -652,7 +701,7 @@ func (c *sIPProtobufClient) CreateSIPParticipant(ctx context.Context, in *Create func (c *sIPProtobufClient) callCreateSIPParticipant(ctx context.Context, in *CreateSIPParticipantRequest) (*SIPParticipantInfo, error) { out := new(SIPParticipantInfo) - ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[11], in, out) + ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[12], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -698,7 +747,7 @@ func (c *sIPProtobufClient) TransferSIPParticipant(ctx context.Context, in *Tran func (c *sIPProtobufClient) callTransferSIPParticipant(ctx context.Context, in *TransferSIPParticipantRequest) (*google_protobuf2.Empty, error) { out := new(google_protobuf2.Empty) - ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[12], in, out) + ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[13], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -719,7 +768,7 @@ func (c *sIPProtobufClient) callTransferSIPParticipant(ctx context.Context, in * type sIPJSONClient struct { client HTTPClient - urls [13]string + urls [14]string interceptor twirp.Interceptor opts twirp.ClientOptions } @@ -747,7 +796,7 @@ func NewSIPJSONClient(baseURL string, client HTTPClient, opts ...twirp.ClientOpt // Build method URLs: []/./ serviceURL := sanitizeBaseURL(baseURL) serviceURL += baseServicePath(pathPrefix, "livekit", "SIP") - urls := [13]string{ + urls := [14]string{ serviceURL + "ListSIPTrunk", serviceURL + "CreateSIPInboundTrunk", serviceURL + "CreateSIPOutboundTrunk", @@ -757,6 +806,7 @@ func NewSIPJSONClient(baseURL string, client HTTPClient, opts ...twirp.ClientOpt serviceURL + "ListSIPOutboundTrunk", serviceURL + "DeleteSIPTrunk", serviceURL + "CreateSIPDispatchRule", + serviceURL + "GetSIPDispatchRule", serviceURL + "ListSIPDispatchRule", serviceURL + "DeleteSIPDispatchRule", serviceURL + "CreateSIPParticipant", @@ -1185,6 +1235,52 @@ func (c *sIPJSONClient) callCreateSIPDispatchRule(ctx context.Context, in *Creat return out, nil } +func (c *sIPJSONClient) GetSIPDispatchRule(ctx context.Context, in *GetSIPDispatchRuleRequest) (*GetSIPDispatchRuleResponse, error) { + ctx = ctxsetters.WithPackageName(ctx, "livekit") + ctx = ctxsetters.WithServiceName(ctx, "SIP") + ctx = ctxsetters.WithMethodName(ctx, "GetSIPDispatchRule") + caller := c.callGetSIPDispatchRule + if c.interceptor != nil { + caller = func(ctx context.Context, req *GetSIPDispatchRuleRequest) (*GetSIPDispatchRuleResponse, error) { + resp, err := c.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*GetSIPDispatchRuleRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*GetSIPDispatchRuleRequest) when calling interceptor") + } + return c.callGetSIPDispatchRule(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*GetSIPDispatchRuleResponse) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*GetSIPDispatchRuleResponse) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + return caller(ctx, in) +} + +func (c *sIPJSONClient) callGetSIPDispatchRule(ctx context.Context, in *GetSIPDispatchRuleRequest) (*GetSIPDispatchRuleResponse, error) { + out := new(GetSIPDispatchRuleResponse) + ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[9], in, out) + if err != nil { + twerr, ok := err.(twirp.Error) + if !ok { + twerr = twirp.InternalErrorWith(err) + } + callClientError(ctx, c.opts.Hooks, twerr) + return nil, err + } + + callClientResponseReceived(ctx, c.opts.Hooks) + + return out, nil +} + func (c *sIPJSONClient) ListSIPDispatchRule(ctx context.Context, in *ListSIPDispatchRuleRequest) (*ListSIPDispatchRuleResponse, error) { ctx = ctxsetters.WithPackageName(ctx, "livekit") ctx = ctxsetters.WithServiceName(ctx, "SIP") @@ -1216,7 +1312,7 @@ func (c *sIPJSONClient) ListSIPDispatchRule(ctx context.Context, in *ListSIPDisp func (c *sIPJSONClient) callListSIPDispatchRule(ctx context.Context, in *ListSIPDispatchRuleRequest) (*ListSIPDispatchRuleResponse, error) { out := new(ListSIPDispatchRuleResponse) - ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[9], in, out) + ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[10], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -1262,7 +1358,7 @@ func (c *sIPJSONClient) DeleteSIPDispatchRule(ctx context.Context, in *DeleteSIP func (c *sIPJSONClient) callDeleteSIPDispatchRule(ctx context.Context, in *DeleteSIPDispatchRuleRequest) (*SIPDispatchRuleInfo, error) { out := new(SIPDispatchRuleInfo) - ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[10], in, out) + ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[11], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -1308,7 +1404,7 @@ func (c *sIPJSONClient) CreateSIPParticipant(ctx context.Context, in *CreateSIPP func (c *sIPJSONClient) callCreateSIPParticipant(ctx context.Context, in *CreateSIPParticipantRequest) (*SIPParticipantInfo, error) { out := new(SIPParticipantInfo) - ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[11], in, out) + ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[12], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -1354,7 +1450,7 @@ func (c *sIPJSONClient) TransferSIPParticipant(ctx context.Context, in *Transfer func (c *sIPJSONClient) callTransferSIPParticipant(ctx context.Context, in *TransferSIPParticipantRequest) (*google_protobuf2.Empty, error) { out := new(google_protobuf2.Empty) - ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[12], in, out) + ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[13], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -1493,6 +1589,9 @@ func (s *sIPServer) ServeHTTP(resp http.ResponseWriter, req *http.Request) { case "CreateSIPDispatchRule": s.serveCreateSIPDispatchRule(ctx, resp, req) return + case "GetSIPDispatchRule": + s.serveGetSIPDispatchRule(ctx, resp, req) + return case "ListSIPDispatchRule": s.serveListSIPDispatchRule(ctx, resp, req) return @@ -3132,6 +3231,186 @@ func (s *sIPServer) serveCreateSIPDispatchRuleProtobuf(ctx context.Context, resp callResponseSent(ctx, s.hooks) } +func (s *sIPServer) serveGetSIPDispatchRule(ctx context.Context, resp http.ResponseWriter, req *http.Request) { + header := req.Header.Get("Content-Type") + i := strings.Index(header, ";") + if i == -1 { + i = len(header) + } + switch strings.TrimSpace(strings.ToLower(header[:i])) { + case "application/json": + s.serveGetSIPDispatchRuleJSON(ctx, resp, req) + case "application/protobuf": + s.serveGetSIPDispatchRuleProtobuf(ctx, resp, req) + default: + msg := fmt.Sprintf("unexpected Content-Type: %q", req.Header.Get("Content-Type")) + twerr := badRouteError(msg, req.Method, req.URL.Path) + s.writeError(ctx, resp, twerr) + } +} + +func (s *sIPServer) serveGetSIPDispatchRuleJSON(ctx context.Context, resp http.ResponseWriter, req *http.Request) { + var err error + ctx = ctxsetters.WithMethodName(ctx, "GetSIPDispatchRule") + ctx, err = callRequestRouted(ctx, s.hooks) + if err != nil { + s.writeError(ctx, resp, err) + return + } + + d := json.NewDecoder(req.Body) + rawReqBody := json.RawMessage{} + if err := d.Decode(&rawReqBody); err != nil { + s.handleRequestBodyError(ctx, resp, "the json request could not be decoded", err) + return + } + reqContent := new(GetSIPDispatchRuleRequest) + unmarshaler := protojson.UnmarshalOptions{DiscardUnknown: true} + if err = unmarshaler.Unmarshal(rawReqBody, reqContent); err != nil { + s.handleRequestBodyError(ctx, resp, "the json request could not be decoded", err) + return + } + + handler := s.SIP.GetSIPDispatchRule + if s.interceptor != nil { + handler = func(ctx context.Context, req *GetSIPDispatchRuleRequest) (*GetSIPDispatchRuleResponse, error) { + resp, err := s.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*GetSIPDispatchRuleRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*GetSIPDispatchRuleRequest) when calling interceptor") + } + return s.SIP.GetSIPDispatchRule(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*GetSIPDispatchRuleResponse) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*GetSIPDispatchRuleResponse) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + + // Call service method + var respContent *GetSIPDispatchRuleResponse + func() { + defer ensurePanicResponses(ctx, resp, s.hooks) + respContent, err = handler(ctx, reqContent) + }() + + if err != nil { + s.writeError(ctx, resp, err) + return + } + if respContent == nil { + s.writeError(ctx, resp, twirp.InternalError("received a nil *GetSIPDispatchRuleResponse and nil error while calling GetSIPDispatchRule. nil responses are not supported")) + return + } + + ctx = callResponsePrepared(ctx, s.hooks) + + marshaler := &protojson.MarshalOptions{UseProtoNames: !s.jsonCamelCase, EmitUnpopulated: !s.jsonSkipDefaults} + respBytes, err := marshaler.Marshal(respContent) + if err != nil { + s.writeError(ctx, resp, wrapInternal(err, "failed to marshal json response")) + return + } + + ctx = ctxsetters.WithStatusCode(ctx, http.StatusOK) + resp.Header().Set("Content-Type", "application/json") + resp.Header().Set("Content-Length", strconv.Itoa(len(respBytes))) + resp.WriteHeader(http.StatusOK) + + if n, err := resp.Write(respBytes); err != nil { + msg := fmt.Sprintf("failed to write response, %d of %d bytes written: %s", n, len(respBytes), err.Error()) + twerr := twirp.NewError(twirp.Unknown, msg) + ctx = callError(ctx, s.hooks, twerr) + } + callResponseSent(ctx, s.hooks) +} + +func (s *sIPServer) serveGetSIPDispatchRuleProtobuf(ctx context.Context, resp http.ResponseWriter, req *http.Request) { + var err error + ctx = ctxsetters.WithMethodName(ctx, "GetSIPDispatchRule") + ctx, err = callRequestRouted(ctx, s.hooks) + if err != nil { + s.writeError(ctx, resp, err) + return + } + + buf, err := io.ReadAll(req.Body) + if err != nil { + s.handleRequestBodyError(ctx, resp, "failed to read request body", err) + return + } + reqContent := new(GetSIPDispatchRuleRequest) + if err = proto.Unmarshal(buf, reqContent); err != nil { + s.writeError(ctx, resp, malformedRequestError("the protobuf request could not be decoded")) + return + } + + handler := s.SIP.GetSIPDispatchRule + if s.interceptor != nil { + handler = func(ctx context.Context, req *GetSIPDispatchRuleRequest) (*GetSIPDispatchRuleResponse, error) { + resp, err := s.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*GetSIPDispatchRuleRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*GetSIPDispatchRuleRequest) when calling interceptor") + } + return s.SIP.GetSIPDispatchRule(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*GetSIPDispatchRuleResponse) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*GetSIPDispatchRuleResponse) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + + // Call service method + var respContent *GetSIPDispatchRuleResponse + func() { + defer ensurePanicResponses(ctx, resp, s.hooks) + respContent, err = handler(ctx, reqContent) + }() + + if err != nil { + s.writeError(ctx, resp, err) + return + } + if respContent == nil { + s.writeError(ctx, resp, twirp.InternalError("received a nil *GetSIPDispatchRuleResponse and nil error while calling GetSIPDispatchRule. nil responses are not supported")) + return + } + + ctx = callResponsePrepared(ctx, s.hooks) + + respBytes, err := proto.Marshal(respContent) + if err != nil { + s.writeError(ctx, resp, wrapInternal(err, "failed to marshal proto response")) + return + } + + ctx = ctxsetters.WithStatusCode(ctx, http.StatusOK) + resp.Header().Set("Content-Type", "application/protobuf") + resp.Header().Set("Content-Length", strconv.Itoa(len(respBytes))) + resp.WriteHeader(http.StatusOK) + if n, err := resp.Write(respBytes); err != nil { + msg := fmt.Sprintf("failed to write response, %d of %d bytes written: %s", n, len(respBytes), err.Error()) + twerr := twirp.NewError(twirp.Unknown, msg) + ctx = callError(ctx, s.hooks, twerr) + } + callResponseSent(ctx, s.hooks) +} + func (s *sIPServer) serveListSIPDispatchRule(ctx context.Context, resp http.ResponseWriter, req *http.Request) { header := req.Header.Get("Content-Type") i := strings.Index(header, ";") @@ -3868,155 +4147,157 @@ func (s *sIPServer) PathPrefix() string { } var twirpFileDescriptor4 = []byte{ - // 2388 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x5a, 0xef, 0x6e, 0xdb, 0xc8, - 0x11, 0x8f, 0x24, 0xeb, 0xdf, 0xc8, 0x96, 0xe4, 0xf5, 0x9f, 0x93, 0x65, 0x3b, 0x49, 0x95, 0xcb, - 0x25, 0xf1, 0x1d, 0x14, 0x54, 0x41, 0xaf, 0x6d, 0x80, 0xbb, 0x42, 0x96, 0x94, 0x44, 0x8d, 0x4f, - 0x52, 0x29, 0xb9, 0xe8, 0x15, 0xd7, 0xb2, 0xb4, 0xb8, 0xb6, 0xf7, 0x2c, 0x91, 0x2c, 0xb9, 0x4a, - 0xe2, 0x7e, 0x6e, 0x81, 0xf6, 0x31, 0x8a, 0x02, 0xfd, 0x70, 0x05, 0xfa, 0xad, 0x40, 0xd1, 0x77, - 0xe9, 0x0b, 0xf4, 0x29, 0x8a, 0xfd, 0x43, 0x8a, 0xa4, 0x48, 0x59, 0x4e, 0xaf, 0x40, 0xd1, 0x6f, - 0xe4, 0xcc, 0xec, 0xec, 0x70, 0xe6, 0x37, 0xb3, 0x3b, 0x23, 0xc1, 0xe6, 0x84, 0xbc, 0xc1, 0x57, - 0x84, 0xaa, 0x0e, 0xb1, 0xea, 0x96, 0x6d, 0x52, 0x13, 0x65, 0x25, 0xa9, 0x7a, 0xf7, 0xc2, 0x34, - 0x2f, 0x26, 0xf8, 0x29, 0x27, 0x9f, 0xcd, 0xce, 0x9f, 0xea, 0x33, 0x5b, 0xa3, 0xc4, 0x34, 0x84, - 0x60, 0x75, 0x3f, 0xcc, 0xc7, 0x53, 0x8b, 0x5e, 0x4b, 0xe6, 0xb6, 0xab, 0x78, 0x6a, 0xea, 0x78, - 0xe2, 0x08, 0x6a, 0xed, 0x9f, 0x29, 0xd8, 0x69, 0xd9, 0x58, 0xa3, 0x78, 0xd8, 0x1d, 0x8c, 0xec, - 0x99, 0x71, 0xa5, 0xe0, 0x5f, 0xcf, 0xb0, 0x43, 0xd1, 0xc7, 0xb0, 0x49, 0x8c, 0x33, 0x73, 0x66, - 0xe8, 0xaa, 0xa6, 0xeb, 0x36, 0x76, 0x1c, 0xec, 0x54, 0x12, 0xf7, 0x53, 0x8f, 0xf3, 0x4a, 0x59, - 0x32, 0x9a, 0x2e, 0x1d, 0x3d, 0x81, 0xb2, 0x39, 0xa3, 0x01, 0xe9, 0x4a, 0xf2, 0x7e, 0xe2, 0x71, - 0x5e, 0x29, 0xb9, 0x74, 0x29, 0x8c, 0x1e, 0x81, 0x47, 0x52, 0x8d, 0xd9, 0xf4, 0x0c, 0xdb, 0x95, - 0x14, 0x97, 0x2c, 0xba, 0xe4, 0x1e, 0xa7, 0xa2, 0x4f, 0x61, 0xc7, 0x35, 0x40, 0xc8, 0x39, 0xaa, - 0x8d, 0x2f, 0xf0, 0xbb, 0xca, 0x1a, 0x33, 0xe2, 0x38, 0x59, 0x49, 0x28, 0x5b, 0x52, 0x40, 0xac, - 0x70, 0x14, 0xc6, 0x66, 0x1b, 0x84, 0xd6, 0x55, 0xf2, 0xdc, 0xec, 0x62, 0x50, 0x9a, 0x19, 0xed, - 0x0a, 0xce, 0x1c, 0x6c, 0x1b, 0xda, 0x14, 0x57, 0xd2, 0xc2, 0x68, 0x49, 0x3f, 0x95, 0x64, 0xbf, - 0xa8, 0xa5, 0x39, 0xce, 0x5b, 0xd3, 0xd6, 0x2b, 0x99, 0x80, 0xe8, 0x40, 0x92, 0x99, 0xdf, 0xbc, - 0xef, 0xf3, 0xd4, 0x66, 0xb9, 0xac, 0xe7, 0x23, 0x4f, 0xaf, 0x5f, 0xd8, 0x53, 0x9c, 0x0b, 0x0a, - 0x7b, 0x9a, 0x11, 0xac, 0x71, 0x65, 0xc0, 0xf9, 0xfc, 0x19, 0x55, 0x21, 0x37, 0xc5, 0x54, 0xd3, - 0x35, 0xaa, 0x55, 0x0a, 0x9c, 0xee, 0xbd, 0x3f, 0x4f, 0x56, 0x12, 0xb5, 0x3f, 0xa7, 0x61, 0xdd, - 0x8d, 0x6c, 0xd7, 0x38, 0x37, 0xd1, 0x7d, 0x58, 0x77, 0x88, 0xa5, 0x52, 0x46, 0x50, 0x89, 0x5e, - 0x49, 0xf0, 0x45, 0xe0, 0x10, 0x4b, 0xc8, 0xe8, 0xe8, 0x19, 0xac, 0x5d, 0x11, 0x43, 0xaf, 0x14, - 0xef, 0x27, 0x1e, 0x17, 0x1b, 0xf7, 0xea, 0x12, 0x37, 0x75, 0xbf, 0x9a, 0x3a, 0x7f, 0x7a, 0x4d, - 0x0c, 0x5d, 0xe1, 0xc2, 0xd1, 0x68, 0x49, 0xde, 0x02, 0x2d, 0xa9, 0x95, 0xd1, 0xb2, 0x16, 0x89, - 0x96, 0x67, 0x90, 0xa7, 0xb6, 0x66, 0x38, 0x96, 0x69, 0xd3, 0xca, 0x06, 0x37, 0x7d, 0x27, 0x68, - 0xba, 0x64, 0x2a, 0x73, 0xb9, 0x78, 0x88, 0xa5, 0x6f, 0x0d, 0x31, 0x58, 0x19, 0x62, 0x99, 0xd5, - 0x21, 0x96, 0xbd, 0x05, 0xc4, 0x72, 0xb7, 0x81, 0x58, 0xfe, 0x06, 0x88, 0x15, 0x62, 0x20, 0xb6, - 0x1e, 0x84, 0x58, 0xad, 0x0d, 0x79, 0x0f, 0x09, 0xa8, 0x0c, 0xeb, 0x23, 0xe5, 0xb4, 0xf7, 0x5a, - 0x3d, 0xe9, 0xbc, 0x6c, 0xb6, 0xbe, 0x2c, 0xdf, 0x41, 0x9b, 0xb0, 0x21, 0x28, 0xdd, 0xde, 0x71, - 0xff, 0xb4, 0xd7, 0x2e, 0x27, 0x10, 0x82, 0xa2, 0x20, 0xf5, 0x4f, 0x47, 0x82, 0x96, 0xe4, 0x40, - 0x55, 0xe0, 0xc0, 0xab, 0x43, 0x5d, 0xf1, 0xbd, 0x81, 0x72, 0xd4, 0x80, 0x34, 0xc7, 0x2c, 0x07, - 0x6c, 0xa1, 0x71, 0xe0, 0x8f, 0xad, 0x5f, 0x9e, 0xa1, 0x53, 0x11, 0xa2, 0xb5, 0xbf, 0x67, 0x61, - 0x2b, 0x82, 0xbd, 0x42, 0x0e, 0xb8, 0x7e, 0x48, 0xc6, 0xf8, 0x21, 0x15, 0xf4, 0x03, 0xaa, 0x40, - 0xd6, 0x05, 0x02, 0xaf, 0x4e, 0x8a, 0xfb, 0xca, 0xdc, 0xaf, 0x4d, 0x26, 0xe6, 0x5b, 0xec, 0x4f, - 0x8c, 0xb4, 0x48, 0x0c, 0xc9, 0x98, 0x27, 0xc6, 0x23, 0x28, 0xb9, 0xc2, 0xae, 0xba, 0x8c, 0xc0, - 0x95, 0x24, 0xbb, 0xb8, 0x7a, 0x00, 0x1b, 0xda, 0x8c, 0x5e, 0x86, 0x0b, 0xcc, 0x3a, 0x23, 0x7a, - 0x91, 0x77, 0x85, 0x42, 0x85, 0x85, 0x0b, 0x79, 0x11, 0x6f, 0x41, 0xf6, 0x12, 0x6b, 0xba, 0x5b, - 0x25, 0x0b, 0x8d, 0x27, 0xcb, 0x3c, 0x5b, 0x7f, 0x25, 0x64, 0x3b, 0x06, 0xb5, 0xaf, 0x15, 0x77, - 0x25, 0x22, 0xb0, 0x23, 0x1f, 0x55, 0x6a, 0xaa, 0x1a, 0xa5, 0x36, 0x39, 0x9b, 0x51, 0x2c, 0xb2, - 0xa2, 0xd0, 0xf8, 0xde, 0x2a, 0x2a, 0x47, 0x66, 0xd3, 0x5b, 0x27, 0xd4, 0x6f, 0x5d, 0x2e, 0x72, - 0xd8, 0x56, 0x73, 0xfd, 0x6c, 0x37, 0xd7, 0xfa, 0xe2, 0x0a, 0x5b, 0xcd, 0xf5, 0x8c, 0xcc, 0xc0, - 0x97, 0x6c, 0x69, 0x8b, 0x1c, 0x74, 0x0c, 0x25, 0x9b, 0x18, 0x17, 0xc4, 0xb8, 0x50, 0x29, 0x99, - 0x62, 0x73, 0x46, 0x79, 0x5e, 0x14, 0x1a, 0x7b, 0x75, 0x71, 0xd0, 0xd6, 0xdd, 0x83, 0xb6, 0xde, - 0x96, 0x07, 0xb1, 0x52, 0x94, 0x2b, 0x46, 0x62, 0x01, 0xea, 0xc0, 0xe6, 0x54, 0x7b, 0xa7, 0x8e, - 0xb5, 0xc9, 0x44, 0x75, 0x4f, 0x6b, 0x9e, 0x45, 0x4b, 0xb5, 0x94, 0xa6, 0xda, 0xbb, 0x96, 0x36, - 0x99, 0xb8, 0x04, 0x16, 0xca, 0x2b, 0x9b, 0x38, 0x96, 0x8a, 0x0d, 0xed, 0x6c, 0x82, 0x75, 0x5e, - 0xe1, 0x72, 0xca, 0x3a, 0x27, 0x76, 0x04, 0xad, 0xfa, 0x1c, 0xd6, 0xfd, 0x1f, 0x85, 0xca, 0x90, - 0xba, 0xc2, 0xd7, 0x12, 0xdd, 0xec, 0x11, 0x6d, 0x43, 0xfa, 0x8d, 0x36, 0x99, 0xb9, 0xb8, 0x16, - 0x2f, 0xcf, 0x93, 0x3f, 0x48, 0x54, 0x5f, 0x40, 0x25, 0x2e, 0x0e, 0xb7, 0xd5, 0x13, 0xe7, 0xe4, - 0xdb, 0xe8, 0xa9, 0x8d, 0xe0, 0xd0, 0x2b, 0x07, 0x7d, 0x59, 0xa5, 0x02, 0xf5, 0xe0, 0x59, 0xb0, - 0x1e, 0x1c, 0xfa, 0xe3, 0x1e, 0x58, 0xe0, 0x2f, 0x08, 0xbf, 0xcb, 0xc0, 0x76, 0x14, 0xff, 0xbf, - 0x53, 0x11, 0xdc, 0xa3, 0x4d, 0x1c, 0x58, 0xee, 0x6b, 0xf0, 0xa4, 0x4a, 0xaf, 0x78, 0x52, 0xf9, - 0x0a, 0x4c, 0x26, 0x58, 0x60, 0xbe, 0xbd, 0x52, 0xd0, 0x0e, 0x97, 0x82, 0xa3, 0xa5, 0x4e, 0x8d, - 0xa9, 0x05, 0x5f, 0x2f, 0xaf, 0x05, 0x9f, 0xae, 0xa4, 0x73, 0xc5, 0x62, 0xf0, 0x75, 0x5c, 0x31, - 0x28, 0xac, 0xb2, 0xd7, 0xad, 0xaa, 0xc1, 0xff, 0x55, 0x76, 0x7d, 0x06, 0x7b, 0x2f, 0x31, 0x8d, - 0x39, 0x69, 0x6f, 0xcc, 0x85, 0xda, 0x00, 0xaa, 0x51, 0xcb, 0x1d, 0xcb, 0x34, 0x1c, 0xfc, 0x5e, - 0x27, 0xf5, 0xe7, 0xae, 0xc6, 0xc8, 0x5c, 0xbf, 0xd9, 0x22, 0x05, 0xf6, 0x23, 0xd7, 0x4b, 0x93, - 0xde, 0xab, 0x58, 0xec, 0xc1, 0xd6, 0x09, 0x71, 0x68, 0xa8, 0x2f, 0xe2, 0x97, 0x95, 0x97, 0xb0, - 0x1d, 0x64, 0xc9, 0x7d, 0x3e, 0x86, 0x34, 0xa1, 0x78, 0x2a, 0xfa, 0xa4, 0x42, 0x38, 0xad, 0x3d, - 0xfd, 0x5c, 0x86, 0x2b, 0x3a, 0x80, 0xaa, 0x54, 0x14, 0x11, 0x89, 0xda, 0x4f, 0x60, 0x3f, 0x92, - 0x3b, 0x77, 0xb4, 0x7f, 0xb7, 0x1b, 0x1c, 0xcd, 0x45, 0x6b, 0x87, 0x9e, 0xca, 0x28, 0x4f, 0xd7, - 0x86, 0x70, 0x10, 0xcd, 0x9e, 0x3b, 0xd2, 0xbf, 0xe5, 0x4d, 0x8e, 0x14, 0x7b, 0xfe, 0x10, 0x76, - 0xda, 0x78, 0x82, 0x17, 0x5b, 0xcc, 0x9b, 0xe3, 0xfa, 0x02, 0x76, 0x86, 0xdd, 0x41, 0x9b, 0x38, - 0x96, 0x46, 0xc7, 0x97, 0xca, 0x6c, 0x82, 0xdb, 0xc4, 0xc6, 0x63, 0x8a, 0xf6, 0x21, 0x6f, 0x9b, - 0xe6, 0x54, 0xe5, 0x15, 0x4f, 0xac, 0xcb, 0x31, 0x42, 0x8f, 0x55, 0xbb, 0x32, 0xa4, 0x2c, 0x62, - 0x48, 0xd8, 0xb3, 0xc7, 0x5a, 0x0f, 0xf6, 0x42, 0x7a, 0xba, 0x86, 0x4e, 0xde, 0x10, 0x7d, 0xa6, - 0x4d, 0xd0, 0x3d, 0x28, 0x70, 0x5d, 0x96, 0x8d, 0xcf, 0xc9, 0x3b, 0xd7, 0x0a, 0x46, 0x1a, 0x70, - 0x4a, 0x84, 0xbe, 0xcb, 0x05, 0xbb, 0xd8, 0x71, 0x8d, 0xf1, 0x7b, 0xe8, 0x42, 0x07, 0x90, 0xb7, - 0x35, 0x43, 0x37, 0xa7, 0xe4, 0x37, 0x98, 0x1f, 0x23, 0x39, 0x65, 0x4e, 0xa8, 0xfd, 0x31, 0x09, - 0xa5, 0xd0, 0x56, 0x48, 0x81, 0x6d, 0x5d, 0xbe, 0xab, 0xf6, 0x6c, 0x82, 0x55, 0x9d, 0x3b, 0x45, - 0xa2, 0xfb, 0xae, 0x3f, 0x28, 0x8b, 0xae, 0x7b, 0x75, 0x47, 0x41, 0xfa, 0xa2, 0x43, 0x7f, 0x09, - 0x95, 0xa0, 0x4e, 0xe2, 0x39, 0x88, 0x1b, 0x5b, 0x68, 0xd4, 0xe2, 0xf4, 0xce, 0x5d, 0xf9, 0xea, - 0x8e, 0xb2, 0xab, 0x47, 0x3b, 0x79, 0xc1, 0xe6, 0x31, 0x77, 0x18, 0xff, 0xe0, 0x25, 0x36, 0x0b, - 0xb7, 0x86, 0x6d, 0x16, 0xd4, 0xe3, 0x0c, 0xac, 0x31, 0x55, 0xb5, 0xdf, 0xa6, 0x7c, 0xcd, 0x83, - 0x7f, 0xb5, 0x0b, 0xb4, 0x4f, 0x84, 0xa0, 0x74, 0x50, 0x25, 0x6e, 0x33, 0x85, 0x4b, 0x31, 0x6c, - 0xb9, 0x90, 0x74, 0x7b, 0xd8, 0x1c, 0x15, 0x80, 0x74, 0xd0, 0x11, 0x6c, 0x5e, 0x12, 0x1d, 0xab, - 0xd6, 0xa5, 0x69, 0x60, 0xff, 0x00, 0x23, 0xa7, 0x94, 0x18, 0x63, 0xc0, 0xe8, 0xb2, 0x27, 0x8d, - 0x68, 0x13, 0x33, 0x91, 0x6d, 0xa2, 0x7b, 0xb9, 0x58, 0x8b, 0xb9, 0x5c, 0xa4, 0x43, 0x97, 0x8b, - 0x53, 0x00, 0xdf, 0xc1, 0x9a, 0x0d, 0xdd, 0x7c, 0x97, 0xb9, 0xa2, 0x1e, 0x3e, 0x57, 0x7d, 0x8a, - 0xaa, 0x9f, 0x41, 0xe9, 0x3f, 0x38, 0x9d, 0x6a, 0x7f, 0x4a, 0xf1, 0x76, 0x2b, 0x08, 0x8d, 0x73, - 0x13, 0x3d, 0x85, 0x6d, 0x96, 0xe6, 0x21, 0x78, 0xb9, 0xe9, 0xbe, 0xe9, 0x10, 0x2b, 0xb0, 0x44, - 0xf7, 0xc2, 0x95, 0xbc, 0x7d, 0xb8, 0x52, 0xab, 0x84, 0x6b, 0x6d, 0xe5, 0x70, 0x65, 0x97, 0x86, - 0x2b, 0x1d, 0x13, 0xae, 0x4c, 0x28, 0x5c, 0x27, 0x81, 0x70, 0xe5, 0x78, 0xb8, 0x3e, 0x89, 0xcf, - 0xa6, 0xc0, 0xd5, 0xe4, 0x5b, 0x8f, 0xd2, 0xfc, 0xc8, 0x89, 0x80, 0x87, 0xef, 0xc8, 0x09, 0x72, - 0x57, 0x38, 0x72, 0xc2, 0x1f, 0xe1, 0x96, 0xff, 0x3e, 0x1c, 0x78, 0xe5, 0x3f, 0x2a, 0x39, 0x6f, - 0x0b, 0x8f, 0xda, 0x37, 0x19, 0xd8, 0xf7, 0x30, 0x3e, 0xd0, 0x6c, 0x4a, 0xc6, 0xc4, 0xd2, 0x0c, - 0xba, 0xf2, 0xb1, 0x82, 0xee, 0x42, 0x81, 0x49, 0xf0, 0xae, 0x8c, 0x9a, 0xd2, 0x47, 0x79, 0x87, - 0x58, 0xac, 0xb0, 0x8c, 0x4c, 0x74, 0x08, 0x4c, 0xda, 0x85, 0x4b, 0xc9, 0x63, 0x4b, 0xa0, 0x04, - 0x0e, 0x9f, 0x54, 0xe8, 0xf0, 0xf9, 0x2e, 0x6c, 0x5b, 0x73, 0x9b, 0x54, 0xa2, 0x63, 0x83, 0x12, - 0x7a, 0x2d, 0x73, 0x7b, 0xcb, 0xc7, 0xeb, 0x4a, 0x16, 0x7a, 0x02, 0x65, 0xff, 0x12, 0xdf, 0x2d, - 0xbe, 0xe4, 0xa3, 0x47, 0x69, 0xf7, 0x20, 0x97, 0x5b, 0xd0, 0xfe, 0x85, 0x8b, 0xbe, 0x37, 0xb0, - 0xeb, 0x5f, 0xe2, 0x43, 0xa2, 0xb8, 0xe5, 0xff, 0x68, 0xb1, 0x70, 0x2c, 0x3a, 0xb5, 0xee, 0x23, - 0x85, 0xc1, 0xb9, 0x63, 0x45, 0xf1, 0x58, 0x96, 0xe8, 0x74, 0x7a, 0xee, 0x66, 0x09, 0x7b, 0x46, - 0x8f, 0x60, 0xc3, 0x9a, 0x68, 0xd7, 0x2a, 0xeb, 0x92, 0xa9, 0x69, 0x88, 0x61, 0x58, 0x8e, 0x0f, - 0xda, 0xd6, 0x19, 0x43, 0x91, 0x74, 0xd6, 0xb0, 0x70, 0x41, 0x9d, 0x68, 0x13, 0x2e, 0x28, 0x1b, - 0x5e, 0x46, 0x6c, 0x4b, 0x5a, 0x74, 0x72, 0x43, 0x74, 0x72, 0xff, 0x0f, 0x35, 0xf3, 0xdf, 0x81, - 0x75, 0xd1, 0xc6, 0xab, 0xbc, 0x7d, 0xe7, 0x83, 0xd6, 0x9c, 0x52, 0x10, 0xb4, 0xd7, 0x8c, 0x54, - 0x7d, 0x05, 0xd5, 0x78, 0x87, 0xdf, 0x2a, 0xdd, 0xff, 0x92, 0x00, 0x14, 0x8c, 0x28, 0xaf, 0xc9, - 0x0f, 0xa1, 0x18, 0x44, 0xa9, 0xd4, 0xb6, 0x11, 0xc0, 0x67, 0x2c, 0x98, 0x93, 0xf1, 0x60, 0x5e, - 0x9a, 0x1c, 0xfe, 0xc4, 0x23, 0xba, 0xcc, 0x09, 0x37, 0xf1, 0xba, 0x7a, 0xed, 0x6f, 0x09, 0x38, - 0xe4, 0xfd, 0xef, 0x39, 0xb6, 0xa3, 0x93, 0x3b, 0xce, 0xa2, 0xc4, 0x8a, 0x16, 0x25, 0x43, 0x16, - 0xdd, 0x83, 0x02, 0x95, 0x1b, 0xb2, 0x52, 0x20, 0x0c, 0x06, 0x97, 0x34, 0x32, 0x17, 0x91, 0xb8, - 0xb6, 0x88, 0xc4, 0xda, 0x5f, 0xd7, 0xa0, 0x30, 0xec, 0x0e, 0xf8, 0x57, 0x30, 0xf7, 0x7e, 0x00, - 0x59, 0xf7, 0x1b, 0x85, 0x61, 0x99, 0x31, 0xff, 0x40, 0xb4, 0x07, 0x39, 0xaf, 0x2e, 0x09, 0x53, - 0xb2, 0xf2, 0xac, 0x5a, 0xee, 0xb8, 0x0f, 0x20, 0xcb, 0x99, 0x9e, 0xd3, 0x32, 0xec, 0x75, 0x49, - 0x84, 0xd2, 0xf1, 0xfe, 0x38, 0x82, 0xdc, 0xb9, 0x6d, 0x4e, 0xd5, 0x99, 0x4d, 0x78, 0xfe, 0x15, - 0x1a, 0x25, 0x7f, 0x1d, 0x3f, 0xb5, 0x89, 0x92, 0x65, 0x02, 0xa7, 0x36, 0x41, 0x1f, 0x41, 0x86, - 0x9a, 0x5c, 0x32, 0x1b, 0x2d, 0x99, 0xa6, 0x26, 0x93, 0xfb, 0x1c, 0xca, 0x72, 0x34, 0xa5, 0x9e, - 0x63, 0x8d, 0xce, 0x6c, 0x2c, 0x26, 0x72, 0xc5, 0xc6, 0x96, 0x7f, 0xc5, 0x0b, 0xc1, 0x53, 0x4a, - 0x52, 0x58, 0xbe, 0x3b, 0xe8, 0xfb, 0x50, 0xe0, 0x0e, 0x73, 0xa8, 0x46, 0x67, 0x0e, 0x2f, 0x67, - 0xc5, 0xc6, 0xae, 0x7f, 0x29, 0xf3, 0xed, 0x90, 0x73, 0x15, 0x18, 0x7b, 0xcf, 0xac, 0x54, 0x8f, - 0x79, 0xd9, 0xd2, 0x55, 0x8d, 0xf2, 0xb9, 0x76, 0x4a, 0xc9, 0x4b, 0x4a, 0x93, 0xf2, 0x4a, 0x4e, - 0x35, 0x5b, 0xb2, 0x41, 0xb0, 0x25, 0xa5, 0x49, 0x59, 0x38, 0xb0, 0xa1, 0x0b, 0x66, 0x81, 0x33, - 0xb3, 0xfc, 0xbd, 0x49, 0xd1, 0x0b, 0xd8, 0xd4, 0x89, 0x33, 0x36, 0x0d, 0x03, 0x8f, 0xa9, 0x6a, - 0x63, 0xcd, 0x91, 0xc9, 0x5e, 0x6c, 0xec, 0x79, 0x76, 0xb5, 0x3d, 0x09, 0x85, 0x0b, 0x28, 0x65, - 0x3d, 0x44, 0x61, 0xa9, 0x89, 0x6d, 0xdb, 0xb4, 0x79, 0x05, 0xcb, 0x2b, 0xe2, 0xa5, 0xf6, 0x87, - 0x04, 0x64, 0x84, 0x07, 0x59, 0x9d, 0x9c, 0x39, 0xd8, 0x96, 0x40, 0xe1, 0xcf, 0x8c, 0x76, 0x69, - 0x3a, 0xd4, 0x9d, 0x36, 0xb1, 0x67, 0x54, 0x84, 0x24, 0xb1, 0x24, 0x30, 0x92, 0xc4, 0x62, 0x32, - 0x7c, 0x84, 0xc4, 0xf0, 0xb0, 0xa1, 0xf0, 0xe7, 0xf7, 0x9a, 0x2d, 0x1d, 0x5d, 0xc9, 0x9f, 0x88, - 0xdc, 0x59, 0xd3, 0x2e, 0xaf, 0x18, 0xea, 0x48, 0x69, 0xf6, 0x86, 0x83, 0xbe, 0x32, 0x52, 0x9b, - 0xa7, 0xa3, 0x7e, 0xf9, 0x0e, 0xda, 0x81, 0xcd, 0x20, 0xfd, 0xb4, 0x3d, 0x28, 0x27, 0x16, 0xc9, - 0xa3, 0xd6, 0xa0, 0x9c, 0x8c, 0x20, 0x9f, 0x0c, 0xcb, 0xa9, 0xa3, 0xb7, 0xb0, 0x11, 0x08, 0x26, - 0x97, 0x6b, 0x0d, 0xd5, 0x56, 0xf3, 0xe4, 0x44, 0xed, 0xf6, 0x5a, 0xfd, 0x2f, 0xba, 0xbd, 0x97, - 0xe5, 0x3b, 0xa8, 0x0a, 0xbb, 0x8c, 0x3c, 0x68, 0x2a, 0xa3, 0x6e, 0xab, 0x3b, 0x68, 0xf6, 0x46, - 0xea, 0x8f, 0xfb, 0xdd, 0x5e, 0xa7, 0x5d, 0x4e, 0xa0, 0x22, 0x00, 0xe3, 0x35, 0x5b, 0xa3, 0xee, - 0x4f, 0x3b, 0xe5, 0x24, 0xda, 0x86, 0x32, 0x7b, 0x6f, 0x77, 0x87, 0xad, 0x7e, 0xaf, 0xd7, 0x69, - 0x8d, 0x3a, 0xed, 0x72, 0x0a, 0x6d, 0x40, 0x9e, 0x51, 0x3b, 0x8a, 0xd2, 0x57, 0xca, 0x6b, 0x47, - 0x4f, 0x00, 0xe6, 0x00, 0x44, 0x39, 0x58, 0xeb, 0xf5, 0x7b, 0x1d, 0xf1, 0x1b, 0xc5, 0x6b, 0xa5, - 0x3b, 0x1c, 0xa8, 0x9d, 0x5e, 0xf3, 0xf8, 0x84, 0xe9, 0x6f, 0xfc, 0x23, 0x0f, 0xa9, 0x61, 0x77, - 0x80, 0x06, 0xb0, 0xee, 0x6f, 0xf3, 0xd1, 0xfc, 0xba, 0x13, 0x31, 0x18, 0xa8, 0x1e, 0xc6, 0x70, - 0xc5, 0xd5, 0xa9, 0x96, 0xfa, 0x7d, 0x32, 0x81, 0xbe, 0xf2, 0xfd, 0xda, 0xea, 0x6f, 0xd1, 0xd1, - 0xc3, 0xc5, 0x43, 0x38, 0x62, 0x22, 0x50, 0x5d, 0xda, 0xe3, 0x23, 0x15, 0x76, 0xa3, 0x87, 0xa6, - 0xe8, 0xa3, 0x45, 0xf5, 0x51, 0xfd, 0x7f, 0x75, 0x79, 0x43, 0x8f, 0x7e, 0x01, 0x68, 0x71, 0xf0, - 0x83, 0xe6, 0x8d, 0x61, 0xec, 0x50, 0xa9, 0xfa, 0x60, 0xa9, 0x8c, 0xbc, 0x5d, 0xfe, 0x0a, 0xb6, - 0x22, 0xa6, 0x38, 0x28, 0xbc, 0x36, 0xd2, 0xf2, 0x0f, 0x97, 0x0b, 0xcd, 0x77, 0x88, 0x98, 0xa8, - 0xf8, 0x76, 0x88, 0x9f, 0xc6, 0xf8, 0x76, 0x58, 0x36, 0x94, 0x19, 0x7b, 0xa3, 0xa1, 0xe0, 0x47, - 0x2c, 0xac, 0x8e, 0xfc, 0x8a, 0x87, 0x37, 0x48, 0xc9, 0x4d, 0x5e, 0x42, 0x31, 0x38, 0x51, 0x41, - 0xf3, 0x06, 0x3a, 0x72, 0xd4, 0x52, 0x8d, 0x1e, 0x45, 0x05, 0xf0, 0x18, 0x18, 0x31, 0x3c, 0x5c, - 0xa9, 0x9b, 0xac, 0x2e, 0x6d, 0x00, 0x7c, 0xde, 0x0e, 0xe8, 0x5e, 0xf0, 0x76, 0x94, 0xe6, 0x0f, - 0x97, 0x0b, 0x49, 0x47, 0x7c, 0xe5, 0x1b, 0x2d, 0xc5, 0xd8, 0xbf, 0xac, 0xf7, 0xb8, 0xc1, 0xfe, - 0x2f, 0x61, 0x3b, 0xea, 0x4a, 0xec, 0x8b, 0xe5, 0x92, 0x1b, 0x73, 0x75, 0xdf, 0xaf, 0x3b, 0x7c, - 0xff, 0xfa, 0x19, 0xec, 0x46, 0xdf, 0x73, 0x7c, 0xa9, 0xba, 0xf4, 0x22, 0x54, 0xdd, 0x5d, 0xb8, - 0x71, 0x76, 0xa6, 0x16, 0xbd, 0x3e, 0x7e, 0xf1, 0xf3, 0x07, 0x17, 0x84, 0x5e, 0xce, 0xce, 0xea, - 0x63, 0x73, 0xfa, 0x54, 0xea, 0x12, 0x7f, 0x09, 0x19, 0x9b, 0x13, 0x97, 0xf0, 0x4d, 0x72, 0xe3, - 0x84, 0xbc, 0xc1, 0xaf, 0x09, 0xad, 0x0f, 0x18, 0xeb, 0x5f, 0xc9, 0xa2, 0x7c, 0x7f, 0xfe, 0x9c, - 0x13, 0xce, 0x32, 0x7c, 0xc9, 0xb3, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0xf4, 0xf6, 0x57, 0xda, - 0x91, 0x22, 0x00, 0x00, + // 2427 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x5a, 0x6d, 0x6f, 0xdb, 0xc8, + 0xf1, 0x8f, 0x24, 0xeb, 0x69, 0x64, 0xcb, 0xf2, 0xfa, 0xe1, 0x64, 0xd9, 0xbe, 0xe4, 0xaf, 0x5c, + 0x2e, 0x89, 0xef, 0xa0, 0xfc, 0xab, 0xa0, 0xd7, 0x36, 0xc0, 0x5d, 0x21, 0x4b, 0x4a, 0xa2, 0xc6, + 0x27, 0xab, 0x94, 0x5c, 0xf4, 0x8a, 0x6b, 0x59, 0x5a, 0x5c, 0xdb, 0x7b, 0x96, 0x48, 0x96, 0x5c, + 0x25, 0x71, 0x5f, 0xb7, 0x40, 0xfb, 0x11, 0xfa, 0xb2, 0x28, 0xd0, 0x17, 0x57, 0xa0, 0xef, 0x0a, + 0xf4, 0xcb, 0xf4, 0x0b, 0xf4, 0x53, 0x14, 0xfb, 0x40, 0x8a, 0xa4, 0x48, 0x5a, 0x4e, 0x53, 0xa0, + 0xe8, 0x3b, 0x72, 0x66, 0x76, 0x76, 0x38, 0xf3, 0x9b, 0x99, 0xdd, 0x91, 0x60, 0x63, 0x42, 0x5e, + 0xe3, 0x2b, 0x42, 0x55, 0x87, 0x58, 0x0d, 0xcb, 0x36, 0xa9, 0x89, 0xf2, 0x92, 0x54, 0xfb, 0xf0, + 0xc2, 0x34, 0x2f, 0x26, 0xf8, 0x09, 0x27, 0x9f, 0xcd, 0xce, 0x9f, 0xe8, 0x33, 0x5b, 0xa3, 0xc4, + 0x34, 0x84, 0x60, 0x6d, 0x2f, 0xcc, 0xc7, 0x53, 0x8b, 0x5e, 0x4b, 0xe6, 0x96, 0xab, 0x78, 0x6a, + 0xea, 0x78, 0xe2, 0x08, 0x6a, 0xfd, 0x1f, 0x19, 0xd8, 0x6e, 0xdb, 0x58, 0xa3, 0x78, 0xd8, 0x1b, + 0x8c, 0xec, 0x99, 0x71, 0xa5, 0xe0, 0x5f, 0xcd, 0xb0, 0x43, 0xd1, 0x27, 0xb0, 0x41, 0x8c, 0x33, + 0x73, 0x66, 0xe8, 0xaa, 0xa6, 0xeb, 0x36, 0x76, 0x1c, 0xec, 0x54, 0x53, 0xf7, 0x32, 0x8f, 0x8a, + 0x4a, 0x45, 0x32, 0x5a, 0x2e, 0x1d, 0x3d, 0x86, 0x8a, 0x39, 0xa3, 0x01, 0xe9, 0x6a, 0xfa, 0x5e, + 0xea, 0x51, 0x51, 0x59, 0x77, 0xe9, 0x52, 0x18, 0x3d, 0x04, 0x8f, 0xa4, 0x1a, 0xb3, 0xe9, 0x19, + 0xb6, 0xab, 0x19, 0x2e, 0x59, 0x76, 0xc9, 0x7d, 0x4e, 0x45, 0x9f, 0xc1, 0xb6, 0x6b, 0x80, 0x90, + 0x73, 0x54, 0x1b, 0x5f, 0xe0, 0xb7, 0xd5, 0x15, 0x66, 0xc4, 0x51, 0xba, 0x9a, 0x52, 0x36, 0xa5, + 0x80, 0x58, 0xe1, 0x28, 0x8c, 0xcd, 0x36, 0x08, 0xad, 0xab, 0x16, 0xb9, 0xd9, 0xe5, 0xa0, 0x34, + 0x33, 0xda, 0x15, 0x9c, 0x39, 0xd8, 0x36, 0xb4, 0x29, 0xae, 0x66, 0x85, 0xd1, 0x92, 0x7e, 0x2a, + 0xc9, 0x7e, 0x51, 0x4b, 0x73, 0x9c, 0x37, 0xa6, 0xad, 0x57, 0x73, 0x01, 0xd1, 0x81, 0x24, 0x33, + 0xbf, 0x79, 0xdf, 0xe7, 0xa9, 0xcd, 0x73, 0x59, 0xcf, 0x47, 0x9e, 0x5e, 0xbf, 0xb0, 0xa7, 0xb8, + 0x10, 0x14, 0xf6, 0x34, 0x23, 0x58, 0xe1, 0xca, 0x80, 0xf3, 0xf9, 0x33, 0xaa, 0x41, 0x61, 0x8a, + 0xa9, 0xa6, 0x6b, 0x54, 0xab, 0x96, 0x38, 0xdd, 0x7b, 0x7f, 0x96, 0xae, 0xa6, 0xea, 0x7f, 0xce, + 0xc2, 0xaa, 0x1b, 0xd9, 0x9e, 0x71, 0x6e, 0xa2, 0x7b, 0xb0, 0xea, 0x10, 0x4b, 0xa5, 0x8c, 0xa0, + 0x12, 0xbd, 0x9a, 0xe2, 0x8b, 0xc0, 0x21, 0x96, 0x90, 0xd1, 0xd1, 0x53, 0x58, 0xb9, 0x22, 0x86, + 0x5e, 0x2d, 0xdf, 0x4b, 0x3d, 0x2a, 0x37, 0xef, 0x36, 0x24, 0x6e, 0x1a, 0x7e, 0x35, 0x0d, 0xfe, + 0xf4, 0x8a, 0x18, 0xba, 0xc2, 0x85, 0xa3, 0xd1, 0x92, 0xbe, 0x05, 0x5a, 0x32, 0x4b, 0xa3, 0x65, + 0x25, 0x12, 0x2d, 0x4f, 0xa1, 0x48, 0x6d, 0xcd, 0x70, 0x2c, 0xd3, 0xa6, 0xd5, 0x35, 0x6e, 0xfa, + 0x76, 0xd0, 0x74, 0xc9, 0x54, 0xe6, 0x72, 0xf1, 0x10, 0xcb, 0xde, 0x1a, 0x62, 0xb0, 0x34, 0xc4, + 0x72, 0xcb, 0x43, 0x2c, 0x7f, 0x0b, 0x88, 0x15, 0x6e, 0x03, 0xb1, 0xe2, 0x0d, 0x10, 0x2b, 0xc5, + 0x40, 0x6c, 0x35, 0x08, 0xb1, 0x7a, 0x07, 0x8a, 0x1e, 0x12, 0x50, 0x05, 0x56, 0x47, 0xca, 0x69, + 0xff, 0x95, 0x7a, 0xdc, 0x7d, 0xd1, 0x6a, 0x7f, 0x55, 0xb9, 0x83, 0x36, 0x60, 0x4d, 0x50, 0x7a, + 0xfd, 0xa3, 0x93, 0xd3, 0x7e, 0xa7, 0x92, 0x42, 0x08, 0xca, 0x82, 0x74, 0x72, 0x3a, 0x12, 0xb4, + 0x34, 0x07, 0xaa, 0x02, 0xfb, 0x5e, 0x1d, 0xea, 0x89, 0xef, 0x0d, 0x94, 0xa3, 0x26, 0x64, 0x39, + 0x66, 0x39, 0x60, 0x4b, 0xcd, 0x7d, 0x7f, 0x6c, 0xfd, 0xf2, 0x0c, 0x9d, 0x8a, 0x10, 0xad, 0xff, + 0x3d, 0x0f, 0x9b, 0x11, 0xec, 0x25, 0x72, 0xc0, 0xf5, 0x43, 0x3a, 0xc6, 0x0f, 0x99, 0xa0, 0x1f, + 0x50, 0x15, 0xf2, 0x2e, 0x10, 0x78, 0x75, 0x52, 0xdc, 0x57, 0xe6, 0x7e, 0x6d, 0x32, 0x31, 0xdf, + 0x60, 0x7f, 0x62, 0x64, 0x45, 0x62, 0x48, 0xc6, 0x3c, 0x31, 0x1e, 0xc2, 0xba, 0x2b, 0xec, 0xaa, + 0xcb, 0x09, 0x5c, 0x49, 0xb2, 0x8b, 0xab, 0xfb, 0xb0, 0xa6, 0xcd, 0xe8, 0x65, 0xb8, 0xc0, 0xac, + 0x32, 0xa2, 0x17, 0x79, 0x57, 0x28, 0x54, 0x58, 0xb8, 0x90, 0x17, 0xf1, 0x36, 0xe4, 0x2f, 0xb1, + 0xa6, 0xbb, 0x55, 0xb2, 0xd4, 0x7c, 0x9c, 0xe4, 0xd9, 0xc6, 0x4b, 0x21, 0xdb, 0x35, 0xa8, 0x7d, + 0xad, 0xb8, 0x2b, 0x11, 0x81, 0x6d, 0xf9, 0xa8, 0x52, 0x53, 0xd5, 0x28, 0xb5, 0xc9, 0xd9, 0x8c, + 0x62, 0x91, 0x15, 0xa5, 0xe6, 0x77, 0x97, 0x51, 0x39, 0x32, 0x5b, 0xde, 0x3a, 0xa1, 0x7e, 0xf3, + 0x72, 0x91, 0xc3, 0xb6, 0x9a, 0xeb, 0x67, 0xbb, 0xb9, 0xd6, 0x97, 0x97, 0xd8, 0x6a, 0xae, 0x67, + 0x64, 0x06, 0xbe, 0x64, 0x53, 0x5b, 0xe4, 0xa0, 0x23, 0x58, 0xb7, 0x89, 0x71, 0x41, 0x8c, 0x0b, + 0x95, 0x92, 0x29, 0x36, 0x67, 0x94, 0xe7, 0x45, 0xa9, 0xb9, 0xdb, 0x10, 0x8d, 0xb6, 0xe1, 0x36, + 0xda, 0x46, 0x47, 0x36, 0x62, 0xa5, 0x2c, 0x57, 0x8c, 0xc4, 0x02, 0xd4, 0x85, 0x8d, 0xa9, 0xf6, + 0x56, 0x1d, 0x6b, 0x93, 0x89, 0xea, 0x76, 0x6b, 0x9e, 0x45, 0x89, 0x5a, 0xd6, 0xa7, 0xda, 0xdb, + 0xb6, 0x36, 0x99, 0xb8, 0x04, 0x16, 0xca, 0x2b, 0x9b, 0x38, 0x96, 0x8a, 0x0d, 0xed, 0x6c, 0x82, + 0x75, 0x5e, 0xe1, 0x0a, 0xca, 0x2a, 0x27, 0x76, 0x05, 0xad, 0xf6, 0x0c, 0x56, 0xfd, 0x1f, 0x85, + 0x2a, 0x90, 0xb9, 0xc2, 0xd7, 0x12, 0xdd, 0xec, 0x11, 0x6d, 0x41, 0xf6, 0xb5, 0x36, 0x99, 0xb9, + 0xb8, 0x16, 0x2f, 0xcf, 0xd2, 0xdf, 0x4f, 0xd5, 0x9e, 0x43, 0x35, 0x2e, 0x0e, 0xb7, 0xd5, 0x13, + 0xe7, 0xe4, 0xdb, 0xe8, 0xa9, 0x8f, 0xe0, 0xc0, 0x2b, 0x07, 0x27, 0xb2, 0x4a, 0x05, 0xea, 0xc1, + 0xd3, 0x60, 0x3d, 0x38, 0xf0, 0xc7, 0x3d, 0xb0, 0xc0, 0x5f, 0x10, 0x7e, 0x9b, 0x83, 0xad, 0x28, + 0xfe, 0x7f, 0xa6, 0x22, 0xb8, 0xad, 0x4d, 0x34, 0x2c, 0xf7, 0x35, 0xd8, 0xa9, 0xb2, 0x4b, 0x76, + 0x2a, 0x5f, 0x81, 0xc9, 0x05, 0x0b, 0xcc, 0xfb, 0x2b, 0x05, 0x9d, 0x70, 0x29, 0x38, 0x4c, 0x74, + 0x6a, 0x4c, 0x2d, 0xf8, 0x26, 0xb9, 0x16, 0x7c, 0xb6, 0x94, 0xce, 0x25, 0x8b, 0xc1, 0x37, 0x71, + 0xc5, 0xa0, 0xb4, 0xcc, 0x5e, 0xb7, 0xaa, 0x06, 0xff, 0x53, 0xd9, 0xf5, 0x39, 0xec, 0xbe, 0xc0, + 0x34, 0xa6, 0xd3, 0xde, 0x98, 0x0b, 0xf5, 0x01, 0xd4, 0xa2, 0x96, 0x3b, 0x96, 0x69, 0x38, 0xf8, + 0x9d, 0x3a, 0xf5, 0x17, 0xae, 0xc6, 0xc8, 0x5c, 0xbf, 0xd9, 0x22, 0x05, 0xf6, 0x22, 0xd7, 0x4b, + 0x93, 0xde, 0xa9, 0x58, 0xec, 0xc2, 0xe6, 0x31, 0x71, 0x68, 0xe8, 0x5e, 0xc4, 0x0f, 0x2b, 0x2f, + 0x60, 0x2b, 0xc8, 0x92, 0xfb, 0x7c, 0x02, 0x59, 0x42, 0xf1, 0x54, 0xdc, 0x93, 0x4a, 0xe1, 0xb4, + 0xf6, 0xf4, 0x73, 0x19, 0xae, 0x68, 0x1f, 0x6a, 0x52, 0x51, 0x44, 0x24, 0xea, 0x3f, 0x86, 0xbd, + 0x48, 0xee, 0xdc, 0xd1, 0xfe, 0xdd, 0x6e, 0x70, 0x34, 0x17, 0xad, 0x1f, 0x78, 0x2a, 0xa3, 0x3c, + 0x5d, 0x1f, 0xc2, 0x7e, 0x34, 0x7b, 0xee, 0x48, 0xff, 0x96, 0x37, 0x39, 0x52, 0xec, 0xf9, 0x03, + 0xd8, 0xee, 0xe0, 0x09, 0x5e, 0xbc, 0x62, 0xde, 0x1c, 0xd7, 0xe7, 0xb0, 0x3d, 0xec, 0x0d, 0x3a, + 0xc4, 0xb1, 0x34, 0x3a, 0xbe, 0x54, 0x66, 0x13, 0xdc, 0x21, 0x36, 0x1e, 0x53, 0xb4, 0x07, 0x45, + 0xdb, 0x34, 0xa7, 0x2a, 0xaf, 0x78, 0x62, 0x5d, 0x81, 0x11, 0xfa, 0xac, 0xda, 0x55, 0x20, 0x63, + 0x11, 0x43, 0xc2, 0x9e, 0x3d, 0xd6, 0xfb, 0xb0, 0x1b, 0xd2, 0xd3, 0x33, 0x74, 0xf2, 0x9a, 0xe8, + 0x33, 0x6d, 0x82, 0xee, 0x42, 0x89, 0xeb, 0xb2, 0x6c, 0x7c, 0x4e, 0xde, 0xba, 0x56, 0x30, 0xd2, + 0x80, 0x53, 0x22, 0xf4, 0x5d, 0x2e, 0xd8, 0xc5, 0xda, 0x35, 0xc6, 0xef, 0xa0, 0x0b, 0xed, 0x43, + 0xd1, 0xd6, 0x0c, 0xdd, 0x9c, 0x92, 0x5f, 0x63, 0xde, 0x46, 0x0a, 0xca, 0x9c, 0x50, 0xff, 0x63, + 0x1a, 0xd6, 0x43, 0x5b, 0x21, 0x05, 0xb6, 0x74, 0xf9, 0xae, 0xda, 0xb3, 0x09, 0x56, 0x75, 0xee, + 0x14, 0x89, 0xee, 0x0f, 0xfd, 0x41, 0x59, 0x74, 0xdd, 0xcb, 0x3b, 0x0a, 0xd2, 0x17, 0x1d, 0xfa, + 0x0b, 0xa8, 0x06, 0x75, 0x12, 0xcf, 0x41, 0xdc, 0xd8, 0x52, 0xb3, 0x1e, 0xa7, 0x77, 0xee, 0xca, + 0x97, 0x77, 0x94, 0x1d, 0x3d, 0xda, 0xc9, 0x0b, 0x36, 0x8f, 0xb9, 0xc3, 0xf8, 0x07, 0x27, 0xd8, + 0x2c, 0xdc, 0x1a, 0xb6, 0x59, 0x50, 0x8f, 0x72, 0xb0, 0xc2, 0x54, 0xd5, 0x7f, 0x93, 0xf1, 0x5d, + 0x1e, 0xfc, 0xab, 0x5d, 0xa0, 0x7d, 0x2a, 0x04, 0xa5, 0x83, 0xaa, 0x71, 0x9b, 0x29, 0x5c, 0x8a, + 0x61, 0xcb, 0x85, 0xa4, 0x7b, 0x87, 0x2d, 0x50, 0x01, 0x48, 0x07, 0x1d, 0xc2, 0xc6, 0x25, 0xd1, + 0xb1, 0x6a, 0x5d, 0x9a, 0x06, 0xf6, 0x0f, 0x30, 0x0a, 0xca, 0x3a, 0x63, 0x0c, 0x18, 0x5d, 0xde, + 0x49, 0x23, 0xae, 0x89, 0xb9, 0xc8, 0x6b, 0xa2, 0x7b, 0xb8, 0x58, 0x89, 0x39, 0x5c, 0x64, 0x43, + 0x87, 0x8b, 0x53, 0x00, 0x5f, 0x63, 0xcd, 0x87, 0x4e, 0xbe, 0x49, 0xae, 0x68, 0x84, 0xfb, 0xaa, + 0x4f, 0x51, 0xed, 0x73, 0x58, 0xff, 0x37, 0xba, 0x53, 0xfd, 0x4f, 0x19, 0x7e, 0xdd, 0x0a, 0x42, + 0xe3, 0xdc, 0x44, 0x4f, 0x60, 0x8b, 0xa5, 0x79, 0x08, 0x5e, 0x6e, 0xba, 0x6f, 0x38, 0xc4, 0x0a, + 0x2c, 0xd1, 0xbd, 0x70, 0xa5, 0x6f, 0x1f, 0xae, 0xcc, 0x32, 0xe1, 0x5a, 0x59, 0x3a, 0x5c, 0xf9, + 0xc4, 0x70, 0x65, 0x63, 0xc2, 0x95, 0x0b, 0x85, 0xeb, 0x38, 0x10, 0xae, 0x02, 0x0f, 0xd7, 0xa7, + 0xf1, 0xd9, 0x14, 0x38, 0x9a, 0xbc, 0xf7, 0x28, 0x1d, 0xbb, 0xbd, 0x3f, 0x2a, 0x51, 0x6e, 0x1b, + 0xaa, 0x7a, 0xdf, 0x6d, 0xdc, 0x41, 0x6d, 0xb2, 0x5d, 0xfc, 0x7f, 0x20, 0xef, 0xf6, 0x93, 0x3e, + 0x59, 0x04, 0xd3, 0xd7, 0x10, 0x23, 0xcc, 0xf3, 0x35, 0xc4, 0xc8, 0xed, 0x92, 0x1a, 0xe2, 0xc2, + 0x7e, 0xb2, 0x39, 0x9d, 0xc0, 0xbe, 0xd7, 0x9c, 0xde, 0x8b, 0x47, 0xbe, 0xcd, 0xc1, 0x9e, 0x97, + 0x81, 0x03, 0xcd, 0xa6, 0x64, 0x4c, 0x2c, 0xcd, 0xa0, 0x4b, 0x37, 0x3d, 0xf4, 0x21, 0x94, 0x98, + 0x04, 0xbf, 0x33, 0x52, 0x53, 0x46, 0xb0, 0xe8, 0x10, 0x8b, 0x95, 0xbd, 0x91, 0x89, 0x0e, 0x80, + 0x49, 0xbb, 0x60, 0x5e, 0xf7, 0xd8, 0x12, 0xc6, 0x81, 0xd6, 0x98, 0x09, 0xb5, 0xc6, 0xef, 0xc0, + 0x96, 0x35, 0xb7, 0x49, 0x25, 0x3a, 0x36, 0x28, 0xa1, 0xd7, 0xb2, 0xf2, 0x6c, 0xfa, 0x78, 0x3d, + 0xc9, 0x42, 0x8f, 0xa1, 0xe2, 0x5f, 0xe2, 0xbb, 0x63, 0xac, 0xfb, 0xe8, 0x51, 0xda, 0xbd, 0x84, + 0x28, 0x2c, 0x68, 0xff, 0xd2, 0xcd, 0x8d, 0xd7, 0xb0, 0xe3, 0x5f, 0xe2, 0xcb, 0x13, 0x71, 0x07, + 0xf9, 0xe1, 0x62, 0x59, 0x5b, 0x74, 0x6a, 0xc3, 0x47, 0x0a, 0xa7, 0xce, 0xb6, 0x15, 0xc5, 0x63, + 0x39, 0xac, 0xd3, 0xe9, 0xb9, 0x9b, 0xc3, 0xec, 0x19, 0x3d, 0x84, 0x35, 0x6b, 0xa2, 0x5d, 0xab, + 0xec, 0x0e, 0x4f, 0x4d, 0x43, 0x8c, 0xea, 0x0a, 0x7c, 0x0c, 0xb8, 0xca, 0x18, 0x8a, 0xa4, 0xb3, + 0xeb, 0x14, 0x17, 0xd4, 0x89, 0x36, 0xe1, 0x82, 0xf2, 0x3a, 0xce, 0x88, 0x1d, 0x49, 0x8b, 0x2e, + 0x3d, 0x10, 0x5d, 0x7a, 0xfe, 0x8b, 0x46, 0x0d, 0xff, 0x07, 0xab, 0x62, 0xc8, 0xa0, 0xf2, 0xe1, + 0x02, 0x1f, 0x03, 0x17, 0x94, 0x92, 0xa0, 0xbd, 0x62, 0xa4, 0xda, 0x4b, 0xa8, 0xc5, 0x3b, 0xfc, + 0x56, 0xc5, 0xe8, 0x2f, 0x29, 0x40, 0xc1, 0x88, 0xf2, 0x8e, 0xf1, 0x00, 0xca, 0x41, 0x94, 0x4a, + 0x6d, 0x6b, 0x01, 0x7c, 0xc6, 0x82, 0x39, 0x1d, 0x0f, 0xe6, 0xc4, 0xe4, 0xf0, 0x27, 0x1e, 0xd1, + 0x65, 0x4e, 0xb8, 0x89, 0xd7, 0xd3, 0xeb, 0x7f, 0x4b, 0xc1, 0x01, 0xbf, 0x9d, 0x9f, 0x63, 0x3b, + 0x3a, 0xb9, 0xe3, 0x2c, 0x4a, 0x2d, 0x69, 0x51, 0x3a, 0x64, 0xd1, 0x5d, 0x28, 0x51, 0xb9, 0x21, + 0x2b, 0x05, 0xc2, 0x60, 0x70, 0x49, 0x23, 0x73, 0x11, 0x89, 0x2b, 0x8b, 0x48, 0xac, 0xff, 0x75, + 0x05, 0x4a, 0xc3, 0xde, 0x80, 0x7f, 0x05, 0x73, 0xef, 0x07, 0x90, 0x77, 0xbf, 0x51, 0x18, 0x96, + 0x1b, 0xf3, 0x0f, 0x44, 0xbb, 0x50, 0xf0, 0xea, 0x92, 0x30, 0x25, 0x2f, 0x3b, 0x69, 0xb2, 0xe3, + 0x3e, 0x80, 0x3c, 0x67, 0x7a, 0x4e, 0xcb, 0xb1, 0xd7, 0x84, 0x08, 0x65, 0xe3, 0xfd, 0x71, 0x08, + 0x85, 0x73, 0xdb, 0x9c, 0xaa, 0x33, 0x9b, 0xf0, 0xfc, 0x2b, 0x35, 0xd7, 0xfd, 0x75, 0xfc, 0xd4, + 0x26, 0x4a, 0x9e, 0x09, 0x9c, 0xda, 0x04, 0x7d, 0x0c, 0x39, 0x6a, 0x72, 0xc9, 0x7c, 0xb4, 0x64, + 0x96, 0x9a, 0x4c, 0xee, 0x0b, 0xa8, 0xc8, 0xc1, 0x99, 0x7a, 0x8e, 0x35, 0x3a, 0xb3, 0xb1, 0x98, + 0x17, 0x96, 0x9b, 0x9b, 0xfe, 0x15, 0xcf, 0x05, 0x4f, 0x59, 0x97, 0xc2, 0xf2, 0xdd, 0x41, 0xdf, + 0x83, 0x12, 0x77, 0x98, 0x43, 0x35, 0x3a, 0x73, 0x78, 0x39, 0x2b, 0x37, 0x77, 0xfc, 0x4b, 0x99, + 0x6f, 0x87, 0x9c, 0xab, 0xc0, 0xd8, 0x7b, 0x66, 0xa5, 0x7a, 0xcc, 0xcb, 0x96, 0xae, 0x6a, 0x94, + 0x4f, 0xdd, 0x33, 0x4a, 0x51, 0x52, 0x5a, 0x94, 0x57, 0x72, 0xaa, 0xd9, 0x92, 0x0d, 0x82, 0x2d, + 0x29, 0x2d, 0xca, 0xc2, 0x81, 0x0d, 0x5d, 0x30, 0x4b, 0x9c, 0x99, 0xe7, 0xef, 0x2d, 0x8a, 0x9e, + 0xc3, 0x86, 0x4e, 0x9c, 0xb1, 0x69, 0x18, 0x78, 0x4c, 0x55, 0x1b, 0x6b, 0x8e, 0x4c, 0xf6, 0x72, + 0x73, 0xd7, 0xb3, 0xab, 0xe3, 0x49, 0x28, 0x5c, 0x40, 0xa9, 0xe8, 0x21, 0x0a, 0x4b, 0x4d, 0x6c, + 0xdb, 0xa6, 0xcd, 0x2b, 0x58, 0x51, 0x11, 0x2f, 0xf5, 0xdf, 0xa7, 0x20, 0x27, 0x3c, 0xc8, 0xea, + 0xe4, 0xcc, 0xc1, 0xb6, 0x04, 0x0a, 0x7f, 0x66, 0xb4, 0x4b, 0xd3, 0xa1, 0xee, 0x2c, 0x8c, 0x3d, + 0xa3, 0x32, 0xa4, 0x89, 0x25, 0x81, 0x91, 0x26, 0x16, 0x93, 0xe1, 0x03, 0x2e, 0x86, 0x87, 0x35, + 0x85, 0x3f, 0xbf, 0xd3, 0xe4, 0xeb, 0xf0, 0x4a, 0xfe, 0x80, 0xe5, 0x4e, 0xc2, 0x76, 0x78, 0xc5, + 0x50, 0x47, 0x4a, 0xab, 0x3f, 0x1c, 0x9c, 0x28, 0x23, 0xb5, 0x75, 0x3a, 0x3a, 0xa9, 0xdc, 0x41, + 0xdb, 0xb0, 0x11, 0xa4, 0x9f, 0x76, 0x06, 0x95, 0xd4, 0x22, 0x79, 0xd4, 0x1e, 0x54, 0xd2, 0x11, + 0xe4, 0xe3, 0x61, 0x25, 0x73, 0xf8, 0x06, 0xd6, 0x02, 0xc1, 0xe4, 0x72, 0xed, 0xa1, 0xda, 0x6e, + 0x1d, 0x1f, 0xab, 0xbd, 0x7e, 0xfb, 0xe4, 0xcb, 0x5e, 0xff, 0x45, 0xe5, 0x0e, 0xaa, 0xc1, 0x0e, + 0x23, 0x0f, 0x5a, 0xca, 0xa8, 0xd7, 0xee, 0x0d, 0x5a, 0xfd, 0x91, 0xfa, 0xa3, 0x93, 0x5e, 0xbf, + 0xdb, 0xa9, 0xa4, 0x50, 0x19, 0x80, 0xf1, 0x5a, 0xed, 0x51, 0xef, 0x27, 0xdd, 0x4a, 0x1a, 0x6d, + 0x41, 0x85, 0xbd, 0x77, 0x7a, 0xc3, 0xf6, 0x49, 0xbf, 0xdf, 0x6d, 0x8f, 0xba, 0x9d, 0x4a, 0x06, + 0xad, 0x41, 0x91, 0x51, 0xbb, 0x8a, 0x72, 0xa2, 0x54, 0x56, 0x0e, 0x1f, 0x03, 0xcc, 0x01, 0x88, + 0x0a, 0xb0, 0xd2, 0x3f, 0xe9, 0x77, 0xc5, 0x2f, 0x28, 0xaf, 0x94, 0xde, 0x70, 0xa0, 0x76, 0xfb, + 0xad, 0xa3, 0x63, 0xa6, 0xbf, 0xf9, 0x07, 0x80, 0xcc, 0xb0, 0x37, 0x40, 0x03, 0x58, 0xf5, 0x0f, + 0x21, 0xd0, 0xfc, 0xb8, 0x13, 0x31, 0xb6, 0xa8, 0x1d, 0xc4, 0x70, 0xc5, 0xd1, 0xa9, 0x9e, 0xf9, + 0x5d, 0x3a, 0x85, 0xbe, 0xf6, 0xfd, 0x16, 0xec, 0x1f, 0x20, 0xa0, 0x07, 0x8b, 0x4d, 0x38, 0x62, + 0x5e, 0x51, 0x4b, 0x9c, 0x40, 0x20, 0x15, 0x76, 0xa2, 0x47, 0xba, 0xe8, 0xe3, 0x45, 0xf5, 0x51, + 0xd3, 0x89, 0x5a, 0xf2, 0xb8, 0x01, 0xfd, 0x1c, 0xd0, 0xe2, 0x58, 0x0a, 0xcd, 0xaf, 0xad, 0xb1, + 0x23, 0xaf, 0xda, 0xfd, 0x44, 0x19, 0x79, 0xba, 0xfc, 0x25, 0x6c, 0x46, 0xcc, 0x98, 0x50, 0x78, + 0x6d, 0xa4, 0xe5, 0x1f, 0x25, 0x0b, 0xcd, 0x77, 0x88, 0x98, 0xf7, 0xf8, 0x76, 0x88, 0x9f, 0x15, + 0xf9, 0x76, 0x48, 0x1a, 0x19, 0x8d, 0xbd, 0xc1, 0x55, 0xf0, 0x23, 0x16, 0x56, 0x47, 0x7e, 0xc5, + 0x83, 0x1b, 0xa4, 0xe4, 0x26, 0x2f, 0xa0, 0x1c, 0x9c, 0xf7, 0xa0, 0xf9, 0xf5, 0x3e, 0x72, 0x10, + 0x54, 0x8b, 0x1e, 0x94, 0x05, 0xf0, 0x18, 0x18, 0x80, 0x3c, 0x58, 0xea, 0xae, 0x5b, 0x4b, 0xbc, + 0x00, 0xcc, 0xe1, 0x12, 0x50, 0x1d, 0x86, 0x4b, 0x94, 0xde, 0xfb, 0x89, 0x32, 0x0b, 0xc1, 0x0c, + 0xe8, 0x5f, 0x08, 0x66, 0xd4, 0x06, 0x1f, 0x25, 0x0b, 0xc9, 0x1d, 0xbe, 0xf6, 0xcd, 0xd5, 0x62, + 0xdc, 0x93, 0x74, 0xb5, 0xb9, 0xc1, 0x3d, 0x5f, 0xc1, 0x56, 0xd4, 0x89, 0xdb, 0x07, 0x95, 0x84, + 0x03, 0x79, 0x6d, 0xcf, 0xaf, 0x3b, 0x7c, 0xbc, 0xfb, 0x29, 0xec, 0x44, 0x1f, 0xa3, 0x7c, 0x95, + 0x20, 0xf1, 0x9c, 0x55, 0xdb, 0x59, 0x38, 0xd0, 0x76, 0xa7, 0x16, 0xbd, 0x3e, 0x7a, 0xfe, 0xb3, + 0xfb, 0x17, 0x84, 0x5e, 0xce, 0xce, 0x1a, 0x63, 0x73, 0xfa, 0x44, 0xea, 0x12, 0xff, 0x87, 0x19, + 0x9b, 0x13, 0x97, 0xf0, 0x6d, 0x7a, 0xed, 0x98, 0xbc, 0xc6, 0xaf, 0x08, 0x6d, 0x0c, 0x18, 0xeb, + 0x9f, 0xe9, 0xb2, 0x7c, 0x7f, 0xf6, 0x8c, 0x13, 0xce, 0x72, 0x7c, 0xc9, 0xd3, 0x7f, 0x05, 0x00, + 0x00, 0xff, 0xff, 0x0b, 0x67, 0x52, 0xb6, 0x8e, 0x23, 0x00, 0x00, } diff --git a/protobufs/livekit_sip.proto b/protobufs/livekit_sip.proto index 89cb81c4..9e870fc0 100644 --- a/protobufs/livekit_sip.proto +++ b/protobufs/livekit_sip.proto @@ -63,6 +63,7 @@ service SIP { rpc DeleteSIPTrunk(DeleteSIPTrunkRequest) returns (SIPTrunkInfo); rpc CreateSIPDispatchRule(CreateSIPDispatchRuleRequest) returns (SIPDispatchRuleInfo); + rpc GetSIPDispatchRule(GetSIPDispatchRuleRequest) returns (GetSIPDispatchRuleResponse); rpc ListSIPDispatchRule(ListSIPDispatchRuleRequest) returns (ListSIPDispatchRuleResponse); rpc DeleteSIPDispatchRule(DeleteSIPDispatchRuleRequest) returns (SIPDispatchRuleInfo); @@ -375,6 +376,14 @@ message SIPDispatchRuleInfo { // NEXT ID: 9 } +message GetSIPDispatchRuleRequest { + string sip_dispatch_rule_id = 1; +} + +message GetSIPDispatchRuleResponse { + SIPDispatchRuleInfo rule = 1; +} + message ListSIPDispatchRuleRequest { }