From 042f0bd8a5f271387a14841603cf7d8f53aaa1c8 Mon Sep 17 00:00:00 2001 From: Tsubasa Umeuchi Date: Wed, 1 Jun 2022 17:18:53 +0900 Subject: [PATCH 1/8] Update proto definition to add Piped restart feature --- .../server/service/pipedservice/service.pb.go | 1168 +++--- .../pipedservice/service.pb.validate.go | 206 ++ .../server/service/pipedservice/service.proto | 10 + .../service/pipedservice/service_grpc.pb.go | 38 + .../service/webservice/service.pb.auth.go | 2 + .../server/service/webservice/service.pb.go | 3235 +++++++++-------- .../service/webservice/service.pb.validate.go | 215 ++ .../server/service/webservice/service.proto | 10 + .../service/webservice/service_grpc.pb.go | 36 + pkg/model/piped.pb.go | 87 +- pkg/model/piped.pb.validate.go | 2 + pkg/model/piped.proto | 2 + web/api_client/service_grpc_web_pb.d.ts | 12 + web/api_client/service_grpc_web_pb.js | 61 + web/api_client/service_pb.d.ts | 32 + web/api_client/service_pb.js | 275 ++ web/model/piped_pb.d.ts | 4 + web/model/piped_pb.js | 30 + 18 files changed, 3311 insertions(+), 2114 deletions(-) diff --git a/pkg/app/server/service/pipedservice/service.pb.go b/pkg/app/server/service/pipedservice/service.pb.go index d9ba2e3975..8a29880286 100644 --- a/pkg/app/server/service/pipedservice/service.pb.go +++ b/pkg/app/server/service/pipedservice/service.pb.go @@ -3061,6 +3061,91 @@ func (*PutLatestAnalysisResultResponse) Descriptor() ([]byte, []int) { return file_pkg_app_server_service_pipedservice_service_proto_rawDescGZIP(), []int{55} } +type GetNeedRestartRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *GetNeedRestartRequest) Reset() { + *x = GetNeedRestartRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetNeedRestartRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNeedRestartRequest) ProtoMessage() {} + +func (x *GetNeedRestartRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[56] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNeedRestartRequest.ProtoReflect.Descriptor instead. +func (*GetNeedRestartRequest) Descriptor() ([]byte, []int) { + return file_pkg_app_server_service_pipedservice_service_proto_rawDescGZIP(), []int{56} +} + +type GetNeedRestartResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NeedRestart bool `protobuf:"varint,1,opt,name=need_restart,json=needRestart,proto3" json:"need_restart,omitempty"` +} + +func (x *GetNeedRestartResponse) Reset() { + *x = GetNeedRestartResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetNeedRestartResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNeedRestartResponse) ProtoMessage() {} + +func (x *GetNeedRestartResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[57] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNeedRestartResponse.ProtoReflect.Descriptor instead. +func (*GetNeedRestartResponse) Descriptor() ([]byte, []int) { + return file_pkg_app_server_service_pipedservice_service_proto_rawDescGZIP(), []int{57} +} + +func (x *GetNeedRestartResponse) GetNeedRestart() bool { + if x != nil { + return x.NeedRestart + } + return false +} + type GetDesiredVersionRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3070,7 +3155,7 @@ type GetDesiredVersionRequest struct { func (x *GetDesiredVersionRequest) Reset() { *x = GetDesiredVersionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[56] + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3083,7 +3168,7 @@ func (x *GetDesiredVersionRequest) String() string { func (*GetDesiredVersionRequest) ProtoMessage() {} func (x *GetDesiredVersionRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[56] + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3096,7 +3181,7 @@ func (x *GetDesiredVersionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDesiredVersionRequest.ProtoReflect.Descriptor instead. func (*GetDesiredVersionRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_pipedservice_service_proto_rawDescGZIP(), []int{56} + return file_pkg_app_server_service_pipedservice_service_proto_rawDescGZIP(), []int{58} } type GetDesiredVersionResponse struct { @@ -3110,7 +3195,7 @@ type GetDesiredVersionResponse struct { func (x *GetDesiredVersionResponse) Reset() { *x = GetDesiredVersionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[57] + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3123,7 +3208,7 @@ func (x *GetDesiredVersionResponse) String() string { func (*GetDesiredVersionResponse) ProtoMessage() {} func (x *GetDesiredVersionResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[57] + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3136,7 +3221,7 @@ func (x *GetDesiredVersionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDesiredVersionResponse.ProtoReflect.Descriptor instead. func (*GetDesiredVersionResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_pipedservice_service_proto_rawDescGZIP(), []int{57} + return file_pkg_app_server_service_pipedservice_service_proto_rawDescGZIP(), []int{59} } func (x *GetDesiredVersionResponse) GetVersion() string { @@ -3158,7 +3243,7 @@ type UpdateApplicationConfigurationsRequest struct { func (x *UpdateApplicationConfigurationsRequest) Reset() { *x = UpdateApplicationConfigurationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[58] + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3171,7 +3256,7 @@ func (x *UpdateApplicationConfigurationsRequest) String() string { func (*UpdateApplicationConfigurationsRequest) ProtoMessage() {} func (x *UpdateApplicationConfigurationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[58] + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3184,7 +3269,7 @@ func (x *UpdateApplicationConfigurationsRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use UpdateApplicationConfigurationsRequest.ProtoReflect.Descriptor instead. func (*UpdateApplicationConfigurationsRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_pipedservice_service_proto_rawDescGZIP(), []int{58} + return file_pkg_app_server_service_pipedservice_service_proto_rawDescGZIP(), []int{60} } func (x *UpdateApplicationConfigurationsRequest) GetApplications() []*model.ApplicationInfo { @@ -3203,7 +3288,7 @@ type UpdateApplicationConfigurationsResponse struct { func (x *UpdateApplicationConfigurationsResponse) Reset() { *x = UpdateApplicationConfigurationsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[59] + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3216,7 +3301,7 @@ func (x *UpdateApplicationConfigurationsResponse) String() string { func (*UpdateApplicationConfigurationsResponse) ProtoMessage() {} func (x *UpdateApplicationConfigurationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[59] + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3229,7 +3314,7 @@ func (x *UpdateApplicationConfigurationsResponse) ProtoReflect() protoreflect.Me // Deprecated: Use UpdateApplicationConfigurationsResponse.ProtoReflect.Descriptor instead. func (*UpdateApplicationConfigurationsResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_pipedservice_service_proto_rawDescGZIP(), []int{59} + return file_pkg_app_server_service_pipedservice_service_proto_rawDescGZIP(), []int{61} } type ReportUnregisteredApplicationConfigurationsRequest struct { @@ -3245,7 +3330,7 @@ type ReportUnregisteredApplicationConfigurationsRequest struct { func (x *ReportUnregisteredApplicationConfigurationsRequest) Reset() { *x = ReportUnregisteredApplicationConfigurationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[60] + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3258,7 +3343,7 @@ func (x *ReportUnregisteredApplicationConfigurationsRequest) String() string { func (*ReportUnregisteredApplicationConfigurationsRequest) ProtoMessage() {} func (x *ReportUnregisteredApplicationConfigurationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[60] + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3271,7 +3356,7 @@ func (x *ReportUnregisteredApplicationConfigurationsRequest) ProtoReflect() prot // Deprecated: Use ReportUnregisteredApplicationConfigurationsRequest.ProtoReflect.Descriptor instead. func (*ReportUnregisteredApplicationConfigurationsRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_pipedservice_service_proto_rawDescGZIP(), []int{60} + return file_pkg_app_server_service_pipedservice_service_proto_rawDescGZIP(), []int{62} } func (x *ReportUnregisteredApplicationConfigurationsRequest) GetApplications() []*model.ApplicationInfo { @@ -3290,7 +3375,7 @@ type ReportUnregisteredApplicationConfigurationsResponse struct { func (x *ReportUnregisteredApplicationConfigurationsResponse) Reset() { *x = ReportUnregisteredApplicationConfigurationsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[61] + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3303,7 +3388,7 @@ func (x *ReportUnregisteredApplicationConfigurationsResponse) String() string { func (*ReportUnregisteredApplicationConfigurationsResponse) ProtoMessage() {} func (x *ReportUnregisteredApplicationConfigurationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[61] + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3316,7 +3401,7 @@ func (x *ReportUnregisteredApplicationConfigurationsResponse) ProtoReflect() pro // Deprecated: Use ReportUnregisteredApplicationConfigurationsResponse.ProtoReflect.Descriptor instead. func (*ReportUnregisteredApplicationConfigurationsResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_pipedservice_service_proto_rawDescGZIP(), []int{61} + return file_pkg_app_server_service_pipedservice_service_proto_rawDescGZIP(), []int{63} } type CreateDeploymentChainRequest struct { @@ -3331,7 +3416,7 @@ type CreateDeploymentChainRequest struct { func (x *CreateDeploymentChainRequest) Reset() { *x = CreateDeploymentChainRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[62] + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3344,7 +3429,7 @@ func (x *CreateDeploymentChainRequest) String() string { func (*CreateDeploymentChainRequest) ProtoMessage() {} func (x *CreateDeploymentChainRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[62] + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3357,7 +3442,7 @@ func (x *CreateDeploymentChainRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateDeploymentChainRequest.ProtoReflect.Descriptor instead. func (*CreateDeploymentChainRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_pipedservice_service_proto_rawDescGZIP(), []int{62} + return file_pkg_app_server_service_pipedservice_service_proto_rawDescGZIP(), []int{64} } func (x *CreateDeploymentChainRequest) GetFirstDeployment() *model.Deployment { @@ -3383,7 +3468,7 @@ type CreateDeploymentChainResponse struct { func (x *CreateDeploymentChainResponse) Reset() { *x = CreateDeploymentChainResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[63] + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3396,7 +3481,7 @@ func (x *CreateDeploymentChainResponse) String() string { func (*CreateDeploymentChainResponse) ProtoMessage() {} func (x *CreateDeploymentChainResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[63] + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3409,7 +3494,7 @@ func (x *CreateDeploymentChainResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateDeploymentChainResponse.ProtoReflect.Descriptor instead. func (*CreateDeploymentChainResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_pipedservice_service_proto_rawDescGZIP(), []int{63} + return file_pkg_app_server_service_pipedservice_service_proto_rawDescGZIP(), []int{65} } type InChainDeploymentPlannableRequest struct { @@ -3425,7 +3510,7 @@ type InChainDeploymentPlannableRequest struct { func (x *InChainDeploymentPlannableRequest) Reset() { *x = InChainDeploymentPlannableRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[64] + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3438,7 +3523,7 @@ func (x *InChainDeploymentPlannableRequest) String() string { func (*InChainDeploymentPlannableRequest) ProtoMessage() {} func (x *InChainDeploymentPlannableRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[64] + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3451,7 +3536,7 @@ func (x *InChainDeploymentPlannableRequest) ProtoReflect() protoreflect.Message // Deprecated: Use InChainDeploymentPlannableRequest.ProtoReflect.Descriptor instead. func (*InChainDeploymentPlannableRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_pipedservice_service_proto_rawDescGZIP(), []int{64} + return file_pkg_app_server_service_pipedservice_service_proto_rawDescGZIP(), []int{66} } func (x *InChainDeploymentPlannableRequest) GetDeploymentId() string { @@ -3490,7 +3575,7 @@ type InChainDeploymentPlannableResponse struct { func (x *InChainDeploymentPlannableResponse) Reset() { *x = InChainDeploymentPlannableResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[65] + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3503,7 +3588,7 @@ func (x *InChainDeploymentPlannableResponse) String() string { func (*InChainDeploymentPlannableResponse) ProtoMessage() {} func (x *InChainDeploymentPlannableResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[65] + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3516,7 +3601,7 @@ func (x *InChainDeploymentPlannableResponse) ProtoReflect() protoreflect.Message // Deprecated: Use InChainDeploymentPlannableResponse.ProtoReflect.Descriptor instead. func (*InChainDeploymentPlannableResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_pipedservice_service_proto_rawDescGZIP(), []int{65} + return file_pkg_app_server_service_pipedservice_service_proto_rawDescGZIP(), []int{67} } func (x *InChainDeploymentPlannableResponse) GetPlannable() bool { @@ -3553,7 +3638,7 @@ type ReportEventStatusesRequest_Event struct { func (x *ReportEventStatusesRequest_Event) Reset() { *x = ReportEventStatusesRequest_Event{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[71] + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3566,7 +3651,7 @@ func (x *ReportEventStatusesRequest_Event) String() string { func (*ReportEventStatusesRequest_Event) ProtoMessage() {} func (x *ReportEventStatusesRequest_Event) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[71] + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3621,7 +3706,7 @@ type CreateDeploymentChainRequest_ApplicationMatcher struct { func (x *CreateDeploymentChainRequest_ApplicationMatcher) Reset() { *x = CreateDeploymentChainRequest_ApplicationMatcher{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[72] + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3634,7 +3719,7 @@ func (x *CreateDeploymentChainRequest_ApplicationMatcher) String() string { func (*CreateDeploymentChainRequest_ApplicationMatcher) ProtoMessage() {} func (x *CreateDeploymentChainRequest_ApplicationMatcher) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[72] + mi := &file_pkg_app_server_service_pipedservice_service_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3647,7 +3732,7 @@ func (x *CreateDeploymentChainRequest_ApplicationMatcher) ProtoReflect() protore // Deprecated: Use CreateDeploymentChainRequest_ApplicationMatcher.ProtoReflect.Descriptor instead. func (*CreateDeploymentChainRequest_ApplicationMatcher) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_pipedservice_service_proto_rawDescGZIP(), []int{62, 0} + return file_pkg_app_server_service_pipedservice_service_proto_rawDescGZIP(), []int{64, 0} } func (x *CreateDeploymentChainRequest_ApplicationMatcher) GetName() string { @@ -4135,397 +4220,410 @@ var file_pkg_app_server_service_pipedservice_service_proto_rawDesc = []byte{ 0x02, 0x10, 0x01, 0x52, 0x0e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x21, 0x0a, 0x1f, 0x50, 0x75, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x44, 0x65, 0x73, - 0x69, 0x72, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x22, 0x35, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x64, 0x0a, 0x26, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, - 0x29, 0x0a, 0x27, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x65, + 0x64, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, + 0x3b, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x65, 0x64, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x65, + 0x64, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0b, 0x6e, 0x65, 0x65, 0x64, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x22, 0x1a, 0x0a, 0x18, + 0x47, 0x65, 0x74, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x35, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x44, + 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, + 0x64, 0x0a, 0x26, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x70, 0x0a, 0x32, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, - 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x3a, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, - 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x35, 0x0a, 0x33, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x65, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0xb8, 0x03, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x10, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, - 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x66, 0x69, 0x72, - 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x66, 0x0a, 0x08, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, - 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x08, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x65, 0x72, 0x73, 0x1a, 0xe7, 0x01, 0x0a, 0x12, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x12, 0x6e, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 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, 0x1f, - 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0xcb, 0x01, 0x0a, 0x21, 0x49, 0x6e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x44, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, - 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x13, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x1c, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x19, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x7f, 0x0a, - 0x22, 0x49, 0x6e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x6e, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x6e, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x6e, - 0x63, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2a, 0x28, - 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x08, 0x0a, 0x04, 0x4e, - 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x53, 0x43, 0x10, 0x01, 0x12, 0x08, - 0x0a, 0x04, 0x44, 0x45, 0x53, 0x43, 0x10, 0x02, 0x32, 0xbb, 0x26, 0x0a, 0x0c, 0x50, 0x69, 0x70, - 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6b, 0x0a, 0x0a, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x12, 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7a, 0x0a, 0x0f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x50, 0x69, 0x70, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x0c, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x29, 0x0a, 0x27, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x70, 0x0a, 0x32, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x22, 0x35, 0x0a, 0x33, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x6e, 0x72, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb8, 0x03, 0x0a, 0x1c, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x10, 0x66, 0x69, + 0x72, 0x73, 0x74, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, + 0x01, 0x52, 0x0f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x66, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, + 0x52, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x1a, 0xe7, 0x01, 0x0a, 0x12, 0x41, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x6e, 0x0a, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x69, 0x70, 0x65, - 0x64, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 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, 0x1f, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xcb, 0x01, 0x0a, 0x21, 0x49, 0x6e, 0x43, 0x68, 0x61, 0x69, + 0x6e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x13, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, + 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, + 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x1c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x22, 0x7f, 0x0a, 0x22, 0x49, 0x6e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x6c, 0x61, + 0x6e, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x6c, + 0x61, 0x6e, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, + 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x2a, 0x28, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, + 0x53, 0x43, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x45, 0x53, 0x43, 0x10, 0x02, 0x32, 0xb4, + 0x27, 0x0a, 0x0c, 0x50, 0x69, 0x70, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0x6b, 0x0a, 0x0a, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x12, 0x2c, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, + 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7a, 0x0a, 0x0f, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x12, + 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, + 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7d, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, - 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, - 0x69, 0x70, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x7d, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, + 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x9b, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x79, 0x6e, + 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xad, 0x01, 0x0a, 0x20, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x42, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x9b, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x3c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x79, - 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x69, 0x6e, + 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x43, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x79, 0x6e, 0x63, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0xad, 0x01, 0x0a, 0x20, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x69, 0x6e, 0x67, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x42, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x43, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xbc, 0x01, 0x0a, 0x25, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x73, 0x74, 0x52, + 0x65, 0x63, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x47, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, + 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x73, + 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x48, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x69, 0x6e, 0x67, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0xbc, 0x01, 0x0a, 0x25, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x44, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x47, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0xb3, 0x01, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e, - 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x48, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4d, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xb3, - 0x01, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x44, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4d, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, 0x67, 0x72, + 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x44, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x74, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x45, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, + 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x73, 0x74, + 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x74, 0x0a, 0x0d, 0x47, 0x65, + 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, + 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x9e, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x43, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x12, 0x3d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x4e, 0x6f, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x3e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, + 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x4e, 0x6f, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x7d, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x9e, 0x01, 0x0a, 0x1b, 0x4c, - 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x44, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3d, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x43, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x43, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7d, 0x0a, 0x10, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, - 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x92, 0x01, 0x0a, 0x17, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, - 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x39, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x3a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, - 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0xa4, 0x01, 0x0a, 0x1d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x92, 0x01, 0x0a, 0x17, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x39, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, + 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa4, 0x01, 0x0a, 0x1d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x3f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x64, 0x12, 0x3f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x98, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x12, 0x3b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x8f, 0x01, 0x0a, 0x16, 0x53, 0x61, 0x76, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x38, 0x2e, 0x67, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x98, 0x01, 0x0a, + 0x19, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x3b, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8f, 0x01, 0x0a, 0x16, 0x53, 0x61, 0x76, 0x65, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x38, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, + 0x61, 0x76, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x11, 0x53, 0x61, 0x76, 0x65, 0x53, 0x74, 0x61, 0x67, - 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x11, 0x53, 0x61, + 0x76, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, + 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x61, 0x76, 0x65, + 0x53, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x53, 0x61, 0x76, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7a, 0x0a, 0x0f, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x73, 0x12, + 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, + 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xb0, 0x01, 0x0a, 0x21, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x73, 0x46, 0x72, 0x6f, 0x6d, + 0x4c, 0x61, 0x73, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x43, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, - 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x53, - 0x74, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7a, 0x0a, 0x0f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x53, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x67, - 0x65, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, - 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, - 0x74, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0xb0, 0x01, 0x0a, 0x21, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, - 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x43, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x4c, 0x61, + 0x73, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x44, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x73, 0x46, + 0x72, 0x6f, 0x6d, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x95, 0x01, 0x0a, 0x18, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x3a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, - 0x4c, 0x6f, 0x67, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x44, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x8c, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, 0x68, 0x61, + 0x6e, 0x64, 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, - 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x53, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x4c, 0x61, 0x73, - 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x95, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x53, 0x74, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x64, 0x12, 0x3a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, - 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8c, 0x01, - 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x64, 0x43, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, - 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x38, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x55, 0x6e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x89, 0x01, 0x0a, - 0x14, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x48, 0x61, - 0x6e, 0x64, 0x6c, 0x65, 0x64, 0x12, 0x36, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x48, - 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, + 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, + 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x64, + 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x89, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x64, 0x12, 0x36, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x48, 0x61, 0x6e, + 0x64, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x9b, + 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x64, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x9b, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, - 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xad, 0x01, 0x0a, 0x20, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x76, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x42, 0x2e, 0x67, 0x72, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x76, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x43, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, - 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x76, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, - 0x65, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x6b, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2c, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, - 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, - 0x13, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x48, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x64, 0x12, 0x35, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x48, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x35, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, - 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x92, - 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x6e, 0x61, 0x6c, - 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x39, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, - 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xad, 0x01, 0x0a, + 0x20, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x42, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, + 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x43, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, - 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x92, 0x01, 0x0a, 0x17, 0x50, 0x75, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, - 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x39, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, - 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x75, 0x74, 0x4c, - 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x75, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, - 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, - 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, + 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x0e, + 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, - 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, - 0x73, 0x69, 0x72, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, + 0x74, 0x65, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, + 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6b, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x12, 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x47, 0x65, 0x74, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xaa, 0x01, 0x0a, 0x1f, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x41, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, - 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, + 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x64, 0x12, 0x35, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, 0x13, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x65, 0x73, 0x12, 0x35, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x92, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, + 0x73, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x12, 0x39, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, + 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, + 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x92, 0x01, 0x0a, 0x17, 0x50, 0x75, + 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x39, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x50, 0x75, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x3a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x75, 0x74, + 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, + 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x65, 0x64, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x12, 0x30, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, + 0x4e, 0x65, 0x65, 0x64, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, + 0x65, 0x74, 0x4e, 0x65, 0x65, 0x64, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x44, + 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, + 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x73, + 0x69, 0x72, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, + 0x65, 0x74, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xaa, 0x01, 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xce, 0x01, 0x0a, 0x2b, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x4e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, + 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x42, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xce, 0x01, 0x0a, 0x2b, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8c, 0x01, 0x0a, 0x15, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x12, 0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, - 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x9b, 0x01, 0x0a, 0x1a, 0x49, 0x6e, 0x43, - 0x68, 0x61, 0x69, 0x6e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, - 0x61, 0x6e, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x49, 0x6e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x44, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x49, 0x6e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x3f, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x2d, 0x63, 0x64, 0x2f, 0x70, 0x69, 0x70, - 0x65, 0x63, 0x64, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x64, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x4e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8c, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, + 0x69, 0x6e, 0x12, 0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, + 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x9b, 0x01, 0x0a, 0x1a, 0x49, 0x6e, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, + 0x6e, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x49, 0x6e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x49, 0x6e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x3f, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x2d, 0x63, 0x64, 0x2f, 0x70, 0x69, 0x70, 0x65, + 0x63, 0x64, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -4541,7 +4639,7 @@ func file_pkg_app_server_service_pipedservice_service_proto_rawDescGZIP() []byte } var file_pkg_app_server_service_pipedservice_service_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_pkg_app_server_service_pipedservice_service_proto_msgTypes = make([]protoimpl.MessageInfo, 74) +var file_pkg_app_server_service_pipedservice_service_proto_msgTypes = make([]protoimpl.MessageInfo, 76) var file_pkg_app_server_service_pipedservice_service_proto_goTypes = []interface{}{ (ListOrder)(0), // 0: grpc.service.pipedservice.ListOrder (ListEventsRequest_Status)(0), // 1: grpc.service.pipedservice.ListEventsRequest.Status @@ -4601,88 +4699,90 @@ var file_pkg_app_server_service_pipedservice_service_proto_goTypes = []interface (*GetLatestAnalysisResultResponse)(nil), // 55: grpc.service.pipedservice.GetLatestAnalysisResultResponse (*PutLatestAnalysisResultRequest)(nil), // 56: grpc.service.pipedservice.PutLatestAnalysisResultRequest (*PutLatestAnalysisResultResponse)(nil), // 57: grpc.service.pipedservice.PutLatestAnalysisResultResponse - (*GetDesiredVersionRequest)(nil), // 58: grpc.service.pipedservice.GetDesiredVersionRequest - (*GetDesiredVersionResponse)(nil), // 59: grpc.service.pipedservice.GetDesiredVersionResponse - (*UpdateApplicationConfigurationsRequest)(nil), // 60: grpc.service.pipedservice.UpdateApplicationConfigurationsRequest - (*UpdateApplicationConfigurationsResponse)(nil), // 61: grpc.service.pipedservice.UpdateApplicationConfigurationsResponse - (*ReportUnregisteredApplicationConfigurationsRequest)(nil), // 62: grpc.service.pipedservice.ReportUnregisteredApplicationConfigurationsRequest - (*ReportUnregisteredApplicationConfigurationsResponse)(nil), // 63: grpc.service.pipedservice.ReportUnregisteredApplicationConfigurationsResponse - (*CreateDeploymentChainRequest)(nil), // 64: grpc.service.pipedservice.CreateDeploymentChainRequest - (*CreateDeploymentChainResponse)(nil), // 65: grpc.service.pipedservice.CreateDeploymentChainResponse - (*InChainDeploymentPlannableRequest)(nil), // 66: grpc.service.pipedservice.InChainDeploymentPlannableRequest - (*InChainDeploymentPlannableResponse)(nil), // 67: grpc.service.pipedservice.InChainDeploymentPlannableResponse - nil, // 68: grpc.service.pipedservice.ReportDeploymentCompletedRequest.StageStatusesEntry - nil, // 69: grpc.service.pipedservice.SaveDeploymentMetadataRequest.MetadataEntry - nil, // 70: grpc.service.pipedservice.SaveStageMetadataRequest.MetadataEntry - nil, // 71: grpc.service.pipedservice.ReportCommandHandledRequest.MetadataEntry - nil, // 72: grpc.service.pipedservice.GetLatestEventRequest.LabelsEntry - (*ReportEventStatusesRequest_Event)(nil), // 73: grpc.service.pipedservice.ReportEventStatusesRequest.Event - (*CreateDeploymentChainRequest_ApplicationMatcher)(nil), // 74: grpc.service.pipedservice.CreateDeploymentChainRequest.ApplicationMatcher - nil, // 75: grpc.service.pipedservice.CreateDeploymentChainRequest.ApplicationMatcher.LabelsEntry - (*model.Piped_CloudProvider)(nil), // 76: model.Piped.CloudProvider - (*model.ApplicationGitRepository)(nil), // 77: model.ApplicationGitRepository - (*model.Piped_SecretEncryption)(nil), // 78: model.Piped.SecretEncryption - (*model.Application)(nil), // 79: model.Application - (*model.ApplicationSyncState)(nil), // 80: model.ApplicationSyncState - (model.DeploymentStatus)(0), // 81: model.DeploymentStatus - (*model.ApplicationDeploymentReference)(nil), // 82: model.ApplicationDeploymentReference - (*model.Deployment)(nil), // 83: model.Deployment - (*model.ArtifactVersion)(nil), // 84: model.ArtifactVersion - (*model.PipelineStage)(nil), // 85: model.PipelineStage - (*model.LogBlock)(nil), // 86: model.LogBlock - (model.StageStatus)(0), // 87: model.StageStatus - (*model.Command)(nil), // 88: model.Command - (model.CommandStatus)(0), // 89: model.CommandStatus - (*model.ApplicationLiveStateSnapshot)(nil), // 90: model.ApplicationLiveStateSnapshot - (*model.KubernetesResourceStateEvent)(nil), // 91: model.KubernetesResourceStateEvent - (*model.Event)(nil), // 92: model.Event - (*model.AnalysisResult)(nil), // 93: model.AnalysisResult - (*model.ApplicationInfo)(nil), // 94: model.ApplicationInfo - (model.EventStatus)(0), // 95: model.EventStatus + (*GetNeedRestartRequest)(nil), // 58: grpc.service.pipedservice.GetNeedRestartRequest + (*GetNeedRestartResponse)(nil), // 59: grpc.service.pipedservice.GetNeedRestartResponse + (*GetDesiredVersionRequest)(nil), // 60: grpc.service.pipedservice.GetDesiredVersionRequest + (*GetDesiredVersionResponse)(nil), // 61: grpc.service.pipedservice.GetDesiredVersionResponse + (*UpdateApplicationConfigurationsRequest)(nil), // 62: grpc.service.pipedservice.UpdateApplicationConfigurationsRequest + (*UpdateApplicationConfigurationsResponse)(nil), // 63: grpc.service.pipedservice.UpdateApplicationConfigurationsResponse + (*ReportUnregisteredApplicationConfigurationsRequest)(nil), // 64: grpc.service.pipedservice.ReportUnregisteredApplicationConfigurationsRequest + (*ReportUnregisteredApplicationConfigurationsResponse)(nil), // 65: grpc.service.pipedservice.ReportUnregisteredApplicationConfigurationsResponse + (*CreateDeploymentChainRequest)(nil), // 66: grpc.service.pipedservice.CreateDeploymentChainRequest + (*CreateDeploymentChainResponse)(nil), // 67: grpc.service.pipedservice.CreateDeploymentChainResponse + (*InChainDeploymentPlannableRequest)(nil), // 68: grpc.service.pipedservice.InChainDeploymentPlannableRequest + (*InChainDeploymentPlannableResponse)(nil), // 69: grpc.service.pipedservice.InChainDeploymentPlannableResponse + nil, // 70: grpc.service.pipedservice.ReportDeploymentCompletedRequest.StageStatusesEntry + nil, // 71: grpc.service.pipedservice.SaveDeploymentMetadataRequest.MetadataEntry + nil, // 72: grpc.service.pipedservice.SaveStageMetadataRequest.MetadataEntry + nil, // 73: grpc.service.pipedservice.ReportCommandHandledRequest.MetadataEntry + nil, // 74: grpc.service.pipedservice.GetLatestEventRequest.LabelsEntry + (*ReportEventStatusesRequest_Event)(nil), // 75: grpc.service.pipedservice.ReportEventStatusesRequest.Event + (*CreateDeploymentChainRequest_ApplicationMatcher)(nil), // 76: grpc.service.pipedservice.CreateDeploymentChainRequest.ApplicationMatcher + nil, // 77: grpc.service.pipedservice.CreateDeploymentChainRequest.ApplicationMatcher.LabelsEntry + (*model.Piped_CloudProvider)(nil), // 78: model.Piped.CloudProvider + (*model.ApplicationGitRepository)(nil), // 79: model.ApplicationGitRepository + (*model.Piped_SecretEncryption)(nil), // 80: model.Piped.SecretEncryption + (*model.Application)(nil), // 81: model.Application + (*model.ApplicationSyncState)(nil), // 82: model.ApplicationSyncState + (model.DeploymentStatus)(0), // 83: model.DeploymentStatus + (*model.ApplicationDeploymentReference)(nil), // 84: model.ApplicationDeploymentReference + (*model.Deployment)(nil), // 85: model.Deployment + (*model.ArtifactVersion)(nil), // 86: model.ArtifactVersion + (*model.PipelineStage)(nil), // 87: model.PipelineStage + (*model.LogBlock)(nil), // 88: model.LogBlock + (model.StageStatus)(0), // 89: model.StageStatus + (*model.Command)(nil), // 90: model.Command + (model.CommandStatus)(0), // 91: model.CommandStatus + (*model.ApplicationLiveStateSnapshot)(nil), // 92: model.ApplicationLiveStateSnapshot + (*model.KubernetesResourceStateEvent)(nil), // 93: model.KubernetesResourceStateEvent + (*model.Event)(nil), // 94: model.Event + (*model.AnalysisResult)(nil), // 95: model.AnalysisResult + (*model.ApplicationInfo)(nil), // 96: model.ApplicationInfo + (model.EventStatus)(0), // 97: model.EventStatus } var file_pkg_app_server_service_pipedservice_service_proto_depIdxs = []int32{ - 76, // 0: grpc.service.pipedservice.ReportPipedMetaRequest.cloud_providers:type_name -> model.Piped.CloudProvider - 77, // 1: grpc.service.pipedservice.ReportPipedMetaRequest.repositories:type_name -> model.ApplicationGitRepository - 78, // 2: grpc.service.pipedservice.ReportPipedMetaRequest.secret_encryption:type_name -> model.Piped.SecretEncryption - 79, // 3: grpc.service.pipedservice.ListApplicationsResponse.applications:type_name -> model.Application - 80, // 4: grpc.service.pipedservice.ReportApplicationSyncStateRequest.state:type_name -> model.ApplicationSyncState - 81, // 5: grpc.service.pipedservice.ReportApplicationMostRecentDeploymentRequest.status:type_name -> model.DeploymentStatus - 82, // 6: grpc.service.pipedservice.ReportApplicationMostRecentDeploymentRequest.deployment:type_name -> model.ApplicationDeploymentReference - 81, // 7: grpc.service.pipedservice.GetApplicationMostRecentDeploymentRequest.status:type_name -> model.DeploymentStatus - 82, // 8: grpc.service.pipedservice.GetApplicationMostRecentDeploymentResponse.deployment:type_name -> model.ApplicationDeploymentReference - 83, // 9: grpc.service.pipedservice.GetDeploymentResponse.deployment:type_name -> model.Deployment - 83, // 10: grpc.service.pipedservice.ListNotCompletedDeploymentsResponse.deployments:type_name -> model.Deployment - 83, // 11: grpc.service.pipedservice.CreateDeploymentRequest.deployment:type_name -> model.Deployment - 84, // 12: grpc.service.pipedservice.ReportDeploymentPlannedRequest.versions:type_name -> model.ArtifactVersion - 85, // 13: grpc.service.pipedservice.ReportDeploymentPlannedRequest.stages:type_name -> model.PipelineStage - 81, // 14: grpc.service.pipedservice.ReportDeploymentStatusChangedRequest.status:type_name -> model.DeploymentStatus - 81, // 15: grpc.service.pipedservice.ReportDeploymentCompletedRequest.status:type_name -> model.DeploymentStatus - 68, // 16: grpc.service.pipedservice.ReportDeploymentCompletedRequest.stage_statuses:type_name -> grpc.service.pipedservice.ReportDeploymentCompletedRequest.StageStatusesEntry - 69, // 17: grpc.service.pipedservice.SaveDeploymentMetadataRequest.metadata:type_name -> grpc.service.pipedservice.SaveDeploymentMetadataRequest.MetadataEntry - 70, // 18: grpc.service.pipedservice.SaveStageMetadataRequest.metadata:type_name -> grpc.service.pipedservice.SaveStageMetadataRequest.MetadataEntry - 86, // 19: grpc.service.pipedservice.ReportStageLogsRequest.blocks:type_name -> model.LogBlock - 86, // 20: grpc.service.pipedservice.ReportStageLogsFromLastCheckpointRequest.blocks:type_name -> model.LogBlock - 87, // 21: grpc.service.pipedservice.ReportStageStatusChangedRequest.status:type_name -> model.StageStatus - 88, // 22: grpc.service.pipedservice.ListUnhandledCommandsResponse.commands:type_name -> model.Command - 89, // 23: grpc.service.pipedservice.ReportCommandHandledRequest.status:type_name -> model.CommandStatus - 71, // 24: grpc.service.pipedservice.ReportCommandHandledRequest.metadata:type_name -> grpc.service.pipedservice.ReportCommandHandledRequest.MetadataEntry - 90, // 25: grpc.service.pipedservice.ReportApplicationLiveStateRequest.snapshot:type_name -> model.ApplicationLiveStateSnapshot - 91, // 26: grpc.service.pipedservice.ReportApplicationLiveStateEventsRequest.kubernetes_events:type_name -> model.KubernetesResourceStateEvent - 72, // 27: grpc.service.pipedservice.GetLatestEventRequest.labels:type_name -> grpc.service.pipedservice.GetLatestEventRequest.LabelsEntry - 92, // 28: grpc.service.pipedservice.GetLatestEventResponse.event:type_name -> model.Event + 78, // 0: grpc.service.pipedservice.ReportPipedMetaRequest.cloud_providers:type_name -> model.Piped.CloudProvider + 79, // 1: grpc.service.pipedservice.ReportPipedMetaRequest.repositories:type_name -> model.ApplicationGitRepository + 80, // 2: grpc.service.pipedservice.ReportPipedMetaRequest.secret_encryption:type_name -> model.Piped.SecretEncryption + 81, // 3: grpc.service.pipedservice.ListApplicationsResponse.applications:type_name -> model.Application + 82, // 4: grpc.service.pipedservice.ReportApplicationSyncStateRequest.state:type_name -> model.ApplicationSyncState + 83, // 5: grpc.service.pipedservice.ReportApplicationMostRecentDeploymentRequest.status:type_name -> model.DeploymentStatus + 84, // 6: grpc.service.pipedservice.ReportApplicationMostRecentDeploymentRequest.deployment:type_name -> model.ApplicationDeploymentReference + 83, // 7: grpc.service.pipedservice.GetApplicationMostRecentDeploymentRequest.status:type_name -> model.DeploymentStatus + 84, // 8: grpc.service.pipedservice.GetApplicationMostRecentDeploymentResponse.deployment:type_name -> model.ApplicationDeploymentReference + 85, // 9: grpc.service.pipedservice.GetDeploymentResponse.deployment:type_name -> model.Deployment + 85, // 10: grpc.service.pipedservice.ListNotCompletedDeploymentsResponse.deployments:type_name -> model.Deployment + 85, // 11: grpc.service.pipedservice.CreateDeploymentRequest.deployment:type_name -> model.Deployment + 86, // 12: grpc.service.pipedservice.ReportDeploymentPlannedRequest.versions:type_name -> model.ArtifactVersion + 87, // 13: grpc.service.pipedservice.ReportDeploymentPlannedRequest.stages:type_name -> model.PipelineStage + 83, // 14: grpc.service.pipedservice.ReportDeploymentStatusChangedRequest.status:type_name -> model.DeploymentStatus + 83, // 15: grpc.service.pipedservice.ReportDeploymentCompletedRequest.status:type_name -> model.DeploymentStatus + 70, // 16: grpc.service.pipedservice.ReportDeploymentCompletedRequest.stage_statuses:type_name -> grpc.service.pipedservice.ReportDeploymentCompletedRequest.StageStatusesEntry + 71, // 17: grpc.service.pipedservice.SaveDeploymentMetadataRequest.metadata:type_name -> grpc.service.pipedservice.SaveDeploymentMetadataRequest.MetadataEntry + 72, // 18: grpc.service.pipedservice.SaveStageMetadataRequest.metadata:type_name -> grpc.service.pipedservice.SaveStageMetadataRequest.MetadataEntry + 88, // 19: grpc.service.pipedservice.ReportStageLogsRequest.blocks:type_name -> model.LogBlock + 88, // 20: grpc.service.pipedservice.ReportStageLogsFromLastCheckpointRequest.blocks:type_name -> model.LogBlock + 89, // 21: grpc.service.pipedservice.ReportStageStatusChangedRequest.status:type_name -> model.StageStatus + 90, // 22: grpc.service.pipedservice.ListUnhandledCommandsResponse.commands:type_name -> model.Command + 91, // 23: grpc.service.pipedservice.ReportCommandHandledRequest.status:type_name -> model.CommandStatus + 73, // 24: grpc.service.pipedservice.ReportCommandHandledRequest.metadata:type_name -> grpc.service.pipedservice.ReportCommandHandledRequest.MetadataEntry + 92, // 25: grpc.service.pipedservice.ReportApplicationLiveStateRequest.snapshot:type_name -> model.ApplicationLiveStateSnapshot + 93, // 26: grpc.service.pipedservice.ReportApplicationLiveStateEventsRequest.kubernetes_events:type_name -> model.KubernetesResourceStateEvent + 74, // 27: grpc.service.pipedservice.GetLatestEventRequest.labels:type_name -> grpc.service.pipedservice.GetLatestEventRequest.LabelsEntry + 94, // 28: grpc.service.pipedservice.GetLatestEventResponse.event:type_name -> model.Event 0, // 29: grpc.service.pipedservice.ListEventsRequest.order:type_name -> grpc.service.pipedservice.ListOrder 1, // 30: grpc.service.pipedservice.ListEventsRequest.status:type_name -> grpc.service.pipedservice.ListEventsRequest.Status - 92, // 31: grpc.service.pipedservice.ListEventsResponse.events:type_name -> model.Event - 73, // 32: grpc.service.pipedservice.ReportEventStatusesRequest.events:type_name -> grpc.service.pipedservice.ReportEventStatusesRequest.Event - 93, // 33: grpc.service.pipedservice.GetLatestAnalysisResultResponse.analysis_result:type_name -> model.AnalysisResult - 93, // 34: grpc.service.pipedservice.PutLatestAnalysisResultRequest.analysis_result:type_name -> model.AnalysisResult - 94, // 35: grpc.service.pipedservice.UpdateApplicationConfigurationsRequest.applications:type_name -> model.ApplicationInfo - 94, // 36: grpc.service.pipedservice.ReportUnregisteredApplicationConfigurationsRequest.applications:type_name -> model.ApplicationInfo - 83, // 37: grpc.service.pipedservice.CreateDeploymentChainRequest.first_deployment:type_name -> model.Deployment - 74, // 38: grpc.service.pipedservice.CreateDeploymentChainRequest.matchers:type_name -> grpc.service.pipedservice.CreateDeploymentChainRequest.ApplicationMatcher - 87, // 39: grpc.service.pipedservice.ReportDeploymentCompletedRequest.StageStatusesEntry.value:type_name -> model.StageStatus - 95, // 40: grpc.service.pipedservice.ReportEventStatusesRequest.Event.status:type_name -> model.EventStatus - 75, // 41: grpc.service.pipedservice.CreateDeploymentChainRequest.ApplicationMatcher.labels:type_name -> grpc.service.pipedservice.CreateDeploymentChainRequest.ApplicationMatcher.LabelsEntry + 94, // 31: grpc.service.pipedservice.ListEventsResponse.events:type_name -> model.Event + 75, // 32: grpc.service.pipedservice.ReportEventStatusesRequest.events:type_name -> grpc.service.pipedservice.ReportEventStatusesRequest.Event + 95, // 33: grpc.service.pipedservice.GetLatestAnalysisResultResponse.analysis_result:type_name -> model.AnalysisResult + 95, // 34: grpc.service.pipedservice.PutLatestAnalysisResultRequest.analysis_result:type_name -> model.AnalysisResult + 96, // 35: grpc.service.pipedservice.UpdateApplicationConfigurationsRequest.applications:type_name -> model.ApplicationInfo + 96, // 36: grpc.service.pipedservice.ReportUnregisteredApplicationConfigurationsRequest.applications:type_name -> model.ApplicationInfo + 85, // 37: grpc.service.pipedservice.CreateDeploymentChainRequest.first_deployment:type_name -> model.Deployment + 76, // 38: grpc.service.pipedservice.CreateDeploymentChainRequest.matchers:type_name -> grpc.service.pipedservice.CreateDeploymentChainRequest.ApplicationMatcher + 89, // 39: grpc.service.pipedservice.ReportDeploymentCompletedRequest.StageStatusesEntry.value:type_name -> model.StageStatus + 97, // 40: grpc.service.pipedservice.ReportEventStatusesRequest.Event.status:type_name -> model.EventStatus + 77, // 41: grpc.service.pipedservice.CreateDeploymentChainRequest.ApplicationMatcher.labels:type_name -> grpc.service.pipedservice.CreateDeploymentChainRequest.ApplicationMatcher.LabelsEntry 2, // 42: grpc.service.pipedservice.PipedService.ReportStat:input_type -> grpc.service.pipedservice.ReportStatRequest 4, // 43: grpc.service.pipedservice.PipedService.ReportPipedMeta:input_type -> grpc.service.pipedservice.ReportPipedMetaRequest 6, // 44: grpc.service.pipedservice.PipedService.ListApplications:input_type -> grpc.service.pipedservice.ListApplicationsRequest @@ -4711,46 +4811,48 @@ var file_pkg_app_server_service_pipedservice_service_proto_depIdxs = []int32{ 52, // 67: grpc.service.pipedservice.PipedService.ReportEventStatuses:input_type -> grpc.service.pipedservice.ReportEventStatusesRequest 54, // 68: grpc.service.pipedservice.PipedService.GetLatestAnalysisResult:input_type -> grpc.service.pipedservice.GetLatestAnalysisResultRequest 56, // 69: grpc.service.pipedservice.PipedService.PutLatestAnalysisResult:input_type -> grpc.service.pipedservice.PutLatestAnalysisResultRequest - 58, // 70: grpc.service.pipedservice.PipedService.GetDesiredVersion:input_type -> grpc.service.pipedservice.GetDesiredVersionRequest - 60, // 71: grpc.service.pipedservice.PipedService.UpdateApplicationConfigurations:input_type -> grpc.service.pipedservice.UpdateApplicationConfigurationsRequest - 62, // 72: grpc.service.pipedservice.PipedService.ReportUnregisteredApplicationConfigurations:input_type -> grpc.service.pipedservice.ReportUnregisteredApplicationConfigurationsRequest - 64, // 73: grpc.service.pipedservice.PipedService.CreateDeploymentChain:input_type -> grpc.service.pipedservice.CreateDeploymentChainRequest - 66, // 74: grpc.service.pipedservice.PipedService.InChainDeploymentPlannable:input_type -> grpc.service.pipedservice.InChainDeploymentPlannableRequest - 3, // 75: grpc.service.pipedservice.PipedService.ReportStat:output_type -> grpc.service.pipedservice.ReportStatResponse - 5, // 76: grpc.service.pipedservice.PipedService.ReportPipedMeta:output_type -> grpc.service.pipedservice.ReportPipedMetaResponse - 7, // 77: grpc.service.pipedservice.PipedService.ListApplications:output_type -> grpc.service.pipedservice.ListApplicationsResponse - 9, // 78: grpc.service.pipedservice.PipedService.ReportApplicationSyncState:output_type -> grpc.service.pipedservice.ReportApplicationSyncStateResponse - 11, // 79: grpc.service.pipedservice.PipedService.ReportApplicationDeployingStatus:output_type -> grpc.service.pipedservice.ReportApplicationDeployingStatusResponse - 13, // 80: grpc.service.pipedservice.PipedService.ReportApplicationMostRecentDeployment:output_type -> grpc.service.pipedservice.ReportApplicationMostRecentDeploymentResponse - 15, // 81: grpc.service.pipedservice.PipedService.GetApplicationMostRecentDeployment:output_type -> grpc.service.pipedservice.GetApplicationMostRecentDeploymentResponse - 17, // 82: grpc.service.pipedservice.PipedService.GetDeployment:output_type -> grpc.service.pipedservice.GetDeploymentResponse - 19, // 83: grpc.service.pipedservice.PipedService.ListNotCompletedDeployments:output_type -> grpc.service.pipedservice.ListNotCompletedDeploymentsResponse - 21, // 84: grpc.service.pipedservice.PipedService.CreateDeployment:output_type -> grpc.service.pipedservice.CreateDeploymentResponse - 23, // 85: grpc.service.pipedservice.PipedService.ReportDeploymentPlanned:output_type -> grpc.service.pipedservice.ReportDeploymentPlannedResponse - 25, // 86: grpc.service.pipedservice.PipedService.ReportDeploymentStatusChanged:output_type -> grpc.service.pipedservice.ReportDeploymentStatusChangedResponse - 27, // 87: grpc.service.pipedservice.PipedService.ReportDeploymentCompleted:output_type -> grpc.service.pipedservice.ReportDeploymentCompletedResponse - 29, // 88: grpc.service.pipedservice.PipedService.SaveDeploymentMetadata:output_type -> grpc.service.pipedservice.SaveDeploymentMetadataResponse - 31, // 89: grpc.service.pipedservice.PipedService.SaveStageMetadata:output_type -> grpc.service.pipedservice.SaveStageMetadataResponse - 33, // 90: grpc.service.pipedservice.PipedService.ReportStageLogs:output_type -> grpc.service.pipedservice.ReportStageLogsResponse - 35, // 91: grpc.service.pipedservice.PipedService.ReportStageLogsFromLastCheckpoint:output_type -> grpc.service.pipedservice.ReportStageLogsFromLastCheckpointResponse - 37, // 92: grpc.service.pipedservice.PipedService.ReportStageStatusChanged:output_type -> grpc.service.pipedservice.ReportStageStatusChangedResponse - 39, // 93: grpc.service.pipedservice.PipedService.ListUnhandledCommands:output_type -> grpc.service.pipedservice.ListUnhandledCommandsResponse - 41, // 94: grpc.service.pipedservice.PipedService.ReportCommandHandled:output_type -> grpc.service.pipedservice.ReportCommandHandledResponse - 43, // 95: grpc.service.pipedservice.PipedService.ReportApplicationLiveState:output_type -> grpc.service.pipedservice.ReportApplicationLiveStateResponse - 45, // 96: grpc.service.pipedservice.PipedService.ReportApplicationLiveStateEvents:output_type -> grpc.service.pipedservice.ReportApplicationLiveStateEventsResponse - 47, // 97: grpc.service.pipedservice.PipedService.GetLatestEvent:output_type -> grpc.service.pipedservice.GetLatestEventResponse - 49, // 98: grpc.service.pipedservice.PipedService.ListEvents:output_type -> grpc.service.pipedservice.ListEventsResponse - 51, // 99: grpc.service.pipedservice.PipedService.ReportEventsHandled:output_type -> grpc.service.pipedservice.ReportEventsHandledResponse - 53, // 100: grpc.service.pipedservice.PipedService.ReportEventStatuses:output_type -> grpc.service.pipedservice.ReportEventStatusesResponse - 55, // 101: grpc.service.pipedservice.PipedService.GetLatestAnalysisResult:output_type -> grpc.service.pipedservice.GetLatestAnalysisResultResponse - 57, // 102: grpc.service.pipedservice.PipedService.PutLatestAnalysisResult:output_type -> grpc.service.pipedservice.PutLatestAnalysisResultResponse - 59, // 103: grpc.service.pipedservice.PipedService.GetDesiredVersion:output_type -> grpc.service.pipedservice.GetDesiredVersionResponse - 61, // 104: grpc.service.pipedservice.PipedService.UpdateApplicationConfigurations:output_type -> grpc.service.pipedservice.UpdateApplicationConfigurationsResponse - 63, // 105: grpc.service.pipedservice.PipedService.ReportUnregisteredApplicationConfigurations:output_type -> grpc.service.pipedservice.ReportUnregisteredApplicationConfigurationsResponse - 65, // 106: grpc.service.pipedservice.PipedService.CreateDeploymentChain:output_type -> grpc.service.pipedservice.CreateDeploymentChainResponse - 67, // 107: grpc.service.pipedservice.PipedService.InChainDeploymentPlannable:output_type -> grpc.service.pipedservice.InChainDeploymentPlannableResponse - 75, // [75:108] is the sub-list for method output_type - 42, // [42:75] is the sub-list for method input_type + 58, // 70: grpc.service.pipedservice.PipedService.GetNeedRestart:input_type -> grpc.service.pipedservice.GetNeedRestartRequest + 60, // 71: grpc.service.pipedservice.PipedService.GetDesiredVersion:input_type -> grpc.service.pipedservice.GetDesiredVersionRequest + 62, // 72: grpc.service.pipedservice.PipedService.UpdateApplicationConfigurations:input_type -> grpc.service.pipedservice.UpdateApplicationConfigurationsRequest + 64, // 73: grpc.service.pipedservice.PipedService.ReportUnregisteredApplicationConfigurations:input_type -> grpc.service.pipedservice.ReportUnregisteredApplicationConfigurationsRequest + 66, // 74: grpc.service.pipedservice.PipedService.CreateDeploymentChain:input_type -> grpc.service.pipedservice.CreateDeploymentChainRequest + 68, // 75: grpc.service.pipedservice.PipedService.InChainDeploymentPlannable:input_type -> grpc.service.pipedservice.InChainDeploymentPlannableRequest + 3, // 76: grpc.service.pipedservice.PipedService.ReportStat:output_type -> grpc.service.pipedservice.ReportStatResponse + 5, // 77: grpc.service.pipedservice.PipedService.ReportPipedMeta:output_type -> grpc.service.pipedservice.ReportPipedMetaResponse + 7, // 78: grpc.service.pipedservice.PipedService.ListApplications:output_type -> grpc.service.pipedservice.ListApplicationsResponse + 9, // 79: grpc.service.pipedservice.PipedService.ReportApplicationSyncState:output_type -> grpc.service.pipedservice.ReportApplicationSyncStateResponse + 11, // 80: grpc.service.pipedservice.PipedService.ReportApplicationDeployingStatus:output_type -> grpc.service.pipedservice.ReportApplicationDeployingStatusResponse + 13, // 81: grpc.service.pipedservice.PipedService.ReportApplicationMostRecentDeployment:output_type -> grpc.service.pipedservice.ReportApplicationMostRecentDeploymentResponse + 15, // 82: grpc.service.pipedservice.PipedService.GetApplicationMostRecentDeployment:output_type -> grpc.service.pipedservice.GetApplicationMostRecentDeploymentResponse + 17, // 83: grpc.service.pipedservice.PipedService.GetDeployment:output_type -> grpc.service.pipedservice.GetDeploymentResponse + 19, // 84: grpc.service.pipedservice.PipedService.ListNotCompletedDeployments:output_type -> grpc.service.pipedservice.ListNotCompletedDeploymentsResponse + 21, // 85: grpc.service.pipedservice.PipedService.CreateDeployment:output_type -> grpc.service.pipedservice.CreateDeploymentResponse + 23, // 86: grpc.service.pipedservice.PipedService.ReportDeploymentPlanned:output_type -> grpc.service.pipedservice.ReportDeploymentPlannedResponse + 25, // 87: grpc.service.pipedservice.PipedService.ReportDeploymentStatusChanged:output_type -> grpc.service.pipedservice.ReportDeploymentStatusChangedResponse + 27, // 88: grpc.service.pipedservice.PipedService.ReportDeploymentCompleted:output_type -> grpc.service.pipedservice.ReportDeploymentCompletedResponse + 29, // 89: grpc.service.pipedservice.PipedService.SaveDeploymentMetadata:output_type -> grpc.service.pipedservice.SaveDeploymentMetadataResponse + 31, // 90: grpc.service.pipedservice.PipedService.SaveStageMetadata:output_type -> grpc.service.pipedservice.SaveStageMetadataResponse + 33, // 91: grpc.service.pipedservice.PipedService.ReportStageLogs:output_type -> grpc.service.pipedservice.ReportStageLogsResponse + 35, // 92: grpc.service.pipedservice.PipedService.ReportStageLogsFromLastCheckpoint:output_type -> grpc.service.pipedservice.ReportStageLogsFromLastCheckpointResponse + 37, // 93: grpc.service.pipedservice.PipedService.ReportStageStatusChanged:output_type -> grpc.service.pipedservice.ReportStageStatusChangedResponse + 39, // 94: grpc.service.pipedservice.PipedService.ListUnhandledCommands:output_type -> grpc.service.pipedservice.ListUnhandledCommandsResponse + 41, // 95: grpc.service.pipedservice.PipedService.ReportCommandHandled:output_type -> grpc.service.pipedservice.ReportCommandHandledResponse + 43, // 96: grpc.service.pipedservice.PipedService.ReportApplicationLiveState:output_type -> grpc.service.pipedservice.ReportApplicationLiveStateResponse + 45, // 97: grpc.service.pipedservice.PipedService.ReportApplicationLiveStateEvents:output_type -> grpc.service.pipedservice.ReportApplicationLiveStateEventsResponse + 47, // 98: grpc.service.pipedservice.PipedService.GetLatestEvent:output_type -> grpc.service.pipedservice.GetLatestEventResponse + 49, // 99: grpc.service.pipedservice.PipedService.ListEvents:output_type -> grpc.service.pipedservice.ListEventsResponse + 51, // 100: grpc.service.pipedservice.PipedService.ReportEventsHandled:output_type -> grpc.service.pipedservice.ReportEventsHandledResponse + 53, // 101: grpc.service.pipedservice.PipedService.ReportEventStatuses:output_type -> grpc.service.pipedservice.ReportEventStatusesResponse + 55, // 102: grpc.service.pipedservice.PipedService.GetLatestAnalysisResult:output_type -> grpc.service.pipedservice.GetLatestAnalysisResultResponse + 57, // 103: grpc.service.pipedservice.PipedService.PutLatestAnalysisResult:output_type -> grpc.service.pipedservice.PutLatestAnalysisResultResponse + 59, // 104: grpc.service.pipedservice.PipedService.GetNeedRestart:output_type -> grpc.service.pipedservice.GetNeedRestartResponse + 61, // 105: grpc.service.pipedservice.PipedService.GetDesiredVersion:output_type -> grpc.service.pipedservice.GetDesiredVersionResponse + 63, // 106: grpc.service.pipedservice.PipedService.UpdateApplicationConfigurations:output_type -> grpc.service.pipedservice.UpdateApplicationConfigurationsResponse + 65, // 107: grpc.service.pipedservice.PipedService.ReportUnregisteredApplicationConfigurations:output_type -> grpc.service.pipedservice.ReportUnregisteredApplicationConfigurationsResponse + 67, // 108: grpc.service.pipedservice.PipedService.CreateDeploymentChain:output_type -> grpc.service.pipedservice.CreateDeploymentChainResponse + 69, // 109: grpc.service.pipedservice.PipedService.InChainDeploymentPlannable:output_type -> grpc.service.pipedservice.InChainDeploymentPlannableResponse + 76, // [76:110] is the sub-list for method output_type + 42, // [42:76] is the sub-list for method input_type 42, // [42:42] is the sub-list for extension type_name 42, // [42:42] is the sub-list for extension extendee 0, // [0:42] is the sub-list for field type_name @@ -5435,7 +5537,7 @@ func file_pkg_app_server_service_pipedservice_service_proto_init() { } } file_pkg_app_server_service_pipedservice_service_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDesiredVersionRequest); i { + switch v := v.(*GetNeedRestartRequest); i { case 0: return &v.state case 1: @@ -5447,7 +5549,7 @@ func file_pkg_app_server_service_pipedservice_service_proto_init() { } } file_pkg_app_server_service_pipedservice_service_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDesiredVersionResponse); i { + switch v := v.(*GetNeedRestartResponse); i { case 0: return &v.state case 1: @@ -5459,7 +5561,7 @@ func file_pkg_app_server_service_pipedservice_service_proto_init() { } } file_pkg_app_server_service_pipedservice_service_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateApplicationConfigurationsRequest); i { + switch v := v.(*GetDesiredVersionRequest); i { case 0: return &v.state case 1: @@ -5471,7 +5573,7 @@ func file_pkg_app_server_service_pipedservice_service_proto_init() { } } file_pkg_app_server_service_pipedservice_service_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateApplicationConfigurationsResponse); i { + switch v := v.(*GetDesiredVersionResponse); i { case 0: return &v.state case 1: @@ -5483,7 +5585,7 @@ func file_pkg_app_server_service_pipedservice_service_proto_init() { } } file_pkg_app_server_service_pipedservice_service_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReportUnregisteredApplicationConfigurationsRequest); i { + switch v := v.(*UpdateApplicationConfigurationsRequest); i { case 0: return &v.state case 1: @@ -5495,7 +5597,7 @@ func file_pkg_app_server_service_pipedservice_service_proto_init() { } } file_pkg_app_server_service_pipedservice_service_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReportUnregisteredApplicationConfigurationsResponse); i { + switch v := v.(*UpdateApplicationConfigurationsResponse); i { case 0: return &v.state case 1: @@ -5507,7 +5609,7 @@ func file_pkg_app_server_service_pipedservice_service_proto_init() { } } file_pkg_app_server_service_pipedservice_service_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateDeploymentChainRequest); i { + switch v := v.(*ReportUnregisteredApplicationConfigurationsRequest); i { case 0: return &v.state case 1: @@ -5519,7 +5621,7 @@ func file_pkg_app_server_service_pipedservice_service_proto_init() { } } file_pkg_app_server_service_pipedservice_service_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateDeploymentChainResponse); i { + switch v := v.(*ReportUnregisteredApplicationConfigurationsResponse); i { case 0: return &v.state case 1: @@ -5531,7 +5633,7 @@ func file_pkg_app_server_service_pipedservice_service_proto_init() { } } file_pkg_app_server_service_pipedservice_service_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InChainDeploymentPlannableRequest); i { + switch v := v.(*CreateDeploymentChainRequest); i { case 0: return &v.state case 1: @@ -5543,6 +5645,30 @@ func file_pkg_app_server_service_pipedservice_service_proto_init() { } } file_pkg_app_server_service_pipedservice_service_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateDeploymentChainResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_app_server_service_pipedservice_service_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InChainDeploymentPlannableRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_app_server_service_pipedservice_service_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InChainDeploymentPlannableResponse); i { case 0: return &v.state @@ -5554,7 +5680,7 @@ func file_pkg_app_server_service_pipedservice_service_proto_init() { return nil } } - file_pkg_app_server_service_pipedservice_service_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + file_pkg_app_server_service_pipedservice_service_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReportEventStatusesRequest_Event); i { case 0: return &v.state @@ -5566,7 +5692,7 @@ func file_pkg_app_server_service_pipedservice_service_proto_init() { return nil } } - file_pkg_app_server_service_pipedservice_service_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + file_pkg_app_server_service_pipedservice_service_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateDeploymentChainRequest_ApplicationMatcher); i { case 0: return &v.state @@ -5585,7 +5711,7 @@ func file_pkg_app_server_service_pipedservice_service_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pkg_app_server_service_pipedservice_service_proto_rawDesc, NumEnums: 2, - NumMessages: 74, + NumMessages: 76, NumExtensions: 0, NumServices: 1, }, diff --git a/pkg/app/server/service/pipedservice/service.pb.validate.go b/pkg/app/server/service/pipedservice/service.pb.validate.go index 246f94eafd..006b15cfdf 100644 --- a/pkg/app/server/service/pipedservice/service.pb.validate.go +++ b/pkg/app/server/service/pipedservice/service.pb.validate.go @@ -7085,6 +7085,212 @@ var _ interface { ErrorName() string } = PutLatestAnalysisResultResponseValidationError{} +// Validate checks the field values on GetNeedRestartRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *GetNeedRestartRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetNeedRestartRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// GetNeedRestartRequestMultiError, or nil if none found. +func (m *GetNeedRestartRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *GetNeedRestartRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if len(errors) > 0 { + return GetNeedRestartRequestMultiError(errors) + } + + return nil +} + +// GetNeedRestartRequestMultiError is an error wrapping multiple validation +// errors returned by GetNeedRestartRequest.ValidateAll() if the designated +// constraints aren't met. +type GetNeedRestartRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetNeedRestartRequestMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m GetNeedRestartRequestMultiError) AllErrors() []error { return m } + +// GetNeedRestartRequestValidationError is the validation error returned by +// GetNeedRestartRequest.Validate if the designated constraints aren't met. +type GetNeedRestartRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetNeedRestartRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetNeedRestartRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetNeedRestartRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetNeedRestartRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetNeedRestartRequestValidationError) ErrorName() string { + return "GetNeedRestartRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e GetNeedRestartRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sGetNeedRestartRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetNeedRestartRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetNeedRestartRequestValidationError{} + +// Validate checks the field values on GetNeedRestartResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *GetNeedRestartResponse) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetNeedRestartResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// GetNeedRestartResponseMultiError, or nil if none found. +func (m *GetNeedRestartResponse) ValidateAll() error { + return m.validate(true) +} + +func (m *GetNeedRestartResponse) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for NeedRestart + + if len(errors) > 0 { + return GetNeedRestartResponseMultiError(errors) + } + + return nil +} + +// GetNeedRestartResponseMultiError is an error wrapping multiple validation +// errors returned by GetNeedRestartResponse.ValidateAll() if the designated +// constraints aren't met. +type GetNeedRestartResponseMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetNeedRestartResponseMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m GetNeedRestartResponseMultiError) AllErrors() []error { return m } + +// GetNeedRestartResponseValidationError is the validation error returned by +// GetNeedRestartResponse.Validate if the designated constraints aren't met. +type GetNeedRestartResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetNeedRestartResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetNeedRestartResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetNeedRestartResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetNeedRestartResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetNeedRestartResponseValidationError) ErrorName() string { + return "GetNeedRestartResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e GetNeedRestartResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sGetNeedRestartResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetNeedRestartResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetNeedRestartResponseValidationError{} + // Validate checks the field values on GetDesiredVersionRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. diff --git a/pkg/app/server/service/pipedservice/service.proto b/pkg/app/server/service/pipedservice/service.proto index 64d57e9c3e..a2731afc44 100644 --- a/pkg/app/server/service/pipedservice/service.proto +++ b/pkg/app/server/service/pipedservice/service.proto @@ -153,6 +153,9 @@ service PipedService { // GetLatestAnalysisResult updates the most successful analysis result. rpc PutLatestAnalysisResult(PutLatestAnalysisResultRequest) returns (PutLatestAnalysisResultResponse) {} + // GetDesiredVersion returns the desired version of the given Piped. + rpc GetNeedRestart(GetNeedRestartRequest) returns (GetNeedRestartResponse) {} + // GetDesiredVersion returns the desired version of the given Piped. rpc GetDesiredVersion(GetDesiredVersionRequest) returns (GetDesiredVersionResponse) {} @@ -479,6 +482,13 @@ message PutLatestAnalysisResultRequest { message PutLatestAnalysisResultResponse { } +message GetNeedRestartRequest { +} + +message GetNeedRestartResponse { + bool need_restart = 1; +} + message GetDesiredVersionRequest { } diff --git a/pkg/app/server/service/pipedservice/service_grpc.pb.go b/pkg/app/server/service/pipedservice/service_grpc.pb.go index 59552967d9..720ebdcbe7 100644 --- a/pkg/app/server/service/pipedservice/service_grpc.pb.go +++ b/pkg/app/server/service/pipedservice/service_grpc.pb.go @@ -119,6 +119,8 @@ type PipedServiceClient interface { // GetLatestAnalysisResult updates the most successful analysis result. PutLatestAnalysisResult(ctx context.Context, in *PutLatestAnalysisResultRequest, opts ...grpc.CallOption) (*PutLatestAnalysisResultResponse, error) // GetDesiredVersion returns the desired version of the given Piped. + GetNeedRestart(ctx context.Context, in *GetNeedRestartRequest, opts ...grpc.CallOption) (*GetNeedRestartResponse, error) + // GetDesiredVersion returns the desired version of the given Piped. GetDesiredVersion(ctx context.Context, in *GetDesiredVersionRequest, opts ...grpc.CallOption) (*GetDesiredVersionResponse, error) // UpdateApplicationConfigurations updates application configurations. UpdateApplicationConfigurations(ctx context.Context, in *UpdateApplicationConfigurationsRequest, opts ...grpc.CallOption) (*UpdateApplicationConfigurationsResponse, error) @@ -395,6 +397,15 @@ func (c *pipedServiceClient) PutLatestAnalysisResult(ctx context.Context, in *Pu return out, nil } +func (c *pipedServiceClient) GetNeedRestart(ctx context.Context, in *GetNeedRestartRequest, opts ...grpc.CallOption) (*GetNeedRestartResponse, error) { + out := new(GetNeedRestartResponse) + err := c.cc.Invoke(ctx, "/grpc.service.pipedservice.PipedService/GetNeedRestart", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *pipedServiceClient) GetDesiredVersion(ctx context.Context, in *GetDesiredVersionRequest, opts ...grpc.CallOption) (*GetDesiredVersionResponse, error) { out := new(GetDesiredVersionResponse) err := c.cc.Invoke(ctx, "/grpc.service.pipedservice.PipedService/GetDesiredVersion", in, out, opts...) @@ -541,6 +552,8 @@ type PipedServiceServer interface { // GetLatestAnalysisResult updates the most successful analysis result. PutLatestAnalysisResult(context.Context, *PutLatestAnalysisResultRequest) (*PutLatestAnalysisResultResponse, error) // GetDesiredVersion returns the desired version of the given Piped. + GetNeedRestart(context.Context, *GetNeedRestartRequest) (*GetNeedRestartResponse, error) + // GetDesiredVersion returns the desired version of the given Piped. GetDesiredVersion(context.Context, *GetDesiredVersionRequest) (*GetDesiredVersionResponse, error) // UpdateApplicationConfigurations updates application configurations. UpdateApplicationConfigurations(context.Context, *UpdateApplicationConfigurationsRequest) (*UpdateApplicationConfigurationsResponse, error) @@ -646,6 +659,9 @@ func (UnimplementedPipedServiceServer) GetLatestAnalysisResult(context.Context, func (UnimplementedPipedServiceServer) PutLatestAnalysisResult(context.Context, *PutLatestAnalysisResultRequest) (*PutLatestAnalysisResultResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method PutLatestAnalysisResult not implemented") } +func (UnimplementedPipedServiceServer) GetNeedRestart(context.Context, *GetNeedRestartRequest) (*GetNeedRestartResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetNeedRestart not implemented") +} func (UnimplementedPipedServiceServer) GetDesiredVersion(context.Context, *GetDesiredVersionRequest) (*GetDesiredVersionResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetDesiredVersion not implemented") } @@ -1178,6 +1194,24 @@ func _PipedService_PutLatestAnalysisResult_Handler(srv interface{}, ctx context. return interceptor(ctx, in, info, handler) } +func _PipedService_GetNeedRestart_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetNeedRestartRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PipedServiceServer).GetNeedRestart(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.service.pipedservice.PipedService/GetNeedRestart", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PipedServiceServer).GetNeedRestart(ctx, req.(*GetNeedRestartRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _PipedService_GetDesiredVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetDesiredVersionRequest) if err := dec(in); err != nil { @@ -1387,6 +1421,10 @@ var PipedService_ServiceDesc = grpc.ServiceDesc{ MethodName: "PutLatestAnalysisResult", Handler: _PipedService_PutLatestAnalysisResult_Handler, }, + { + MethodName: "GetNeedRestart", + Handler: _PipedService_GetNeedRestart_Handler, + }, { MethodName: "GetDesiredVersion", Handler: _PipedService_GetDesiredVersion_Handler, diff --git a/pkg/app/server/service/webservice/service.pb.auth.go b/pkg/app/server/service/webservice/service.pb.auth.go index d824dcf4d7..b6578b506c 100644 --- a/pkg/app/server/service/webservice/service.pb.auth.go +++ b/pkg/app/server/service/webservice/service.pb.auth.go @@ -52,6 +52,8 @@ func (a *authorizer) Authorize(method string, r model.Role) bool { return isAdmin(r) case "/grpc.service.webservice.WebService/DeleteOldPipedKeys": return isAdmin(r) + case "/grpc.service.webservice.WebService/RestartPiped": + return isAdmin(r) case "/grpc.service.webservice.WebService/EnablePiped": return isAdmin(r) case "/grpc.service.webservice.WebService/DisablePiped": diff --git a/pkg/app/server/service/webservice/service.pb.go b/pkg/app/server/service/webservice/service.pb.go index 721f2406e8..c671206e99 100644 --- a/pkg/app/server/service/webservice/service.pb.go +++ b/pkg/app/server/service/webservice/service.pb.go @@ -428,6 +428,91 @@ func (*DeleteOldPipedKeysResponse) Descriptor() ([]byte, []int) { return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{7} } +type RestartPipedRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PipedId string `protobuf:"bytes,1,opt,name=piped_id,json=pipedId,proto3" json:"piped_id,omitempty"` +} + +func (x *RestartPipedRequest) Reset() { + *x = RestartPipedRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RestartPipedRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RestartPipedRequest) ProtoMessage() {} + +func (x *RestartPipedRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RestartPipedRequest.ProtoReflect.Descriptor instead. +func (*RestartPipedRequest) Descriptor() ([]byte, []int) { + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{8} +} + +func (x *RestartPipedRequest) GetPipedId() string { + if x != nil { + return x.PipedId + } + return "" +} + +type RestartPipedResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RestartPipedResponse) Reset() { + *x = RestartPipedResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RestartPipedResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RestartPipedResponse) ProtoMessage() {} + +func (x *RestartPipedResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RestartPipedResponse.ProtoReflect.Descriptor instead. +func (*RestartPipedResponse) Descriptor() ([]byte, []int) { + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{9} +} + type EnablePipedRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -439,7 +524,7 @@ type EnablePipedRequest struct { func (x *EnablePipedRequest) Reset() { *x = EnablePipedRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[8] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -452,7 +537,7 @@ func (x *EnablePipedRequest) String() string { func (*EnablePipedRequest) ProtoMessage() {} func (x *EnablePipedRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[8] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -465,7 +550,7 @@ func (x *EnablePipedRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EnablePipedRequest.ProtoReflect.Descriptor instead. func (*EnablePipedRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{8} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{10} } func (x *EnablePipedRequest) GetPipedId() string { @@ -484,7 +569,7 @@ type EnablePipedResponse struct { func (x *EnablePipedResponse) Reset() { *x = EnablePipedResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[9] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -497,7 +582,7 @@ func (x *EnablePipedResponse) String() string { func (*EnablePipedResponse) ProtoMessage() {} func (x *EnablePipedResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[9] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -510,7 +595,7 @@ func (x *EnablePipedResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EnablePipedResponse.ProtoReflect.Descriptor instead. func (*EnablePipedResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{9} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{11} } type DisablePipedRequest struct { @@ -524,7 +609,7 @@ type DisablePipedRequest struct { func (x *DisablePipedRequest) Reset() { *x = DisablePipedRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[10] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -537,7 +622,7 @@ func (x *DisablePipedRequest) String() string { func (*DisablePipedRequest) ProtoMessage() {} func (x *DisablePipedRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[10] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -550,7 +635,7 @@ func (x *DisablePipedRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DisablePipedRequest.ProtoReflect.Descriptor instead. func (*DisablePipedRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{10} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{12} } func (x *DisablePipedRequest) GetPipedId() string { @@ -569,7 +654,7 @@ type DisablePipedResponse struct { func (x *DisablePipedResponse) Reset() { *x = DisablePipedResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[11] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -582,7 +667,7 @@ func (x *DisablePipedResponse) String() string { func (*DisablePipedResponse) ProtoMessage() {} func (x *DisablePipedResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[11] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -595,7 +680,7 @@ func (x *DisablePipedResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DisablePipedResponse.ProtoReflect.Descriptor instead. func (*DisablePipedResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{11} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{13} } type ListPipedsRequest struct { @@ -611,7 +696,7 @@ type ListPipedsRequest struct { func (x *ListPipedsRequest) Reset() { *x = ListPipedsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[12] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -624,7 +709,7 @@ func (x *ListPipedsRequest) String() string { func (*ListPipedsRequest) ProtoMessage() {} func (x *ListPipedsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[12] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -637,7 +722,7 @@ func (x *ListPipedsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListPipedsRequest.ProtoReflect.Descriptor instead. func (*ListPipedsRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{12} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{14} } func (x *ListPipedsRequest) GetWithStatus() bool { @@ -665,7 +750,7 @@ type ListPipedsResponse struct { func (x *ListPipedsResponse) Reset() { *x = ListPipedsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[13] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -678,7 +763,7 @@ func (x *ListPipedsResponse) String() string { func (*ListPipedsResponse) ProtoMessage() {} func (x *ListPipedsResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[13] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -691,7 +776,7 @@ func (x *ListPipedsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListPipedsResponse.ProtoReflect.Descriptor instead. func (*ListPipedsResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{13} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{15} } func (x *ListPipedsResponse) GetPipeds() []*model.Piped { @@ -712,7 +797,7 @@ type GetPipedRequest struct { func (x *GetPipedRequest) Reset() { *x = GetPipedRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[14] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -725,7 +810,7 @@ func (x *GetPipedRequest) String() string { func (*GetPipedRequest) ProtoMessage() {} func (x *GetPipedRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[14] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -738,7 +823,7 @@ func (x *GetPipedRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPipedRequest.ProtoReflect.Descriptor instead. func (*GetPipedRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{14} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{16} } func (x *GetPipedRequest) GetPipedId() string { @@ -759,7 +844,7 @@ type GetPipedResponse struct { func (x *GetPipedResponse) Reset() { *x = GetPipedResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[15] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -772,7 +857,7 @@ func (x *GetPipedResponse) String() string { func (*GetPipedResponse) ProtoMessage() {} func (x *GetPipedResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[15] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -785,7 +870,7 @@ func (x *GetPipedResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPipedResponse.ProtoReflect.Descriptor instead. func (*GetPipedResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{15} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{17} } func (x *GetPipedResponse) GetPiped() *model.Piped { @@ -807,7 +892,7 @@ type UpdatePipedDesiredVersionRequest struct { func (x *UpdatePipedDesiredVersionRequest) Reset() { *x = UpdatePipedDesiredVersionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[16] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -820,7 +905,7 @@ func (x *UpdatePipedDesiredVersionRequest) String() string { func (*UpdatePipedDesiredVersionRequest) ProtoMessage() {} func (x *UpdatePipedDesiredVersionRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[16] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -833,7 +918,7 @@ func (x *UpdatePipedDesiredVersionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdatePipedDesiredVersionRequest.ProtoReflect.Descriptor instead. func (*UpdatePipedDesiredVersionRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{16} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{18} } func (x *UpdatePipedDesiredVersionRequest) GetVersion() string { @@ -859,7 +944,7 @@ type UpdatePipedDesiredVersionResponse struct { func (x *UpdatePipedDesiredVersionResponse) Reset() { *x = UpdatePipedDesiredVersionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[17] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -872,7 +957,7 @@ func (x *UpdatePipedDesiredVersionResponse) String() string { func (*UpdatePipedDesiredVersionResponse) ProtoMessage() {} func (x *UpdatePipedDesiredVersionResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[17] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -885,7 +970,7 @@ func (x *UpdatePipedDesiredVersionResponse) ProtoReflect() protoreflect.Message // Deprecated: Use UpdatePipedDesiredVersionResponse.ProtoReflect.Descriptor instead. func (*UpdatePipedDesiredVersionResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{17} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{19} } type AddApplicationRequest struct { @@ -905,7 +990,7 @@ type AddApplicationRequest struct { func (x *AddApplicationRequest) Reset() { *x = AddApplicationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[18] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -918,7 +1003,7 @@ func (x *AddApplicationRequest) String() string { func (*AddApplicationRequest) ProtoMessage() {} func (x *AddApplicationRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[18] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -931,7 +1016,7 @@ func (x *AddApplicationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AddApplicationRequest.ProtoReflect.Descriptor instead. func (*AddApplicationRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{18} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{20} } func (x *AddApplicationRequest) GetName() string { @@ -994,7 +1079,7 @@ type AddApplicationResponse struct { func (x *AddApplicationResponse) Reset() { *x = AddApplicationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[19] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1007,7 +1092,7 @@ func (x *AddApplicationResponse) String() string { func (*AddApplicationResponse) ProtoMessage() {} func (x *AddApplicationResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[19] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1020,7 +1105,7 @@ func (x *AddApplicationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AddApplicationResponse.ProtoReflect.Descriptor instead. func (*AddApplicationResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{19} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{21} } func (x *AddApplicationResponse) GetApplicationId() string { @@ -1046,7 +1131,7 @@ type UpdateApplicationRequest struct { func (x *UpdateApplicationRequest) Reset() { *x = UpdateApplicationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[20] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1059,7 +1144,7 @@ func (x *UpdateApplicationRequest) String() string { func (*UpdateApplicationRequest) ProtoMessage() {} func (x *UpdateApplicationRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[20] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1072,7 +1157,7 @@ func (x *UpdateApplicationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateApplicationRequest.ProtoReflect.Descriptor instead. func (*UpdateApplicationRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{20} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{22} } func (x *UpdateApplicationRequest) GetApplicationId() string { @@ -1126,7 +1211,7 @@ type UpdateApplicationResponse struct { func (x *UpdateApplicationResponse) Reset() { *x = UpdateApplicationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[21] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1139,7 +1224,7 @@ func (x *UpdateApplicationResponse) String() string { func (*UpdateApplicationResponse) ProtoMessage() {} func (x *UpdateApplicationResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[21] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1152,7 +1237,7 @@ func (x *UpdateApplicationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateApplicationResponse.ProtoReflect.Descriptor instead. func (*UpdateApplicationResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{21} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{23} } type EnableApplicationRequest struct { @@ -1166,7 +1251,7 @@ type EnableApplicationRequest struct { func (x *EnableApplicationRequest) Reset() { *x = EnableApplicationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[22] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1179,7 +1264,7 @@ func (x *EnableApplicationRequest) String() string { func (*EnableApplicationRequest) ProtoMessage() {} func (x *EnableApplicationRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[22] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1192,7 +1277,7 @@ func (x *EnableApplicationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EnableApplicationRequest.ProtoReflect.Descriptor instead. func (*EnableApplicationRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{22} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{24} } func (x *EnableApplicationRequest) GetApplicationId() string { @@ -1211,7 +1296,7 @@ type EnableApplicationResponse struct { func (x *EnableApplicationResponse) Reset() { *x = EnableApplicationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[23] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1224,7 +1309,7 @@ func (x *EnableApplicationResponse) String() string { func (*EnableApplicationResponse) ProtoMessage() {} func (x *EnableApplicationResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[23] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1237,7 +1322,7 @@ func (x *EnableApplicationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EnableApplicationResponse.ProtoReflect.Descriptor instead. func (*EnableApplicationResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{23} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{25} } type DisableApplicationRequest struct { @@ -1251,7 +1336,7 @@ type DisableApplicationRequest struct { func (x *DisableApplicationRequest) Reset() { *x = DisableApplicationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[24] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1264,7 +1349,7 @@ func (x *DisableApplicationRequest) String() string { func (*DisableApplicationRequest) ProtoMessage() {} func (x *DisableApplicationRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[24] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1277,7 +1362,7 @@ func (x *DisableApplicationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DisableApplicationRequest.ProtoReflect.Descriptor instead. func (*DisableApplicationRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{24} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{26} } func (x *DisableApplicationRequest) GetApplicationId() string { @@ -1296,7 +1381,7 @@ type DisableApplicationResponse struct { func (x *DisableApplicationResponse) Reset() { *x = DisableApplicationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[25] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1309,7 +1394,7 @@ func (x *DisableApplicationResponse) String() string { func (*DisableApplicationResponse) ProtoMessage() {} func (x *DisableApplicationResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[25] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1322,7 +1407,7 @@ func (x *DisableApplicationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DisableApplicationResponse.ProtoReflect.Descriptor instead. func (*DisableApplicationResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{25} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{27} } type DeleteApplicationRequest struct { @@ -1336,7 +1421,7 @@ type DeleteApplicationRequest struct { func (x *DeleteApplicationRequest) Reset() { *x = DeleteApplicationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[26] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1349,7 +1434,7 @@ func (x *DeleteApplicationRequest) String() string { func (*DeleteApplicationRequest) ProtoMessage() {} func (x *DeleteApplicationRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[26] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1362,7 +1447,7 @@ func (x *DeleteApplicationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteApplicationRequest.ProtoReflect.Descriptor instead. func (*DeleteApplicationRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{26} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{28} } func (x *DeleteApplicationRequest) GetApplicationId() string { @@ -1381,7 +1466,7 @@ type DeleteApplicationResponse struct { func (x *DeleteApplicationResponse) Reset() { *x = DeleteApplicationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[27] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1394,7 +1479,7 @@ func (x *DeleteApplicationResponse) String() string { func (*DeleteApplicationResponse) ProtoMessage() {} func (x *DeleteApplicationResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[27] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1407,7 +1492,7 @@ func (x *DeleteApplicationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteApplicationResponse.ProtoReflect.Descriptor instead. func (*DeleteApplicationResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{27} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{29} } type ListApplicationsRequest struct { @@ -1421,7 +1506,7 @@ type ListApplicationsRequest struct { func (x *ListApplicationsRequest) Reset() { *x = ListApplicationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[28] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1434,7 +1519,7 @@ func (x *ListApplicationsRequest) String() string { func (*ListApplicationsRequest) ProtoMessage() {} func (x *ListApplicationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[28] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1447,7 +1532,7 @@ func (x *ListApplicationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListApplicationsRequest.ProtoReflect.Descriptor instead. func (*ListApplicationsRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{28} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{30} } func (x *ListApplicationsRequest) GetOptions() *ListApplicationsRequest_Options { @@ -1468,7 +1553,7 @@ type ListApplicationsResponse struct { func (x *ListApplicationsResponse) Reset() { *x = ListApplicationsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[29] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1481,7 +1566,7 @@ func (x *ListApplicationsResponse) String() string { func (*ListApplicationsResponse) ProtoMessage() {} func (x *ListApplicationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[29] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1494,7 +1579,7 @@ func (x *ListApplicationsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListApplicationsResponse.ProtoReflect.Descriptor instead. func (*ListApplicationsResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{29} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{31} } func (x *ListApplicationsResponse) GetApplications() []*model.Application { @@ -1516,7 +1601,7 @@ type SyncApplicationRequest struct { func (x *SyncApplicationRequest) Reset() { *x = SyncApplicationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[30] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1529,7 +1614,7 @@ func (x *SyncApplicationRequest) String() string { func (*SyncApplicationRequest) ProtoMessage() {} func (x *SyncApplicationRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[30] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1542,7 +1627,7 @@ func (x *SyncApplicationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SyncApplicationRequest.ProtoReflect.Descriptor instead. func (*SyncApplicationRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{30} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{32} } func (x *SyncApplicationRequest) GetApplicationId() string { @@ -1570,7 +1655,7 @@ type SyncApplicationResponse struct { func (x *SyncApplicationResponse) Reset() { *x = SyncApplicationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[31] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1583,7 +1668,7 @@ func (x *SyncApplicationResponse) String() string { func (*SyncApplicationResponse) ProtoMessage() {} func (x *SyncApplicationResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[31] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1596,7 +1681,7 @@ func (x *SyncApplicationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SyncApplicationResponse.ProtoReflect.Descriptor instead. func (*SyncApplicationResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{31} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{33} } func (x *SyncApplicationResponse) GetCommandId() string { @@ -1617,7 +1702,7 @@ type GetApplicationRequest struct { func (x *GetApplicationRequest) Reset() { *x = GetApplicationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[32] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1630,7 +1715,7 @@ func (x *GetApplicationRequest) String() string { func (*GetApplicationRequest) ProtoMessage() {} func (x *GetApplicationRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[32] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1643,7 +1728,7 @@ func (x *GetApplicationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetApplicationRequest.ProtoReflect.Descriptor instead. func (*GetApplicationRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{32} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{34} } func (x *GetApplicationRequest) GetApplicationId() string { @@ -1664,7 +1749,7 @@ type GetApplicationResponse struct { func (x *GetApplicationResponse) Reset() { *x = GetApplicationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[33] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1677,7 +1762,7 @@ func (x *GetApplicationResponse) String() string { func (*GetApplicationResponse) ProtoMessage() {} func (x *GetApplicationResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[33] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1690,7 +1775,7 @@ func (x *GetApplicationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetApplicationResponse.ProtoReflect.Descriptor instead. func (*GetApplicationResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{33} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{35} } func (x *GetApplicationResponse) GetApplication() *model.Application { @@ -1714,7 +1799,7 @@ type GenerateApplicationSealedSecretRequest struct { func (x *GenerateApplicationSealedSecretRequest) Reset() { *x = GenerateApplicationSealedSecretRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[34] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1727,7 +1812,7 @@ func (x *GenerateApplicationSealedSecretRequest) String() string { func (*GenerateApplicationSealedSecretRequest) ProtoMessage() {} func (x *GenerateApplicationSealedSecretRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[34] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1740,7 +1825,7 @@ func (x *GenerateApplicationSealedSecretRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use GenerateApplicationSealedSecretRequest.ProtoReflect.Descriptor instead. func (*GenerateApplicationSealedSecretRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{34} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{36} } func (x *GenerateApplicationSealedSecretRequest) GetPipedId() string { @@ -1775,7 +1860,7 @@ type GenerateApplicationSealedSecretResponse struct { func (x *GenerateApplicationSealedSecretResponse) Reset() { *x = GenerateApplicationSealedSecretResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[35] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1788,7 +1873,7 @@ func (x *GenerateApplicationSealedSecretResponse) String() string { func (*GenerateApplicationSealedSecretResponse) ProtoMessage() {} func (x *GenerateApplicationSealedSecretResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[35] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1801,7 +1886,7 @@ func (x *GenerateApplicationSealedSecretResponse) ProtoReflect() protoreflect.Me // Deprecated: Use GenerateApplicationSealedSecretResponse.ProtoReflect.Descriptor instead. func (*GenerateApplicationSealedSecretResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{35} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{37} } func (x *GenerateApplicationSealedSecretResponse) GetData() string { @@ -1820,7 +1905,7 @@ type ListUnregisteredApplicationsRequest struct { func (x *ListUnregisteredApplicationsRequest) Reset() { *x = ListUnregisteredApplicationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[36] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1833,7 +1918,7 @@ func (x *ListUnregisteredApplicationsRequest) String() string { func (*ListUnregisteredApplicationsRequest) ProtoMessage() {} func (x *ListUnregisteredApplicationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[36] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1846,7 +1931,7 @@ func (x *ListUnregisteredApplicationsRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use ListUnregisteredApplicationsRequest.ProtoReflect.Descriptor instead. func (*ListUnregisteredApplicationsRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{36} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{38} } type ListUnregisteredApplicationsResponse struct { @@ -1860,7 +1945,7 @@ type ListUnregisteredApplicationsResponse struct { func (x *ListUnregisteredApplicationsResponse) Reset() { *x = ListUnregisteredApplicationsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[37] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1873,7 +1958,7 @@ func (x *ListUnregisteredApplicationsResponse) String() string { func (*ListUnregisteredApplicationsResponse) ProtoMessage() {} func (x *ListUnregisteredApplicationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[37] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1886,7 +1971,7 @@ func (x *ListUnregisteredApplicationsResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use ListUnregisteredApplicationsResponse.ProtoReflect.Descriptor instead. func (*ListUnregisteredApplicationsResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{37} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{39} } func (x *ListUnregisteredApplicationsResponse) GetApplications() []*model.ApplicationInfo { @@ -1912,7 +1997,7 @@ type ListDeploymentsRequest struct { func (x *ListDeploymentsRequest) Reset() { *x = ListDeploymentsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[38] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1925,7 +2010,7 @@ func (x *ListDeploymentsRequest) String() string { func (*ListDeploymentsRequest) ProtoMessage() {} func (x *ListDeploymentsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[38] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1938,7 +2023,7 @@ func (x *ListDeploymentsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListDeploymentsRequest.ProtoReflect.Descriptor instead. func (*ListDeploymentsRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{38} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{40} } func (x *ListDeploymentsRequest) GetOptions() *ListDeploymentsRequest_Options { @@ -1981,7 +2066,7 @@ type ListDeploymentsResponse struct { func (x *ListDeploymentsResponse) Reset() { *x = ListDeploymentsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[39] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1994,7 +2079,7 @@ func (x *ListDeploymentsResponse) String() string { func (*ListDeploymentsResponse) ProtoMessage() {} func (x *ListDeploymentsResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[39] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2007,7 +2092,7 @@ func (x *ListDeploymentsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListDeploymentsResponse.ProtoReflect.Descriptor instead. func (*ListDeploymentsResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{39} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{41} } func (x *ListDeploymentsResponse) GetDeployments() []*model.Deployment { @@ -2035,7 +2120,7 @@ type GetDeploymentRequest struct { func (x *GetDeploymentRequest) Reset() { *x = GetDeploymentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[40] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2048,7 +2133,7 @@ func (x *GetDeploymentRequest) String() string { func (*GetDeploymentRequest) ProtoMessage() {} func (x *GetDeploymentRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[40] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2061,7 +2146,7 @@ func (x *GetDeploymentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDeploymentRequest.ProtoReflect.Descriptor instead. func (*GetDeploymentRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{40} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{42} } func (x *GetDeploymentRequest) GetDeploymentId() string { @@ -2082,7 +2167,7 @@ type GetDeploymentResponse struct { func (x *GetDeploymentResponse) Reset() { *x = GetDeploymentResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[41] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2095,7 +2180,7 @@ func (x *GetDeploymentResponse) String() string { func (*GetDeploymentResponse) ProtoMessage() {} func (x *GetDeploymentResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[41] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2108,7 +2193,7 @@ func (x *GetDeploymentResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDeploymentResponse.ProtoReflect.Descriptor instead. func (*GetDeploymentResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{41} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{43} } func (x *GetDeploymentResponse) GetDeployment() *model.Deployment { @@ -2132,7 +2217,7 @@ type GetStageLogRequest struct { func (x *GetStageLogRequest) Reset() { *x = GetStageLogRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[42] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2145,7 +2230,7 @@ func (x *GetStageLogRequest) String() string { func (*GetStageLogRequest) ProtoMessage() {} func (x *GetStageLogRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[42] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2158,7 +2243,7 @@ func (x *GetStageLogRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetStageLogRequest.ProtoReflect.Descriptor instead. func (*GetStageLogRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{42} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{44} } func (x *GetStageLogRequest) GetDeploymentId() string { @@ -2201,7 +2286,7 @@ type GetStageLogResponse struct { func (x *GetStageLogResponse) Reset() { *x = GetStageLogResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[43] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2214,7 +2299,7 @@ func (x *GetStageLogResponse) String() string { func (*GetStageLogResponse) ProtoMessage() {} func (x *GetStageLogResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[43] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2227,7 +2312,7 @@ func (x *GetStageLogResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetStageLogResponse.ProtoReflect.Descriptor instead. func (*GetStageLogResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{43} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{45} } func (x *GetStageLogResponse) GetBlocks() []*model.LogBlock { @@ -2257,7 +2342,7 @@ type CancelDeploymentRequest struct { func (x *CancelDeploymentRequest) Reset() { *x = CancelDeploymentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[44] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2270,7 +2355,7 @@ func (x *CancelDeploymentRequest) String() string { func (*CancelDeploymentRequest) ProtoMessage() {} func (x *CancelDeploymentRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[44] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2283,7 +2368,7 @@ func (x *CancelDeploymentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CancelDeploymentRequest.ProtoReflect.Descriptor instead. func (*CancelDeploymentRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{44} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{46} } func (x *CancelDeploymentRequest) GetDeploymentId() string { @@ -2318,7 +2403,7 @@ type CancelDeploymentResponse struct { func (x *CancelDeploymentResponse) Reset() { *x = CancelDeploymentResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[45] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2331,7 +2416,7 @@ func (x *CancelDeploymentResponse) String() string { func (*CancelDeploymentResponse) ProtoMessage() {} func (x *CancelDeploymentResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[45] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2344,7 +2429,7 @@ func (x *CancelDeploymentResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CancelDeploymentResponse.ProtoReflect.Descriptor instead. func (*CancelDeploymentResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{45} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{47} } func (x *CancelDeploymentResponse) GetCommandId() string { @@ -2366,7 +2451,7 @@ type SkipStageRequest struct { func (x *SkipStageRequest) Reset() { *x = SkipStageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[46] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2379,7 +2464,7 @@ func (x *SkipStageRequest) String() string { func (*SkipStageRequest) ProtoMessage() {} func (x *SkipStageRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[46] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2392,7 +2477,7 @@ func (x *SkipStageRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SkipStageRequest.ProtoReflect.Descriptor instead. func (*SkipStageRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{46} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{48} } func (x *SkipStageRequest) GetDeploymentId() string { @@ -2420,7 +2505,7 @@ type SkipStageResponse struct { func (x *SkipStageResponse) Reset() { *x = SkipStageResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[47] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2433,7 +2518,7 @@ func (x *SkipStageResponse) String() string { func (*SkipStageResponse) ProtoMessage() {} func (x *SkipStageResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[47] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2446,7 +2531,7 @@ func (x *SkipStageResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SkipStageResponse.ProtoReflect.Descriptor instead. func (*SkipStageResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{47} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{49} } func (x *SkipStageResponse) GetCommandId() string { @@ -2468,7 +2553,7 @@ type ApproveStageRequest struct { func (x *ApproveStageRequest) Reset() { *x = ApproveStageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[48] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2481,7 +2566,7 @@ func (x *ApproveStageRequest) String() string { func (*ApproveStageRequest) ProtoMessage() {} func (x *ApproveStageRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[48] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2494,7 +2579,7 @@ func (x *ApproveStageRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ApproveStageRequest.ProtoReflect.Descriptor instead. func (*ApproveStageRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{48} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{50} } func (x *ApproveStageRequest) GetDeploymentId() string { @@ -2522,7 +2607,7 @@ type ApproveStageResponse struct { func (x *ApproveStageResponse) Reset() { *x = ApproveStageResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[49] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2535,7 +2620,7 @@ func (x *ApproveStageResponse) String() string { func (*ApproveStageResponse) ProtoMessage() {} func (x *ApproveStageResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[49] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2548,7 +2633,7 @@ func (x *ApproveStageResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ApproveStageResponse.ProtoReflect.Descriptor instead. func (*ApproveStageResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{49} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{51} } func (x *ApproveStageResponse) GetCommandId() string { @@ -2569,7 +2654,7 @@ type GetApplicationLiveStateRequest struct { func (x *GetApplicationLiveStateRequest) Reset() { *x = GetApplicationLiveStateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[50] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2582,7 +2667,7 @@ func (x *GetApplicationLiveStateRequest) String() string { func (*GetApplicationLiveStateRequest) ProtoMessage() {} func (x *GetApplicationLiveStateRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[50] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2595,7 +2680,7 @@ func (x *GetApplicationLiveStateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetApplicationLiveStateRequest.ProtoReflect.Descriptor instead. func (*GetApplicationLiveStateRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{50} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{52} } func (x *GetApplicationLiveStateRequest) GetApplicationId() string { @@ -2616,7 +2701,7 @@ type GetApplicationLiveStateResponse struct { func (x *GetApplicationLiveStateResponse) Reset() { *x = GetApplicationLiveStateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[51] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2629,7 +2714,7 @@ func (x *GetApplicationLiveStateResponse) String() string { func (*GetApplicationLiveStateResponse) ProtoMessage() {} func (x *GetApplicationLiveStateResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[51] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2642,7 +2727,7 @@ func (x *GetApplicationLiveStateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetApplicationLiveStateResponse.ProtoReflect.Descriptor instead. func (*GetApplicationLiveStateResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{51} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{53} } func (x *GetApplicationLiveStateResponse) GetSnapshot() *model.ApplicationLiveStateSnapshot { @@ -2661,7 +2746,7 @@ type GetProjectRequest struct { func (x *GetProjectRequest) Reset() { *x = GetProjectRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[52] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2674,7 +2759,7 @@ func (x *GetProjectRequest) String() string { func (*GetProjectRequest) ProtoMessage() {} func (x *GetProjectRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[52] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2687,7 +2772,7 @@ func (x *GetProjectRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetProjectRequest.ProtoReflect.Descriptor instead. func (*GetProjectRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{52} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{54} } type GetProjectResponse struct { @@ -2701,7 +2786,7 @@ type GetProjectResponse struct { func (x *GetProjectResponse) Reset() { *x = GetProjectResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[53] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2714,7 +2799,7 @@ func (x *GetProjectResponse) String() string { func (*GetProjectResponse) ProtoMessage() {} func (x *GetProjectResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[53] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2727,7 +2812,7 @@ func (x *GetProjectResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetProjectResponse.ProtoReflect.Descriptor instead. func (*GetProjectResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{53} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{55} } func (x *GetProjectResponse) GetProject() *model.Project { @@ -2749,7 +2834,7 @@ type UpdateProjectStaticAdminRequest struct { func (x *UpdateProjectStaticAdminRequest) Reset() { *x = UpdateProjectStaticAdminRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[54] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2762,7 +2847,7 @@ func (x *UpdateProjectStaticAdminRequest) String() string { func (*UpdateProjectStaticAdminRequest) ProtoMessage() {} func (x *UpdateProjectStaticAdminRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[54] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2775,7 +2860,7 @@ func (x *UpdateProjectStaticAdminRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateProjectStaticAdminRequest.ProtoReflect.Descriptor instead. func (*UpdateProjectStaticAdminRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{54} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{56} } func (x *UpdateProjectStaticAdminRequest) GetUsername() string { @@ -2801,7 +2886,7 @@ type UpdateProjectStaticAdminResponse struct { func (x *UpdateProjectStaticAdminResponse) Reset() { *x = UpdateProjectStaticAdminResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[55] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2814,7 +2899,7 @@ func (x *UpdateProjectStaticAdminResponse) String() string { func (*UpdateProjectStaticAdminResponse) ProtoMessage() {} func (x *UpdateProjectStaticAdminResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[55] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2827,7 +2912,7 @@ func (x *UpdateProjectStaticAdminResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateProjectStaticAdminResponse.ProtoReflect.Descriptor instead. func (*UpdateProjectStaticAdminResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{55} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{57} } type UpdateProjectSSOConfigRequest struct { @@ -2841,7 +2926,7 @@ type UpdateProjectSSOConfigRequest struct { func (x *UpdateProjectSSOConfigRequest) Reset() { *x = UpdateProjectSSOConfigRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[56] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2854,7 +2939,7 @@ func (x *UpdateProjectSSOConfigRequest) String() string { func (*UpdateProjectSSOConfigRequest) ProtoMessage() {} func (x *UpdateProjectSSOConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[56] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2867,7 +2952,7 @@ func (x *UpdateProjectSSOConfigRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateProjectSSOConfigRequest.ProtoReflect.Descriptor instead. func (*UpdateProjectSSOConfigRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{56} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{58} } func (x *UpdateProjectSSOConfigRequest) GetSso() *model.ProjectSSOConfig { @@ -2886,7 +2971,7 @@ type UpdateProjectSSOConfigResponse struct { func (x *UpdateProjectSSOConfigResponse) Reset() { *x = UpdateProjectSSOConfigResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[57] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2899,7 +2984,7 @@ func (x *UpdateProjectSSOConfigResponse) String() string { func (*UpdateProjectSSOConfigResponse) ProtoMessage() {} func (x *UpdateProjectSSOConfigResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[57] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2912,7 +2997,7 @@ func (x *UpdateProjectSSOConfigResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateProjectSSOConfigResponse.ProtoReflect.Descriptor instead. func (*UpdateProjectSSOConfigResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{57} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{59} } type UpdateProjectRBACConfigRequest struct { @@ -2926,7 +3011,7 @@ type UpdateProjectRBACConfigRequest struct { func (x *UpdateProjectRBACConfigRequest) Reset() { *x = UpdateProjectRBACConfigRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[58] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2939,7 +3024,7 @@ func (x *UpdateProjectRBACConfigRequest) String() string { func (*UpdateProjectRBACConfigRequest) ProtoMessage() {} func (x *UpdateProjectRBACConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[58] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2952,7 +3037,7 @@ func (x *UpdateProjectRBACConfigRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateProjectRBACConfigRequest.ProtoReflect.Descriptor instead. func (*UpdateProjectRBACConfigRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{58} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{60} } func (x *UpdateProjectRBACConfigRequest) GetRbac() *model.ProjectRBACConfig { @@ -2971,7 +3056,7 @@ type UpdateProjectRBACConfigResponse struct { func (x *UpdateProjectRBACConfigResponse) Reset() { *x = UpdateProjectRBACConfigResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[59] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2984,7 +3069,7 @@ func (x *UpdateProjectRBACConfigResponse) String() string { func (*UpdateProjectRBACConfigResponse) ProtoMessage() {} func (x *UpdateProjectRBACConfigResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[59] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2997,7 +3082,7 @@ func (x *UpdateProjectRBACConfigResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateProjectRBACConfigResponse.ProtoReflect.Descriptor instead. func (*UpdateProjectRBACConfigResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{59} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{61} } type EnableStaticAdminRequest struct { @@ -3009,7 +3094,7 @@ type EnableStaticAdminRequest struct { func (x *EnableStaticAdminRequest) Reset() { *x = EnableStaticAdminRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[60] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3022,7 +3107,7 @@ func (x *EnableStaticAdminRequest) String() string { func (*EnableStaticAdminRequest) ProtoMessage() {} func (x *EnableStaticAdminRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[60] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3035,7 +3120,7 @@ func (x *EnableStaticAdminRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EnableStaticAdminRequest.ProtoReflect.Descriptor instead. func (*EnableStaticAdminRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{60} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{62} } type EnableStaticAdminResponse struct { @@ -3047,7 +3132,7 @@ type EnableStaticAdminResponse struct { func (x *EnableStaticAdminResponse) Reset() { *x = EnableStaticAdminResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[61] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3060,7 +3145,7 @@ func (x *EnableStaticAdminResponse) String() string { func (*EnableStaticAdminResponse) ProtoMessage() {} func (x *EnableStaticAdminResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[61] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3073,7 +3158,7 @@ func (x *EnableStaticAdminResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EnableStaticAdminResponse.ProtoReflect.Descriptor instead. func (*EnableStaticAdminResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{61} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{63} } type DisableStaticAdminRequest struct { @@ -3085,7 +3170,7 @@ type DisableStaticAdminRequest struct { func (x *DisableStaticAdminRequest) Reset() { *x = DisableStaticAdminRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[62] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3098,7 +3183,7 @@ func (x *DisableStaticAdminRequest) String() string { func (*DisableStaticAdminRequest) ProtoMessage() {} func (x *DisableStaticAdminRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[62] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3111,7 +3196,7 @@ func (x *DisableStaticAdminRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DisableStaticAdminRequest.ProtoReflect.Descriptor instead. func (*DisableStaticAdminRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{62} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{64} } type DisableStaticAdminResponse struct { @@ -3123,7 +3208,7 @@ type DisableStaticAdminResponse struct { func (x *DisableStaticAdminResponse) Reset() { *x = DisableStaticAdminResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[63] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3136,7 +3221,7 @@ func (x *DisableStaticAdminResponse) String() string { func (*DisableStaticAdminResponse) ProtoMessage() {} func (x *DisableStaticAdminResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[63] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3149,7 +3234,7 @@ func (x *DisableStaticAdminResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DisableStaticAdminResponse.ProtoReflect.Descriptor instead. func (*DisableStaticAdminResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{63} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{65} } type GetMeRequest struct { @@ -3161,7 +3246,7 @@ type GetMeRequest struct { func (x *GetMeRequest) Reset() { *x = GetMeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[64] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3174,7 +3259,7 @@ func (x *GetMeRequest) String() string { func (*GetMeRequest) ProtoMessage() {} func (x *GetMeRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[64] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3187,7 +3272,7 @@ func (x *GetMeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMeRequest.ProtoReflect.Descriptor instead. func (*GetMeRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{64} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{66} } type GetMeResponse struct { @@ -3204,7 +3289,7 @@ type GetMeResponse struct { func (x *GetMeResponse) Reset() { *x = GetMeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[65] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3217,7 +3302,7 @@ func (x *GetMeResponse) String() string { func (*GetMeResponse) ProtoMessage() {} func (x *GetMeResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[65] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3230,7 +3315,7 @@ func (x *GetMeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMeResponse.ProtoReflect.Descriptor instead. func (*GetMeResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{65} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{67} } func (x *GetMeResponse) GetSubject() string { @@ -3270,7 +3355,7 @@ type ListProjectRBACRolesRequest struct { func (x *ListProjectRBACRolesRequest) Reset() { *x = ListProjectRBACRolesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[66] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3283,7 +3368,7 @@ func (x *ListProjectRBACRolesRequest) String() string { func (*ListProjectRBACRolesRequest) ProtoMessage() {} func (x *ListProjectRBACRolesRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[66] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3296,7 +3381,7 @@ func (x *ListProjectRBACRolesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListProjectRBACRolesRequest.ProtoReflect.Descriptor instead. func (*ListProjectRBACRolesRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{66} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{68} } type ListProjectRBACRolesResponse struct { @@ -3310,7 +3395,7 @@ type ListProjectRBACRolesResponse struct { func (x *ListProjectRBACRolesResponse) Reset() { *x = ListProjectRBACRolesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[67] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3323,7 +3408,7 @@ func (x *ListProjectRBACRolesResponse) String() string { func (*ListProjectRBACRolesResponse) ProtoMessage() {} func (x *ListProjectRBACRolesResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[67] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3336,7 +3421,7 @@ func (x *ListProjectRBACRolesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListProjectRBACRolesResponse.ProtoReflect.Descriptor instead. func (*ListProjectRBACRolesResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{67} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{69} } func (x *ListProjectRBACRolesResponse) GetRbacRoles() []*model.ProjectRBACRole { @@ -3358,7 +3443,7 @@ type AddProjectRBACRoleRequest struct { func (x *AddProjectRBACRoleRequest) Reset() { *x = AddProjectRBACRoleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[68] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3371,7 +3456,7 @@ func (x *AddProjectRBACRoleRequest) String() string { func (*AddProjectRBACRoleRequest) ProtoMessage() {} func (x *AddProjectRBACRoleRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[68] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3384,7 +3469,7 @@ func (x *AddProjectRBACRoleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AddProjectRBACRoleRequest.ProtoReflect.Descriptor instead. func (*AddProjectRBACRoleRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{68} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{70} } func (x *AddProjectRBACRoleRequest) GetName() string { @@ -3410,7 +3495,7 @@ type AddProjectRBACRoleResponse struct { func (x *AddProjectRBACRoleResponse) Reset() { *x = AddProjectRBACRoleResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[69] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3423,7 +3508,7 @@ func (x *AddProjectRBACRoleResponse) String() string { func (*AddProjectRBACRoleResponse) ProtoMessage() {} func (x *AddProjectRBACRoleResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[69] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3436,7 +3521,7 @@ func (x *AddProjectRBACRoleResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AddProjectRBACRoleResponse.ProtoReflect.Descriptor instead. func (*AddProjectRBACRoleResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{69} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{71} } type UpdateProjectRBACRoleRequest struct { @@ -3451,7 +3536,7 @@ type UpdateProjectRBACRoleRequest struct { func (x *UpdateProjectRBACRoleRequest) Reset() { *x = UpdateProjectRBACRoleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[70] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3464,7 +3549,7 @@ func (x *UpdateProjectRBACRoleRequest) String() string { func (*UpdateProjectRBACRoleRequest) ProtoMessage() {} func (x *UpdateProjectRBACRoleRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[70] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3477,7 +3562,7 @@ func (x *UpdateProjectRBACRoleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateProjectRBACRoleRequest.ProtoReflect.Descriptor instead. func (*UpdateProjectRBACRoleRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{70} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{72} } func (x *UpdateProjectRBACRoleRequest) GetName() string { @@ -3503,7 +3588,7 @@ type UpdateProjectRBACRoleResponse struct { func (x *UpdateProjectRBACRoleResponse) Reset() { *x = UpdateProjectRBACRoleResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[71] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3516,7 +3601,7 @@ func (x *UpdateProjectRBACRoleResponse) String() string { func (*UpdateProjectRBACRoleResponse) ProtoMessage() {} func (x *UpdateProjectRBACRoleResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[71] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3529,7 +3614,7 @@ func (x *UpdateProjectRBACRoleResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateProjectRBACRoleResponse.ProtoReflect.Descriptor instead. func (*UpdateProjectRBACRoleResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{71} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{73} } type DeleteProjectRBACRoleRequest struct { @@ -3543,7 +3628,7 @@ type DeleteProjectRBACRoleRequest struct { func (x *DeleteProjectRBACRoleRequest) Reset() { *x = DeleteProjectRBACRoleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[72] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3556,7 +3641,7 @@ func (x *DeleteProjectRBACRoleRequest) String() string { func (*DeleteProjectRBACRoleRequest) ProtoMessage() {} func (x *DeleteProjectRBACRoleRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[72] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3569,7 +3654,7 @@ func (x *DeleteProjectRBACRoleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteProjectRBACRoleRequest.ProtoReflect.Descriptor instead. func (*DeleteProjectRBACRoleRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{72} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{74} } func (x *DeleteProjectRBACRoleRequest) GetName() string { @@ -3588,7 +3673,7 @@ type DeleteProjectRBACRoleResponse struct { func (x *DeleteProjectRBACRoleResponse) Reset() { *x = DeleteProjectRBACRoleResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[73] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3601,7 +3686,7 @@ func (x *DeleteProjectRBACRoleResponse) String() string { func (*DeleteProjectRBACRoleResponse) ProtoMessage() {} func (x *DeleteProjectRBACRoleResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[73] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3614,7 +3699,7 @@ func (x *DeleteProjectRBACRoleResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteProjectRBACRoleResponse.ProtoReflect.Descriptor instead. func (*DeleteProjectRBACRoleResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{73} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{75} } type ListProjectUserGroupsRequest struct { @@ -3626,7 +3711,7 @@ type ListProjectUserGroupsRequest struct { func (x *ListProjectUserGroupsRequest) Reset() { *x = ListProjectUserGroupsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[74] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3639,7 +3724,7 @@ func (x *ListProjectUserGroupsRequest) String() string { func (*ListProjectUserGroupsRequest) ProtoMessage() {} func (x *ListProjectUserGroupsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[74] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3652,7 +3737,7 @@ func (x *ListProjectUserGroupsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListProjectUserGroupsRequest.ProtoReflect.Descriptor instead. func (*ListProjectUserGroupsRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{74} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{76} } type ListProjectUserGroupsResponses struct { @@ -3666,7 +3751,7 @@ type ListProjectUserGroupsResponses struct { func (x *ListProjectUserGroupsResponses) Reset() { *x = ListProjectUserGroupsResponses{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[75] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3679,7 +3764,7 @@ func (x *ListProjectUserGroupsResponses) String() string { func (*ListProjectUserGroupsResponses) ProtoMessage() {} func (x *ListProjectUserGroupsResponses) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[75] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3692,7 +3777,7 @@ func (x *ListProjectUserGroupsResponses) ProtoReflect() protoreflect.Message { // Deprecated: Use ListProjectUserGroupsResponses.ProtoReflect.Descriptor instead. func (*ListProjectUserGroupsResponses) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{75} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{77} } func (x *ListProjectUserGroupsResponses) GetUserGroups() []*model.ProjectUserGroup { @@ -3714,7 +3799,7 @@ type AddProjectUserGroupRequest struct { func (x *AddProjectUserGroupRequest) Reset() { *x = AddProjectUserGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[76] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3727,7 +3812,7 @@ func (x *AddProjectUserGroupRequest) String() string { func (*AddProjectUserGroupRequest) ProtoMessage() {} func (x *AddProjectUserGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[76] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3740,7 +3825,7 @@ func (x *AddProjectUserGroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AddProjectUserGroupRequest.ProtoReflect.Descriptor instead. func (*AddProjectUserGroupRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{76} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{78} } func (x *AddProjectUserGroupRequest) GetSsoGroup() string { @@ -3766,7 +3851,7 @@ type AddProjectUserGroupResponse struct { func (x *AddProjectUserGroupResponse) Reset() { *x = AddProjectUserGroupResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[77] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3779,7 +3864,7 @@ func (x *AddProjectUserGroupResponse) String() string { func (*AddProjectUserGroupResponse) ProtoMessage() {} func (x *AddProjectUserGroupResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[77] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3792,7 +3877,7 @@ func (x *AddProjectUserGroupResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AddProjectUserGroupResponse.ProtoReflect.Descriptor instead. func (*AddProjectUserGroupResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{77} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{79} } type DeleteProjectUserGroupRequest struct { @@ -3806,7 +3891,7 @@ type DeleteProjectUserGroupRequest struct { func (x *DeleteProjectUserGroupRequest) Reset() { *x = DeleteProjectUserGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[78] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3819,7 +3904,7 @@ func (x *DeleteProjectUserGroupRequest) String() string { func (*DeleteProjectUserGroupRequest) ProtoMessage() {} func (x *DeleteProjectUserGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[78] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3832,7 +3917,7 @@ func (x *DeleteProjectUserGroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteProjectUserGroupRequest.ProtoReflect.Descriptor instead. func (*DeleteProjectUserGroupRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{78} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{80} } func (x *DeleteProjectUserGroupRequest) GetSsoGroup() string { @@ -3851,7 +3936,7 @@ type DeleteProjectUserGroupResponse struct { func (x *DeleteProjectUserGroupResponse) Reset() { *x = DeleteProjectUserGroupResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[79] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3864,7 +3949,7 @@ func (x *DeleteProjectUserGroupResponse) String() string { func (*DeleteProjectUserGroupResponse) ProtoMessage() {} func (x *DeleteProjectUserGroupResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[79] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3877,7 +3962,7 @@ func (x *DeleteProjectUserGroupResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteProjectUserGroupResponse.ProtoReflect.Descriptor instead. func (*DeleteProjectUserGroupResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{79} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{81} } type GetCommandRequest struct { @@ -3891,7 +3976,7 @@ type GetCommandRequest struct { func (x *GetCommandRequest) Reset() { *x = GetCommandRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[80] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3904,7 +3989,7 @@ func (x *GetCommandRequest) String() string { func (*GetCommandRequest) ProtoMessage() {} func (x *GetCommandRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[80] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3917,7 +4002,7 @@ func (x *GetCommandRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCommandRequest.ProtoReflect.Descriptor instead. func (*GetCommandRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{80} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{82} } func (x *GetCommandRequest) GetCommandId() string { @@ -3938,7 +4023,7 @@ type GetCommandResponse struct { func (x *GetCommandResponse) Reset() { *x = GetCommandResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[81] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3951,7 +4036,7 @@ func (x *GetCommandResponse) String() string { func (*GetCommandResponse) ProtoMessage() {} func (x *GetCommandResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[81] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3964,7 +4049,7 @@ func (x *GetCommandResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCommandResponse.ProtoReflect.Descriptor instead. func (*GetCommandResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{81} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{83} } func (x *GetCommandResponse) GetCommand() *model.Command { @@ -3986,7 +4071,7 @@ type GenerateAPIKeyRequest struct { func (x *GenerateAPIKeyRequest) Reset() { *x = GenerateAPIKeyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[82] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3999,7 +4084,7 @@ func (x *GenerateAPIKeyRequest) String() string { func (*GenerateAPIKeyRequest) ProtoMessage() {} func (x *GenerateAPIKeyRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[82] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4012,7 +4097,7 @@ func (x *GenerateAPIKeyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GenerateAPIKeyRequest.ProtoReflect.Descriptor instead. func (*GenerateAPIKeyRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{82} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{84} } func (x *GenerateAPIKeyRequest) GetName() string { @@ -4040,7 +4125,7 @@ type GenerateAPIKeyResponse struct { func (x *GenerateAPIKeyResponse) Reset() { *x = GenerateAPIKeyResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[83] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4053,7 +4138,7 @@ func (x *GenerateAPIKeyResponse) String() string { func (*GenerateAPIKeyResponse) ProtoMessage() {} func (x *GenerateAPIKeyResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[83] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4066,7 +4151,7 @@ func (x *GenerateAPIKeyResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GenerateAPIKeyResponse.ProtoReflect.Descriptor instead. func (*GenerateAPIKeyResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{83} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{85} } func (x *GenerateAPIKeyResponse) GetKey() string { @@ -4087,7 +4172,7 @@ type DisableAPIKeyRequest struct { func (x *DisableAPIKeyRequest) Reset() { *x = DisableAPIKeyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[84] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4100,7 +4185,7 @@ func (x *DisableAPIKeyRequest) String() string { func (*DisableAPIKeyRequest) ProtoMessage() {} func (x *DisableAPIKeyRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[84] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4113,7 +4198,7 @@ func (x *DisableAPIKeyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DisableAPIKeyRequest.ProtoReflect.Descriptor instead. func (*DisableAPIKeyRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{84} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{86} } func (x *DisableAPIKeyRequest) GetId() string { @@ -4132,7 +4217,7 @@ type DisableAPIKeyResponse struct { func (x *DisableAPIKeyResponse) Reset() { *x = DisableAPIKeyResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[85] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4145,7 +4230,7 @@ func (x *DisableAPIKeyResponse) String() string { func (*DisableAPIKeyResponse) ProtoMessage() {} func (x *DisableAPIKeyResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[85] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4158,7 +4243,7 @@ func (x *DisableAPIKeyResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DisableAPIKeyResponse.ProtoReflect.Descriptor instead. func (*DisableAPIKeyResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{85} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{87} } type ListAPIKeysRequest struct { @@ -4172,7 +4257,7 @@ type ListAPIKeysRequest struct { func (x *ListAPIKeysRequest) Reset() { *x = ListAPIKeysRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[86] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4185,7 +4270,7 @@ func (x *ListAPIKeysRequest) String() string { func (*ListAPIKeysRequest) ProtoMessage() {} func (x *ListAPIKeysRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[86] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4198,7 +4283,7 @@ func (x *ListAPIKeysRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAPIKeysRequest.ProtoReflect.Descriptor instead. func (*ListAPIKeysRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{86} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{88} } func (x *ListAPIKeysRequest) GetOptions() *ListAPIKeysRequest_Options { @@ -4219,7 +4304,7 @@ type ListAPIKeysResponse struct { func (x *ListAPIKeysResponse) Reset() { *x = ListAPIKeysResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[87] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4232,7 +4317,7 @@ func (x *ListAPIKeysResponse) String() string { func (*ListAPIKeysResponse) ProtoMessage() {} func (x *ListAPIKeysResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[87] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4245,7 +4330,7 @@ func (x *ListAPIKeysResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAPIKeysResponse.ProtoReflect.Descriptor instead. func (*ListAPIKeysResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{87} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{89} } func (x *ListAPIKeysResponse) GetKeys() []*model.APIKey { @@ -4271,7 +4356,7 @@ type GetInsightDataRequest struct { func (x *GetInsightDataRequest) Reset() { *x = GetInsightDataRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[88] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4284,7 +4369,7 @@ func (x *GetInsightDataRequest) String() string { func (*GetInsightDataRequest) ProtoMessage() {} func (x *GetInsightDataRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[88] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4297,7 +4382,7 @@ func (x *GetInsightDataRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInsightDataRequest.ProtoReflect.Descriptor instead. func (*GetInsightDataRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{88} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{90} } func (x *GetInsightDataRequest) GetMetricsKind() model.InsightMetricsKind { @@ -4349,7 +4434,7 @@ type GetInsightDataResponse struct { func (x *GetInsightDataResponse) Reset() { *x = GetInsightDataResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[89] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4362,7 +4447,7 @@ func (x *GetInsightDataResponse) String() string { func (*GetInsightDataResponse) ProtoMessage() {} func (x *GetInsightDataResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[89] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4375,7 +4460,7 @@ func (x *GetInsightDataResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInsightDataResponse.ProtoReflect.Descriptor instead. func (*GetInsightDataResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{89} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{91} } func (x *GetInsightDataResponse) GetUpdatedAt() int64 { @@ -4415,7 +4500,7 @@ type GetInsightApplicationCountRequest struct { func (x *GetInsightApplicationCountRequest) Reset() { *x = GetInsightApplicationCountRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[90] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4428,7 +4513,7 @@ func (x *GetInsightApplicationCountRequest) String() string { func (*GetInsightApplicationCountRequest) ProtoMessage() {} func (x *GetInsightApplicationCountRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[90] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4441,7 +4526,7 @@ func (x *GetInsightApplicationCountRequest) ProtoReflect() protoreflect.Message // Deprecated: Use GetInsightApplicationCountRequest.ProtoReflect.Descriptor instead. func (*GetInsightApplicationCountRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{90} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{92} } type GetInsightApplicationCountResponse struct { @@ -4456,7 +4541,7 @@ type GetInsightApplicationCountResponse struct { func (x *GetInsightApplicationCountResponse) Reset() { *x = GetInsightApplicationCountResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[91] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4469,7 +4554,7 @@ func (x *GetInsightApplicationCountResponse) String() string { func (*GetInsightApplicationCountResponse) ProtoMessage() {} func (x *GetInsightApplicationCountResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[91] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[93] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4482,7 +4567,7 @@ func (x *GetInsightApplicationCountResponse) ProtoReflect() protoreflect.Message // Deprecated: Use GetInsightApplicationCountResponse.ProtoReflect.Descriptor instead. func (*GetInsightApplicationCountResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{91} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{93} } func (x *GetInsightApplicationCountResponse) GetUpdatedAt() int64 { @@ -4515,7 +4600,7 @@ type ListDeploymentChainsRequest struct { func (x *ListDeploymentChainsRequest) Reset() { *x = ListDeploymentChainsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[92] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4528,7 +4613,7 @@ func (x *ListDeploymentChainsRequest) String() string { func (*ListDeploymentChainsRequest) ProtoMessage() {} func (x *ListDeploymentChainsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[92] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[94] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4541,7 +4626,7 @@ func (x *ListDeploymentChainsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListDeploymentChainsRequest.ProtoReflect.Descriptor instead. func (*ListDeploymentChainsRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{92} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{94} } func (x *ListDeploymentChainsRequest) GetOptions() *ListDeploymentChainsRequest_Options { @@ -4584,7 +4669,7 @@ type ListDeploymentChainsResponse struct { func (x *ListDeploymentChainsResponse) Reset() { *x = ListDeploymentChainsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[93] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4597,7 +4682,7 @@ func (x *ListDeploymentChainsResponse) String() string { func (*ListDeploymentChainsResponse) ProtoMessage() {} func (x *ListDeploymentChainsResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[93] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[95] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4610,7 +4695,7 @@ func (x *ListDeploymentChainsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListDeploymentChainsResponse.ProtoReflect.Descriptor instead. func (*ListDeploymentChainsResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{93} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{95} } func (x *ListDeploymentChainsResponse) GetDeploymentChains() []*model.DeploymentChain { @@ -4638,7 +4723,7 @@ type GetDeploymentChainRequest struct { func (x *GetDeploymentChainRequest) Reset() { *x = GetDeploymentChainRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[94] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4651,7 +4736,7 @@ func (x *GetDeploymentChainRequest) String() string { func (*GetDeploymentChainRequest) ProtoMessage() {} func (x *GetDeploymentChainRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[94] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[96] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4664,7 +4749,7 @@ func (x *GetDeploymentChainRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDeploymentChainRequest.ProtoReflect.Descriptor instead. func (*GetDeploymentChainRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{94} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{96} } func (x *GetDeploymentChainRequest) GetDeploymentChainId() string { @@ -4685,7 +4770,7 @@ type GetDeploymentChainResponse struct { func (x *GetDeploymentChainResponse) Reset() { *x = GetDeploymentChainResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[95] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4698,7 +4783,7 @@ func (x *GetDeploymentChainResponse) String() string { func (*GetDeploymentChainResponse) ProtoMessage() {} func (x *GetDeploymentChainResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[95] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4711,7 +4796,7 @@ func (x *GetDeploymentChainResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDeploymentChainResponse.ProtoReflect.Descriptor instead. func (*GetDeploymentChainResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{95} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{97} } func (x *GetDeploymentChainResponse) GetDeploymentChain() *model.DeploymentChain { @@ -4737,7 +4822,7 @@ type ListEventsRequest struct { func (x *ListEventsRequest) Reset() { *x = ListEventsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[96] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4750,7 +4835,7 @@ func (x *ListEventsRequest) String() string { func (*ListEventsRequest) ProtoMessage() {} func (x *ListEventsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[96] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4763,7 +4848,7 @@ func (x *ListEventsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListEventsRequest.ProtoReflect.Descriptor instead. func (*ListEventsRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{96} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{98} } func (x *ListEventsRequest) GetOptions() *ListEventsRequest_Options { @@ -4806,7 +4891,7 @@ type ListEventsResponse struct { func (x *ListEventsResponse) Reset() { *x = ListEventsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[97] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4819,7 +4904,7 @@ func (x *ListEventsResponse) String() string { func (*ListEventsResponse) ProtoMessage() {} func (x *ListEventsResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[97] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4832,7 +4917,7 @@ func (x *ListEventsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListEventsResponse.ProtoReflect.Descriptor instead. func (*ListEventsResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{97} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{99} } func (x *ListEventsResponse) GetEvents() []*model.Event { @@ -4860,7 +4945,7 @@ type ListPipedsRequest_Options struct { func (x *ListPipedsRequest_Options) Reset() { *x = ListPipedsRequest_Options{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[98] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4873,7 +4958,7 @@ func (x *ListPipedsRequest_Options) String() string { func (*ListPipedsRequest_Options) ProtoMessage() {} func (x *ListPipedsRequest_Options) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[98] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4886,7 +4971,7 @@ func (x *ListPipedsRequest_Options) ProtoReflect() protoreflect.Message { // Deprecated: Use ListPipedsRequest_Options.ProtoReflect.Descriptor instead. func (*ListPipedsRequest_Options) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{12, 0} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{14, 0} } func (x *ListPipedsRequest_Options) GetEnabled() *wrapperspb.BoolValue { @@ -4911,7 +4996,7 @@ type ListApplicationsRequest_Options struct { func (x *ListApplicationsRequest_Options) Reset() { *x = ListApplicationsRequest_Options{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[100] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4924,7 +5009,7 @@ func (x *ListApplicationsRequest_Options) String() string { func (*ListApplicationsRequest_Options) ProtoMessage() {} func (x *ListApplicationsRequest_Options) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[100] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4937,7 +5022,7 @@ func (x *ListApplicationsRequest_Options) ProtoReflect() protoreflect.Message { // Deprecated: Use ListApplicationsRequest_Options.ProtoReflect.Descriptor instead. func (*ListApplicationsRequest_Options) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{28, 0} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{30, 0} } func (x *ListApplicationsRequest_Options) GetEnabled() *wrapperspb.BoolValue { @@ -4990,7 +5075,7 @@ type ListDeploymentsRequest_Options struct { func (x *ListDeploymentsRequest_Options) Reset() { *x = ListDeploymentsRequest_Options{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[102] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5003,7 +5088,7 @@ func (x *ListDeploymentsRequest_Options) String() string { func (*ListDeploymentsRequest_Options) ProtoMessage() {} func (x *ListDeploymentsRequest_Options) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[102] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[104] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5016,7 +5101,7 @@ func (x *ListDeploymentsRequest_Options) ProtoReflect() protoreflect.Message { // Deprecated: Use ListDeploymentsRequest_Options.ProtoReflect.Descriptor instead. func (*ListDeploymentsRequest_Options) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{38, 0} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{40, 0} } func (x *ListDeploymentsRequest_Options) GetStatuses() []model.DeploymentStatus { @@ -5065,7 +5150,7 @@ type ListAPIKeysRequest_Options struct { func (x *ListAPIKeysRequest_Options) Reset() { *x = ListAPIKeysRequest_Options{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[104] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5078,7 +5163,7 @@ func (x *ListAPIKeysRequest_Options) String() string { func (*ListAPIKeysRequest_Options) ProtoMessage() {} func (x *ListAPIKeysRequest_Options) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[104] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5091,7 +5176,7 @@ func (x *ListAPIKeysRequest_Options) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAPIKeysRequest_Options.ProtoReflect.Descriptor instead. func (*ListAPIKeysRequest_Options) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{86, 0} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{88, 0} } func (x *ListAPIKeysRequest_Options) GetEnabled() *wrapperspb.BoolValue { @@ -5110,7 +5195,7 @@ type ListDeploymentChainsRequest_Options struct { func (x *ListDeploymentChainsRequest_Options) Reset() { *x = ListDeploymentChainsRequest_Options{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[105] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5123,7 +5208,7 @@ func (x *ListDeploymentChainsRequest_Options) String() string { func (*ListDeploymentChainsRequest_Options) ProtoMessage() {} func (x *ListDeploymentChainsRequest_Options) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[105] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5136,7 +5221,7 @@ func (x *ListDeploymentChainsRequest_Options) ProtoReflect() protoreflect.Messag // Deprecated: Use ListDeploymentChainsRequest_Options.ProtoReflect.Descriptor instead. func (*ListDeploymentChainsRequest_Options) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{92, 0} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{94, 0} } type ListEventsRequest_Options struct { @@ -5152,7 +5237,7 @@ type ListEventsRequest_Options struct { func (x *ListEventsRequest_Options) Reset() { *x = ListEventsRequest_Options{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[106] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5165,7 +5250,7 @@ func (x *ListEventsRequest_Options) String() string { func (*ListEventsRequest_Options) ProtoMessage() {} func (x *ListEventsRequest_Options) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[106] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5178,7 +5263,7 @@ func (x *ListEventsRequest_Options) ProtoReflect() protoreflect.Message { // Deprecated: Use ListEventsRequest_Options.ProtoReflect.Descriptor instead. func (*ListEventsRequest_Options) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{96, 0} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{98, 0} } func (x *ListEventsRequest_Options) GetName() string { @@ -5265,957 +5350,969 @@ var file_pkg_app_server_service_webservice_service_proto_rawDesc = []byte{ 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x69, 0x70, 0x65, 0x64, 0x49, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x6c, 0x64, 0x50, 0x69, 0x70, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x38, 0x0a, 0x12, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, - 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, - 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, - 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x69, 0x70, 0x65, 0x64, 0x49, 0x64, 0x22, 0x15, 0x0a, 0x13, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x39, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, - 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x70, 0x69, - 0x70, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, - 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x69, 0x70, 0x65, 0x64, 0x49, 0x64, 0x22, 0x16, - 0x0a, 0x14, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc3, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x50, - 0x69, 0x70, 0x65, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, - 0x77, 0x69, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x4c, 0x0a, - 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, - 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, - 0x65, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3f, 0x0a, 0x07, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x3a, 0x0a, 0x12, - 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x64, - 0x52, 0x06, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x22, 0x35, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x50, + 0x73, 0x65, 0x22, 0x39, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x50, 0x69, 0x70, + 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x70, 0x69, 0x70, + 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, + 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x69, 0x70, 0x65, 0x64, 0x49, 0x64, 0x22, 0x16, 0x0a, + 0x14, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x0a, 0x12, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x69, 0x70, 0x65, 0x64, 0x49, 0x64, 0x22, - 0x36, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x05, 0x70, 0x69, 0x70, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x64, - 0x52, 0x05, 0x70, 0x69, 0x70, 0x65, 0x64, 0x22, 0x6d, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, - 0x05, 0x72, 0x03, 0x3a, 0x01, 0x76, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x25, 0x0a, 0x09, 0x70, 0x69, 0x70, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x70, 0x69, - 0x70, 0x65, 0x64, 0x49, 0x64, 0x73, 0x22, 0x23, 0x0a, 0x21, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x69, 0x70, 0x65, 0x64, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb5, 0x03, 0x0a, 0x15, - 0x41, 0x64, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, - 0x69, 0x70, 0x65, 0x64, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x08, 0x67, 0x69, 0x74, 0x5f, 0x70, 0x61, - 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x69, 0x74, 0x50, - 0x61, 0x74, 0x68, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x67, - 0x69, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x34, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x42, 0x08, 0xfa, 0x42, - 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x2e, 0x0a, 0x0e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, - 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, - 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, + 0x15, 0x0a, 0x13, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, + 0x08, 0x70, 0x69, 0x70, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x69, 0x70, 0x65, 0x64, 0x49, + 0x64, 0x22, 0x16, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc3, 0x01, 0x0a, 0x11, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1f, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x4c, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x50, 0x69, 0x70, 0x65, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3f, + 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, + 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, + 0x3a, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x69, + 0x70, 0x65, 0x64, 0x52, 0x06, 0x70, 0x69, 0x70, 0x65, 0x64, 0x73, 0x22, 0x35, 0x0a, 0x0f, 0x47, + 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, + 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x69, 0x70, 0x65, 0x64, + 0x49, 0x64, 0x22, 0x36, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x05, 0x70, 0x69, 0x70, 0x65, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x69, + 0x70, 0x65, 0x64, 0x52, 0x05, 0x70, 0x69, 0x70, 0x65, 0x64, 0x22, 0x6d, 0x0a, 0x20, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x3a, 0x01, 0x76, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x09, 0x70, 0x69, 0x70, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, + 0x08, 0x70, 0x69, 0x70, 0x65, 0x64, 0x49, 0x64, 0x73, 0x22, 0x23, 0x0a, 0x21, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb5, + 0x03, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, 0x64, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, + 0x52, 0x07, 0x70, 0x69, 0x70, 0x65, 0x64, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x08, 0x67, 0x69, 0x74, + 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, + 0x69, 0x74, 0x50, 0x61, 0x74, 0x68, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, + 0x52, 0x07, 0x67, 0x69, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x34, 0x0a, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x42, + 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, + 0x2e, 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, + 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, + 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x52, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x41, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 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, + 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0x48, 0x0a, 0x16, 0x41, 0x64, 0x64, 0x41, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, + 0x01, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x22, 0xa0, 0x02, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, + 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, + 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x70, 0x69, + 0x70, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, + 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x69, 0x70, 0x65, 0x64, 0x49, 0x64, 0x12, 0x34, + 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4b, 0x69, 0x6e, 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x2e, 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, + 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x66, + 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x4a, 0x04, 0x08, + 0x03, 0x10, 0x04, 0x22, 0x1b, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x4a, 0x0a, 0x18, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x0e, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x61, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x1b, 0x0a, 0x19, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x0a, 0x19, 0x44, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, + 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, + 0x01, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x22, 0x1b, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd3, 0x03, + 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x07, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xe3, 0x02, + 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, + 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, + 0x2c, 0x0a, 0x05, 0x6b, 0x69, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x16, + 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x05, 0x6b, 0x69, 0x6e, 0x64, 0x73, 0x12, 0x41, 0x0a, + 0x0d, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x0c, 0x73, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5c, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 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, 0x4a, 0x04, 0x08, - 0x02, 0x10, 0x03, 0x22, 0x48, 0x0a, 0x16, 0x41, 0x64, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, - 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, - 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xa0, 0x02, - 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, - 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, 0x64, - 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, - 0x10, 0x01, 0x52, 0x07, 0x70, 0x69, 0x70, 0x65, 0x64, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, - 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x12, 0x2e, 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, - 0x10, 0x01, 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, - 0x22, 0x1b, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x0a, - 0x18, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x1b, 0x0a, 0x19, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x0a, 0x19, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, - 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x4a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, - 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, - 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x1b, 0x0a, - 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd3, 0x03, 0x0a, 0x17, 0x4c, - 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xe3, 0x02, 0x0a, 0x07, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x05, - 0x6b, 0x69, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, - 0x69, 0x6e, 0x64, 0x52, 0x05, 0x6b, 0x69, 0x6e, 0x64, 0x73, 0x12, 0x41, 0x0a, 0x0d, 0x73, 0x79, - 0x6e, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0e, 0x32, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x0c, 0x73, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x5c, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, - 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 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, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, - 0x22, 0x52, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x0c, - 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x16, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x70, 0x70, + 0x04, 0x10, 0x05, 0x22, 0x52, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x36, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x16, 0x53, 0x79, 0x6e, 0x63, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, + 0x02, 0x10, 0x01, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0d, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0c, + 0x73, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x22, 0x38, 0x0a, 0x17, + 0x53, 0x79, 0x6e, 0x63, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, - 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, - 0x38, 0x0a, 0x0d, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x53, - 0x79, 0x6e, 0x63, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0c, 0x73, 0x79, 0x6e, - 0x63, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x22, 0x38, 0x0a, 0x17, 0x53, 0x79, 0x6e, - 0x63, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x0e, - 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x61, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x16, - 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x92, 0x01, 0x0a, - 0x26, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, 0x64, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, - 0x10, 0x01, 0x52, 0x07, 0x70, 0x69, 0x70, 0x65, 0x64, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, - 0x10, 0x01, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x61, 0x73, 0x65, - 0x36, 0x34, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0e, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, - 0x67, 0x22, 0x46, 0x0a, 0x27, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x53, 0x65, - 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, - 0x02, 0x10, 0x01, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x25, 0x0a, 0x23, 0x4c, 0x69, 0x73, - 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x22, 0x62, 0x0a, 0x24, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x65, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, + 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, + 0x4e, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x0b, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xb0, 0x04, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x51, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x13, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x6d, 0x69, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x70, 0x61, 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x1a, 0xde, 0x02, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x33, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x05, 0x6b, 0x69, 0x6e, 0x64, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x05, - 0x6b, 0x69, 0x6e, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, - 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x29, - 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x5b, 0x0a, 0x06, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 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, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x22, 0x66, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x44, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x33, 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, - 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x64, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, - 0x44, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, - 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x4a, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, - 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x22, 0xae, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x6f, - 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, - 0x01, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, - 0x74, 0x72, 0x69, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x21, 0x0a, 0x0c, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x64, - 0x65, 0x78, 0x22, 0x5c, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x6f, - 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x2e, 0x4c, 0x6f, 0x67, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, - 0x22, 0x9a, 0x01, 0x0a, 0x17, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x6f, - 0x72, 0x63, 0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0d, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, - 0x6b, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x5f, 0x72, 0x6f, - 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x66, 0x6f, - 0x72, 0x63, 0x65, 0x4e, 0x6f, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x22, 0x39, 0x0a, - 0x18, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x64, 0x0a, 0x10, 0x53, 0x6b, 0x69, 0x70, + 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x92, 0x01, 0x0a, 0x26, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x70, 0x69, + 0x70, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, + 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x69, 0x70, 0x65, 0x64, 0x49, 0x64, 0x12, 0x1b, + 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, + 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x27, 0x0a, 0x0f, 0x62, + 0x61, 0x73, 0x65, 0x36, 0x34, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x45, 0x6e, 0x63, 0x6f, + 0x64, 0x69, 0x6e, 0x67, 0x22, 0x46, 0x0a, 0x27, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x6c, 0x65, + 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x1b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, + 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x25, 0x0a, 0x23, + 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x22, 0x62, 0x0a, 0x24, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x61, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xb0, 0x04, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x51, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x13, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x70, 0x61, 0x67, 0x65, 0x4d, 0x69, 0x6e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x1a, 0xde, 0x02, 0x0a, 0x07, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x05, 0x6b, 0x69, + 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, + 0x64, 0x52, 0x05, 0x6b, 0x69, 0x6e, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x73, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x5b, 0x0a, 0x06, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 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, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x22, 0x66, 0x0a, 0x17, 0x4c, 0x69, + 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, + 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, + 0x6f, 0x72, 0x22, 0x44, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x4a, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x31, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xae, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x67, + 0x65, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x08, 0x73, 0x74, 0x61, + 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, + 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, + 0x0d, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x64, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x5c, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x67, + 0x65, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x06, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x4c, 0x6f, 0x67, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x06, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x65, 0x64, 0x22, 0x9a, 0x01, 0x0a, 0x17, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x2c, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, + 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, + 0x0e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x52, 0x6f, 0x6c, 0x6c, + 0x62, 0x61, 0x63, 0x6b, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x6f, + 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4e, 0x6f, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, + 0x22, 0x39, 0x0a, 0x18, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x64, 0x0a, 0x10, 0x53, + 0x6b, 0x69, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x2c, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, + 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, + 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, + 0x64, 0x22, 0x32, 0x0a, 0x11, 0x53, 0x6b, 0x69, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x67, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, - 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x22, 0x32, - 0x0a, 0x11, 0x53, 0x6b, 0x69, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x49, 0x64, 0x22, 0x67, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, - 0x10, 0x01, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x22, 0x35, 0x0a, 0x14, 0x41, - 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x49, 0x64, 0x22, 0x50, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, - 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x62, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x76, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x08, - 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3e, 0x0a, - 0x12, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x6b, 0x0a, - 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x23, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x75, 0x73, 0x65, - 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, - 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x22, 0x0a, 0x20, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, - 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, - 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, - 0x53, 0x4f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x33, 0x0a, 0x03, 0x73, 0x73, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x53, 0x4f, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, - 0x03, 0x73, 0x73, 0x6f, 0x22, 0x20, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x53, 0x4f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x58, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x04, 0x72, 0x62, 0x61, 0x63, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x72, 0x62, 0x61, 0x63, - 0x22, 0x21, 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x42, 0x41, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x0a, 0x18, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0x1b, 0x0a, 0x19, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1b, 0x0a, 0x19, + 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x22, 0x35, + 0x0a, 0x14, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x50, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x62, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x41, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x73, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x47, + 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x22, 0x3e, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x22, 0x6b, 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, + 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, + 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, + 0x02, 0x10, 0x01, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x22, 0x0a, + 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x54, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x53, 0x53, 0x4f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x33, 0x0a, 0x03, 0x73, 0x73, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, + 0x53, 0x4f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, + 0x10, 0x01, 0x52, 0x03, 0x73, 0x73, 0x6f, 0x22, 0x20, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x53, 0x4f, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x58, 0x0a, 0x1e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x04, 0x72, + 0x62, 0x61, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x72, + 0x62, 0x61, 0x63, 0x22, 0x21, 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x0a, 0x18, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x22, 0x1b, 0x0a, 0x19, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x1b, 0x0a, 0x19, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, + 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x1c, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, - 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x1c, 0x0a, 0x1a, 0x44, 0x69, 0x73, - 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x0e, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4d, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xa3, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4d, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x75, 0x72, - 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, - 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, - 0x64, 0x12, 0x3a, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x6f, 0x6c, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, - 0x52, 0x6f, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, - 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x22, 0x1d, 0x0a, - 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, - 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x1c, - 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, - 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0a, - 0x72, 0x62, 0x61, 0x63, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x09, 0x72, 0x62, 0x61, 0x63, 0x52, 0x6f, - 0x6c, 0x65, 0x73, 0x22, 0x78, 0x0a, 0x19, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, - 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, - 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x42, 0x41, 0x43, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, - 0x02, 0x08, 0x01, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0x1c, 0x0a, - 0x1a, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, - 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7b, 0x0a, 0x1c, 0x55, + 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x0e, 0x0a, 0x0c, 0x47, 0x65, + 0x74, 0x4d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xa3, 0x01, 0x0a, 0x0d, 0x47, + 0x65, 0x74, 0x4d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, + 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, + 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, + 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x6f, 0x6c, 0x65, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, + 0x22, 0x1d, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, + 0x55, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, + 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x35, 0x0a, 0x0a, 0x72, 0x62, 0x61, 0x63, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x09, 0x72, 0x62, 0x61, + 0x63, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x78, 0x0a, 0x19, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x3e, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42, + 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x22, 0x1c, 0x0a, 0x1a, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, + 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7b, + 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, + 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, + 0x43, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, + 0x01, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0x1f, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, - 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, - 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0x1f, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x0a, 0x1c, 0x44, 0x65, 0x6c, + 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x0a, 0x1c, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, + 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, + 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x1f, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, - 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x1f, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x5a, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x0b, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x22, 0x5f, 0x0a, 0x1a, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x73, 0x6f, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x73, - 0x73, 0x6f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, - 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x1d, 0x0a, 0x1b, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x45, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e, 0x0a, 0x1c, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x5a, 0x0a, 0x1e, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x0b, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x22, 0x5f, 0x0a, 0x1a, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x73, 0x6f, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, - 0x52, 0x08, 0x73, 0x73, 0x6f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x20, 0x0a, 0x1e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x0a, 0x11, - 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x26, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x3e, 0x0a, 0x12, 0x47, 0x65, 0x74, - 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x28, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x22, 0x66, 0x0a, 0x15, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x30, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x2e, 0x52, 0x6f, 0x6c, - 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x72, 0x6f, 0x6c, - 0x65, 0x22, 0x2a, 0x0a, 0x16, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, - 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x2f, 0x0a, - 0x14, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x02, 0x69, 0x64, 0x22, 0x17, - 0x0a, 0x15, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, - 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, - 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, - 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x50, - 0x49, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3f, 0x0a, - 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x38, - 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x50, 0x49, 0x4b, - 0x65, 0x79, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0xea, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, - 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x6b, 0x69, - 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4b, - 0x69, 0x6e, 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x6d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x26, 0x0a, 0x0a, 0x72, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, - 0xfa, 0x42, 0x04, 0x22, 0x02, 0x20, 0x00, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x72, - 0x6f, 0x6d, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x22, 0x02, 0x20, 0x00, 0x52, 0x07, 0x72, - 0x61, 0x6e, 0x67, 0x65, 0x54, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, - 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, - 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0xc7, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, - 0x69, 0x67, 0x68, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, - 0x2c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, - 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x53, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x32, 0x0a, 0x06, 0x6d, - 0x61, 0x74, 0x72, 0x69, 0x78, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x06, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x22, - 0x23, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x41, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x22, 0x7b, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x69, 0x67, - 0x68, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x73, 0x22, 0xe4, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x56, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x52, 0x08, 0x73, 0x73, 0x6f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x6f, + 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, + 0x01, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x1d, 0x0a, 0x1b, 0x41, 0x64, 0x64, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x73, 0x6f, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, + 0x02, 0x10, 0x01, 0x52, 0x08, 0x73, 0x73, 0x6f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x20, 0x0a, + 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, + 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x3b, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, + 0x01, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x3e, 0x0a, 0x12, + 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x22, 0x66, 0x0a, 0x15, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x12, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x2e, + 0x52, 0x6f, 0x6c, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, + 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x2a, 0x0a, 0x16, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x22, 0x2f, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x02, 0x69, + 0x64, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x50, 0x49, 0x4b, + 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x12, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, - 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x2d, - 0x0a, 0x13, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x70, 0x61, 0x67, - 0x65, 0x4d, 0x69, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x1a, 0x09, 0x0a, - 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x7b, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, - 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x10, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x16, 0x0a, - 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, - 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0x54, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x37, 0x0a, 0x13, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x5f, 0x0a, 0x1a, 0x47, - 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x10, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x0f, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x22, 0xa8, 0x03, 0x0a, - 0x11, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, + 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, - 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x13, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x69, - 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x10, 0x70, 0x61, 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x1a, 0xe0, 0x01, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x65, 0x73, 0x12, 0x56, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 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, 0x52, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, - 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x32, 0xe3, 0x31, 0x0a, 0x0a, - 0x57, 0x65, 0x62, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x76, 0x0a, 0x0d, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x69, 0x70, 0x65, 0x64, 0x12, 0x2d, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x69, - 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x69, 0x70, - 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, - 0x10, 0x02, 0x12, 0x70, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, - 0x64, 0x12, 0x2b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, + 0x1a, 0x3f, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, + 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x22, 0x38, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, + 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0xea, 0x01, 0x0a, 0x15, + 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x73, 0x4b, 0x69, 0x6e, 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, + 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x26, 0x0a, + 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x03, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x22, 0x02, 0x20, 0x00, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x22, 0x02, 0x20, 0x00, + 0x52, 0x07, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0xc7, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, + 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x18, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x2c, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, + 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x32, + 0x0a, 0x06, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x53, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x06, 0x6d, 0x61, 0x74, 0x72, + 0x69, 0x78, 0x22, 0x23, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x7b, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x49, 0x6e, + 0x73, 0x69, 0x67, 0x68, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x36, 0x0a, 0x06, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x41, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x73, 0x22, 0xe4, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, + 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, + 0x72, 0x12, 0x2d, 0x0a, 0x13, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, + 0x70, 0x61, 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x1a, 0x09, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x7b, 0x0a, 0x1c, 0x4c, + 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, + 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x11, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x10, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, + 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0x54, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x13, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x11, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x5f, + 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, + 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x10, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x0f, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x22, + 0xa8, 0x03, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x13, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x70, 0x61, 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x1a, 0xe0, 0x01, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x56, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, + 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 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, 0x52, 0x0a, 0x12, 0x4c, 0x69, + 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x24, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x32, 0xd8, + 0x32, 0x0a, 0x0a, 0x57, 0x65, 0x62, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x76, 0x0a, + 0x0d, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x69, 0x70, 0x65, 0x64, 0x12, 0x2d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, - 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, - 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, - 0x1c, 0x02, 0x10, 0x02, 0x12, 0x7f, 0x0a, 0x10, 0x52, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x50, 0x69, 0x70, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x12, 0x30, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x52, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, - 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, - 0x65, 0x64, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, - 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x85, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x4f, 0x6c, 0x64, 0x50, 0x69, 0x70, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x32, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x6c, 0x64, - 0x50, 0x69, 0x70, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x4f, 0x6c, 0x64, 0x50, 0x69, 0x70, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x70, 0x0a, - 0x0b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x12, 0x2b, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, - 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, - 0x73, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x12, - 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, - 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, + 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, - 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, - 0x1c, 0x02, 0x10, 0x02, 0x12, 0x6d, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, - 0x64, 0x73, 0x12, 0x2a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, - 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, - 0x65, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, - 0x02, 0x10, 0x00, 0x12, 0x67, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x12, - 0x28, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, - 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, - 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x9a, 0x01, 0x0a, - 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x44, 0x65, 0x73, 0x69, - 0x72, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, - 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x44, 0x65, 0x73, 0x69, 0x72, - 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x79, 0x0a, 0x0e, 0x41, 0x64, 0x64, - 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x72, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, + 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x70, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x69, 0x70, 0x65, 0x64, 0x12, 0x2b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x7f, 0x0a, 0x10, 0x52, 0x65, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x12, 0x30, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, - 0x1c, 0x02, 0x10, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x69, + 0x70, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, - 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x01, 0x12, 0x85, - 0x01, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, - 0x92, 0xed, 0x1c, 0x02, 0x10, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x50, 0x69, 0x70, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x85, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4f, 0x6c, 0x64, 0x50, 0x69, 0x70, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x4c, - 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x30, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, - 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x7c, 0x0a, 0x0f, - 0x53, 0x79, 0x6e, 0x63, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x2f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, - 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x30, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x47, 0x65, - 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, - 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0xac, 0x01, 0x0a, 0x1f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, - 0x6c, 0x65, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x3f, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x63, - 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x67, 0x72, 0x70, + 0x4f, 0x6c, 0x64, 0x50, 0x69, 0x70, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x6c, 0x64, 0x50, 0x69, 0x70, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, + 0x12, 0x73, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, + 0x12, 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, + 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, + 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x70, 0x0a, 0x0b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, + 0x69, 0x70, 0x65, 0x64, 0x12, 0x2b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x73, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x12, 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x6d, 0x0a, 0x0a, + 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x73, 0x12, 0x2a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x53, 0x65, - 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, - 0x1c, 0x02, 0x10, 0x01, 0x12, 0xa3, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, 0x72, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x67, 0x0a, 0x08, 0x47, + 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x12, 0x28, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, + 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, + 0x1c, 0x02, 0x10, 0x00, 0x12, 0x9a, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x69, 0x70, 0x65, 0x64, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x39, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x69, + 0x70, 0x65, 0x64, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, + 0x02, 0x12, 0x79, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, + 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, + 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x01, 0x12, 0x82, 0x01, 0x0a, + 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, - 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x7c, 0x0a, 0x0f, 0x4c, 0x69, - 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2f, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, + 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, + 0x92, 0xed, 0x1c, 0x02, 0x10, 0x01, 0x12, 0x85, 0x01, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, - 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x76, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x44, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x01, 0x12, 0x82, + 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, + 0x02, 0x10, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, + 0x1c, 0x02, 0x10, 0x00, 0x12, 0x7c, 0x0a, 0x0f, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, - 0x12, 0x70, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x12, - 0x2b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, - 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, - 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4c, - 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, - 0x10, 0x00, 0x12, 0x7f, 0x0a, 0x10, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, + 0x63, 0x65, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, + 0x10, 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, + 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, + 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0xac, 0x01, + 0x0a, 0x1f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x12, 0x3f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x65, 0x61, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x01, 0x12, 0xa3, 0x01, 0x0a, + 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, + 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, 0x72, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, + 0x10, 0x00, 0x12, 0x7c, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, + 0x12, 0x76, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x70, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x53, + 0x74, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x12, 0x2b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, + 0x65, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x7f, 0x0a, 0x10, 0x43, 0x61, + 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x30, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, + 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x01, 0x12, 0x6a, 0x0a, 0x09, 0x53, + 0x6b, 0x69, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12, 0x29, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, - 0x02, 0x10, 0x01, 0x12, 0x6a, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, - 0x12, 0x29, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x6b, 0x69, 0x70, 0x53, - 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x6b, 0x69, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x01, 0x12, - 0x73, 0x0a, 0x0c, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12, - 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, - 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, - 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, + 0x63, 0x65, 0x2e, 0x53, 0x6b, 0x69, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x6b, + 0x69, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x01, 0x12, 0x73, 0x0a, 0x0c, 0x41, 0x70, 0x70, 0x72, 0x6f, + 0x76, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12, 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x01, 0x12, 0x94, 0x01, 0x0a, + 0x17, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, + 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, + 0x02, 0x10, 0x00, 0x12, 0x6d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x2a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x53, - 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, - 0x1c, 0x02, 0x10, 0x01, 0x12, 0x94, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x6d, 0x0a, 0x0a, 0x47, - 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2a, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, + 0x10, 0x00, 0x12, 0x97, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, + 0x38, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, + 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, + 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, + 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x82, 0x01, 0x0a, + 0x11, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, + 0x69, 0x6e, 0x12, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x97, 0x01, 0x0a, 0x18, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x38, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, - 0x1c, 0x02, 0x10, 0x02, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x31, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, - 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x85, 0x01, 0x0a, 0x12, 0x44, 0x69, - 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, - 0x12, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, - 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, - 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, - 0x02, 0x12, 0x91, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x53, 0x53, 0x4f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x2e, 0x67, + 0x02, 0x12, 0x85, 0x01, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, + 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x53, 0x53, 0x4f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x91, 0x01, 0x0a, 0x16, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x53, 0x4f, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x53, 0x4f, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, - 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x94, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x5e, 0x0a, 0x05, - 0x47, 0x65, 0x74, 0x4d, 0x65, 0x12, 0x25, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x47, 0x65, 0x74, 0x4d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x85, 0x01, 0x0a, - 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, - 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x34, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, - 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x32, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, - 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x12, - 0x35, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, - 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x53, 0x53, 0x4f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x94, 0x01, + 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x42, 0x41, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x42, 0x41, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, + 0x1c, 0x02, 0x10, 0x02, 0x12, 0x5e, 0x0a, 0x05, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x12, 0x25, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, + 0x65, 0x74, 0x4d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, + 0x1c, 0x02, 0x10, 0x00, 0x12, 0x85, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x34, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x12, + 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, + 0x6c, 0x65, 0x12, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, - 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x88, 0x01, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x89, 0x01, 0x0a, 0x15, - 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x35, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, + 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, + 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, + 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, + 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, 0x15, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, + 0x6c, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x89, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x35, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x22, 0x00, 0x12, + 0x82, 0x01, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, + 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x50, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x8b, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, - 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, - 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, - 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8b, 0x01, 0x0a, - 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x36, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, + 0x36, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x0a, 0x47, 0x65, - 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x2a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, - 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x79, 0x0a, 0x0e, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x12, 0x2e, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x50, - 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x50, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, + 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x12, 0x2a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, + 0x00, 0x12, 0x79, 0x0a, 0x0e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, + 0x4b, 0x65, 0x79, 0x12, 0x2e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x76, 0x0a, 0x0d, + 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x12, 0x2d, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, + 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, - 0x1c, 0x02, 0x10, 0x02, 0x12, 0x76, 0x0a, 0x0d, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, - 0x50, 0x49, 0x4b, 0x65, 0x79, 0x12, 0x2d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, - 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x70, 0x0a, 0x0b, - 0x4c, 0x69, 0x73, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x2b, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x1c, 0x02, 0x10, 0x02, 0x12, 0x70, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x50, 0x49, 0x4b, + 0x65, 0x79, 0x73, 0x12, 0x2b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, + 0x50, 0x49, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, + 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x79, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, + 0x69, 0x67, 0x68, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x79, - 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x2e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, - 0x73, 0x69, 0x67, 0x68, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, - 0x73, 0x69, 0x67, 0x68, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x9d, 0x01, 0x0a, 0x1a, 0x47, 0x65, - 0x74, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x41, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, - 0x65, 0x74, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x85, 0x01, 0x0a, 0x14, 0x4c, 0x69, - 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, - 0x6e, 0x73, 0x12, 0x34, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, + 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, + 0x00, 0x12, 0x9d, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x3a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, + 0x73, 0x69, 0x67, 0x68, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, + 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, + 0x00, 0x12, 0x85, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x34, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x35, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x12, 0x47, 0x65, 0x74, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, + 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, + 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x0a, 0x4c, 0x69, + 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x7f, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, - 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x12, 0x2a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, - 0x00, 0x42, 0x3d, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x70, 0x69, 0x70, 0x65, 0x2d, 0x63, 0x64, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x63, 0x64, 0x2f, 0x70, - 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x42, 0x3d, 0x5a, 0x3b, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x2d, 0x63, 0x64, 0x2f, + 0x70, 0x69, 0x70, 0x65, 0x63, 0x64, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x77, 0x65, + 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -6230,7 +6327,7 @@ func file_pkg_app_server_service_webservice_service_proto_rawDescGZIP() []byte { return file_pkg_app_server_service_webservice_service_proto_rawDescData } -var file_pkg_app_server_service_webservice_service_proto_msgTypes = make([]protoimpl.MessageInfo, 108) +var file_pkg_app_server_service_webservice_service_proto_msgTypes = make([]protoimpl.MessageInfo, 110) var file_pkg_app_server_service_webservice_service_proto_goTypes = []interface{}{ (*RegisterPipedRequest)(nil), // 0: grpc.service.webservice.RegisterPipedRequest (*RegisterPipedResponse)(nil), // 1: grpc.service.webservice.RegisterPipedResponse @@ -6240,288 +6337,292 @@ var file_pkg_app_server_service_webservice_service_proto_goTypes = []interface{} (*RecreatePipedKeyResponse)(nil), // 5: grpc.service.webservice.RecreatePipedKeyResponse (*DeleteOldPipedKeysRequest)(nil), // 6: grpc.service.webservice.DeleteOldPipedKeysRequest (*DeleteOldPipedKeysResponse)(nil), // 7: grpc.service.webservice.DeleteOldPipedKeysResponse - (*EnablePipedRequest)(nil), // 8: grpc.service.webservice.EnablePipedRequest - (*EnablePipedResponse)(nil), // 9: grpc.service.webservice.EnablePipedResponse - (*DisablePipedRequest)(nil), // 10: grpc.service.webservice.DisablePipedRequest - (*DisablePipedResponse)(nil), // 11: grpc.service.webservice.DisablePipedResponse - (*ListPipedsRequest)(nil), // 12: grpc.service.webservice.ListPipedsRequest - (*ListPipedsResponse)(nil), // 13: grpc.service.webservice.ListPipedsResponse - (*GetPipedRequest)(nil), // 14: grpc.service.webservice.GetPipedRequest - (*GetPipedResponse)(nil), // 15: grpc.service.webservice.GetPipedResponse - (*UpdatePipedDesiredVersionRequest)(nil), // 16: grpc.service.webservice.UpdatePipedDesiredVersionRequest - (*UpdatePipedDesiredVersionResponse)(nil), // 17: grpc.service.webservice.UpdatePipedDesiredVersionResponse - (*AddApplicationRequest)(nil), // 18: grpc.service.webservice.AddApplicationRequest - (*AddApplicationResponse)(nil), // 19: grpc.service.webservice.AddApplicationResponse - (*UpdateApplicationRequest)(nil), // 20: grpc.service.webservice.UpdateApplicationRequest - (*UpdateApplicationResponse)(nil), // 21: grpc.service.webservice.UpdateApplicationResponse - (*EnableApplicationRequest)(nil), // 22: grpc.service.webservice.EnableApplicationRequest - (*EnableApplicationResponse)(nil), // 23: grpc.service.webservice.EnableApplicationResponse - (*DisableApplicationRequest)(nil), // 24: grpc.service.webservice.DisableApplicationRequest - (*DisableApplicationResponse)(nil), // 25: grpc.service.webservice.DisableApplicationResponse - (*DeleteApplicationRequest)(nil), // 26: grpc.service.webservice.DeleteApplicationRequest - (*DeleteApplicationResponse)(nil), // 27: grpc.service.webservice.DeleteApplicationResponse - (*ListApplicationsRequest)(nil), // 28: grpc.service.webservice.ListApplicationsRequest - (*ListApplicationsResponse)(nil), // 29: grpc.service.webservice.ListApplicationsResponse - (*SyncApplicationRequest)(nil), // 30: grpc.service.webservice.SyncApplicationRequest - (*SyncApplicationResponse)(nil), // 31: grpc.service.webservice.SyncApplicationResponse - (*GetApplicationRequest)(nil), // 32: grpc.service.webservice.GetApplicationRequest - (*GetApplicationResponse)(nil), // 33: grpc.service.webservice.GetApplicationResponse - (*GenerateApplicationSealedSecretRequest)(nil), // 34: grpc.service.webservice.GenerateApplicationSealedSecretRequest - (*GenerateApplicationSealedSecretResponse)(nil), // 35: grpc.service.webservice.GenerateApplicationSealedSecretResponse - (*ListUnregisteredApplicationsRequest)(nil), // 36: grpc.service.webservice.ListUnregisteredApplicationsRequest - (*ListUnregisteredApplicationsResponse)(nil), // 37: grpc.service.webservice.ListUnregisteredApplicationsResponse - (*ListDeploymentsRequest)(nil), // 38: grpc.service.webservice.ListDeploymentsRequest - (*ListDeploymentsResponse)(nil), // 39: grpc.service.webservice.ListDeploymentsResponse - (*GetDeploymentRequest)(nil), // 40: grpc.service.webservice.GetDeploymentRequest - (*GetDeploymentResponse)(nil), // 41: grpc.service.webservice.GetDeploymentResponse - (*GetStageLogRequest)(nil), // 42: grpc.service.webservice.GetStageLogRequest - (*GetStageLogResponse)(nil), // 43: grpc.service.webservice.GetStageLogResponse - (*CancelDeploymentRequest)(nil), // 44: grpc.service.webservice.CancelDeploymentRequest - (*CancelDeploymentResponse)(nil), // 45: grpc.service.webservice.CancelDeploymentResponse - (*SkipStageRequest)(nil), // 46: grpc.service.webservice.SkipStageRequest - (*SkipStageResponse)(nil), // 47: grpc.service.webservice.SkipStageResponse - (*ApproveStageRequest)(nil), // 48: grpc.service.webservice.ApproveStageRequest - (*ApproveStageResponse)(nil), // 49: grpc.service.webservice.ApproveStageResponse - (*GetApplicationLiveStateRequest)(nil), // 50: grpc.service.webservice.GetApplicationLiveStateRequest - (*GetApplicationLiveStateResponse)(nil), // 51: grpc.service.webservice.GetApplicationLiveStateResponse - (*GetProjectRequest)(nil), // 52: grpc.service.webservice.GetProjectRequest - (*GetProjectResponse)(nil), // 53: grpc.service.webservice.GetProjectResponse - (*UpdateProjectStaticAdminRequest)(nil), // 54: grpc.service.webservice.UpdateProjectStaticAdminRequest - (*UpdateProjectStaticAdminResponse)(nil), // 55: grpc.service.webservice.UpdateProjectStaticAdminResponse - (*UpdateProjectSSOConfigRequest)(nil), // 56: grpc.service.webservice.UpdateProjectSSOConfigRequest - (*UpdateProjectSSOConfigResponse)(nil), // 57: grpc.service.webservice.UpdateProjectSSOConfigResponse - (*UpdateProjectRBACConfigRequest)(nil), // 58: grpc.service.webservice.UpdateProjectRBACConfigRequest - (*UpdateProjectRBACConfigResponse)(nil), // 59: grpc.service.webservice.UpdateProjectRBACConfigResponse - (*EnableStaticAdminRequest)(nil), // 60: grpc.service.webservice.EnableStaticAdminRequest - (*EnableStaticAdminResponse)(nil), // 61: grpc.service.webservice.EnableStaticAdminResponse - (*DisableStaticAdminRequest)(nil), // 62: grpc.service.webservice.DisableStaticAdminRequest - (*DisableStaticAdminResponse)(nil), // 63: grpc.service.webservice.DisableStaticAdminResponse - (*GetMeRequest)(nil), // 64: grpc.service.webservice.GetMeRequest - (*GetMeResponse)(nil), // 65: grpc.service.webservice.GetMeResponse - (*ListProjectRBACRolesRequest)(nil), // 66: grpc.service.webservice.ListProjectRBACRolesRequest - (*ListProjectRBACRolesResponse)(nil), // 67: grpc.service.webservice.ListProjectRBACRolesResponse - (*AddProjectRBACRoleRequest)(nil), // 68: grpc.service.webservice.AddProjectRBACRoleRequest - (*AddProjectRBACRoleResponse)(nil), // 69: grpc.service.webservice.AddProjectRBACRoleResponse - (*UpdateProjectRBACRoleRequest)(nil), // 70: grpc.service.webservice.UpdateProjectRBACRoleRequest - (*UpdateProjectRBACRoleResponse)(nil), // 71: grpc.service.webservice.UpdateProjectRBACRoleResponse - (*DeleteProjectRBACRoleRequest)(nil), // 72: grpc.service.webservice.DeleteProjectRBACRoleRequest - (*DeleteProjectRBACRoleResponse)(nil), // 73: grpc.service.webservice.DeleteProjectRBACRoleResponse - (*ListProjectUserGroupsRequest)(nil), // 74: grpc.service.webservice.ListProjectUserGroupsRequest - (*ListProjectUserGroupsResponses)(nil), // 75: grpc.service.webservice.ListProjectUserGroupsResponses - (*AddProjectUserGroupRequest)(nil), // 76: grpc.service.webservice.AddProjectUserGroupRequest - (*AddProjectUserGroupResponse)(nil), // 77: grpc.service.webservice.AddProjectUserGroupResponse - (*DeleteProjectUserGroupRequest)(nil), // 78: grpc.service.webservice.DeleteProjectUserGroupRequest - (*DeleteProjectUserGroupResponse)(nil), // 79: grpc.service.webservice.DeleteProjectUserGroupResponse - (*GetCommandRequest)(nil), // 80: grpc.service.webservice.GetCommandRequest - (*GetCommandResponse)(nil), // 81: grpc.service.webservice.GetCommandResponse - (*GenerateAPIKeyRequest)(nil), // 82: grpc.service.webservice.GenerateAPIKeyRequest - (*GenerateAPIKeyResponse)(nil), // 83: grpc.service.webservice.GenerateAPIKeyResponse - (*DisableAPIKeyRequest)(nil), // 84: grpc.service.webservice.DisableAPIKeyRequest - (*DisableAPIKeyResponse)(nil), // 85: grpc.service.webservice.DisableAPIKeyResponse - (*ListAPIKeysRequest)(nil), // 86: grpc.service.webservice.ListAPIKeysRequest - (*ListAPIKeysResponse)(nil), // 87: grpc.service.webservice.ListAPIKeysResponse - (*GetInsightDataRequest)(nil), // 88: grpc.service.webservice.GetInsightDataRequest - (*GetInsightDataResponse)(nil), // 89: grpc.service.webservice.GetInsightDataResponse - (*GetInsightApplicationCountRequest)(nil), // 90: grpc.service.webservice.GetInsightApplicationCountRequest - (*GetInsightApplicationCountResponse)(nil), // 91: grpc.service.webservice.GetInsightApplicationCountResponse - (*ListDeploymentChainsRequest)(nil), // 92: grpc.service.webservice.ListDeploymentChainsRequest - (*ListDeploymentChainsResponse)(nil), // 93: grpc.service.webservice.ListDeploymentChainsResponse - (*GetDeploymentChainRequest)(nil), // 94: grpc.service.webservice.GetDeploymentChainRequest - (*GetDeploymentChainResponse)(nil), // 95: grpc.service.webservice.GetDeploymentChainResponse - (*ListEventsRequest)(nil), // 96: grpc.service.webservice.ListEventsRequest - (*ListEventsResponse)(nil), // 97: grpc.service.webservice.ListEventsResponse - (*ListPipedsRequest_Options)(nil), // 98: grpc.service.webservice.ListPipedsRequest.Options - nil, // 99: grpc.service.webservice.AddApplicationRequest.LabelsEntry - (*ListApplicationsRequest_Options)(nil), // 100: grpc.service.webservice.ListApplicationsRequest.Options - nil, // 101: grpc.service.webservice.ListApplicationsRequest.Options.LabelsEntry - (*ListDeploymentsRequest_Options)(nil), // 102: grpc.service.webservice.ListDeploymentsRequest.Options - nil, // 103: grpc.service.webservice.ListDeploymentsRequest.Options.LabelsEntry - (*ListAPIKeysRequest_Options)(nil), // 104: grpc.service.webservice.ListAPIKeysRequest.Options - (*ListDeploymentChainsRequest_Options)(nil), // 105: grpc.service.webservice.ListDeploymentChainsRequest.Options - (*ListEventsRequest_Options)(nil), // 106: grpc.service.webservice.ListEventsRequest.Options - nil, // 107: grpc.service.webservice.ListEventsRequest.Options.LabelsEntry - (*model.Piped)(nil), // 108: model.Piped - (*model.ApplicationGitPath)(nil), // 109: model.ApplicationGitPath - (model.ApplicationKind)(0), // 110: model.ApplicationKind - (*model.Application)(nil), // 111: model.Application - (model.SyncStrategy)(0), // 112: model.SyncStrategy - (*model.ApplicationInfo)(nil), // 113: model.ApplicationInfo - (*model.Deployment)(nil), // 114: model.Deployment - (*model.LogBlock)(nil), // 115: model.LogBlock - (*model.ApplicationLiveStateSnapshot)(nil), // 116: model.ApplicationLiveStateSnapshot - (*model.Project)(nil), // 117: model.Project - (*model.ProjectSSOConfig)(nil), // 118: model.ProjectSSOConfig - (*model.ProjectRBACConfig)(nil), // 119: model.ProjectRBACConfig - (model.Role_ProjectRole)(0), // 120: model.Role.ProjectRole - (*model.ProjectRBACRole)(nil), // 121: model.ProjectRBACRole - (*model.ProjectRBACPolicy)(nil), // 122: model.ProjectRBACPolicy - (*model.ProjectUserGroup)(nil), // 123: model.ProjectUserGroup - (*model.Command)(nil), // 124: model.Command - (model.APIKey_Role)(0), // 125: model.APIKey.Role - (*model.APIKey)(nil), // 126: model.APIKey - (model.InsightMetricsKind)(0), // 127: model.InsightMetricsKind - (model.InsightResultType)(0), // 128: model.InsightResultType - (*model.InsightSample)(nil), // 129: model.InsightSample - (*model.InsightSampleStream)(nil), // 130: model.InsightSampleStream - (*model.InsightApplicationCount)(nil), // 131: model.InsightApplicationCount - (*model.DeploymentChain)(nil), // 132: model.DeploymentChain - (*model.Event)(nil), // 133: model.Event - (*wrapperspb.BoolValue)(nil), // 134: google.protobuf.BoolValue - (model.ApplicationSyncStatus)(0), // 135: model.ApplicationSyncStatus - (model.DeploymentStatus)(0), // 136: model.DeploymentStatus - (model.EventStatus)(0), // 137: model.EventStatus + (*RestartPipedRequest)(nil), // 8: grpc.service.webservice.RestartPipedRequest + (*RestartPipedResponse)(nil), // 9: grpc.service.webservice.RestartPipedResponse + (*EnablePipedRequest)(nil), // 10: grpc.service.webservice.EnablePipedRequest + (*EnablePipedResponse)(nil), // 11: grpc.service.webservice.EnablePipedResponse + (*DisablePipedRequest)(nil), // 12: grpc.service.webservice.DisablePipedRequest + (*DisablePipedResponse)(nil), // 13: grpc.service.webservice.DisablePipedResponse + (*ListPipedsRequest)(nil), // 14: grpc.service.webservice.ListPipedsRequest + (*ListPipedsResponse)(nil), // 15: grpc.service.webservice.ListPipedsResponse + (*GetPipedRequest)(nil), // 16: grpc.service.webservice.GetPipedRequest + (*GetPipedResponse)(nil), // 17: grpc.service.webservice.GetPipedResponse + (*UpdatePipedDesiredVersionRequest)(nil), // 18: grpc.service.webservice.UpdatePipedDesiredVersionRequest + (*UpdatePipedDesiredVersionResponse)(nil), // 19: grpc.service.webservice.UpdatePipedDesiredVersionResponse + (*AddApplicationRequest)(nil), // 20: grpc.service.webservice.AddApplicationRequest + (*AddApplicationResponse)(nil), // 21: grpc.service.webservice.AddApplicationResponse + (*UpdateApplicationRequest)(nil), // 22: grpc.service.webservice.UpdateApplicationRequest + (*UpdateApplicationResponse)(nil), // 23: grpc.service.webservice.UpdateApplicationResponse + (*EnableApplicationRequest)(nil), // 24: grpc.service.webservice.EnableApplicationRequest + (*EnableApplicationResponse)(nil), // 25: grpc.service.webservice.EnableApplicationResponse + (*DisableApplicationRequest)(nil), // 26: grpc.service.webservice.DisableApplicationRequest + (*DisableApplicationResponse)(nil), // 27: grpc.service.webservice.DisableApplicationResponse + (*DeleteApplicationRequest)(nil), // 28: grpc.service.webservice.DeleteApplicationRequest + (*DeleteApplicationResponse)(nil), // 29: grpc.service.webservice.DeleteApplicationResponse + (*ListApplicationsRequest)(nil), // 30: grpc.service.webservice.ListApplicationsRequest + (*ListApplicationsResponse)(nil), // 31: grpc.service.webservice.ListApplicationsResponse + (*SyncApplicationRequest)(nil), // 32: grpc.service.webservice.SyncApplicationRequest + (*SyncApplicationResponse)(nil), // 33: grpc.service.webservice.SyncApplicationResponse + (*GetApplicationRequest)(nil), // 34: grpc.service.webservice.GetApplicationRequest + (*GetApplicationResponse)(nil), // 35: grpc.service.webservice.GetApplicationResponse + (*GenerateApplicationSealedSecretRequest)(nil), // 36: grpc.service.webservice.GenerateApplicationSealedSecretRequest + (*GenerateApplicationSealedSecretResponse)(nil), // 37: grpc.service.webservice.GenerateApplicationSealedSecretResponse + (*ListUnregisteredApplicationsRequest)(nil), // 38: grpc.service.webservice.ListUnregisteredApplicationsRequest + (*ListUnregisteredApplicationsResponse)(nil), // 39: grpc.service.webservice.ListUnregisteredApplicationsResponse + (*ListDeploymentsRequest)(nil), // 40: grpc.service.webservice.ListDeploymentsRequest + (*ListDeploymentsResponse)(nil), // 41: grpc.service.webservice.ListDeploymentsResponse + (*GetDeploymentRequest)(nil), // 42: grpc.service.webservice.GetDeploymentRequest + (*GetDeploymentResponse)(nil), // 43: grpc.service.webservice.GetDeploymentResponse + (*GetStageLogRequest)(nil), // 44: grpc.service.webservice.GetStageLogRequest + (*GetStageLogResponse)(nil), // 45: grpc.service.webservice.GetStageLogResponse + (*CancelDeploymentRequest)(nil), // 46: grpc.service.webservice.CancelDeploymentRequest + (*CancelDeploymentResponse)(nil), // 47: grpc.service.webservice.CancelDeploymentResponse + (*SkipStageRequest)(nil), // 48: grpc.service.webservice.SkipStageRequest + (*SkipStageResponse)(nil), // 49: grpc.service.webservice.SkipStageResponse + (*ApproveStageRequest)(nil), // 50: grpc.service.webservice.ApproveStageRequest + (*ApproveStageResponse)(nil), // 51: grpc.service.webservice.ApproveStageResponse + (*GetApplicationLiveStateRequest)(nil), // 52: grpc.service.webservice.GetApplicationLiveStateRequest + (*GetApplicationLiveStateResponse)(nil), // 53: grpc.service.webservice.GetApplicationLiveStateResponse + (*GetProjectRequest)(nil), // 54: grpc.service.webservice.GetProjectRequest + (*GetProjectResponse)(nil), // 55: grpc.service.webservice.GetProjectResponse + (*UpdateProjectStaticAdminRequest)(nil), // 56: grpc.service.webservice.UpdateProjectStaticAdminRequest + (*UpdateProjectStaticAdminResponse)(nil), // 57: grpc.service.webservice.UpdateProjectStaticAdminResponse + (*UpdateProjectSSOConfigRequest)(nil), // 58: grpc.service.webservice.UpdateProjectSSOConfigRequest + (*UpdateProjectSSOConfigResponse)(nil), // 59: grpc.service.webservice.UpdateProjectSSOConfigResponse + (*UpdateProjectRBACConfigRequest)(nil), // 60: grpc.service.webservice.UpdateProjectRBACConfigRequest + (*UpdateProjectRBACConfigResponse)(nil), // 61: grpc.service.webservice.UpdateProjectRBACConfigResponse + (*EnableStaticAdminRequest)(nil), // 62: grpc.service.webservice.EnableStaticAdminRequest + (*EnableStaticAdminResponse)(nil), // 63: grpc.service.webservice.EnableStaticAdminResponse + (*DisableStaticAdminRequest)(nil), // 64: grpc.service.webservice.DisableStaticAdminRequest + (*DisableStaticAdminResponse)(nil), // 65: grpc.service.webservice.DisableStaticAdminResponse + (*GetMeRequest)(nil), // 66: grpc.service.webservice.GetMeRequest + (*GetMeResponse)(nil), // 67: grpc.service.webservice.GetMeResponse + (*ListProjectRBACRolesRequest)(nil), // 68: grpc.service.webservice.ListProjectRBACRolesRequest + (*ListProjectRBACRolesResponse)(nil), // 69: grpc.service.webservice.ListProjectRBACRolesResponse + (*AddProjectRBACRoleRequest)(nil), // 70: grpc.service.webservice.AddProjectRBACRoleRequest + (*AddProjectRBACRoleResponse)(nil), // 71: grpc.service.webservice.AddProjectRBACRoleResponse + (*UpdateProjectRBACRoleRequest)(nil), // 72: grpc.service.webservice.UpdateProjectRBACRoleRequest + (*UpdateProjectRBACRoleResponse)(nil), // 73: grpc.service.webservice.UpdateProjectRBACRoleResponse + (*DeleteProjectRBACRoleRequest)(nil), // 74: grpc.service.webservice.DeleteProjectRBACRoleRequest + (*DeleteProjectRBACRoleResponse)(nil), // 75: grpc.service.webservice.DeleteProjectRBACRoleResponse + (*ListProjectUserGroupsRequest)(nil), // 76: grpc.service.webservice.ListProjectUserGroupsRequest + (*ListProjectUserGroupsResponses)(nil), // 77: grpc.service.webservice.ListProjectUserGroupsResponses + (*AddProjectUserGroupRequest)(nil), // 78: grpc.service.webservice.AddProjectUserGroupRequest + (*AddProjectUserGroupResponse)(nil), // 79: grpc.service.webservice.AddProjectUserGroupResponse + (*DeleteProjectUserGroupRequest)(nil), // 80: grpc.service.webservice.DeleteProjectUserGroupRequest + (*DeleteProjectUserGroupResponse)(nil), // 81: grpc.service.webservice.DeleteProjectUserGroupResponse + (*GetCommandRequest)(nil), // 82: grpc.service.webservice.GetCommandRequest + (*GetCommandResponse)(nil), // 83: grpc.service.webservice.GetCommandResponse + (*GenerateAPIKeyRequest)(nil), // 84: grpc.service.webservice.GenerateAPIKeyRequest + (*GenerateAPIKeyResponse)(nil), // 85: grpc.service.webservice.GenerateAPIKeyResponse + (*DisableAPIKeyRequest)(nil), // 86: grpc.service.webservice.DisableAPIKeyRequest + (*DisableAPIKeyResponse)(nil), // 87: grpc.service.webservice.DisableAPIKeyResponse + (*ListAPIKeysRequest)(nil), // 88: grpc.service.webservice.ListAPIKeysRequest + (*ListAPIKeysResponse)(nil), // 89: grpc.service.webservice.ListAPIKeysResponse + (*GetInsightDataRequest)(nil), // 90: grpc.service.webservice.GetInsightDataRequest + (*GetInsightDataResponse)(nil), // 91: grpc.service.webservice.GetInsightDataResponse + (*GetInsightApplicationCountRequest)(nil), // 92: grpc.service.webservice.GetInsightApplicationCountRequest + (*GetInsightApplicationCountResponse)(nil), // 93: grpc.service.webservice.GetInsightApplicationCountResponse + (*ListDeploymentChainsRequest)(nil), // 94: grpc.service.webservice.ListDeploymentChainsRequest + (*ListDeploymentChainsResponse)(nil), // 95: grpc.service.webservice.ListDeploymentChainsResponse + (*GetDeploymentChainRequest)(nil), // 96: grpc.service.webservice.GetDeploymentChainRequest + (*GetDeploymentChainResponse)(nil), // 97: grpc.service.webservice.GetDeploymentChainResponse + (*ListEventsRequest)(nil), // 98: grpc.service.webservice.ListEventsRequest + (*ListEventsResponse)(nil), // 99: grpc.service.webservice.ListEventsResponse + (*ListPipedsRequest_Options)(nil), // 100: grpc.service.webservice.ListPipedsRequest.Options + nil, // 101: grpc.service.webservice.AddApplicationRequest.LabelsEntry + (*ListApplicationsRequest_Options)(nil), // 102: grpc.service.webservice.ListApplicationsRequest.Options + nil, // 103: grpc.service.webservice.ListApplicationsRequest.Options.LabelsEntry + (*ListDeploymentsRequest_Options)(nil), // 104: grpc.service.webservice.ListDeploymentsRequest.Options + nil, // 105: grpc.service.webservice.ListDeploymentsRequest.Options.LabelsEntry + (*ListAPIKeysRequest_Options)(nil), // 106: grpc.service.webservice.ListAPIKeysRequest.Options + (*ListDeploymentChainsRequest_Options)(nil), // 107: grpc.service.webservice.ListDeploymentChainsRequest.Options + (*ListEventsRequest_Options)(nil), // 108: grpc.service.webservice.ListEventsRequest.Options + nil, // 109: grpc.service.webservice.ListEventsRequest.Options.LabelsEntry + (*model.Piped)(nil), // 110: model.Piped + (*model.ApplicationGitPath)(nil), // 111: model.ApplicationGitPath + (model.ApplicationKind)(0), // 112: model.ApplicationKind + (*model.Application)(nil), // 113: model.Application + (model.SyncStrategy)(0), // 114: model.SyncStrategy + (*model.ApplicationInfo)(nil), // 115: model.ApplicationInfo + (*model.Deployment)(nil), // 116: model.Deployment + (*model.LogBlock)(nil), // 117: model.LogBlock + (*model.ApplicationLiveStateSnapshot)(nil), // 118: model.ApplicationLiveStateSnapshot + (*model.Project)(nil), // 119: model.Project + (*model.ProjectSSOConfig)(nil), // 120: model.ProjectSSOConfig + (*model.ProjectRBACConfig)(nil), // 121: model.ProjectRBACConfig + (model.Role_ProjectRole)(0), // 122: model.Role.ProjectRole + (*model.ProjectRBACRole)(nil), // 123: model.ProjectRBACRole + (*model.ProjectRBACPolicy)(nil), // 124: model.ProjectRBACPolicy + (*model.ProjectUserGroup)(nil), // 125: model.ProjectUserGroup + (*model.Command)(nil), // 126: model.Command + (model.APIKey_Role)(0), // 127: model.APIKey.Role + (*model.APIKey)(nil), // 128: model.APIKey + (model.InsightMetricsKind)(0), // 129: model.InsightMetricsKind + (model.InsightResultType)(0), // 130: model.InsightResultType + (*model.InsightSample)(nil), // 131: model.InsightSample + (*model.InsightSampleStream)(nil), // 132: model.InsightSampleStream + (*model.InsightApplicationCount)(nil), // 133: model.InsightApplicationCount + (*model.DeploymentChain)(nil), // 134: model.DeploymentChain + (*model.Event)(nil), // 135: model.Event + (*wrapperspb.BoolValue)(nil), // 136: google.protobuf.BoolValue + (model.ApplicationSyncStatus)(0), // 137: model.ApplicationSyncStatus + (model.DeploymentStatus)(0), // 138: model.DeploymentStatus + (model.EventStatus)(0), // 139: model.EventStatus } var file_pkg_app_server_service_webservice_service_proto_depIdxs = []int32{ - 98, // 0: grpc.service.webservice.ListPipedsRequest.options:type_name -> grpc.service.webservice.ListPipedsRequest.Options - 108, // 1: grpc.service.webservice.ListPipedsResponse.pipeds:type_name -> model.Piped - 108, // 2: grpc.service.webservice.GetPipedResponse.piped:type_name -> model.Piped - 109, // 3: grpc.service.webservice.AddApplicationRequest.git_path:type_name -> model.ApplicationGitPath - 110, // 4: grpc.service.webservice.AddApplicationRequest.kind:type_name -> model.ApplicationKind - 99, // 5: grpc.service.webservice.AddApplicationRequest.labels:type_name -> grpc.service.webservice.AddApplicationRequest.LabelsEntry - 110, // 6: grpc.service.webservice.UpdateApplicationRequest.kind:type_name -> model.ApplicationKind - 100, // 7: grpc.service.webservice.ListApplicationsRequest.options:type_name -> grpc.service.webservice.ListApplicationsRequest.Options - 111, // 8: grpc.service.webservice.ListApplicationsResponse.applications:type_name -> model.Application - 112, // 9: grpc.service.webservice.SyncApplicationRequest.sync_strategy:type_name -> model.SyncStrategy - 111, // 10: grpc.service.webservice.GetApplicationResponse.application:type_name -> model.Application - 113, // 11: grpc.service.webservice.ListUnregisteredApplicationsResponse.applications:type_name -> model.ApplicationInfo - 102, // 12: grpc.service.webservice.ListDeploymentsRequest.options:type_name -> grpc.service.webservice.ListDeploymentsRequest.Options - 114, // 13: grpc.service.webservice.ListDeploymentsResponse.deployments:type_name -> model.Deployment - 114, // 14: grpc.service.webservice.GetDeploymentResponse.deployment:type_name -> model.Deployment - 115, // 15: grpc.service.webservice.GetStageLogResponse.blocks:type_name -> model.LogBlock - 116, // 16: grpc.service.webservice.GetApplicationLiveStateResponse.snapshot:type_name -> model.ApplicationLiveStateSnapshot - 117, // 17: grpc.service.webservice.GetProjectResponse.project:type_name -> model.Project - 118, // 18: grpc.service.webservice.UpdateProjectSSOConfigRequest.sso:type_name -> model.ProjectSSOConfig - 119, // 19: grpc.service.webservice.UpdateProjectRBACConfigRequest.rbac:type_name -> model.ProjectRBACConfig - 120, // 20: grpc.service.webservice.GetMeResponse.project_role:type_name -> model.Role.ProjectRole - 121, // 21: grpc.service.webservice.ListProjectRBACRolesResponse.rbac_roles:type_name -> model.ProjectRBACRole - 122, // 22: grpc.service.webservice.AddProjectRBACRoleRequest.policies:type_name -> model.ProjectRBACPolicy - 122, // 23: grpc.service.webservice.UpdateProjectRBACRoleRequest.policies:type_name -> model.ProjectRBACPolicy - 123, // 24: grpc.service.webservice.ListProjectUserGroupsResponses.user_groups:type_name -> model.ProjectUserGroup - 124, // 25: grpc.service.webservice.GetCommandResponse.command:type_name -> model.Command - 125, // 26: grpc.service.webservice.GenerateAPIKeyRequest.role:type_name -> model.APIKey.Role - 104, // 27: grpc.service.webservice.ListAPIKeysRequest.options:type_name -> grpc.service.webservice.ListAPIKeysRequest.Options - 126, // 28: grpc.service.webservice.ListAPIKeysResponse.keys:type_name -> model.APIKey - 127, // 29: grpc.service.webservice.GetInsightDataRequest.metrics_kind:type_name -> model.InsightMetricsKind - 128, // 30: grpc.service.webservice.GetInsightDataResponse.type:type_name -> model.InsightResultType - 129, // 31: grpc.service.webservice.GetInsightDataResponse.vector:type_name -> model.InsightSample - 130, // 32: grpc.service.webservice.GetInsightDataResponse.matrix:type_name -> model.InsightSampleStream - 131, // 33: grpc.service.webservice.GetInsightApplicationCountResponse.counts:type_name -> model.InsightApplicationCount - 105, // 34: grpc.service.webservice.ListDeploymentChainsRequest.options:type_name -> grpc.service.webservice.ListDeploymentChainsRequest.Options - 132, // 35: grpc.service.webservice.ListDeploymentChainsResponse.deployment_chains:type_name -> model.DeploymentChain - 132, // 36: grpc.service.webservice.GetDeploymentChainResponse.deployment_chain:type_name -> model.DeploymentChain - 106, // 37: grpc.service.webservice.ListEventsRequest.options:type_name -> grpc.service.webservice.ListEventsRequest.Options - 133, // 38: grpc.service.webservice.ListEventsResponse.events:type_name -> model.Event - 134, // 39: grpc.service.webservice.ListPipedsRequest.Options.enabled:type_name -> google.protobuf.BoolValue - 134, // 40: grpc.service.webservice.ListApplicationsRequest.Options.enabled:type_name -> google.protobuf.BoolValue - 110, // 41: grpc.service.webservice.ListApplicationsRequest.Options.kinds:type_name -> model.ApplicationKind - 135, // 42: grpc.service.webservice.ListApplicationsRequest.Options.sync_statuses:type_name -> model.ApplicationSyncStatus - 101, // 43: grpc.service.webservice.ListApplicationsRequest.Options.labels:type_name -> grpc.service.webservice.ListApplicationsRequest.Options.LabelsEntry - 136, // 44: grpc.service.webservice.ListDeploymentsRequest.Options.statuses:type_name -> model.DeploymentStatus - 110, // 45: grpc.service.webservice.ListDeploymentsRequest.Options.kinds:type_name -> model.ApplicationKind - 103, // 46: grpc.service.webservice.ListDeploymentsRequest.Options.labels:type_name -> grpc.service.webservice.ListDeploymentsRequest.Options.LabelsEntry - 134, // 47: grpc.service.webservice.ListAPIKeysRequest.Options.enabled:type_name -> google.protobuf.BoolValue - 137, // 48: grpc.service.webservice.ListEventsRequest.Options.statuses:type_name -> model.EventStatus - 107, // 49: grpc.service.webservice.ListEventsRequest.Options.labels:type_name -> grpc.service.webservice.ListEventsRequest.Options.LabelsEntry + 100, // 0: grpc.service.webservice.ListPipedsRequest.options:type_name -> grpc.service.webservice.ListPipedsRequest.Options + 110, // 1: grpc.service.webservice.ListPipedsResponse.pipeds:type_name -> model.Piped + 110, // 2: grpc.service.webservice.GetPipedResponse.piped:type_name -> model.Piped + 111, // 3: grpc.service.webservice.AddApplicationRequest.git_path:type_name -> model.ApplicationGitPath + 112, // 4: grpc.service.webservice.AddApplicationRequest.kind:type_name -> model.ApplicationKind + 101, // 5: grpc.service.webservice.AddApplicationRequest.labels:type_name -> grpc.service.webservice.AddApplicationRequest.LabelsEntry + 112, // 6: grpc.service.webservice.UpdateApplicationRequest.kind:type_name -> model.ApplicationKind + 102, // 7: grpc.service.webservice.ListApplicationsRequest.options:type_name -> grpc.service.webservice.ListApplicationsRequest.Options + 113, // 8: grpc.service.webservice.ListApplicationsResponse.applications:type_name -> model.Application + 114, // 9: grpc.service.webservice.SyncApplicationRequest.sync_strategy:type_name -> model.SyncStrategy + 113, // 10: grpc.service.webservice.GetApplicationResponse.application:type_name -> model.Application + 115, // 11: grpc.service.webservice.ListUnregisteredApplicationsResponse.applications:type_name -> model.ApplicationInfo + 104, // 12: grpc.service.webservice.ListDeploymentsRequest.options:type_name -> grpc.service.webservice.ListDeploymentsRequest.Options + 116, // 13: grpc.service.webservice.ListDeploymentsResponse.deployments:type_name -> model.Deployment + 116, // 14: grpc.service.webservice.GetDeploymentResponse.deployment:type_name -> model.Deployment + 117, // 15: grpc.service.webservice.GetStageLogResponse.blocks:type_name -> model.LogBlock + 118, // 16: grpc.service.webservice.GetApplicationLiveStateResponse.snapshot:type_name -> model.ApplicationLiveStateSnapshot + 119, // 17: grpc.service.webservice.GetProjectResponse.project:type_name -> model.Project + 120, // 18: grpc.service.webservice.UpdateProjectSSOConfigRequest.sso:type_name -> model.ProjectSSOConfig + 121, // 19: grpc.service.webservice.UpdateProjectRBACConfigRequest.rbac:type_name -> model.ProjectRBACConfig + 122, // 20: grpc.service.webservice.GetMeResponse.project_role:type_name -> model.Role.ProjectRole + 123, // 21: grpc.service.webservice.ListProjectRBACRolesResponse.rbac_roles:type_name -> model.ProjectRBACRole + 124, // 22: grpc.service.webservice.AddProjectRBACRoleRequest.policies:type_name -> model.ProjectRBACPolicy + 124, // 23: grpc.service.webservice.UpdateProjectRBACRoleRequest.policies:type_name -> model.ProjectRBACPolicy + 125, // 24: grpc.service.webservice.ListProjectUserGroupsResponses.user_groups:type_name -> model.ProjectUserGroup + 126, // 25: grpc.service.webservice.GetCommandResponse.command:type_name -> model.Command + 127, // 26: grpc.service.webservice.GenerateAPIKeyRequest.role:type_name -> model.APIKey.Role + 106, // 27: grpc.service.webservice.ListAPIKeysRequest.options:type_name -> grpc.service.webservice.ListAPIKeysRequest.Options + 128, // 28: grpc.service.webservice.ListAPIKeysResponse.keys:type_name -> model.APIKey + 129, // 29: grpc.service.webservice.GetInsightDataRequest.metrics_kind:type_name -> model.InsightMetricsKind + 130, // 30: grpc.service.webservice.GetInsightDataResponse.type:type_name -> model.InsightResultType + 131, // 31: grpc.service.webservice.GetInsightDataResponse.vector:type_name -> model.InsightSample + 132, // 32: grpc.service.webservice.GetInsightDataResponse.matrix:type_name -> model.InsightSampleStream + 133, // 33: grpc.service.webservice.GetInsightApplicationCountResponse.counts:type_name -> model.InsightApplicationCount + 107, // 34: grpc.service.webservice.ListDeploymentChainsRequest.options:type_name -> grpc.service.webservice.ListDeploymentChainsRequest.Options + 134, // 35: grpc.service.webservice.ListDeploymentChainsResponse.deployment_chains:type_name -> model.DeploymentChain + 134, // 36: grpc.service.webservice.GetDeploymentChainResponse.deployment_chain:type_name -> model.DeploymentChain + 108, // 37: grpc.service.webservice.ListEventsRequest.options:type_name -> grpc.service.webservice.ListEventsRequest.Options + 135, // 38: grpc.service.webservice.ListEventsResponse.events:type_name -> model.Event + 136, // 39: grpc.service.webservice.ListPipedsRequest.Options.enabled:type_name -> google.protobuf.BoolValue + 136, // 40: grpc.service.webservice.ListApplicationsRequest.Options.enabled:type_name -> google.protobuf.BoolValue + 112, // 41: grpc.service.webservice.ListApplicationsRequest.Options.kinds:type_name -> model.ApplicationKind + 137, // 42: grpc.service.webservice.ListApplicationsRequest.Options.sync_statuses:type_name -> model.ApplicationSyncStatus + 103, // 43: grpc.service.webservice.ListApplicationsRequest.Options.labels:type_name -> grpc.service.webservice.ListApplicationsRequest.Options.LabelsEntry + 138, // 44: grpc.service.webservice.ListDeploymentsRequest.Options.statuses:type_name -> model.DeploymentStatus + 112, // 45: grpc.service.webservice.ListDeploymentsRequest.Options.kinds:type_name -> model.ApplicationKind + 105, // 46: grpc.service.webservice.ListDeploymentsRequest.Options.labels:type_name -> grpc.service.webservice.ListDeploymentsRequest.Options.LabelsEntry + 136, // 47: grpc.service.webservice.ListAPIKeysRequest.Options.enabled:type_name -> google.protobuf.BoolValue + 139, // 48: grpc.service.webservice.ListEventsRequest.Options.statuses:type_name -> model.EventStatus + 109, // 49: grpc.service.webservice.ListEventsRequest.Options.labels:type_name -> grpc.service.webservice.ListEventsRequest.Options.LabelsEntry 0, // 50: grpc.service.webservice.WebService.RegisterPiped:input_type -> grpc.service.webservice.RegisterPipedRequest 2, // 51: grpc.service.webservice.WebService.UpdatePiped:input_type -> grpc.service.webservice.UpdatePipedRequest 4, // 52: grpc.service.webservice.WebService.RecreatePipedKey:input_type -> grpc.service.webservice.RecreatePipedKeyRequest 6, // 53: grpc.service.webservice.WebService.DeleteOldPipedKeys:input_type -> grpc.service.webservice.DeleteOldPipedKeysRequest - 8, // 54: grpc.service.webservice.WebService.EnablePiped:input_type -> grpc.service.webservice.EnablePipedRequest - 10, // 55: grpc.service.webservice.WebService.DisablePiped:input_type -> grpc.service.webservice.DisablePipedRequest - 12, // 56: grpc.service.webservice.WebService.ListPipeds:input_type -> grpc.service.webservice.ListPipedsRequest - 14, // 57: grpc.service.webservice.WebService.GetPiped:input_type -> grpc.service.webservice.GetPipedRequest - 16, // 58: grpc.service.webservice.WebService.UpdatePipedDesiredVersion:input_type -> grpc.service.webservice.UpdatePipedDesiredVersionRequest - 18, // 59: grpc.service.webservice.WebService.AddApplication:input_type -> grpc.service.webservice.AddApplicationRequest - 20, // 60: grpc.service.webservice.WebService.UpdateApplication:input_type -> grpc.service.webservice.UpdateApplicationRequest - 22, // 61: grpc.service.webservice.WebService.EnableApplication:input_type -> grpc.service.webservice.EnableApplicationRequest - 24, // 62: grpc.service.webservice.WebService.DisableApplication:input_type -> grpc.service.webservice.DisableApplicationRequest - 26, // 63: grpc.service.webservice.WebService.DeleteApplication:input_type -> grpc.service.webservice.DeleteApplicationRequest - 28, // 64: grpc.service.webservice.WebService.ListApplications:input_type -> grpc.service.webservice.ListApplicationsRequest - 30, // 65: grpc.service.webservice.WebService.SyncApplication:input_type -> grpc.service.webservice.SyncApplicationRequest - 32, // 66: grpc.service.webservice.WebService.GetApplication:input_type -> grpc.service.webservice.GetApplicationRequest - 34, // 67: grpc.service.webservice.WebService.GenerateApplicationSealedSecret:input_type -> grpc.service.webservice.GenerateApplicationSealedSecretRequest - 36, // 68: grpc.service.webservice.WebService.ListUnregisteredApplications:input_type -> grpc.service.webservice.ListUnregisteredApplicationsRequest - 38, // 69: grpc.service.webservice.WebService.ListDeployments:input_type -> grpc.service.webservice.ListDeploymentsRequest - 40, // 70: grpc.service.webservice.WebService.GetDeployment:input_type -> grpc.service.webservice.GetDeploymentRequest - 42, // 71: grpc.service.webservice.WebService.GetStageLog:input_type -> grpc.service.webservice.GetStageLogRequest - 44, // 72: grpc.service.webservice.WebService.CancelDeployment:input_type -> grpc.service.webservice.CancelDeploymentRequest - 46, // 73: grpc.service.webservice.WebService.SkipStage:input_type -> grpc.service.webservice.SkipStageRequest - 48, // 74: grpc.service.webservice.WebService.ApproveStage:input_type -> grpc.service.webservice.ApproveStageRequest - 50, // 75: grpc.service.webservice.WebService.GetApplicationLiveState:input_type -> grpc.service.webservice.GetApplicationLiveStateRequest - 52, // 76: grpc.service.webservice.WebService.GetProject:input_type -> grpc.service.webservice.GetProjectRequest - 54, // 77: grpc.service.webservice.WebService.UpdateProjectStaticAdmin:input_type -> grpc.service.webservice.UpdateProjectStaticAdminRequest - 60, // 78: grpc.service.webservice.WebService.EnableStaticAdmin:input_type -> grpc.service.webservice.EnableStaticAdminRequest - 62, // 79: grpc.service.webservice.WebService.DisableStaticAdmin:input_type -> grpc.service.webservice.DisableStaticAdminRequest - 56, // 80: grpc.service.webservice.WebService.UpdateProjectSSOConfig:input_type -> grpc.service.webservice.UpdateProjectSSOConfigRequest - 58, // 81: grpc.service.webservice.WebService.UpdateProjectRBACConfig:input_type -> grpc.service.webservice.UpdateProjectRBACConfigRequest - 64, // 82: grpc.service.webservice.WebService.GetMe:input_type -> grpc.service.webservice.GetMeRequest - 66, // 83: grpc.service.webservice.WebService.ListProjectRBACRoles:input_type -> grpc.service.webservice.ListProjectRBACRolesRequest - 68, // 84: grpc.service.webservice.WebService.AddProjectRBACRole:input_type -> grpc.service.webservice.AddProjectRBACRoleRequest - 70, // 85: grpc.service.webservice.WebService.UpdateProjectRBACRole:input_type -> grpc.service.webservice.UpdateProjectRBACRoleRequest - 72, // 86: grpc.service.webservice.WebService.DeleteProjectRBACRole:input_type -> grpc.service.webservice.DeleteProjectRBACRoleRequest - 74, // 87: grpc.service.webservice.WebService.ListProjectUserGroups:input_type -> grpc.service.webservice.ListProjectUserGroupsRequest - 76, // 88: grpc.service.webservice.WebService.AddProjectUserGroup:input_type -> grpc.service.webservice.AddProjectUserGroupRequest - 78, // 89: grpc.service.webservice.WebService.DeleteProjectUserGroup:input_type -> grpc.service.webservice.DeleteProjectUserGroupRequest - 80, // 90: grpc.service.webservice.WebService.GetCommand:input_type -> grpc.service.webservice.GetCommandRequest - 82, // 91: grpc.service.webservice.WebService.GenerateAPIKey:input_type -> grpc.service.webservice.GenerateAPIKeyRequest - 84, // 92: grpc.service.webservice.WebService.DisableAPIKey:input_type -> grpc.service.webservice.DisableAPIKeyRequest - 86, // 93: grpc.service.webservice.WebService.ListAPIKeys:input_type -> grpc.service.webservice.ListAPIKeysRequest - 88, // 94: grpc.service.webservice.WebService.GetInsightData:input_type -> grpc.service.webservice.GetInsightDataRequest - 90, // 95: grpc.service.webservice.WebService.GetInsightApplicationCount:input_type -> grpc.service.webservice.GetInsightApplicationCountRequest - 92, // 96: grpc.service.webservice.WebService.ListDeploymentChains:input_type -> grpc.service.webservice.ListDeploymentChainsRequest - 94, // 97: grpc.service.webservice.WebService.GetDeploymentChain:input_type -> grpc.service.webservice.GetDeploymentChainRequest - 96, // 98: grpc.service.webservice.WebService.ListEvents:input_type -> grpc.service.webservice.ListEventsRequest - 1, // 99: grpc.service.webservice.WebService.RegisterPiped:output_type -> grpc.service.webservice.RegisterPipedResponse - 3, // 100: grpc.service.webservice.WebService.UpdatePiped:output_type -> grpc.service.webservice.UpdatePipedResponse - 5, // 101: grpc.service.webservice.WebService.RecreatePipedKey:output_type -> grpc.service.webservice.RecreatePipedKeyResponse - 7, // 102: grpc.service.webservice.WebService.DeleteOldPipedKeys:output_type -> grpc.service.webservice.DeleteOldPipedKeysResponse - 9, // 103: grpc.service.webservice.WebService.EnablePiped:output_type -> grpc.service.webservice.EnablePipedResponse - 11, // 104: grpc.service.webservice.WebService.DisablePiped:output_type -> grpc.service.webservice.DisablePipedResponse - 13, // 105: grpc.service.webservice.WebService.ListPipeds:output_type -> grpc.service.webservice.ListPipedsResponse - 15, // 106: grpc.service.webservice.WebService.GetPiped:output_type -> grpc.service.webservice.GetPipedResponse - 17, // 107: grpc.service.webservice.WebService.UpdatePipedDesiredVersion:output_type -> grpc.service.webservice.UpdatePipedDesiredVersionResponse - 19, // 108: grpc.service.webservice.WebService.AddApplication:output_type -> grpc.service.webservice.AddApplicationResponse - 21, // 109: grpc.service.webservice.WebService.UpdateApplication:output_type -> grpc.service.webservice.UpdateApplicationResponse - 23, // 110: grpc.service.webservice.WebService.EnableApplication:output_type -> grpc.service.webservice.EnableApplicationResponse - 25, // 111: grpc.service.webservice.WebService.DisableApplication:output_type -> grpc.service.webservice.DisableApplicationResponse - 27, // 112: grpc.service.webservice.WebService.DeleteApplication:output_type -> grpc.service.webservice.DeleteApplicationResponse - 29, // 113: grpc.service.webservice.WebService.ListApplications:output_type -> grpc.service.webservice.ListApplicationsResponse - 31, // 114: grpc.service.webservice.WebService.SyncApplication:output_type -> grpc.service.webservice.SyncApplicationResponse - 33, // 115: grpc.service.webservice.WebService.GetApplication:output_type -> grpc.service.webservice.GetApplicationResponse - 35, // 116: grpc.service.webservice.WebService.GenerateApplicationSealedSecret:output_type -> grpc.service.webservice.GenerateApplicationSealedSecretResponse - 37, // 117: grpc.service.webservice.WebService.ListUnregisteredApplications:output_type -> grpc.service.webservice.ListUnregisteredApplicationsResponse - 39, // 118: grpc.service.webservice.WebService.ListDeployments:output_type -> grpc.service.webservice.ListDeploymentsResponse - 41, // 119: grpc.service.webservice.WebService.GetDeployment:output_type -> grpc.service.webservice.GetDeploymentResponse - 43, // 120: grpc.service.webservice.WebService.GetStageLog:output_type -> grpc.service.webservice.GetStageLogResponse - 45, // 121: grpc.service.webservice.WebService.CancelDeployment:output_type -> grpc.service.webservice.CancelDeploymentResponse - 47, // 122: grpc.service.webservice.WebService.SkipStage:output_type -> grpc.service.webservice.SkipStageResponse - 49, // 123: grpc.service.webservice.WebService.ApproveStage:output_type -> grpc.service.webservice.ApproveStageResponse - 51, // 124: grpc.service.webservice.WebService.GetApplicationLiveState:output_type -> grpc.service.webservice.GetApplicationLiveStateResponse - 53, // 125: grpc.service.webservice.WebService.GetProject:output_type -> grpc.service.webservice.GetProjectResponse - 55, // 126: grpc.service.webservice.WebService.UpdateProjectStaticAdmin:output_type -> grpc.service.webservice.UpdateProjectStaticAdminResponse - 61, // 127: grpc.service.webservice.WebService.EnableStaticAdmin:output_type -> grpc.service.webservice.EnableStaticAdminResponse - 63, // 128: grpc.service.webservice.WebService.DisableStaticAdmin:output_type -> grpc.service.webservice.DisableStaticAdminResponse - 57, // 129: grpc.service.webservice.WebService.UpdateProjectSSOConfig:output_type -> grpc.service.webservice.UpdateProjectSSOConfigResponse - 59, // 130: grpc.service.webservice.WebService.UpdateProjectRBACConfig:output_type -> grpc.service.webservice.UpdateProjectRBACConfigResponse - 65, // 131: grpc.service.webservice.WebService.GetMe:output_type -> grpc.service.webservice.GetMeResponse - 67, // 132: grpc.service.webservice.WebService.ListProjectRBACRoles:output_type -> grpc.service.webservice.ListProjectRBACRolesResponse - 69, // 133: grpc.service.webservice.WebService.AddProjectRBACRole:output_type -> grpc.service.webservice.AddProjectRBACRoleResponse - 71, // 134: grpc.service.webservice.WebService.UpdateProjectRBACRole:output_type -> grpc.service.webservice.UpdateProjectRBACRoleResponse - 73, // 135: grpc.service.webservice.WebService.DeleteProjectRBACRole:output_type -> grpc.service.webservice.DeleteProjectRBACRoleResponse - 75, // 136: grpc.service.webservice.WebService.ListProjectUserGroups:output_type -> grpc.service.webservice.ListProjectUserGroupsResponses - 77, // 137: grpc.service.webservice.WebService.AddProjectUserGroup:output_type -> grpc.service.webservice.AddProjectUserGroupResponse - 79, // 138: grpc.service.webservice.WebService.DeleteProjectUserGroup:output_type -> grpc.service.webservice.DeleteProjectUserGroupResponse - 81, // 139: grpc.service.webservice.WebService.GetCommand:output_type -> grpc.service.webservice.GetCommandResponse - 83, // 140: grpc.service.webservice.WebService.GenerateAPIKey:output_type -> grpc.service.webservice.GenerateAPIKeyResponse - 85, // 141: grpc.service.webservice.WebService.DisableAPIKey:output_type -> grpc.service.webservice.DisableAPIKeyResponse - 87, // 142: grpc.service.webservice.WebService.ListAPIKeys:output_type -> grpc.service.webservice.ListAPIKeysResponse - 89, // 143: grpc.service.webservice.WebService.GetInsightData:output_type -> grpc.service.webservice.GetInsightDataResponse - 91, // 144: grpc.service.webservice.WebService.GetInsightApplicationCount:output_type -> grpc.service.webservice.GetInsightApplicationCountResponse - 93, // 145: grpc.service.webservice.WebService.ListDeploymentChains:output_type -> grpc.service.webservice.ListDeploymentChainsResponse - 95, // 146: grpc.service.webservice.WebService.GetDeploymentChain:output_type -> grpc.service.webservice.GetDeploymentChainResponse - 97, // 147: grpc.service.webservice.WebService.ListEvents:output_type -> grpc.service.webservice.ListEventsResponse - 99, // [99:148] is the sub-list for method output_type - 50, // [50:99] is the sub-list for method input_type + 8, // 54: grpc.service.webservice.WebService.RestartPiped:input_type -> grpc.service.webservice.RestartPipedRequest + 10, // 55: grpc.service.webservice.WebService.EnablePiped:input_type -> grpc.service.webservice.EnablePipedRequest + 12, // 56: grpc.service.webservice.WebService.DisablePiped:input_type -> grpc.service.webservice.DisablePipedRequest + 14, // 57: grpc.service.webservice.WebService.ListPipeds:input_type -> grpc.service.webservice.ListPipedsRequest + 16, // 58: grpc.service.webservice.WebService.GetPiped:input_type -> grpc.service.webservice.GetPipedRequest + 18, // 59: grpc.service.webservice.WebService.UpdatePipedDesiredVersion:input_type -> grpc.service.webservice.UpdatePipedDesiredVersionRequest + 20, // 60: grpc.service.webservice.WebService.AddApplication:input_type -> grpc.service.webservice.AddApplicationRequest + 22, // 61: grpc.service.webservice.WebService.UpdateApplication:input_type -> grpc.service.webservice.UpdateApplicationRequest + 24, // 62: grpc.service.webservice.WebService.EnableApplication:input_type -> grpc.service.webservice.EnableApplicationRequest + 26, // 63: grpc.service.webservice.WebService.DisableApplication:input_type -> grpc.service.webservice.DisableApplicationRequest + 28, // 64: grpc.service.webservice.WebService.DeleteApplication:input_type -> grpc.service.webservice.DeleteApplicationRequest + 30, // 65: grpc.service.webservice.WebService.ListApplications:input_type -> grpc.service.webservice.ListApplicationsRequest + 32, // 66: grpc.service.webservice.WebService.SyncApplication:input_type -> grpc.service.webservice.SyncApplicationRequest + 34, // 67: grpc.service.webservice.WebService.GetApplication:input_type -> grpc.service.webservice.GetApplicationRequest + 36, // 68: grpc.service.webservice.WebService.GenerateApplicationSealedSecret:input_type -> grpc.service.webservice.GenerateApplicationSealedSecretRequest + 38, // 69: grpc.service.webservice.WebService.ListUnregisteredApplications:input_type -> grpc.service.webservice.ListUnregisteredApplicationsRequest + 40, // 70: grpc.service.webservice.WebService.ListDeployments:input_type -> grpc.service.webservice.ListDeploymentsRequest + 42, // 71: grpc.service.webservice.WebService.GetDeployment:input_type -> grpc.service.webservice.GetDeploymentRequest + 44, // 72: grpc.service.webservice.WebService.GetStageLog:input_type -> grpc.service.webservice.GetStageLogRequest + 46, // 73: grpc.service.webservice.WebService.CancelDeployment:input_type -> grpc.service.webservice.CancelDeploymentRequest + 48, // 74: grpc.service.webservice.WebService.SkipStage:input_type -> grpc.service.webservice.SkipStageRequest + 50, // 75: grpc.service.webservice.WebService.ApproveStage:input_type -> grpc.service.webservice.ApproveStageRequest + 52, // 76: grpc.service.webservice.WebService.GetApplicationLiveState:input_type -> grpc.service.webservice.GetApplicationLiveStateRequest + 54, // 77: grpc.service.webservice.WebService.GetProject:input_type -> grpc.service.webservice.GetProjectRequest + 56, // 78: grpc.service.webservice.WebService.UpdateProjectStaticAdmin:input_type -> grpc.service.webservice.UpdateProjectStaticAdminRequest + 62, // 79: grpc.service.webservice.WebService.EnableStaticAdmin:input_type -> grpc.service.webservice.EnableStaticAdminRequest + 64, // 80: grpc.service.webservice.WebService.DisableStaticAdmin:input_type -> grpc.service.webservice.DisableStaticAdminRequest + 58, // 81: grpc.service.webservice.WebService.UpdateProjectSSOConfig:input_type -> grpc.service.webservice.UpdateProjectSSOConfigRequest + 60, // 82: grpc.service.webservice.WebService.UpdateProjectRBACConfig:input_type -> grpc.service.webservice.UpdateProjectRBACConfigRequest + 66, // 83: grpc.service.webservice.WebService.GetMe:input_type -> grpc.service.webservice.GetMeRequest + 68, // 84: grpc.service.webservice.WebService.ListProjectRBACRoles:input_type -> grpc.service.webservice.ListProjectRBACRolesRequest + 70, // 85: grpc.service.webservice.WebService.AddProjectRBACRole:input_type -> grpc.service.webservice.AddProjectRBACRoleRequest + 72, // 86: grpc.service.webservice.WebService.UpdateProjectRBACRole:input_type -> grpc.service.webservice.UpdateProjectRBACRoleRequest + 74, // 87: grpc.service.webservice.WebService.DeleteProjectRBACRole:input_type -> grpc.service.webservice.DeleteProjectRBACRoleRequest + 76, // 88: grpc.service.webservice.WebService.ListProjectUserGroups:input_type -> grpc.service.webservice.ListProjectUserGroupsRequest + 78, // 89: grpc.service.webservice.WebService.AddProjectUserGroup:input_type -> grpc.service.webservice.AddProjectUserGroupRequest + 80, // 90: grpc.service.webservice.WebService.DeleteProjectUserGroup:input_type -> grpc.service.webservice.DeleteProjectUserGroupRequest + 82, // 91: grpc.service.webservice.WebService.GetCommand:input_type -> grpc.service.webservice.GetCommandRequest + 84, // 92: grpc.service.webservice.WebService.GenerateAPIKey:input_type -> grpc.service.webservice.GenerateAPIKeyRequest + 86, // 93: grpc.service.webservice.WebService.DisableAPIKey:input_type -> grpc.service.webservice.DisableAPIKeyRequest + 88, // 94: grpc.service.webservice.WebService.ListAPIKeys:input_type -> grpc.service.webservice.ListAPIKeysRequest + 90, // 95: grpc.service.webservice.WebService.GetInsightData:input_type -> grpc.service.webservice.GetInsightDataRequest + 92, // 96: grpc.service.webservice.WebService.GetInsightApplicationCount:input_type -> grpc.service.webservice.GetInsightApplicationCountRequest + 94, // 97: grpc.service.webservice.WebService.ListDeploymentChains:input_type -> grpc.service.webservice.ListDeploymentChainsRequest + 96, // 98: grpc.service.webservice.WebService.GetDeploymentChain:input_type -> grpc.service.webservice.GetDeploymentChainRequest + 98, // 99: grpc.service.webservice.WebService.ListEvents:input_type -> grpc.service.webservice.ListEventsRequest + 1, // 100: grpc.service.webservice.WebService.RegisterPiped:output_type -> grpc.service.webservice.RegisterPipedResponse + 3, // 101: grpc.service.webservice.WebService.UpdatePiped:output_type -> grpc.service.webservice.UpdatePipedResponse + 5, // 102: grpc.service.webservice.WebService.RecreatePipedKey:output_type -> grpc.service.webservice.RecreatePipedKeyResponse + 7, // 103: grpc.service.webservice.WebService.DeleteOldPipedKeys:output_type -> grpc.service.webservice.DeleteOldPipedKeysResponse + 9, // 104: grpc.service.webservice.WebService.RestartPiped:output_type -> grpc.service.webservice.RestartPipedResponse + 11, // 105: grpc.service.webservice.WebService.EnablePiped:output_type -> grpc.service.webservice.EnablePipedResponse + 13, // 106: grpc.service.webservice.WebService.DisablePiped:output_type -> grpc.service.webservice.DisablePipedResponse + 15, // 107: grpc.service.webservice.WebService.ListPipeds:output_type -> grpc.service.webservice.ListPipedsResponse + 17, // 108: grpc.service.webservice.WebService.GetPiped:output_type -> grpc.service.webservice.GetPipedResponse + 19, // 109: grpc.service.webservice.WebService.UpdatePipedDesiredVersion:output_type -> grpc.service.webservice.UpdatePipedDesiredVersionResponse + 21, // 110: grpc.service.webservice.WebService.AddApplication:output_type -> grpc.service.webservice.AddApplicationResponse + 23, // 111: grpc.service.webservice.WebService.UpdateApplication:output_type -> grpc.service.webservice.UpdateApplicationResponse + 25, // 112: grpc.service.webservice.WebService.EnableApplication:output_type -> grpc.service.webservice.EnableApplicationResponse + 27, // 113: grpc.service.webservice.WebService.DisableApplication:output_type -> grpc.service.webservice.DisableApplicationResponse + 29, // 114: grpc.service.webservice.WebService.DeleteApplication:output_type -> grpc.service.webservice.DeleteApplicationResponse + 31, // 115: grpc.service.webservice.WebService.ListApplications:output_type -> grpc.service.webservice.ListApplicationsResponse + 33, // 116: grpc.service.webservice.WebService.SyncApplication:output_type -> grpc.service.webservice.SyncApplicationResponse + 35, // 117: grpc.service.webservice.WebService.GetApplication:output_type -> grpc.service.webservice.GetApplicationResponse + 37, // 118: grpc.service.webservice.WebService.GenerateApplicationSealedSecret:output_type -> grpc.service.webservice.GenerateApplicationSealedSecretResponse + 39, // 119: grpc.service.webservice.WebService.ListUnregisteredApplications:output_type -> grpc.service.webservice.ListUnregisteredApplicationsResponse + 41, // 120: grpc.service.webservice.WebService.ListDeployments:output_type -> grpc.service.webservice.ListDeploymentsResponse + 43, // 121: grpc.service.webservice.WebService.GetDeployment:output_type -> grpc.service.webservice.GetDeploymentResponse + 45, // 122: grpc.service.webservice.WebService.GetStageLog:output_type -> grpc.service.webservice.GetStageLogResponse + 47, // 123: grpc.service.webservice.WebService.CancelDeployment:output_type -> grpc.service.webservice.CancelDeploymentResponse + 49, // 124: grpc.service.webservice.WebService.SkipStage:output_type -> grpc.service.webservice.SkipStageResponse + 51, // 125: grpc.service.webservice.WebService.ApproveStage:output_type -> grpc.service.webservice.ApproveStageResponse + 53, // 126: grpc.service.webservice.WebService.GetApplicationLiveState:output_type -> grpc.service.webservice.GetApplicationLiveStateResponse + 55, // 127: grpc.service.webservice.WebService.GetProject:output_type -> grpc.service.webservice.GetProjectResponse + 57, // 128: grpc.service.webservice.WebService.UpdateProjectStaticAdmin:output_type -> grpc.service.webservice.UpdateProjectStaticAdminResponse + 63, // 129: grpc.service.webservice.WebService.EnableStaticAdmin:output_type -> grpc.service.webservice.EnableStaticAdminResponse + 65, // 130: grpc.service.webservice.WebService.DisableStaticAdmin:output_type -> grpc.service.webservice.DisableStaticAdminResponse + 59, // 131: grpc.service.webservice.WebService.UpdateProjectSSOConfig:output_type -> grpc.service.webservice.UpdateProjectSSOConfigResponse + 61, // 132: grpc.service.webservice.WebService.UpdateProjectRBACConfig:output_type -> grpc.service.webservice.UpdateProjectRBACConfigResponse + 67, // 133: grpc.service.webservice.WebService.GetMe:output_type -> grpc.service.webservice.GetMeResponse + 69, // 134: grpc.service.webservice.WebService.ListProjectRBACRoles:output_type -> grpc.service.webservice.ListProjectRBACRolesResponse + 71, // 135: grpc.service.webservice.WebService.AddProjectRBACRole:output_type -> grpc.service.webservice.AddProjectRBACRoleResponse + 73, // 136: grpc.service.webservice.WebService.UpdateProjectRBACRole:output_type -> grpc.service.webservice.UpdateProjectRBACRoleResponse + 75, // 137: grpc.service.webservice.WebService.DeleteProjectRBACRole:output_type -> grpc.service.webservice.DeleteProjectRBACRoleResponse + 77, // 138: grpc.service.webservice.WebService.ListProjectUserGroups:output_type -> grpc.service.webservice.ListProjectUserGroupsResponses + 79, // 139: grpc.service.webservice.WebService.AddProjectUserGroup:output_type -> grpc.service.webservice.AddProjectUserGroupResponse + 81, // 140: grpc.service.webservice.WebService.DeleteProjectUserGroup:output_type -> grpc.service.webservice.DeleteProjectUserGroupResponse + 83, // 141: grpc.service.webservice.WebService.GetCommand:output_type -> grpc.service.webservice.GetCommandResponse + 85, // 142: grpc.service.webservice.WebService.GenerateAPIKey:output_type -> grpc.service.webservice.GenerateAPIKeyResponse + 87, // 143: grpc.service.webservice.WebService.DisableAPIKey:output_type -> grpc.service.webservice.DisableAPIKeyResponse + 89, // 144: grpc.service.webservice.WebService.ListAPIKeys:output_type -> grpc.service.webservice.ListAPIKeysResponse + 91, // 145: grpc.service.webservice.WebService.GetInsightData:output_type -> grpc.service.webservice.GetInsightDataResponse + 93, // 146: grpc.service.webservice.WebService.GetInsightApplicationCount:output_type -> grpc.service.webservice.GetInsightApplicationCountResponse + 95, // 147: grpc.service.webservice.WebService.ListDeploymentChains:output_type -> grpc.service.webservice.ListDeploymentChainsResponse + 97, // 148: grpc.service.webservice.WebService.GetDeploymentChain:output_type -> grpc.service.webservice.GetDeploymentChainResponse + 99, // 149: grpc.service.webservice.WebService.ListEvents:output_type -> grpc.service.webservice.ListEventsResponse + 100, // [100:150] is the sub-list for method output_type + 50, // [50:100] is the sub-list for method input_type 50, // [50:50] is the sub-list for extension type_name 50, // [50:50] is the sub-list for extension extendee 0, // [0:50] is the sub-list for field type_name @@ -6630,7 +6731,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EnablePipedRequest); i { + switch v := v.(*RestartPipedRequest); i { case 0: return &v.state case 1: @@ -6642,7 +6743,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EnablePipedResponse); i { + switch v := v.(*RestartPipedResponse); i { case 0: return &v.state case 1: @@ -6654,7 +6755,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisablePipedRequest); i { + switch v := v.(*EnablePipedRequest); i { case 0: return &v.state case 1: @@ -6666,7 +6767,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisablePipedResponse); i { + switch v := v.(*EnablePipedResponse); i { case 0: return &v.state case 1: @@ -6678,7 +6779,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListPipedsRequest); i { + switch v := v.(*DisablePipedRequest); i { case 0: return &v.state case 1: @@ -6690,7 +6791,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListPipedsResponse); i { + switch v := v.(*DisablePipedResponse); i { case 0: return &v.state case 1: @@ -6702,7 +6803,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPipedRequest); i { + switch v := v.(*ListPipedsRequest); i { case 0: return &v.state case 1: @@ -6714,7 +6815,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPipedResponse); i { + switch v := v.(*ListPipedsResponse); i { case 0: return &v.state case 1: @@ -6726,7 +6827,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdatePipedDesiredVersionRequest); i { + switch v := v.(*GetPipedRequest); i { case 0: return &v.state case 1: @@ -6738,7 +6839,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdatePipedDesiredVersionResponse); i { + switch v := v.(*GetPipedResponse); i { case 0: return &v.state case 1: @@ -6750,7 +6851,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddApplicationRequest); i { + switch v := v.(*UpdatePipedDesiredVersionRequest); i { case 0: return &v.state case 1: @@ -6762,7 +6863,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddApplicationResponse); i { + switch v := v.(*UpdatePipedDesiredVersionResponse); i { case 0: return &v.state case 1: @@ -6774,7 +6875,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateApplicationRequest); i { + switch v := v.(*AddApplicationRequest); i { case 0: return &v.state case 1: @@ -6786,7 +6887,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateApplicationResponse); i { + switch v := v.(*AddApplicationResponse); i { case 0: return &v.state case 1: @@ -6798,7 +6899,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EnableApplicationRequest); i { + switch v := v.(*UpdateApplicationRequest); i { case 0: return &v.state case 1: @@ -6810,7 +6911,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EnableApplicationResponse); i { + switch v := v.(*UpdateApplicationResponse); i { case 0: return &v.state case 1: @@ -6822,7 +6923,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisableApplicationRequest); i { + switch v := v.(*EnableApplicationRequest); i { case 0: return &v.state case 1: @@ -6834,7 +6935,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisableApplicationResponse); i { + switch v := v.(*EnableApplicationResponse); i { case 0: return &v.state case 1: @@ -6846,7 +6947,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteApplicationRequest); i { + switch v := v.(*DisableApplicationRequest); i { case 0: return &v.state case 1: @@ -6858,7 +6959,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteApplicationResponse); i { + switch v := v.(*DisableApplicationResponse); i { case 0: return &v.state case 1: @@ -6870,7 +6971,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListApplicationsRequest); i { + switch v := v.(*DeleteApplicationRequest); i { case 0: return &v.state case 1: @@ -6882,7 +6983,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListApplicationsResponse); i { + switch v := v.(*DeleteApplicationResponse); i { case 0: return &v.state case 1: @@ -6894,7 +6995,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SyncApplicationRequest); i { + switch v := v.(*ListApplicationsRequest); i { case 0: return &v.state case 1: @@ -6906,7 +7007,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SyncApplicationResponse); i { + switch v := v.(*ListApplicationsResponse); i { case 0: return &v.state case 1: @@ -6918,7 +7019,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetApplicationRequest); i { + switch v := v.(*SyncApplicationRequest); i { case 0: return &v.state case 1: @@ -6930,7 +7031,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetApplicationResponse); i { + switch v := v.(*SyncApplicationResponse); i { case 0: return &v.state case 1: @@ -6942,7 +7043,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GenerateApplicationSealedSecretRequest); i { + switch v := v.(*GetApplicationRequest); i { case 0: return &v.state case 1: @@ -6954,7 +7055,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GenerateApplicationSealedSecretResponse); i { + switch v := v.(*GetApplicationResponse); i { case 0: return &v.state case 1: @@ -6966,7 +7067,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListUnregisteredApplicationsRequest); i { + switch v := v.(*GenerateApplicationSealedSecretRequest); i { case 0: return &v.state case 1: @@ -6978,7 +7079,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListUnregisteredApplicationsResponse); i { + switch v := v.(*GenerateApplicationSealedSecretResponse); i { case 0: return &v.state case 1: @@ -6990,7 +7091,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListDeploymentsRequest); i { + switch v := v.(*ListUnregisteredApplicationsRequest); i { case 0: return &v.state case 1: @@ -7002,7 +7103,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListDeploymentsResponse); i { + switch v := v.(*ListUnregisteredApplicationsResponse); i { case 0: return &v.state case 1: @@ -7014,7 +7115,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDeploymentRequest); i { + switch v := v.(*ListDeploymentsRequest); i { case 0: return &v.state case 1: @@ -7026,7 +7127,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDeploymentResponse); i { + switch v := v.(*ListDeploymentsResponse); i { case 0: return &v.state case 1: @@ -7038,7 +7139,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetStageLogRequest); i { + switch v := v.(*GetDeploymentRequest); i { case 0: return &v.state case 1: @@ -7050,7 +7151,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetStageLogResponse); i { + switch v := v.(*GetDeploymentResponse); i { case 0: return &v.state case 1: @@ -7062,7 +7163,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CancelDeploymentRequest); i { + switch v := v.(*GetStageLogRequest); i { case 0: return &v.state case 1: @@ -7074,7 +7175,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CancelDeploymentResponse); i { + switch v := v.(*GetStageLogResponse); i { case 0: return &v.state case 1: @@ -7086,7 +7187,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SkipStageRequest); i { + switch v := v.(*CancelDeploymentRequest); i { case 0: return &v.state case 1: @@ -7098,7 +7199,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SkipStageResponse); i { + switch v := v.(*CancelDeploymentResponse); i { case 0: return &v.state case 1: @@ -7110,7 +7211,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ApproveStageRequest); i { + switch v := v.(*SkipStageRequest); i { case 0: return &v.state case 1: @@ -7122,7 +7223,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ApproveStageResponse); i { + switch v := v.(*SkipStageResponse); i { case 0: return &v.state case 1: @@ -7134,7 +7235,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetApplicationLiveStateRequest); i { + switch v := v.(*ApproveStageRequest); i { case 0: return &v.state case 1: @@ -7146,7 +7247,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetApplicationLiveStateResponse); i { + switch v := v.(*ApproveStageResponse); i { case 0: return &v.state case 1: @@ -7158,7 +7259,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetProjectRequest); i { + switch v := v.(*GetApplicationLiveStateRequest); i { case 0: return &v.state case 1: @@ -7170,7 +7271,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetProjectResponse); i { + switch v := v.(*GetApplicationLiveStateResponse); i { case 0: return &v.state case 1: @@ -7182,7 +7283,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateProjectStaticAdminRequest); i { + switch v := v.(*GetProjectRequest); i { case 0: return &v.state case 1: @@ -7194,7 +7295,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateProjectStaticAdminResponse); i { + switch v := v.(*GetProjectResponse); i { case 0: return &v.state case 1: @@ -7206,7 +7307,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateProjectSSOConfigRequest); i { + switch v := v.(*UpdateProjectStaticAdminRequest); i { case 0: return &v.state case 1: @@ -7218,7 +7319,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateProjectSSOConfigResponse); i { + switch v := v.(*UpdateProjectStaticAdminResponse); i { case 0: return &v.state case 1: @@ -7230,7 +7331,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateProjectRBACConfigRequest); i { + switch v := v.(*UpdateProjectSSOConfigRequest); i { case 0: return &v.state case 1: @@ -7242,7 +7343,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateProjectRBACConfigResponse); i { + switch v := v.(*UpdateProjectSSOConfigResponse); i { case 0: return &v.state case 1: @@ -7254,7 +7355,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EnableStaticAdminRequest); i { + switch v := v.(*UpdateProjectRBACConfigRequest); i { case 0: return &v.state case 1: @@ -7266,7 +7367,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EnableStaticAdminResponse); i { + switch v := v.(*UpdateProjectRBACConfigResponse); i { case 0: return &v.state case 1: @@ -7278,7 +7379,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisableStaticAdminRequest); i { + switch v := v.(*EnableStaticAdminRequest); i { case 0: return &v.state case 1: @@ -7290,7 +7391,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisableStaticAdminResponse); i { + switch v := v.(*EnableStaticAdminResponse); i { case 0: return &v.state case 1: @@ -7302,7 +7403,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMeRequest); i { + switch v := v.(*DisableStaticAdminRequest); i { case 0: return &v.state case 1: @@ -7314,7 +7415,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMeResponse); i { + switch v := v.(*DisableStaticAdminResponse); i { case 0: return &v.state case 1: @@ -7326,7 +7427,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListProjectRBACRolesRequest); i { + switch v := v.(*GetMeRequest); i { case 0: return &v.state case 1: @@ -7338,7 +7439,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListProjectRBACRolesResponse); i { + switch v := v.(*GetMeResponse); i { case 0: return &v.state case 1: @@ -7350,7 +7451,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddProjectRBACRoleRequest); i { + switch v := v.(*ListProjectRBACRolesRequest); i { case 0: return &v.state case 1: @@ -7362,7 +7463,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddProjectRBACRoleResponse); i { + switch v := v.(*ListProjectRBACRolesResponse); i { case 0: return &v.state case 1: @@ -7374,7 +7475,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateProjectRBACRoleRequest); i { + switch v := v.(*AddProjectRBACRoleRequest); i { case 0: return &v.state case 1: @@ -7386,7 +7487,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateProjectRBACRoleResponse); i { + switch v := v.(*AddProjectRBACRoleResponse); i { case 0: return &v.state case 1: @@ -7398,7 +7499,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteProjectRBACRoleRequest); i { + switch v := v.(*UpdateProjectRBACRoleRequest); i { case 0: return &v.state case 1: @@ -7410,7 +7511,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteProjectRBACRoleResponse); i { + switch v := v.(*UpdateProjectRBACRoleResponse); i { case 0: return &v.state case 1: @@ -7422,7 +7523,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListProjectUserGroupsRequest); i { + switch v := v.(*DeleteProjectRBACRoleRequest); i { case 0: return &v.state case 1: @@ -7434,7 +7535,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListProjectUserGroupsResponses); i { + switch v := v.(*DeleteProjectRBACRoleResponse); i { case 0: return &v.state case 1: @@ -7446,7 +7547,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddProjectUserGroupRequest); i { + switch v := v.(*ListProjectUserGroupsRequest); i { case 0: return &v.state case 1: @@ -7458,7 +7559,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddProjectUserGroupResponse); i { + switch v := v.(*ListProjectUserGroupsResponses); i { case 0: return &v.state case 1: @@ -7470,7 +7571,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteProjectUserGroupRequest); i { + switch v := v.(*AddProjectUserGroupRequest); i { case 0: return &v.state case 1: @@ -7482,7 +7583,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteProjectUserGroupResponse); i { + switch v := v.(*AddProjectUserGroupResponse); i { case 0: return &v.state case 1: @@ -7494,7 +7595,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCommandRequest); i { + switch v := v.(*DeleteProjectUserGroupRequest); i { case 0: return &v.state case 1: @@ -7506,7 +7607,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCommandResponse); i { + switch v := v.(*DeleteProjectUserGroupResponse); i { case 0: return &v.state case 1: @@ -7518,7 +7619,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GenerateAPIKeyRequest); i { + switch v := v.(*GetCommandRequest); i { case 0: return &v.state case 1: @@ -7530,7 +7631,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GenerateAPIKeyResponse); i { + switch v := v.(*GetCommandResponse); i { case 0: return &v.state case 1: @@ -7542,7 +7643,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisableAPIKeyRequest); i { + switch v := v.(*GenerateAPIKeyRequest); i { case 0: return &v.state case 1: @@ -7554,7 +7655,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisableAPIKeyResponse); i { + switch v := v.(*GenerateAPIKeyResponse); i { case 0: return &v.state case 1: @@ -7566,7 +7667,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListAPIKeysRequest); i { + switch v := v.(*DisableAPIKeyRequest); i { case 0: return &v.state case 1: @@ -7578,7 +7679,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListAPIKeysResponse); i { + switch v := v.(*DisableAPIKeyResponse); i { case 0: return &v.state case 1: @@ -7590,7 +7691,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetInsightDataRequest); i { + switch v := v.(*ListAPIKeysRequest); i { case 0: return &v.state case 1: @@ -7602,7 +7703,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetInsightDataResponse); i { + switch v := v.(*ListAPIKeysResponse); i { case 0: return &v.state case 1: @@ -7614,7 +7715,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetInsightApplicationCountRequest); i { + switch v := v.(*GetInsightDataRequest); i { case 0: return &v.state case 1: @@ -7626,7 +7727,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetInsightApplicationCountResponse); i { + switch v := v.(*GetInsightDataResponse); i { case 0: return &v.state case 1: @@ -7638,7 +7739,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListDeploymentChainsRequest); i { + switch v := v.(*GetInsightApplicationCountRequest); i { case 0: return &v.state case 1: @@ -7650,7 +7751,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListDeploymentChainsResponse); i { + switch v := v.(*GetInsightApplicationCountResponse); i { case 0: return &v.state case 1: @@ -7662,7 +7763,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDeploymentChainRequest); i { + switch v := v.(*ListDeploymentChainsRequest); i { case 0: return &v.state case 1: @@ -7674,7 +7775,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDeploymentChainResponse); i { + switch v := v.(*ListDeploymentChainsResponse); i { case 0: return &v.state case 1: @@ -7686,7 +7787,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListEventsRequest); i { + switch v := v.(*GetDeploymentChainRequest); i { case 0: return &v.state case 1: @@ -7698,7 +7799,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListEventsResponse); i { + switch v := v.(*GetDeploymentChainResponse); i { case 0: return &v.state case 1: @@ -7710,7 +7811,19 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListPipedsRequest_Options); i { + switch v := v.(*ListEventsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_app_server_service_webservice_service_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListEventsResponse); i { case 0: return &v.state case 1: @@ -7722,7 +7835,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListApplicationsRequest_Options); i { + switch v := v.(*ListPipedsRequest_Options); i { case 0: return &v.state case 1: @@ -7734,7 +7847,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListDeploymentsRequest_Options); i { + switch v := v.(*ListApplicationsRequest_Options); i { case 0: return &v.state case 1: @@ -7746,6 +7859,18 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDeploymentsRequest_Options); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_app_server_service_webservice_service_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListAPIKeysRequest_Options); i { case 0: return &v.state @@ -7757,7 +7882,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { return nil } } - file_pkg_app_server_service_webservice_service_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { + file_pkg_app_server_service_webservice_service_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListDeploymentChainsRequest_Options); i { case 0: return &v.state @@ -7769,7 +7894,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { return nil } } - file_pkg_app_server_service_webservice_service_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { + file_pkg_app_server_service_webservice_service_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListEventsRequest_Options); i { case 0: return &v.state @@ -7788,7 +7913,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pkg_app_server_service_webservice_service_proto_rawDesc, NumEnums: 0, - NumMessages: 108, + NumMessages: 110, NumExtensions: 0, NumServices: 1, }, diff --git a/pkg/app/server/service/webservice/service.pb.validate.go b/pkg/app/server/service/webservice/service.pb.validate.go index d021e60115..d068614ed8 100644 --- a/pkg/app/server/service/webservice/service.pb.validate.go +++ b/pkg/app/server/service/webservice/service.pb.validate.go @@ -902,6 +902,221 @@ var _ interface { ErrorName() string } = DeleteOldPipedKeysResponseValidationError{} +// Validate checks the field values on RestartPipedRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *RestartPipedRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on RestartPipedRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// RestartPipedRequestMultiError, or nil if none found. +func (m *RestartPipedRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *RestartPipedRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if utf8.RuneCountInString(m.GetPipedId()) < 1 { + err := RestartPipedRequestValidationError{ + field: "PipedId", + reason: "value length must be at least 1 runes", + } + if !all { + return err + } + errors = append(errors, err) + } + + if len(errors) > 0 { + return RestartPipedRequestMultiError(errors) + } + + return nil +} + +// RestartPipedRequestMultiError is an error wrapping multiple validation +// errors returned by RestartPipedRequest.ValidateAll() if the designated +// constraints aren't met. +type RestartPipedRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m RestartPipedRequestMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m RestartPipedRequestMultiError) AllErrors() []error { return m } + +// RestartPipedRequestValidationError is the validation error returned by +// RestartPipedRequest.Validate if the designated constraints aren't met. +type RestartPipedRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e RestartPipedRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e RestartPipedRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e RestartPipedRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e RestartPipedRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e RestartPipedRequestValidationError) ErrorName() string { + return "RestartPipedRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e RestartPipedRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sRestartPipedRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = RestartPipedRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = RestartPipedRequestValidationError{} + +// Validate checks the field values on RestartPipedResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *RestartPipedResponse) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on RestartPipedResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// RestartPipedResponseMultiError, or nil if none found. +func (m *RestartPipedResponse) ValidateAll() error { + return m.validate(true) +} + +func (m *RestartPipedResponse) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if len(errors) > 0 { + return RestartPipedResponseMultiError(errors) + } + + return nil +} + +// RestartPipedResponseMultiError is an error wrapping multiple validation +// errors returned by RestartPipedResponse.ValidateAll() if the designated +// constraints aren't met. +type RestartPipedResponseMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m RestartPipedResponseMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m RestartPipedResponseMultiError) AllErrors() []error { return m } + +// RestartPipedResponseValidationError is the validation error returned by +// RestartPipedResponse.Validate if the designated constraints aren't met. +type RestartPipedResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e RestartPipedResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e RestartPipedResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e RestartPipedResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e RestartPipedResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e RestartPipedResponseValidationError) ErrorName() string { + return "RestartPipedResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e RestartPipedResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sRestartPipedResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = RestartPipedResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = RestartPipedResponseValidationError{} + // Validate checks the field values on EnablePipedRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. diff --git a/pkg/app/server/service/webservice/service.proto b/pkg/app/server/service/webservice/service.proto index 6435bd09c4..e2569f8aa3 100644 --- a/pkg/app/server/service/webservice/service.proto +++ b/pkg/app/server/service/webservice/service.proto @@ -50,6 +50,9 @@ service WebService { rpc DeleteOldPipedKeys(DeleteOldPipedKeysRequest) returns (DeleteOldPipedKeysResponse) { option (model.role).project_role = ADMIN; } + rpc RestartPiped(RestartPipedRequest) returns (RestartPipedResponse) { + option (model.role).project_role = ADMIN; + } rpc EnablePiped(EnablePipedRequest) returns (EnablePipedResponse) { option (model.role).project_role = ADMIN; } @@ -225,6 +228,13 @@ message DeleteOldPipedKeysRequest { message DeleteOldPipedKeysResponse { } +message RestartPipedRequest { + string piped_id = 1 [(validate.rules).string.min_len = 1]; +} + +message RestartPipedResponse { +} + message EnablePipedRequest { string piped_id = 1 [(validate.rules).string.min_len = 1]; } diff --git a/pkg/app/server/service/webservice/service_grpc.pb.go b/pkg/app/server/service/webservice/service_grpc.pb.go index 4f7975d737..641f123b39 100644 --- a/pkg/app/server/service/webservice/service_grpc.pb.go +++ b/pkg/app/server/service/webservice/service_grpc.pb.go @@ -27,6 +27,7 @@ type WebServiceClient interface { UpdatePiped(ctx context.Context, in *UpdatePipedRequest, opts ...grpc.CallOption) (*UpdatePipedResponse, error) RecreatePipedKey(ctx context.Context, in *RecreatePipedKeyRequest, opts ...grpc.CallOption) (*RecreatePipedKeyResponse, error) DeleteOldPipedKeys(ctx context.Context, in *DeleteOldPipedKeysRequest, opts ...grpc.CallOption) (*DeleteOldPipedKeysResponse, error) + RestartPiped(ctx context.Context, in *RestartPipedRequest, opts ...grpc.CallOption) (*RestartPipedResponse, error) EnablePiped(ctx context.Context, in *EnablePipedRequest, opts ...grpc.CallOption) (*EnablePipedResponse, error) DisablePiped(ctx context.Context, in *DisablePipedRequest, opts ...grpc.CallOption) (*DisablePipedResponse, error) ListPipeds(ctx context.Context, in *ListPipedsRequest, opts ...grpc.CallOption) (*ListPipedsResponse, error) @@ -127,6 +128,15 @@ func (c *webServiceClient) DeleteOldPipedKeys(ctx context.Context, in *DeleteOld return out, nil } +func (c *webServiceClient) RestartPiped(ctx context.Context, in *RestartPipedRequest, opts ...grpc.CallOption) (*RestartPipedResponse, error) { + out := new(RestartPipedResponse) + err := c.cc.Invoke(ctx, "/grpc.service.webservice.WebService/RestartPiped", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *webServiceClient) EnablePiped(ctx context.Context, in *EnablePipedRequest, opts ...grpc.CallOption) (*EnablePipedResponse, error) { out := new(EnablePipedResponse) err := c.cc.Invoke(ctx, "/grpc.service.webservice.WebService/EnablePiped", in, out, opts...) @@ -541,6 +551,7 @@ type WebServiceServer interface { UpdatePiped(context.Context, *UpdatePipedRequest) (*UpdatePipedResponse, error) RecreatePipedKey(context.Context, *RecreatePipedKeyRequest) (*RecreatePipedKeyResponse, error) DeleteOldPipedKeys(context.Context, *DeleteOldPipedKeysRequest) (*DeleteOldPipedKeysResponse, error) + RestartPiped(context.Context, *RestartPipedRequest) (*RestartPipedResponse, error) EnablePiped(context.Context, *EnablePipedRequest) (*EnablePipedResponse, error) DisablePiped(context.Context, *DisablePipedRequest) (*DisablePipedResponse, error) ListPipeds(context.Context, *ListPipedsRequest) (*ListPipedsResponse, error) @@ -614,6 +625,9 @@ func (UnimplementedWebServiceServer) RecreatePipedKey(context.Context, *Recreate func (UnimplementedWebServiceServer) DeleteOldPipedKeys(context.Context, *DeleteOldPipedKeysRequest) (*DeleteOldPipedKeysResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteOldPipedKeys not implemented") } +func (UnimplementedWebServiceServer) RestartPiped(context.Context, *RestartPipedRequest) (*RestartPipedResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RestartPiped not implemented") +} func (UnimplementedWebServiceServer) EnablePiped(context.Context, *EnablePipedRequest) (*EnablePipedResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method EnablePiped not implemented") } @@ -834,6 +848,24 @@ func _WebService_DeleteOldPipedKeys_Handler(srv interface{}, ctx context.Context return interceptor(ctx, in, info, handler) } +func _WebService_RestartPiped_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RestartPipedRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WebServiceServer).RestartPiped(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.service.webservice.WebService/RestartPiped", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WebServiceServer).RestartPiped(ctx, req.(*RestartPipedRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _WebService_EnablePiped_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(EnablePipedRequest) if err := dec(in); err != nil { @@ -1667,6 +1699,10 @@ var WebService_ServiceDesc = grpc.ServiceDesc{ MethodName: "DeleteOldPipedKeys", Handler: _WebService_DeleteOldPipedKeys_Handler, }, + { + MethodName: "RestartPiped", + Handler: _WebService_RestartPiped_Handler, + }, { MethodName: "EnablePiped", Handler: _WebService_EnablePiped_Handler, diff --git a/pkg/model/piped.pb.go b/pkg/model/piped.pb.go index cff9321ca5..6bcc5cdd10 100644 --- a/pkg/model/piped.pb.go +++ b/pkg/model/piped.pb.go @@ -120,6 +120,8 @@ type Piped struct { // Launcher uses this value to compare with the currently running version // to determine whether Piped should be restarted with another version or not. DesiredVersion string `protobuf:"bytes,30,opt,name=desired_version,json=desiredVersion,proto3" json:"desired_version,omitempty"` + // The flag to determine whether Piped should be restarted with current config. + NeedRestart bool `protobuf:"varint,31,opt,name=need_restart,json=needRestart,proto3" json:"need_restart,omitempty"` // Whether the piped is disabled or not. Disabled bool `protobuf:"varint,13,opt,name=disabled,proto3" json:"disabled,omitempty"` // Unix time when the piped is created. @@ -252,6 +254,13 @@ func (x *Piped) GetDesiredVersion() string { return "" } +func (x *Piped) GetNeedRestart() bool { + if x != nil { + return x.NeedRestart + } + return false +} + func (x *Piped) GetDisabled() bool { if x != nil { return x.Disabled @@ -465,7 +474,7 @@ var file_pkg_model_piped_proto_rawDesc = []byte{ 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x70, 0x6b, 0x67, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0xd6, 0x07, 0x0a, 0x05, 0x50, 0x69, 0x70, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0xf9, 0x07, 0x0a, 0x05, 0x50, 0x69, 0x70, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, @@ -500,43 +509,45 @@ var file_pkg_model_piped_proto_rawDesc = []byte{ 0x2e, 0x50, 0x69, 0x70, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, - 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x22, 0x02, 0x20, - 0x00, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x26, 0x0a, 0x0a, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, - 0x42, 0x07, 0xfa, 0x42, 0x04, 0x22, 0x02, 0x20, 0x00, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x1a, 0x49, 0x0a, 0x0d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, - 0xa6, 0x01, 0x0a, 0x10, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x27, 0xfa, 0x42, 0x24, 0x72, 0x22, 0x52, 0x08, 0x4b, 0x45, 0x59, 0x5f, 0x50, - 0x41, 0x49, 0x52, 0x52, 0x07, 0x47, 0x43, 0x50, 0x5f, 0x4b, 0x4d, 0x53, 0x52, 0x07, 0x41, 0x57, - 0x53, 0x5f, 0x4b, 0x4d, 0x53, 0x52, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x52, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, - 0x12, 0x36, 0x0a, 0x17, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x15, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x38, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, - 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x4e, 0x4c, - 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, - 0x10, 0x02, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x22, 0x72, 0x0a, 0x08, 0x50, 0x69, 0x70, 0x65, - 0x64, 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x68, 0x61, 0x73, - 0x68, 0x12, 0x21, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x26, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x22, 0x02, 0x20, - 0x00, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x42, 0x25, 0x5a, 0x23, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x2d, - 0x63, 0x64, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x63, 0x64, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x65, 0x64, + 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, + 0x6e, 0x65, 0x65, 0x64, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, 0xfa, 0x42, 0x04, + 0x22, 0x02, 0x20, 0x00, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, + 0x26, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x03, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x22, 0x02, 0x20, 0x00, 0x52, 0x09, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x1a, 0x49, 0x0a, 0x0d, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x1a, 0xa6, 0x01, 0x0a, 0x10, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x45, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xfa, 0x42, 0x24, 0x72, 0x22, 0x52, 0x08, 0x4b, 0x45, + 0x59, 0x5f, 0x50, 0x41, 0x49, 0x52, 0x52, 0x07, 0x47, 0x43, 0x50, 0x5f, 0x4b, 0x4d, 0x53, 0x52, + 0x07, 0x41, 0x57, 0x53, 0x5f, 0x4b, 0x4d, 0x53, 0x52, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, + 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x4b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x17, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x38, 0x0a, 0x10, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, + 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x46, 0x46, 0x4c, + 0x49, 0x4e, 0x45, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x22, 0x72, 0x0a, 0x08, 0x50, + 0x69, 0x70, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, + 0x68, 0x61, 0x73, 0x68, 0x12, 0x21, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x26, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, 0xfa, 0x42, 0x04, + 0x22, 0x02, 0x20, 0x00, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x42, + 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x69, + 0x70, 0x65, 0x2d, 0x63, 0x64, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x63, 0x64, 0x2f, 0x70, 0x6b, 0x67, + 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/pkg/model/piped.pb.validate.go b/pkg/model/piped.pb.validate.go index 1dff320b97..7744b5ee67 100644 --- a/pkg/model/piped.pb.validate.go +++ b/pkg/model/piped.pb.validate.go @@ -241,6 +241,8 @@ func (m *Piped) validate(all bool) error { // no validation rules for DesiredVersion + // no validation rules for NeedRestart + // no validation rules for Disabled if m.GetCreatedAt() <= 0 { diff --git a/pkg/model/piped.proto b/pkg/model/piped.proto index f89a4ef5cc..fc71445bf8 100644 --- a/pkg/model/piped.proto +++ b/pkg/model/piped.proto @@ -72,6 +72,8 @@ message Piped { // Launcher uses this value to compare with the currently running version // to determine whether Piped should be restarted with another version or not. string desired_version = 30; + // The flag to determine whether Piped should be restarted with current config. + bool need_restart = 31; // Whether the piped is disabled or not. bool disabled = 13; diff --git a/web/api_client/service_grpc_web_pb.d.ts b/web/api_client/service_grpc_web_pb.d.ts index 6189490337..a0798bf112 100644 --- a/web/api_client/service_grpc_web_pb.d.ts +++ b/web/api_client/service_grpc_web_pb.d.ts @@ -36,6 +36,13 @@ export class WebServiceClient { response: pkg_app_server_service_webservice_service_pb.DeleteOldPipedKeysResponse) => void ): grpcWeb.ClientReadableStream; + restartPiped( + request: pkg_app_server_service_webservice_service_pb.RestartPipedRequest, + metadata: grpcWeb.Metadata | undefined, + callback: (err: grpcWeb.RpcError, + response: pkg_app_server_service_webservice_service_pb.RestartPipedResponse) => void + ): grpcWeb.ClientReadableStream; + enablePiped( request: pkg_app_server_service_webservice_service_pb.EnablePipedRequest, metadata: grpcWeb.Metadata | undefined, @@ -378,6 +385,11 @@ export class WebServicePromiseClient { metadata?: grpcWeb.Metadata ): Promise; + restartPiped( + request: pkg_app_server_service_webservice_service_pb.RestartPipedRequest, + metadata?: grpcWeb.Metadata + ): Promise; + enablePiped( request: pkg_app_server_service_webservice_service_pb.EnablePipedRequest, metadata?: grpcWeb.Metadata diff --git a/web/api_client/service_grpc_web_pb.js b/web/api_client/service_grpc_web_pb.js index aeb608ddf6..49b5500d1c 100644 --- a/web/api_client/service_grpc_web_pb.js +++ b/web/api_client/service_grpc_web_pb.js @@ -348,6 +348,67 @@ proto.grpc.service.webservice.WebServicePromiseClient.prototype.deleteOldPipedKe }; +/** + * @const + * @type {!grpc.web.MethodDescriptor< + * !proto.grpc.service.webservice.RestartPipedRequest, + * !proto.grpc.service.webservice.RestartPipedResponse>} + */ +const methodDescriptor_WebService_RestartPiped = new grpc.web.MethodDescriptor( + '/grpc.service.webservice.WebService/RestartPiped', + grpc.web.MethodType.UNARY, + proto.grpc.service.webservice.RestartPipedRequest, + proto.grpc.service.webservice.RestartPipedResponse, + /** + * @param {!proto.grpc.service.webservice.RestartPipedRequest} request + * @return {!Uint8Array} + */ + function(request) { + return request.serializeBinary(); + }, + proto.grpc.service.webservice.RestartPipedResponse.deserializeBinary +); + + +/** + * @param {!proto.grpc.service.webservice.RestartPipedRequest} request The + * request proto + * @param {?Object} metadata User defined + * call metadata + * @param {function(?grpc.web.RpcError, ?proto.grpc.service.webservice.RestartPipedResponse)} + * callback The callback function(error, response) + * @return {!grpc.web.ClientReadableStream|undefined} + * The XHR Node Readable Stream + */ +proto.grpc.service.webservice.WebServiceClient.prototype.restartPiped = + function(request, metadata, callback) { + return this.client_.rpcCall(this.hostname_ + + '/grpc.service.webservice.WebService/RestartPiped', + request, + metadata || {}, + methodDescriptor_WebService_RestartPiped, + callback); +}; + + +/** + * @param {!proto.grpc.service.webservice.RestartPipedRequest} request The + * request proto + * @param {?Object=} metadata User defined + * call metadata + * @return {!Promise} + * Promise that resolves to the response + */ +proto.grpc.service.webservice.WebServicePromiseClient.prototype.restartPiped = + function(request, metadata) { + return this.client_.unaryCall(this.hostname_ + + '/grpc.service.webservice.WebService/RestartPiped', + request, + metadata || {}, + methodDescriptor_WebService_RestartPiped); +}; + + /** * @const * @type {!grpc.web.MethodDescriptor< diff --git a/web/api_client/service_pb.d.ts b/web/api_client/service_pb.d.ts index 904a0cb4dc..4b570f979e 100644 --- a/web/api_client/service_pb.d.ts +++ b/web/api_client/service_pb.d.ts @@ -170,6 +170,38 @@ export namespace DeleteOldPipedKeysResponse { } } +export class RestartPipedRequest extends jspb.Message { + getPipedId(): string; + setPipedId(value: string): RestartPipedRequest; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): RestartPipedRequest.AsObject; + static toObject(includeInstance: boolean, msg: RestartPipedRequest): RestartPipedRequest.AsObject; + static serializeBinaryToWriter(message: RestartPipedRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): RestartPipedRequest; + static deserializeBinaryFromReader(message: RestartPipedRequest, reader: jspb.BinaryReader): RestartPipedRequest; +} + +export namespace RestartPipedRequest { + export type AsObject = { + pipedId: string, + } +} + +export class RestartPipedResponse extends jspb.Message { + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): RestartPipedResponse.AsObject; + static toObject(includeInstance: boolean, msg: RestartPipedResponse): RestartPipedResponse.AsObject; + static serializeBinaryToWriter(message: RestartPipedResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): RestartPipedResponse; + static deserializeBinaryFromReader(message: RestartPipedResponse, reader: jspb.BinaryReader): RestartPipedResponse; +} + +export namespace RestartPipedResponse { + export type AsObject = { + } +} + export class EnablePipedRequest extends jspb.Message { getPipedId(): string; setPipedId(value: string): EnablePipedRequest; diff --git a/web/api_client/service_pb.js b/web/api_client/service_pb.js index bd5a73bce8..d8116b5165 100644 --- a/web/api_client/service_pb.js +++ b/web/api_client/service_pb.js @@ -139,6 +139,8 @@ goog.exportSymbol('proto.grpc.service.webservice.RecreatePipedKeyRequest', null, goog.exportSymbol('proto.grpc.service.webservice.RecreatePipedKeyResponse', null, global); goog.exportSymbol('proto.grpc.service.webservice.RegisterPipedRequest', null, global); goog.exportSymbol('proto.grpc.service.webservice.RegisterPipedResponse', null, global); +goog.exportSymbol('proto.grpc.service.webservice.RestartPipedRequest', null, global); +goog.exportSymbol('proto.grpc.service.webservice.RestartPipedResponse', null, global); goog.exportSymbol('proto.grpc.service.webservice.SkipStageRequest', null, global); goog.exportSymbol('proto.grpc.service.webservice.SkipStageResponse', null, global); goog.exportSymbol('proto.grpc.service.webservice.SyncApplicationRequest', null, global); @@ -325,6 +327,48 @@ if (goog.DEBUG && !COMPILED) { */ proto.grpc.service.webservice.DeleteOldPipedKeysResponse.displayName = 'proto.grpc.service.webservice.DeleteOldPipedKeysResponse'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.grpc.service.webservice.RestartPipedRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.grpc.service.webservice.RestartPipedRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.grpc.service.webservice.RestartPipedRequest.displayName = 'proto.grpc.service.webservice.RestartPipedRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.grpc.service.webservice.RestartPipedResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.grpc.service.webservice.RestartPipedResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.grpc.service.webservice.RestartPipedResponse.displayName = 'proto.grpc.service.webservice.RestartPipedResponse'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -3446,6 +3490,237 @@ proto.grpc.service.webservice.DeleteOldPipedKeysResponse.serializeBinaryToWriter +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.grpc.service.webservice.RestartPipedRequest.prototype.toObject = function(opt_includeInstance) { + return proto.grpc.service.webservice.RestartPipedRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.grpc.service.webservice.RestartPipedRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.grpc.service.webservice.RestartPipedRequest.toObject = function(includeInstance, msg) { + var f, obj = { + pipedId: jspb.Message.getFieldWithDefault(msg, 1, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.grpc.service.webservice.RestartPipedRequest} + */ +proto.grpc.service.webservice.RestartPipedRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.grpc.service.webservice.RestartPipedRequest; + return proto.grpc.service.webservice.RestartPipedRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.grpc.service.webservice.RestartPipedRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.grpc.service.webservice.RestartPipedRequest} + */ +proto.grpc.service.webservice.RestartPipedRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setPipedId(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.grpc.service.webservice.RestartPipedRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.grpc.service.webservice.RestartPipedRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.grpc.service.webservice.RestartPipedRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.grpc.service.webservice.RestartPipedRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getPipedId(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } +}; + + +/** + * optional string piped_id = 1; + * @return {string} + */ +proto.grpc.service.webservice.RestartPipedRequest.prototype.getPipedId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.grpc.service.webservice.RestartPipedRequest} returns this + */ +proto.grpc.service.webservice.RestartPipedRequest.prototype.setPipedId = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.grpc.service.webservice.RestartPipedResponse.prototype.toObject = function(opt_includeInstance) { + return proto.grpc.service.webservice.RestartPipedResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.grpc.service.webservice.RestartPipedResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.grpc.service.webservice.RestartPipedResponse.toObject = function(includeInstance, msg) { + var f, obj = { + + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.grpc.service.webservice.RestartPipedResponse} + */ +proto.grpc.service.webservice.RestartPipedResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.grpc.service.webservice.RestartPipedResponse; + return proto.grpc.service.webservice.RestartPipedResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.grpc.service.webservice.RestartPipedResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.grpc.service.webservice.RestartPipedResponse} + */ +proto.grpc.service.webservice.RestartPipedResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.grpc.service.webservice.RestartPipedResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.grpc.service.webservice.RestartPipedResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.grpc.service.webservice.RestartPipedResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.grpc.service.webservice.RestartPipedResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; +}; + + + + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. diff --git a/web/model/piped_pb.d.ts b/web/model/piped_pb.d.ts index 1e9fe14801..153461037c 100644 --- a/web/model/piped_pb.d.ts +++ b/web/model/piped_pb.d.ts @@ -52,6 +52,9 @@ export class Piped extends jspb.Message { getDesiredVersion(): string; setDesiredVersion(value: string): Piped; + getNeedRestart(): boolean; + setNeedRestart(value: boolean): Piped; + getDisabled(): boolean; setDisabled(value: boolean): Piped; @@ -84,6 +87,7 @@ export namespace Piped { secretEncryption?: Piped.SecretEncryption.AsObject, keysList: Array, desiredVersion: string, + needRestart: boolean, disabled: boolean, createdAt: number, updatedAt: number, diff --git a/web/model/piped_pb.js b/web/model/piped_pb.js index 1d20dd90fd..9351631699 100644 --- a/web/model/piped_pb.js +++ b/web/model/piped_pb.js @@ -169,6 +169,7 @@ proto.model.Piped.toObject = function(includeInstance, msg) { keysList: jspb.Message.toObjectList(msg.getKeysList(), proto.model.PipedKey.toObject, includeInstance), desiredVersion: jspb.Message.getFieldWithDefault(msg, 30, ""), + needRestart: jspb.Message.getBooleanFieldWithDefault(msg, 31, false), disabled: jspb.Message.getBooleanFieldWithDefault(msg, 13, false), createdAt: jspb.Message.getFieldWithDefault(msg, 14, 0), updatedAt: jspb.Message.getFieldWithDefault(msg, 15, 0) @@ -264,6 +265,10 @@ proto.model.Piped.deserializeBinaryFromReader = function(msg, reader) { var value = /** @type {string} */ (reader.readString()); msg.setDesiredVersion(value); break; + case 31: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setNeedRestart(value); + break; case 13: var value = /** @type {boolean} */ (reader.readBool()); msg.setDisabled(value); @@ -400,6 +405,13 @@ proto.model.Piped.serializeBinaryToWriter = function(message, writer) { f ); } + f = message.getNeedRestart(); + if (f) { + writer.writeBool( + 31, + f + ); + } f = message.getDisabled(); if (f) { writer.writeBool( @@ -1096,6 +1108,24 @@ proto.model.Piped.prototype.setDesiredVersion = function(value) { }; +/** + * optional bool need_restart = 31; + * @return {boolean} + */ +proto.model.Piped.prototype.getNeedRestart = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 31, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.model.Piped} returns this + */ +proto.model.Piped.prototype.setNeedRestart = function(value) { + return jspb.Message.setProto3BooleanField(this, 31, value); +}; + + /** * optional bool disabled = 13; * @return {boolean} From 131a4e8968c31c9ac7fae2646b2fdd53252376c6 Mon Sep 17 00:00:00 2001 From: Tsubasa Umeuchi Date: Wed, 1 Jun 2022 17:31:21 +0900 Subject: [PATCH 2/8] Add API implementation for piped restart feature --- pkg/app/server/grpcapi/piped_api.go | 19 ++++++++++++++++++- pkg/app/server/grpcapi/web_api.go | 8 ++++++++ pkg/datastore/datastoretest/datastore.mock.go | 8 ++++---- pkg/datastore/pipedstore.go | 13 +++++++++++-- web/src/__fixtures__/dummy-piped.ts | 1 + web/src/api/piped.ts | 10 ++++++++++ web/src/modules/pipeds/index.ts | 8 ++++++++ 7 files changed, 60 insertions(+), 7 deletions(-) diff --git a/pkg/app/server/grpcapi/piped_api.go b/pkg/app/server/grpcapi/piped_api.go index 528cf148db..3d49edd288 100644 --- a/pkg/app/server/grpcapi/piped_api.go +++ b/pkg/app/server/grpcapi/piped_api.go @@ -69,7 +69,7 @@ type pipedApiDeploymentChainStore interface { type pipedApiPipedStore interface { Get(ctx context.Context, id string) (*model.Piped, error) - UpdateMetadata(ctx context.Context, id, version string, cps []*model.Piped_CloudProvider, repos []*model.ApplicationGitRepository, se *model.Piped_SecretEncryption, startedAt int64) error + UpdateMetadata(ctx context.Context, id, version string, cps []*model.Piped_CloudProvider, repos []*model.ApplicationGitRepository, se *model.Piped_SecretEncryption, needRestart bool, startedAt int64) error } type pipedApiEventStore interface { @@ -178,6 +178,7 @@ func (a *PipedAPI) ReportPipedMeta(ctx context.Context, req *pipedservice.Report req.CloudProviders, req.Repositories, req.SecretEncryption, + false, now, ); err != nil { return nil, gRPCEntityOperationError(err, fmt.Sprintf("update metadata of piped %s", pipedID)) @@ -863,6 +864,22 @@ func (a *PipedAPI) PutLatestAnalysisResult(ctx context.Context, req *pipedservic return &pipedservice.PutLatestAnalysisResultResponse{}, nil } +func (a *PipedAPI) GetNeedRestart(ctx context.Context, _ *pipedservice.GetNeedRestartRequest) (*pipedservice.GetNeedRestartResponse, error) { + _, pipedID, _, err := rpcauth.ExtractPipedToken(ctx) + if err != nil { + return nil, err + } + + piped, err := getPiped(ctx, a.pipedStore, pipedID, a.logger) + if err != nil { + return nil, err + } + + return &pipedservice.GetNeedRestartResponse{ + NeedRestart: piped.NeedRestart, + }, nil +} + func (a *PipedAPI) GetDesiredVersion(ctx context.Context, _ *pipedservice.GetDesiredVersionRequest) (*pipedservice.GetDesiredVersionResponse, error) { _, pipedID, _, err := rpcauth.ExtractPipedToken(ctx) if err != nil { diff --git a/pkg/app/server/grpcapi/web_api.go b/pkg/app/server/grpcapi/web_api.go index d1f503c56b..8b49ac0814 100644 --- a/pkg/app/server/grpcapi/web_api.go +++ b/pkg/app/server/grpcapi/web_api.go @@ -75,6 +75,7 @@ type webApiPipedStore interface { AddKey(ctx context.Context, id, keyHash, creator string, createdAt time.Time) error DeleteOldKeys(ctx context.Context, id string) error UpdateInfo(ctx context.Context, id, name, desc string) error + RestartPiped(ctx context.Context, id string) error EnablePiped(ctx context.Context, id string) error DisablePiped(ctx context.Context, id string) error UpdateDesiredVersion(ctx context.Context, id, version string) error @@ -258,6 +259,13 @@ func (a *WebAPI) DeleteOldPipedKeys(ctx context.Context, req *webservice.DeleteO return &webservice.DeleteOldPipedKeysResponse{}, nil } +func (a *WebAPI) RestartPiped(ctx context.Context, req *webservice.RestartPipedRequest) (*webservice.RestartPipedResponse, error) { + if err := a.updatePiped(ctx, req.PipedId, a.pipedStore.RestartPiped); err != nil { + return nil, err + } + return &webservice.RestartPipedResponse{}, nil +} + func (a *WebAPI) EnablePiped(ctx context.Context, req *webservice.EnablePipedRequest) (*webservice.EnablePipedResponse, error) { if err := a.updatePiped(ctx, req.PipedId, a.pipedStore.EnablePiped); err != nil { return nil, err diff --git a/pkg/datastore/datastoretest/datastore.mock.go b/pkg/datastore/datastoretest/datastore.mock.go index 255fd5900d..6f12b37054 100644 --- a/pkg/datastore/datastoretest/datastore.mock.go +++ b/pkg/datastore/datastoretest/datastore.mock.go @@ -403,17 +403,17 @@ func (mr *MockPipedStoreMockRecorder) UpdateInfo(arg0, arg1, arg2, arg3 interfac } // UpdateMetadata mocks base method. -func (m *MockPipedStore) UpdateMetadata(arg0 context.Context, arg1, arg2 string, arg3 []*model.Piped_CloudProvider, arg4 []*model.ApplicationGitRepository, arg5 *model.Piped_SecretEncryption, arg6 int64) error { +func (m *MockPipedStore) UpdateMetadata(arg0 context.Context, arg1, arg2 string, arg3 []*model.Piped_CloudProvider, arg4 []*model.ApplicationGitRepository, arg5 *model.Piped_SecretEncryption, arg6 bool, arg7 int64) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "UpdateMetadata", arg0, arg1, arg2, arg3, arg4, arg5, arg6) + ret := m.ctrl.Call(m, "UpdateMetadata", arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) ret0, _ := ret[0].(error) return ret0 } // UpdateMetadata indicates an expected call of UpdateMetadata. -func (mr *MockPipedStoreMockRecorder) UpdateMetadata(arg0, arg1, arg2, arg3, arg4, arg5, arg6 interface{}) *gomock.Call { +func (mr *MockPipedStoreMockRecorder) UpdateMetadata(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateMetadata", reflect.TypeOf((*MockPipedStore)(nil).UpdateMetadata), arg0, arg1, arg2, arg3, arg4, arg5, arg6) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateMetadata", reflect.TypeOf((*MockPipedStore)(nil).UpdateMetadata), arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) } // MockApplicationStore is a mock of ApplicationStore interface. diff --git a/pkg/datastore/pipedstore.go b/pkg/datastore/pipedstore.go index 6336dd5f79..605a977f9a 100644 --- a/pkg/datastore/pipedstore.go +++ b/pkg/datastore/pipedstore.go @@ -114,7 +114,7 @@ type PipedStore interface { EnablePiped(ctx context.Context, id string) error DisablePiped(ctx context.Context, id string) error UpdateDesiredVersion(ctx context.Context, id, version string) error - UpdateMetadata(ctx context.Context, id, version string, cps []*model.Piped_CloudProvider, repos []*model.ApplicationGitRepository, se *model.Piped_SecretEncryption, startedAt int64) error + UpdateMetadata(ctx context.Context, id, version string, cps []*model.Piped_CloudProvider, repos []*model.ApplicationGitRepository, se *model.Piped_SecretEncryption, needRestart bool, startedAt int64) error AddKey(ctx context.Context, id, keyHash, creator string, createdAt time.Time) error DeleteOldKeys(ctx context.Context, id string) error } @@ -198,6 +198,14 @@ func (s *pipedStore) UpdateInfo(ctx context.Context, id, name, desc string) erro }) } +func (s *pipedStore) RestartPiped(ctx context.Context, id string) error { + return s.update(ctx, id, func(piped *model.Piped) error { + piped.NeedRestart = true + piped.UpdatedAt = time.Now().Unix() + return nil + }) +} + func (s *pipedStore) EnablePiped(ctx context.Context, id string) error { return s.update(ctx, id, func(piped *model.Piped) error { piped.Disabled = false @@ -221,12 +229,13 @@ func (s *pipedStore) UpdateDesiredVersion(ctx context.Context, id, version strin }) } -func (s *pipedStore) UpdateMetadata(ctx context.Context, id, version string, cps []*model.Piped_CloudProvider, repos []*model.ApplicationGitRepository, se *model.Piped_SecretEncryption, startedAt int64) error { +func (s *pipedStore) UpdateMetadata(ctx context.Context, id, version string, cps []*model.Piped_CloudProvider, repos []*model.ApplicationGitRepository, se *model.Piped_SecretEncryption, needRestart bool, startedAt int64) error { return s.update(ctx, id, func(piped *model.Piped) error { piped.CloudProviders = cps piped.Repositories = repos piped.SecretEncryption = se piped.Version = version + piped.NeedRestart = needRestart piped.StartedAt = startedAt return nil }) diff --git a/web/src/__fixtures__/dummy-piped.ts b/web/src/__fixtures__/dummy-piped.ts index 282fd41d71..d79f86051d 100644 --- a/web/src/__fixtures__/dummy-piped.ts +++ b/web/src/__fixtures__/dummy-piped.ts @@ -27,6 +27,7 @@ export const dummyPiped: Piped.AsObject = { updatedAt: updatedAt.unix(), version: "v0.1", desiredVersion: "v1.0.0", + needRestart: false, status: Piped.ConnectionStatus.ONLINE, keyHash: "12345", keysList: [ diff --git a/web/src/api/piped.ts b/web/src/api/piped.ts index ea2ec66162..7cfccdd260 100644 --- a/web/src/api/piped.ts +++ b/web/src/api/piped.ts @@ -18,6 +18,8 @@ import { DeleteOldPipedKeysResponse, UpdatePipedDesiredVersionRequest, UpdatePipedDesiredVersionResponse, + RestartPipedRequest, + RestartPipedResponse, } from "pipecd/web/api_client/service_pb"; export const getPipeds = ({ @@ -38,6 +40,14 @@ export const registerPiped = ({ return apiRequest(req, apiClient.registerPiped); }; +export const restartPiped = ({ + pipedId, +}: RestartPipedRequest.AsObject): Promise => { + const req = new RestartPipedRequest(); + req.setPipedId(pipedId); + return apiRequest(req, apiClient.restartPiped); +}; + export const disablePiped = ({ pipedId, }: DisablePipedRequest.AsObject): Promise => { diff --git a/web/src/modules/pipeds/index.ts b/web/src/modules/pipeds/index.ts index a29b1bf044..268a51e6e0 100644 --- a/web/src/modules/pipeds/index.ts +++ b/web/src/modules/pipeds/index.ts @@ -49,6 +49,14 @@ export const addPiped = createAsyncThunk< return { ...res, isNewKey: false }; }); + +export const restartPiped = createAsyncThunk( + `${MODULE_NAME}/restart`, + async ({ pipedId }) => { + await pipedsApi.restartPiped({ pipedId }); + } +); + export const disablePiped = createAsyncThunk( `${MODULE_NAME}/disable`, async ({ pipedId }) => { From b2758348f72390a4bba6232efd6f6b535f8b67e4 Mon Sep 17 00:00:00 2001 From: Tsubasa Umeuchi Date: Wed, 1 Jun 2022 17:36:33 +0900 Subject: [PATCH 3/8] Update launcher for piped restart feature --- pkg/app/launcher/cmd/launcher/launcher.go | 60 ++++++++++++++++++++--- 1 file changed, 53 insertions(+), 7 deletions(-) diff --git a/pkg/app/launcher/cmd/launcher/launcher.go b/pkg/app/launcher/cmd/launcher/launcher.go index f6abfcdd48..77fc63eda6 100644 --- a/pkg/app/launcher/cmd/launcher/launcher.go +++ b/pkg/app/launcher/cmd/launcher/launcher.go @@ -227,7 +227,7 @@ func (l *launcher) run(ctx context.Context, input cli.Input) error { ) execute := func() error { - version, config, relaunch, err := l.shouldRelaunch(ctx, input.Logger) + version, config, relaunchOption, err := l.shouldRelaunch(ctx, input.Logger) if err != nil { input.Logger.Error("LAUNCHER: failed while checking desired version and config", zap.String("version", version), @@ -236,14 +236,21 @@ func (l *launcher) run(ctx context.Context, input cli.Input) error { return err } - if !relaunch { + if !relaunchOption.ShouldRelaunch() { if runningPiped != nil && runningPiped.IsRunning() { input.Logger.Info("LAUNCHER: everything up-to-date", zap.String("version", l.runningVersion)) return nil } input.Logger.Warn("LAUNCHER: it seems the launched Piped has stopped unexpectedly") } - input.Logger.Info("LAUNCHER: will relaunch a new Piped because some changes in version/config were detected") + + if relaunchOption.withNewCfg { + input.Logger.Info("LAUNCHER: will relaunch a new Piped because some changes in version/config were detected") + } else if relaunchOption.withCurrentCfg { + // The restart request can be ignored when a new config is detected, + // because Piped will be relaunch anyway. + input.Logger.Info("LAUNCHER: will relaunch a new Piped because a restart request was sent") + } // Stop old piped process and clean its data. if err := l.cleanOldPiped(runningPiped, workingDir, input.Logger); err != nil { @@ -302,10 +309,19 @@ func (l *launcher) run(ctx context.Context, input cli.Input) error { return nil } +type RelaunchOption struct { + withCurrentCfg bool + withNewCfg bool +} + +func (o *RelaunchOption) ShouldRelaunch() bool { + return o.withCurrentCfg || o.withNewCfg +} + // shouldRelaunch fetches the latest state of desired version and config // to determine whether a new Piped should be launched or not. // This also returns the desired version and config. -func (l *launcher) shouldRelaunch(ctx context.Context, logger *zap.Logger) (version string, config []byte, should bool, err error) { +func (l *launcher) shouldRelaunch(ctx context.Context, logger *zap.Logger) (version string, config []byte, relaunchOption RelaunchOption, err error) { config, err = l.loadConfigData(ctx) if err != nil { logger.Error("LAUNCHER: error on loading Piped configuration data", zap.Error(err)) @@ -324,13 +340,20 @@ func (l *launcher) shouldRelaunch(ctx context.Context, logger *zap.Logger) (vers return } + shouldRelaunchWithCurrentCfg, err := l.getNeedRestart(ctx, cfg.APIAddress, cfg.ProjectID, cfg.PipedID, pipedKey, logger) + if err != nil { + logger.Error("LAUNCHER: error on checking restart flag", zap.Error(err)) + return + } + relaunchOption.withCurrentCfg = shouldRelaunchWithCurrentCfg + version, err = l.getDesiredVersion(ctx, cfg.APIAddress, cfg.ProjectID, cfg.PipedID, pipedKey, logger) if err != nil { logger.Error("LAUNCHER: error on checking desired version", zap.Error(err)) return } - should = version != l.runningVersion || !bytes.Equal(config, l.runningConfigData) + relaunchOption.withNewCfg = version != l.runningVersion || !bytes.Equal(config, l.runningConfigData) return } @@ -438,7 +461,7 @@ func (l *launcher) loadConfigData(ctx context.Context) ([]byte, error) { }, ", ")) } -func (l *launcher) getDesiredVersion(ctx context.Context, address, projectID, pipedID string, pipedKey []byte, logger *zap.Logger) (string, error) { +func (l *launcher) initClient(ctx context.Context, address, projectID, pipedID string, pipedKey []byte, logger *zap.Logger) error { clientKey := fmt.Sprintf("%s,%s,%s,%s", address, projectID, pipedID, string(pipedKey)) // In order to reduce the time of initializing gRPC client @@ -447,12 +470,35 @@ func (l *launcher) getDesiredVersion(ctx context.Context, address, projectID, pi client, err := l.createAPIClient(ctx, address, projectID, pipedID, pipedKey) if err != nil { logger.Error("LAUNCHER: failed to create api client", zap.Error(err)) - return "", err + return err } l.clientKey = clientKey l.client = client } + return nil +} + +func (l *launcher) getNeedRestart(ctx context.Context, address, projectID, pipedID string, pipedKey []byte, logger *zap.Logger) (bool, error) { + err := l.initClient(ctx, address, projectID, pipedID, pipedKey, logger) + if err != nil { + return false, err + } + + resp, err := l.client.GetNeedRestart(ctx, &pipedservice.GetNeedRestartRequest{}) + if err != nil { + return false, err + } + + return resp.NeedRestart, nil +} + +func (l *launcher) getDesiredVersion(ctx context.Context, address, projectID, pipedID string, pipedKey []byte, logger *zap.Logger) (string, error) { + err := l.initClient(ctx, address, projectID, pipedID, pipedKey, logger) + if err != nil { + return "", err + } + resp, err := l.client.GetDesiredVersion(ctx, &pipedservice.GetDesiredVersionRequest{}) if err != nil { return "", err From a3f402899ed750e1ae8607c34ec72178d694b884 Mon Sep 17 00:00:00 2001 From: Tsubasa Umeuchi Date: Wed, 1 Jun 2022 17:39:54 +0900 Subject: [PATCH 4/8] Fix bug --- pkg/datastore/pipedstore.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/datastore/pipedstore.go b/pkg/datastore/pipedstore.go index 605a977f9a..6a38b3e38d 100644 --- a/pkg/datastore/pipedstore.go +++ b/pkg/datastore/pipedstore.go @@ -111,6 +111,7 @@ type PipedStore interface { Get(ctx context.Context, id string) (*model.Piped, error) List(ctx context.Context, opts ListOptions) ([]*model.Piped, error) UpdateInfo(ctx context.Context, id, name, desc string) error + RestartPiped(ctx context.Context, id string) error EnablePiped(ctx context.Context, id string) error DisablePiped(ctx context.Context, id string) error UpdateDesiredVersion(ctx context.Context, id, version string) error From c41d0a0afee7f070b16381d3ac2db9f036c01208 Mon Sep 17 00:00:00 2001 From: Tsubasa Umeuchi Date: Wed, 1 Jun 2022 17:41:28 +0900 Subject: [PATCH 5/8] Exec gen/code --- pkg/datastore/datastoretest/datastore.mock.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkg/datastore/datastoretest/datastore.mock.go b/pkg/datastore/datastoretest/datastore.mock.go index 6f12b37054..ce5dfcf1a5 100644 --- a/pkg/datastore/datastoretest/datastore.mock.go +++ b/pkg/datastore/datastoretest/datastore.mock.go @@ -374,6 +374,20 @@ func (mr *MockPipedStoreMockRecorder) List(arg0, arg1 interface{}) *gomock.Call return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockPipedStore)(nil).List), arg0, arg1) } +// RestartPiped mocks base method. +func (m *MockPipedStore) RestartPiped(arg0 context.Context, arg1 string) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RestartPiped", arg0, arg1) + ret0, _ := ret[0].(error) + return ret0 +} + +// RestartPiped indicates an expected call of RestartPiped. +func (mr *MockPipedStoreMockRecorder) RestartPiped(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RestartPiped", reflect.TypeOf((*MockPipedStore)(nil).RestartPiped), arg0, arg1) +} + // UpdateDesiredVersion mocks base method. func (m *MockPipedStore) UpdateDesiredVersion(arg0 context.Context, arg1, arg2 string) error { m.ctrl.T.Helper() From 4ad8d24149ef40f4563a30f86ceedda597f3a5ba Mon Sep 17 00:00:00 2001 From: Tsubasa Umeuchi Date: Wed, 1 Jun 2022 17:57:59 +0900 Subject: [PATCH 6/8] Add web console elements for piped restart feature --- .../piped/components/piped-table-row.tsx | 11 +++++++++++ web/src/components/settings-page/piped/index.tsx | 16 ++++++++++++++++ web/src/constants/toast-text.ts | 1 + web/src/constants/ui-text.ts | 1 + 4 files changed, 29 insertions(+) diff --git a/web/src/components/settings-page/piped/components/piped-table-row.tsx b/web/src/components/settings-page/piped/components/piped-table-row.tsx index 2132bc58bb..a4d182d93e 100644 --- a/web/src/components/settings-page/piped/components/piped-table-row.tsx +++ b/web/src/components/settings-page/piped/components/piped-table-row.tsx @@ -31,6 +31,7 @@ import { UI_TEXT_DISABLE, UI_TEXT_EDIT, UI_TEXT_ENABLE, + UI_TEXT_RESTART, } from "~/constants/ui-text"; import { useAppDispatch, useAppSelector } from "~/hooks/redux"; import { @@ -77,6 +78,7 @@ const useStyles = makeStyles((theme) => ({ interface Props { pipedId: string; onEdit: (id: string) => void; + onRestart: (id: string) => void; onDisable: (id: string) => void; onEnable: (id: string) => void; } @@ -91,6 +93,7 @@ const menuStyle = { export const PipedTableRow: FC = memo(function PipedTableRow({ pipedId, + onRestart, onEnable, onDisable, onEdit, @@ -124,6 +127,11 @@ export const PipedTableRow: FC = memo(function PipedTableRow({ onEdit(pipedId); }, [pipedId, onEdit]); + const handleRestart = useCallback(() => { + setAnchorEl(null); + onRestart(pipedId); + }, [pipedId, onRestart]); + const handleAddNewKey = useCallback(() => { setAnchorEl(null); if (hasOldKey) { @@ -240,6 +248,9 @@ export const PipedTableRow: FC = memo(function PipedTableRow({ {UI_TEXT_EDIT} , + + {UI_TEXT_RESTART} + , {UI_TEXT_ADD_NEW_KEY} , diff --git a/web/src/components/settings-page/piped/index.tsx b/web/src/components/settings-page/piped/index.tsx index 9bcf5a25f5..3ece1b8663 100644 --- a/web/src/components/settings-page/piped/index.tsx +++ b/web/src/components/settings-page/piped/index.tsx @@ -25,6 +25,7 @@ import Alert from "@material-ui/lab/Alert"; import { createSelector } from "@reduxjs/toolkit"; import { FC, memo, useCallback, useState } from "react"; import { TextWithCopyButton } from "~/components/text-with-copy-button"; +import { RESTART_PIPED_SUCCESS } from "~/constants/toast-text"; import { UI_TEXT_ADD, UI_TEXT_CLOSE, @@ -36,6 +37,7 @@ import { useAppDispatch, useAppSelector } from "~/hooks/redux"; import { useInterval } from "~/hooks/use-interval"; import { clearRegisteredPipedInfo, + restartPiped, disablePiped, enablePiped, fetchPipeds, @@ -43,6 +45,7 @@ import { RegisteredPiped, selectAllPipeds, } from "~/modules/pipeds"; +import { addToast } from "~/modules/toasts"; import { AppState } from "~/store"; import { useSettingsStyles } from "../styles"; import { AddPipedDrawer } from "./components/add-piped-drawer"; @@ -104,6 +107,18 @@ export const SettingsPipedPage: FC = memo(function SettingsPipedPage() { (state) => state.pipeds.registeredPiped ); + const handleRestart = useCallback( + (id: string) => { + dispatch(restartPiped({ pipedId: id })).then(() => { + dispatch(fetchPipeds(true)); + dispatch( + addToast({ message: RESTART_PIPED_SUCCESS, severity: "success" }) + ); + }); + }, + [dispatch] + ); + const handleDisable = useCallback( (id: string) => { dispatch(disablePiped({ pipedId: id })).then(() => { @@ -197,6 +212,7 @@ export const SettingsPipedPage: FC = memo(function SettingsPipedPage() { key={piped.id} pipedId={piped.id} onEdit={handleEdit} + onRestart={handleRestart} onDisable={handleDisable} onEnable={handleEnable} /> diff --git a/web/src/constants/toast-text.ts b/web/src/constants/toast-text.ts index 7ecd614a64..b968e21d0e 100644 --- a/web/src/constants/toast-text.ts +++ b/web/src/constants/toast-text.ts @@ -8,6 +8,7 @@ export const GENERATE_API_KEY_SUCCESS = "Successfully generated API Key."; export const DISABLE_API_KEY_SUCCESS = "Successfully disabled API Key."; // Piped +export const RESTART_PIPED_SUCCESS = "Successfully requested to restart Piped."; export const ADD_PIPED_SUCCESS = "Successfully added Piped."; export const UPDATE_PIPED_SUCCESS = "Successfully updated Piped."; export const DELETE_OLD_PIPED_KEY_SUCCESS = diff --git a/web/src/constants/ui-text.ts b/web/src/constants/ui-text.ts index 6526a56510..d42d73c3df 100644 --- a/web/src/constants/ui-text.ts +++ b/web/src/constants/ui-text.ts @@ -16,6 +16,7 @@ export const UI_TEXT_CLEAR = "CLEAR"; export const UI_TEXT_NOT_AVAILABLE_TEXT = "N/A"; export const UI_TEXT_UPGRADE = "UPGRADE"; // piped +export const UI_TEXT_RESTART = "Restart"; export const UI_TEXT_ADD_NEW_KEY = "Add new Key"; export const UI_TEXT_DELETE_OLD_KEY = "Delete old Key"; export const UI_TEXT_VIEW_THE_CONFIGURATION = "View the configuration"; From fdc3d20929a14930dac349ede3747dcad168c2eb Mon Sep 17 00:00:00 2001 From: Tsubasa Umeuchi Date: Wed, 1 Jun 2022 17:58:48 +0900 Subject: [PATCH 7/8] lint: break line --- web/src/modules/pipeds/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/web/src/modules/pipeds/index.ts b/web/src/modules/pipeds/index.ts index 268a51e6e0..4dba4068f9 100644 --- a/web/src/modules/pipeds/index.ts +++ b/web/src/modules/pipeds/index.ts @@ -49,7 +49,6 @@ export const addPiped = createAsyncThunk< return { ...res, isNewKey: false }; }); - export const restartPiped = createAsyncThunk( `${MODULE_NAME}/restart`, async ({ pipedId }) => { From 048b253c51c5e54f2b98c3404ffc8463543d0198 Mon Sep 17 00:00:00 2001 From: Tsubasa Umeuchi Date: Wed, 1 Jun 2022 18:03:34 +0900 Subject: [PATCH 8/8] lint break line --- web/src/components/settings-page/piped/index.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/web/src/components/settings-page/piped/index.tsx b/web/src/components/settings-page/piped/index.tsx index 3ece1b8663..7dc90c4643 100644 --- a/web/src/components/settings-page/piped/index.tsx +++ b/web/src/components/settings-page/piped/index.tsx @@ -127,6 +127,7 @@ export const SettingsPipedPage: FC = memo(function SettingsPipedPage() { }, [dispatch] ); + const handleEnable = useCallback( (id: string) => { dispatch(enablePiped({ pipedId: id })).then(() => {