diff --git a/build/rpc.json b/build/rpc.json index 38b8af3..bd1ad6f 100644 --- a/build/rpc.json +++ b/build/rpc.json @@ -5649,6 +5649,15 @@ "node" ], "isDeprecated": false + }, + { + "name": "findNodeWebPPolicies", + "requestMessageName": "FindNodeWebPPoliciesRequest", + "responseMessageName": "FindNodeWebPPoliciesResponse", + "code": "rpc findNodeWebPPolicies(FindNodeWebPPoliciesRequest) returns (FindNodeWebPPoliciesResponse);", + "doc": "查找节点的WebP策略", + "roles": [], + "isDeprecated": false } ], "filename": "service_node.proto", @@ -18084,7 +18093,7 @@ }, { "name": "FindEnabledNodeClusterConfigInfoResponse", - "code": "message FindEnabledNodeClusterConfigInfoResponse {\n\tbool healthCheckIsOn = 1; // 启用了健康检查\n\tbool hasFirewallActions = 2; // 有防火墙动作设置\n\tbool hasThresholds = 3; // 有节点阈值设置\n\tbool hasMessageReceivers = 4; // 已设置消息通知接收人\n\tbool isTOAEnabled = 5; // 启用了TOA\n\tbool hasMetricItems = 6; // 有指标统计设置\n\tbool webpIsOn = 7; // 是否定义了WebP策略\n\tbool uamIsOn = 10; // 是否定义了UAM策略\n\tbool httpCCIsOn = 12; // 是否定义了CC策略\n\tbool hasSystemServices = 8; // 启用了系统服务\n\tbool hasDDoSProtection = 9; // 启用了DDoS防护\n\tbool hasHTTPPagesPolicy = 11; // 是否设置了自定义页面策略\n\tbool http3IsOn = 13; // 是否启用HTTP3\n\tbool hasNetworkSecurityPolicy = 14; // 设置了网络安全策略\n}", + "code": "message FindEnabledNodeClusterConfigInfoResponse {\n\tbool healthCheckIsOn = 1; // 启用了健康检查\n\tbool hasFirewallActions = 2; // 有防火墙动作设置\n\tbool hasThresholds = 3; // 有节点阈值设置\n\tbool hasMessageReceivers = 4; // 已设置消息通知接收人\n\tbool isTOAEnabled = 5; // 启用了TOA\n\tbool hasMetricItems = 6; // 有指标统计设置\n\tbool webPIsOn = 7; // 是否定义了WebP策略\n\tbool uamIsOn = 10; // 是否定义了UAM策略\n\tbool httpCCIsOn = 12; // 是否定义了CC策略\n\tbool hasSystemServices = 8; // 启用了系统服务\n\tbool hasDDoSProtection = 9; // 启用了DDoS防护\n\tbool hasHTTPPagesPolicy = 11; // 是否设置了自定义页面策略\n\tbool http3IsOn = 13; // 是否启用HTTP3\n\tbool hasNetworkSecurityPolicy = 14; // 设置了网络安全策略\n}", "doc": "" }, { @@ -19432,6 +19441,16 @@ "code": "message FindNodeUAMPoliciesResponse {\n\trepeated UAMPolicy uamPolicies = 1; // UAM策略列表\n\n\n\tmessage UAMPolicy {\n\t\tint64 nodeClusterId = 1; // 集群ID\n\t\tbytes uamPolicyJSON = 2; // UAM策略配置\n\t}\n}", "doc": "" }, + { + "name": "FindNodeWebPPoliciesRequest", + "code": "message FindNodeWebPPoliciesRequest {\n\n}", + "doc": "查找节点的WebP策略" + }, + { + "name": "FindNodeWebPPoliciesResponse", + "code": "message FindNodeWebPPoliciesResponse {\n\trepeated WebPPolicy webPPolicies = 1; // WebP策略列表\n\n\n\tmessage WebPPolicy {\n\t\tint64 nodeClusterId = 1; // 集群ID\n\t\tbytes webPPolicyJSON = 2; // WebP策略配置\n\t}\n}", + "doc": "" + }, { "name": "FindNotifyingNodeTasksRequest", "code": "message FindNotifyingNodeTasksRequest {\n\tint64 size = 1;\n}", @@ -22339,7 +22358,7 @@ }, { "name": "UpdateNodeClusterWebPPolicyRequest", - "code": "message UpdateNodeClusterWebPPolicyRequest {\n\tint64 nodeClusterId = 1;\n\tbytes webpPolicyJSON = 2;\n}", + "code": "message UpdateNodeClusterWebPPolicyRequest {\n\tint64 nodeClusterId = 1;\n\tbytes webPPolicyJSON = 2;\n}", "doc": "设置集群WebP策略" }, { diff --git a/pkg/nodeconfigs/image_webp_policy.go b/pkg/nodeconfigs/image_webp_policy.go index 320627c..44db541 100644 --- a/pkg/nodeconfigs/image_webp_policy.go +++ b/pkg/nodeconfigs/image_webp_policy.go @@ -8,11 +8,15 @@ func init() { _ = DefaultWebPImagePolicy.Init() } -var DefaultWebPImagePolicy = &WebPImagePolicy{ - IsOn: true, - RequireCache: true, - MinLength: shared.NewSizeCapacity(0, shared.SizeCapacityUnitKB), - MaxLength: shared.NewSizeCapacity(128, shared.SizeCapacityUnitMB), +var DefaultWebPImagePolicy = NewWebPImagePolicy() + +func NewWebPImagePolicy() *WebPImagePolicy { + return &WebPImagePolicy{ + IsOn: true, + RequireCache: true, + MinLength: shared.NewSizeCapacity(0, shared.SizeCapacityUnitKB), + MaxLength: shared.NewSizeCapacity(128, shared.SizeCapacityUnitMB), + } } // WebPImagePolicy WebP策略 diff --git a/pkg/nodeconfigs/node_config.go b/pkg/nodeconfigs/node_config.go index b0206d5..80f8457 100644 --- a/pkg/nodeconfigs/node_config.go +++ b/pkg/nodeconfigs/node_config.go @@ -28,6 +28,7 @@ var uamPolicyLocker = &sync.RWMutex{} var httpCCPolicyLocker = &sync.RWMutex{} var http3PolicyLocker = &sync.RWMutex{} var httpPagesPolicyLocker = &sync.RWMutex{} +var webPPolicyLocker = &sync.RWMutex{} type ServerError struct { Id int64 @@ -210,6 +211,9 @@ func CloneNodeConfig(nodeConfig *NodeConfig) (*NodeConfig, error) { httpPagesPolicyLocker.RLock() defer httpPagesPolicyLocker.RUnlock() + webPPolicyLocker.RLock() + defer webPPolicyLocker.RUnlock() + var newConfigValue = reflect.Indirect(reflect.ValueOf(&NodeConfig{})) var oldValue = reflect.Indirect(reflect.ValueOf(nodeConfig)) var valueType = oldValue.Type() @@ -376,14 +380,17 @@ func (this *NodeConfig) Init(ctx context.Context) (err error, serverErrors []*Se } // webp image policy + webPPolicyLocker.RLock() if this.WebPImagePolicies != nil { for _, policy := range this.WebPImagePolicies { err = policy.Init() if err != nil { + webPPolicyLocker.RUnlock() return } } } + webPPolicyLocker.RUnlock() // uam policy uamPolicyLocker.RLock() @@ -675,12 +682,22 @@ func (this *NodeConfig) UpdateCertOCSP(certId int64, ocsp []byte, expiresAt int6 // FindWebPImagePolicyWithClusterId 使用集群ID查找WebP策略 func (this *NodeConfig) FindWebPImagePolicyWithClusterId(clusterId int64) *WebPImagePolicy { + webPPolicyLocker.RLock() + defer webPPolicyLocker.RUnlock() + if this.WebPImagePolicies == nil { return nil } return this.WebPImagePolicies[clusterId] } +// UpdateWebPImagePolicies 修改集群WebP策略 +func (this *NodeConfig) UpdateWebPImagePolicies(policies map[int64]*WebPImagePolicy) { + webPPolicyLocker.Lock() + defer webPPolicyLocker.Unlock() + this.WebPImagePolicies = policies +} + // FindUAMPolicyWithClusterId 使用集群ID查找UAM策略 func (this *NodeConfig) FindUAMPolicyWithClusterId(clusterId int64) *UAMPolicy { uamPolicyLocker.RLock() diff --git a/pkg/rpc/pb/service_node.pb.go b/pkg/rpc/pb/service_node.pb.go index f081c04..d9c4d8a 100644 --- a/pkg/rpc/pb/service_node.pb.go +++ b/pkg/rpc/pb/service_node.pb.go @@ -5553,6 +5553,92 @@ func (x *FindNodeNetworkSecurityPolicyResponse) GetNetworkSecurityPolicyJSON() [ return nil } +// 查找节点的WebP策略 +type FindNodeWebPPoliciesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *FindNodeWebPPoliciesRequest) Reset() { + *x = FindNodeWebPPoliciesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_proto_msgTypes[99] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FindNodeWebPPoliciesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FindNodeWebPPoliciesRequest) ProtoMessage() {} + +func (x *FindNodeWebPPoliciesRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_node_proto_msgTypes[99] + 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 FindNodeWebPPoliciesRequest.ProtoReflect.Descriptor instead. +func (*FindNodeWebPPoliciesRequest) Descriptor() ([]byte, []int) { + return file_service_node_proto_rawDescGZIP(), []int{99} +} + +type FindNodeWebPPoliciesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + WebPPolicies []*FindNodeWebPPoliciesResponse_WebPPolicy `protobuf:"bytes,1,rep,name=webPPolicies,proto3" json:"webPPolicies,omitempty"` // WebP策略列表 +} + +func (x *FindNodeWebPPoliciesResponse) Reset() { + *x = FindNodeWebPPoliciesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FindNodeWebPPoliciesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FindNodeWebPPoliciesResponse) ProtoMessage() {} + +func (x *FindNodeWebPPoliciesResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_node_proto_msgTypes[100] + 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 FindNodeWebPPoliciesResponse.ProtoReflect.Descriptor instead. +func (*FindNodeWebPPoliciesResponse) Descriptor() ([]byte, []int) { + return file_service_node_proto_rawDescGZIP(), []int{100} +} + +func (x *FindNodeWebPPoliciesResponse) GetWebPPolicies() []*FindNodeWebPPoliciesResponse_WebPPolicy { + if x != nil { + return x.WebPPolicies + } + return nil +} + type FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -5568,7 +5654,7 @@ type FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade struct { func (x *FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade) Reset() { *x = FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[99] + mi := &file_service_node_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5581,7 +5667,7 @@ func (x *FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade) String() stri func (*FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade) ProtoMessage() {} func (x *FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[99] + mi := &file_service_node_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5646,7 +5732,7 @@ type ListNodeRegionInfoResponse_Info struct { func (x *ListNodeRegionInfoResponse_Info) Reset() { *x = ListNodeRegionInfoResponse_Info{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[100] + mi := &file_service_node_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5659,7 +5745,7 @@ func (x *ListNodeRegionInfoResponse_Info) String() string { func (*ListNodeRegionInfoResponse_Info) ProtoMessage() {} func (x *ListNodeRegionInfoResponse_Info) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[100] + mi := &file_service_node_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5715,7 +5801,7 @@ type FindNodeUAMPoliciesResponse_UAMPolicy struct { func (x *FindNodeUAMPoliciesResponse_UAMPolicy) Reset() { *x = FindNodeUAMPoliciesResponse_UAMPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[101] + mi := &file_service_node_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5728,7 +5814,7 @@ func (x *FindNodeUAMPoliciesResponse_UAMPolicy) String() string { func (*FindNodeUAMPoliciesResponse_UAMPolicy) ProtoMessage() {} func (x *FindNodeUAMPoliciesResponse_UAMPolicy) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[101] + mi := &file_service_node_proto_msgTypes[103] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5770,7 +5856,7 @@ type FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy struct { func (x *FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy) Reset() { *x = FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[102] + mi := &file_service_node_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5783,7 +5869,7 @@ func (x *FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy) String() string { func (*FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy) ProtoMessage() {} func (x *FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[102] + mi := &file_service_node_proto_msgTypes[104] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5825,7 +5911,7 @@ type FindNodeHTTP3PoliciesResponse_HTTP3Policy struct { func (x *FindNodeHTTP3PoliciesResponse_HTTP3Policy) Reset() { *x = FindNodeHTTP3PoliciesResponse_HTTP3Policy{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[103] + mi := &file_service_node_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5838,7 +5924,7 @@ func (x *FindNodeHTTP3PoliciesResponse_HTTP3Policy) String() string { func (*FindNodeHTTP3PoliciesResponse_HTTP3Policy) ProtoMessage() {} func (x *FindNodeHTTP3PoliciesResponse_HTTP3Policy) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[103] + mi := &file_service_node_proto_msgTypes[105] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5880,7 +5966,7 @@ type FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy struct { func (x *FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy) Reset() { *x = FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[104] + mi := &file_service_node_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5893,7 +5979,7 @@ func (x *FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy) String() string { func (*FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy) ProtoMessage() {} func (x *FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[104] + mi := &file_service_node_proto_msgTypes[106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5938,7 +6024,7 @@ type FindNodeScheduleInfoResponse_ScheduleInfo struct { func (x *FindNodeScheduleInfoResponse_ScheduleInfo) Reset() { *x = FindNodeScheduleInfoResponse_ScheduleInfo{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[105] + mi := &file_service_node_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5951,7 +6037,7 @@ func (x *FindNodeScheduleInfoResponse_ScheduleInfo) String() string { func (*FindNodeScheduleInfoResponse_ScheduleInfo) ProtoMessage() {} func (x *FindNodeScheduleInfoResponse_ScheduleInfo) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[105] + mi := &file_service_node_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6021,7 +6107,7 @@ type FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo struct { func (x *FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo) Reset() { *x = FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[106] + mi := &file_service_node_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6034,7 +6120,7 @@ func (x *FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo) String() func (*FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo) ProtoMessage() {} func (x *FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[106] + mi := &file_service_node_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6113,6 +6199,61 @@ func (x *FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo) GetActio return nil } +type FindNodeWebPPoliciesResponse_WebPPolicy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` // 集群ID + WebPPolicyJSON []byte `protobuf:"bytes,2,opt,name=webPPolicyJSON,proto3" json:"webPPolicyJSON,omitempty"` // WebP策略配置 +} + +func (x *FindNodeWebPPoliciesResponse_WebPPolicy) Reset() { + *x = FindNodeWebPPoliciesResponse_WebPPolicy{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_proto_msgTypes[109] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FindNodeWebPPoliciesResponse_WebPPolicy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FindNodeWebPPoliciesResponse_WebPPolicy) ProtoMessage() {} + +func (x *FindNodeWebPPoliciesResponse_WebPPolicy) ProtoReflect() protoreflect.Message { + mi := &file_service_node_proto_msgTypes[109] + 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 FindNodeWebPPoliciesResponse_WebPPolicy.ProtoReflect.Descriptor instead. +func (*FindNodeWebPPoliciesResponse_WebPPolicy) Descriptor() ([]byte, []int) { + return file_service_node_proto_rawDescGZIP(), []int{100, 0} +} + +func (x *FindNodeWebPPoliciesResponse_WebPPolicy) GetNodeClusterId() int64 { + if x != nil { + return x.NodeClusterId + } + return 0 +} + +func (x *FindNodeWebPPoliciesResponse_WebPPolicy) GetWebPPolicyJSON() []byte { + if x != nil { + return x.WebPPolicyJSON + } + return nil +} + var File_service_node_proto protoreflect.FileDescriptor var file_service_node_proto_rawDesc = []byte{ @@ -6849,367 +6990,387 @@ var file_service_node_proto_rawDesc = []byte{ 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x19, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x32, 0xec, 0x2c, 0x0a, 0x0b, 0x4e, 0x6f, 0x64, - 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, - 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, - 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x2e, 0x70, - 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, - 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, - 0x14, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x19, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, - 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, - 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x20, - 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, - 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x24, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, - 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, 0x2e, 0x70, - 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, - 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x33, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x2e, - 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, + 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x1d, 0x0a, 0x1b, 0x46, 0x69, 0x6e, 0x64, + 0x4e, 0x6f, 0x64, 0x65, 0x57, 0x65, 0x62, 0x50, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xcb, 0x01, 0x0a, 0x1c, 0x46, 0x69, 0x6e, 0x64, + 0x4e, 0x6f, 0x64, 0x65, 0x57, 0x65, 0x62, 0x50, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x0c, 0x77, 0x65, 0x62, 0x50, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x57, 0x65, 0x62, 0x50, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x2e, 0x57, 0x65, 0x62, 0x50, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0c, 0x77, 0x65, 0x62, + 0x50, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x1a, 0x5a, 0x0a, 0x0a, 0x57, 0x65, 0x62, + 0x50, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, + 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, + 0x0e, 0x77, 0x65, 0x62, 0x50, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x77, 0x65, 0x62, 0x50, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x32, 0xc7, 0x2d, 0x0a, 0x0b, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, + 0x6f, 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x52, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x52, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x14, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, + 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x19, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, + 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, + 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x20, 0x2e, 0x70, 0x62, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, + 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, + 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, + 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x89, 0x01, 0x0a, 0x24, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, 0x2e, 0x70, 0x62, 0x2e, 0x46, + 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, + 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x70, 0x62, 0x2e, + 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, + 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x0a, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x12, 0x51, 0x0a, 0x19, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x46, + 0x72, 0x6f, 0x6d, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x24, + 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x46, 0x72, + 0x6f, 0x6d, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x12, 0x51, 0x0a, 0x19, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, - 0x64, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, - 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x33, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, - 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4a, 0x0a, 0x0f, - 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x12, - 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62, - 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x66, 0x69, 0x6e, 0x64, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x61, 0x73, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, - 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x42, 0x61, 0x73, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x42, 0x61, 0x73, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x66, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, 0x2e, 0x70, - 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, - 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, - 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, - 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, 0x01, 0x30, - 0x01, 0x12, 0x41, 0x0a, 0x11, 0x73, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x15, 0x2e, - 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x3f, 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, - 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x63, 0x65, 0x73, 0x73, 0x12, 0x33, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, + 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, + 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x66, 0x69, 0x6e, + 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x2e, 0x70, + 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, + 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x42, 0x61, 0x73, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x2e, + 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x61, + 0x73, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, + 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, + 0x61, 0x73, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x5c, 0x0a, 0x15, 0x66, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, + 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, + 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, + 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, + 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x15, 0x2e, 0x70, + 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x41, + 0x0a, 0x11, 0x73, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, 0x6f, 0x4e, + 0x6f, 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x12, 0x3f, 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x12, 0x49, 0x0a, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x49, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x20, 0x2e, 0x70, 0x62, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x73, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, + 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3e, 0x0a, + 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x2e, 0x70, + 0x62, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, + 0x0b, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x2e, 0x70, + 0x62, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, + 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, + 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x2e, 0x70, 0x62, 0x2e, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x73, 0x74, 0x6f, 0x70, 0x4e, + 0x6f, 0x64, 0x65, 0x12, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, + 0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, + 0x0a, 0x1b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x26, 0x2e, + 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, - 0x6f, 0x64, 0x65, 0x49, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x20, - 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x73, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x12, 0x3e, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x12, - 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x3e, 0x0a, 0x0b, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, - 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x67, - 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x38, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x2e, - 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x73, 0x74, - 0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x70, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, - 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x55, 0x0a, 0x1b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, - 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6b, 0x0a, 0x23, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, + 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, + 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x2e, 0x70, + 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, + 0x61, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, + 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x22, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, + 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x46, + 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, + 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, + 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, + 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x2a, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, + 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, + 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, + 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x98, 0x01, 0x0a, 0x29, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, + 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, + 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x34, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, + 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, + 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, + 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, + 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, + 0x0a, 0x25, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, + 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x30, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, + 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x89, 0x01, 0x0a, 0x24, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, + 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, + 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x70, 0x62, 0x2e, 0x46, + 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, + 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x66, + 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, + 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, + 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x1a, 0x2e, 0x70, + 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6b, 0x0a, 0x23, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, - 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, - 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x22, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, - 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, - 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2d, 0x2e, 0x70, - 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, - 0x6e, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x70, 0x62, - 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, - 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, - 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x2a, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x98, 0x01, 0x0a, 0x29, 0x66, 0x69, 0x6e, 0x64, 0x41, - 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x6f, - 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x34, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, - 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, - 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x70, 0x62, 0x2e, - 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x6f, 0x0a, 0x25, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, - 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, - 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x30, 0x2e, 0x70, 0x62, 0x2e, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, - 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, - 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x24, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x70, - 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, - 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, 0x2e, 0x70, 0x62, - 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, - 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x70, - 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, - 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, - 0x0a, 0x15, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, - 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, - 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0f, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, - 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4c, - 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, - 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6b, 0x0a, 0x23, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, - 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x49, 0x64, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, - 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x92, 0x01, 0x0a, 0x27, 0x66, 0x69, 0x6e, - 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, - 0x44, 0x4e, 0x53, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x32, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x92, 0x01, 0x0a, 0x27, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x44, 0x4e, 0x53, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, - 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, - 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, - 0x73, 0x44, 0x4e, 0x53, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, - 0x12, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, - 0x44, 0x4e, 0x53, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, - 0x44, 0x4e, 0x53, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, - 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, - 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6d, 0x0a, - 0x24, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2f, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, - 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, - 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, - 0x57, 0x69, 0x74, 0x68, 0x49, 0x64, 0x73, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, + 0x64, 0x12, 0x32, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x44, 0x4e, 0x53, 0x57, 0x69, 0x74, + 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, + 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x44, 0x4e, + 0x53, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x66, 0x69, + 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, + 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x39, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, + 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x44, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, + 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6d, 0x0a, 0x24, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, + 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x12, 0x2f, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, - 0x68, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, - 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, - 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x5f, 0x0a, 0x16, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x74, - 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, + 0x68, 0x49, 0x64, 0x73, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x64, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, + 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, + 0x74, 0x68, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, + 0x16, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, - 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x74, 0x65, - 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x55, - 0x70, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x55, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, - 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x71, 0x0a, 0x1c, 0x64, 0x6f, - 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e, - 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, - 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, - 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, - 0x6d, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, - 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3d, - 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x61, 0x63, 0x68, - 0x65, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, - 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x50, 0x0a, - 0x11, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, - 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x65, - 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x56, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, - 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, - 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, - 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, - 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x12, 0x5f, 0x0a, 0x16, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x44, - 0x6f, 0x53, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x2e, 0x70, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, + 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x12, 0x17, + 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, + 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x71, 0x0a, 0x1c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, + 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x6f, + 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, + 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x10, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x1b, + 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, + 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x0f, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x1a, + 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x61, + 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, + 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, + 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, + 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, + 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x72, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, + 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, + 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, + 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x12, 0x20, 0x2e, + 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, + 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, + 0x5f, 0x0a, 0x16, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x44, 0x6f, 0x53, 0x50, + 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, + 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x44, 0x6f, 0x53, 0x50, 0x72, 0x6f, 0x74, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x44, 0x6f, 0x53, 0x50, 0x72, - 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x44, 0x6f, - 0x53, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x18, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x44, 0x44, 0x6f, 0x53, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, - 0x44, 0x6f, 0x53, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x12, 0x6b, 0x0a, 0x1a, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, - 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, - 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, - 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x68, 0x0a, 0x19, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, - 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, - 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x16, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, - 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, - 0x0a, 0x12, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x2e, 0x70, 0x62, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, - 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x50, 0x0a, 0x11, - 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x50, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x41, - 0x50, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x50, 0x49, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, - 0x0a, 0x13, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x50, 0x49, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x50, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x56, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, - 0x65, 0x55, 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x70, - 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x41, 0x4d, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, - 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x41, 0x4d, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, - 0x16, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x43, 0x43, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, + 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x4f, 0x0a, 0x18, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x44, + 0x6f, 0x53, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x2e, 0x70, + 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x44, 0x6f, 0x53, + 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x12, 0x6b, 0x0a, 0x1a, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, + 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, + 0x0a, 0x19, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x2e, 0x70, 0x62, + 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x16, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x6c, + 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x47, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, + 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, + 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x50, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1c, + 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x50, 0x49, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, + 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x50, 0x49, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x13, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x50, 0x49, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, + 0x64, 0x65, 0x41, 0x50, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x12, 0x56, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x41, + 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, + 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, + 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x66, 0x69, + 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x43, 0x43, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x69, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, + 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x43, 0x43, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x43, 0x43, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, - 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x43, 0x43, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, - 0x0a, 0x15, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x33, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, - 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x33, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, + 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x33, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x19, - 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x50, 0x61, 0x67, 0x65, - 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, - 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x50, 0x61, 0x67, 0x65, 0x73, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, - 0x50, 0x50, 0x61, 0x67, 0x65, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, - 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, - 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x4b, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, - 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x2e, 0x70, 0x62, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, - 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x49, - 0x0a, 0x15, 0x72, 0x65, 0x73, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, - 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, - 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x95, 0x01, 0x0a, 0x28, 0x66, 0x69, + 0x63, 0x69, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, + 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x33, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, + 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x33, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x19, 0x66, 0x69, 0x6e, + 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x50, 0x61, 0x67, 0x65, 0x73, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, + 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x50, 0x61, 0x67, 0x65, 0x73, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, + 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x50, 0x61, + 0x67, 0x65, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x53, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x2e, 0x70, 0x62, + 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, + 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, + 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, + 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x15, 0x72, + 0x65, 0x73, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4e, + 0x6f, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x95, 0x01, 0x0a, 0x28, 0x66, 0x69, 0x6e, 0x64, 0x41, + 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x33, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, + 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x33, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, - 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, - 0x6e, 0x66, 0x6f, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x70, 0x62, - 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x53, 0x0a, 0x1a, 0x63, 0x6f, 0x70, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, - 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x57, 0x0a, 0x1c, 0x63, 0x6f, 0x70, 0x79, 0x4e, 0x6f, - 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x70, 0x79, - 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x6f, 0x4e, 0x6f, 0x64, - 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, - 0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x4f, 0x41, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, - 0x64, 0x65, 0x54, 0x4f, 0x41, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, - 0x54, 0x4f, 0x41, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x74, 0x0a, 0x1d, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4e, 0x65, 0x74, + 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, + 0x0a, 0x1a, 0x63, 0x6f, 0x70, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x25, 0x2e, 0x70, + 0x62, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x12, 0x57, 0x0a, 0x1c, 0x63, 0x6f, 0x70, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x4e, 0x6f, 0x64, + 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, + 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x50, 0x0a, 0x11, + 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x4f, 0x41, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x54, + 0x4f, 0x41, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x4f, 0x41, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, + 0x0a, 0x1d, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, + 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, - 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x46, + 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, + 0x57, 0x65, 0x62, 0x50, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x70, + 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x57, 0x65, 0x62, 0x50, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, + 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x57, 0x65, 0x62, 0x50, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, + 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -7224,7 +7385,7 @@ func file_service_node_proto_rawDescGZIP() []byte { return file_service_node_proto_rawDescData } -var file_service_node_proto_msgTypes = make([]protoimpl.MessageInfo, 107) +var file_service_node_proto_msgTypes = make([]protoimpl.MessageInfo, 110) var file_service_node_proto_goTypes = []interface{}{ (*CreateNodeRequest)(nil), // 0: pb.CreateNodeRequest (*CreateNodeResponse)(nil), // 1: pb.CreateNodeResponse @@ -7325,185 +7486,191 @@ var file_service_node_proto_goTypes = []interface{}{ (*FindNodeTOAConfigResponse)(nil), // 96: pb.FindNodeTOAConfigResponse (*FindNodeNetworkSecurityPolicyRequest)(nil), // 97: pb.FindNodeNetworkSecurityPolicyRequest (*FindNodeNetworkSecurityPolicyResponse)(nil), // 98: pb.FindNodeNetworkSecurityPolicyResponse - (*FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade)(nil), // 99: pb.FindAllUpgradeNodesWithNodeClusterIdResponse.NodeUpgrade - (*ListNodeRegionInfoResponse_Info)(nil), // 100: pb.ListNodeRegionInfoResponse.Info - (*FindNodeUAMPoliciesResponse_UAMPolicy)(nil), // 101: pb.FindNodeUAMPoliciesResponse.UAMPolicy - (*FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy)(nil), // 102: pb.FindNodeHTTPCCPoliciesResponse.HTTPCCPolicy - (*FindNodeHTTP3PoliciesResponse_HTTP3Policy)(nil), // 103: pb.FindNodeHTTP3PoliciesResponse.HTTP3Policy - (*FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy)(nil), // 104: pb.FindNodeHTTPPagesPoliciesResponse.HTTPPagesPolicy - (*FindNodeScheduleInfoResponse_ScheduleInfo)(nil), // 105: pb.FindNodeScheduleInfoResponse.ScheduleInfo - (*FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo)(nil), // 106: pb.FindAllNodeScheduleInfoWithNodeClusterIdResponse.ScheduleInfo - (*NodeLogin)(nil), // 107: pb.NodeLogin - (*Node)(nil), // 108: pb.Node - (*BasicNode)(nil), // 109: pb.BasicNode - (*NodeInstallStatus)(nil), // 110: pb.NodeInstallStatus - (*DNSRoute)(nil), // 111: pb.DNSRoute - (*SizeCapacity)(nil), // 112: pb.SizeCapacity - (*NodeRegion)(nil), // 113: pb.NodeRegion - (*NodeCluster)(nil), // 114: pb.NodeCluster - (*RPCCountResponse)(nil), // 115: pb.RPCCountResponse - (*RPCSuccess)(nil), // 116: pb.RPCSuccess + (*FindNodeWebPPoliciesRequest)(nil), // 99: pb.FindNodeWebPPoliciesRequest + (*FindNodeWebPPoliciesResponse)(nil), // 100: pb.FindNodeWebPPoliciesResponse + (*FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade)(nil), // 101: pb.FindAllUpgradeNodesWithNodeClusterIdResponse.NodeUpgrade + (*ListNodeRegionInfoResponse_Info)(nil), // 102: pb.ListNodeRegionInfoResponse.Info + (*FindNodeUAMPoliciesResponse_UAMPolicy)(nil), // 103: pb.FindNodeUAMPoliciesResponse.UAMPolicy + (*FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy)(nil), // 104: pb.FindNodeHTTPCCPoliciesResponse.HTTPCCPolicy + (*FindNodeHTTP3PoliciesResponse_HTTP3Policy)(nil), // 105: pb.FindNodeHTTP3PoliciesResponse.HTTP3Policy + (*FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy)(nil), // 106: pb.FindNodeHTTPPagesPoliciesResponse.HTTPPagesPolicy + (*FindNodeScheduleInfoResponse_ScheduleInfo)(nil), // 107: pb.FindNodeScheduleInfoResponse.ScheduleInfo + (*FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo)(nil), // 108: pb.FindAllNodeScheduleInfoWithNodeClusterIdResponse.ScheduleInfo + (*FindNodeWebPPoliciesResponse_WebPPolicy)(nil), // 109: pb.FindNodeWebPPoliciesResponse.WebPPolicy + (*NodeLogin)(nil), // 110: pb.NodeLogin + (*Node)(nil), // 111: pb.Node + (*BasicNode)(nil), // 112: pb.BasicNode + (*NodeInstallStatus)(nil), // 113: pb.NodeInstallStatus + (*DNSRoute)(nil), // 114: pb.DNSRoute + (*SizeCapacity)(nil), // 115: pb.SizeCapacity + (*NodeRegion)(nil), // 116: pb.NodeRegion + (*NodeCluster)(nil), // 117: pb.NodeCluster + (*RPCCountResponse)(nil), // 118: pb.RPCCountResponse + (*RPCSuccess)(nil), // 119: pb.RPCSuccess } var file_service_node_proto_depIdxs = []int32{ - 107, // 0: pb.CreateNodeRequest.nodeLogin:type_name -> pb.NodeLogin - 108, // 1: pb.ListEnabledNodesMatchResponse.nodes:type_name -> pb.Node - 108, // 2: pb.FindAllEnabledNodesWithNodeClusterIdResponse.nodes:type_name -> pb.Node - 108, // 3: pb.FindEnabledNodeResponse.node:type_name -> pb.Node - 109, // 4: pb.FindEnabledBasicNodeResponse.node:type_name -> pb.BasicNode - 108, // 5: pb.FindAllEnabledNodesWithNodeGrantIdResponse.nodes:type_name -> pb.Node - 108, // 6: pb.FindAllNotInstalledNodesWithNodeClusterIdResponse.nodes:type_name -> pb.Node - 99, // 7: pb.FindAllUpgradeNodesWithNodeClusterIdResponse.nodes:type_name -> pb.FindAllUpgradeNodesWithNodeClusterIdResponse.NodeUpgrade - 110, // 8: pb.FindNodeInstallStatusResponse.installStatus:type_name -> pb.NodeInstallStatus - 107, // 9: pb.UpdateNodeLoginRequest.nodeLogin:type_name -> pb.NodeLogin + 110, // 0: pb.CreateNodeRequest.nodeLogin:type_name -> pb.NodeLogin + 111, // 1: pb.ListEnabledNodesMatchResponse.nodes:type_name -> pb.Node + 111, // 2: pb.FindAllEnabledNodesWithNodeClusterIdResponse.nodes:type_name -> pb.Node + 111, // 3: pb.FindEnabledNodeResponse.node:type_name -> pb.Node + 112, // 4: pb.FindEnabledBasicNodeResponse.node:type_name -> pb.BasicNode + 111, // 5: pb.FindAllEnabledNodesWithNodeGrantIdResponse.nodes:type_name -> pb.Node + 111, // 6: pb.FindAllNotInstalledNodesWithNodeClusterIdResponse.nodes:type_name -> pb.Node + 101, // 7: pb.FindAllUpgradeNodesWithNodeClusterIdResponse.nodes:type_name -> pb.FindAllUpgradeNodesWithNodeClusterIdResponse.NodeUpgrade + 113, // 8: pb.FindNodeInstallStatusResponse.installStatus:type_name -> pb.NodeInstallStatus + 110, // 9: pb.UpdateNodeLoginRequest.nodeLogin:type_name -> pb.NodeLogin 46, // 10: pb.FindAllEnabledNodesDNSWithNodeClusterIdResponse.nodes:type_name -> pb.NodeDNSInfo - 111, // 11: pb.NodeDNSInfo.routes:type_name -> pb.DNSRoute + 114, // 11: pb.NodeDNSInfo.routes:type_name -> pb.DNSRoute 46, // 12: pb.FindEnabledNodeDNSResponse.node:type_name -> pb.NodeDNSInfo - 108, // 13: pb.FindEnabledNodesWithIdsResponse.nodes:type_name -> pb.Node - 112, // 14: pb.UpdateNodeCacheRequest.maxCacheDiskCapacity:type_name -> pb.SizeCapacity - 112, // 15: pb.UpdateNodeCacheRequest.maxCacheMemoryCapacity:type_name -> pb.SizeCapacity - 100, // 16: pb.ListNodeRegionInfoResponse.infoList:type_name -> pb.ListNodeRegionInfoResponse.Info - 101, // 17: pb.FindNodeUAMPoliciesResponse.uamPolicies:type_name -> pb.FindNodeUAMPoliciesResponse.UAMPolicy - 102, // 18: pb.FindNodeHTTPCCPoliciesResponse.httpCCPolicies:type_name -> pb.FindNodeHTTPCCPoliciesResponse.HTTPCCPolicy - 103, // 19: pb.FindNodeHTTP3PoliciesResponse.http3Policies:type_name -> pb.FindNodeHTTP3PoliciesResponse.HTTP3Policy - 104, // 20: pb.FindNodeHTTPPagesPoliciesResponse.httpPagesPolicies:type_name -> pb.FindNodeHTTPPagesPoliciesResponse.HTTPPagesPolicy - 105, // 21: pb.FindNodeScheduleInfoResponse.scheduleInfo:type_name -> pb.FindNodeScheduleInfoResponse.ScheduleInfo - 106, // 22: pb.FindAllNodeScheduleInfoWithNodeClusterIdResponse.nodes:type_name -> pb.FindAllNodeScheduleInfoWithNodeClusterIdResponse.ScheduleInfo - 108, // 23: pb.FindAllUpgradeNodesWithNodeClusterIdResponse.NodeUpgrade.node:type_name -> pb.Node - 113, // 24: pb.ListNodeRegionInfoResponse.Info.nodeRegion:type_name -> pb.NodeRegion - 114, // 25: pb.ListNodeRegionInfoResponse.Info.nodeCluster:type_name -> pb.NodeCluster - 0, // 26: pb.NodeService.createNode:input_type -> pb.CreateNodeRequest - 2, // 27: pb.NodeService.registerClusterNode:input_type -> pb.RegisterClusterNodeRequest - 4, // 28: pb.NodeService.countAllEnabledNodes:input_type -> pb.CountAllEnabledNodesRequest - 20, // 29: pb.NodeService.countAllEnabledNodesMatch:input_type -> pb.CountAllEnabledNodesMatchRequest - 5, // 30: pb.NodeService.listEnabledNodesMatch:input_type -> pb.ListEnabledNodesMatchRequest - 7, // 31: pb.NodeService.findAllEnabledNodesWithNodeClusterId:input_type -> pb.FindAllEnabledNodesWithNodeClusterIdRequest - 9, // 32: pb.NodeService.deleteNode:input_type -> pb.DeleteNodeRequest - 10, // 33: pb.NodeService.deleteNodeFromNodeCluster:input_type -> pb.DeleteNodeFromNodeClusterRequest - 11, // 34: pb.NodeService.updateNode:input_type -> pb.UpdateNodeRequest - 12, // 35: pb.NodeService.findEnabledNode:input_type -> pb.FindEnabledNodeRequest - 14, // 36: pb.NodeService.findEnabledBasicNode:input_type -> pb.FindEnabledBasicNodeRequest - 16, // 37: pb.NodeService.findCurrentNodeConfig:input_type -> pb.FindCurrentNodeConfigRequest - 18, // 38: pb.NodeService.nodeStream:input_type -> pb.NodeStreamMessage - 18, // 39: pb.NodeService.sendCommandToNode:input_type -> pb.NodeStreamMessage - 19, // 40: pb.NodeService.updateNodeStatus:input_type -> pb.UpdateNodeStatusRequest - 21, // 41: pb.NodeService.updateNodeIsInstalled:input_type -> pb.UpdateNodeIsInstalledRequest - 22, // 42: pb.NodeService.installNode:input_type -> pb.InstallNodeRequest - 24, // 43: pb.NodeService.upgradeNode:input_type -> pb.UpgradeNodeRequest - 26, // 44: pb.NodeService.startNode:input_type -> pb.StartNodeRequest - 28, // 45: pb.NodeService.stopNode:input_type -> pb.StopNodeRequest - 30, // 46: pb.NodeService.updateNodeConnectedAPINodes:input_type -> pb.UpdateNodeConnectedAPINodesRequest - 31, // 47: pb.NodeService.countAllEnabledNodesWithNodeGrantId:input_type -> pb.CountAllEnabledNodesWithNodeGrantIdRequest - 32, // 48: pb.NodeService.findAllEnabledNodesWithNodeGrantId:input_type -> pb.FindAllEnabledNodesWithNodeGrantIdRequest - 36, // 49: pb.NodeService.countAllNotInstalledNodesWithNodeClusterId:input_type -> pb.CountAllNotInstalledNodesWithNodeClusterIdRequest - 34, // 50: pb.NodeService.findAllNotInstalledNodesWithNodeClusterId:input_type -> pb.FindAllNotInstalledNodesWithNodeClusterIdRequest - 37, // 51: pb.NodeService.countAllUpgradeNodesWithNodeClusterId:input_type -> pb.CountAllUpgradeNodesWithNodeClusterIdRequest - 38, // 52: pb.NodeService.findAllUpgradeNodesWithNodeClusterId:input_type -> pb.FindAllUpgradeNodesWithNodeClusterIdRequest - 40, // 53: pb.NodeService.findNodeInstallStatus:input_type -> pb.FindNodeInstallStatusRequest - 42, // 54: pb.NodeService.updateNodeLogin:input_type -> pb.UpdateNodeLoginRequest - 43, // 55: pb.NodeService.countAllEnabledNodesWithNodeGroupId:input_type -> pb.CountAllEnabledNodesWithNodeGroupIdRequest - 44, // 56: pb.NodeService.findAllEnabledNodesDNSWithNodeClusterId:input_type -> pb.FindAllEnabledNodesDNSWithNodeClusterIdRequest - 47, // 57: pb.NodeService.findEnabledNodeDNS:input_type -> pb.FindEnabledNodeDNSRequest - 49, // 58: pb.NodeService.updateNodeDNS:input_type -> pb.UpdateNodeDNSRequest - 50, // 59: pb.NodeService.countAllEnabledNodesWithNodeRegionId:input_type -> pb.CountAllEnabledNodesWithNodeRegionIdRequest - 51, // 60: pb.NodeService.findEnabledNodesWithIds:input_type -> pb.FindEnabledNodesWithIdsRequest - 53, // 61: pb.NodeService.checkNodeLatestVersion:input_type -> pb.CheckNodeLatestVersionRequest - 55, // 62: pb.NodeService.updateNodeUp:input_type -> pb.UpdateNodeUpRequest - 56, // 63: pb.NodeService.downloadNodeInstallationFile:input_type -> pb.DownloadNodeInstallationFileRequest - 58, // 64: pb.NodeService.updateNodeSystem:input_type -> pb.UpdateNodeSystemRequest - 59, // 65: pb.NodeService.updateNodeCache:input_type -> pb.UpdateNodeCacheRequest - 60, // 66: pb.NodeService.findNodeLevelInfo:input_type -> pb.FindNodeLevelInfoRequest - 62, // 67: pb.NodeService.findNodeDNSResolver:input_type -> pb.FindNodeDNSResolverRequest - 64, // 68: pb.NodeService.updateNodeDNSResolver:input_type -> pb.UpdateNodeDNSResolverRequest - 65, // 69: pb.NodeService.findNodeDDoSProtection:input_type -> pb.FindNodeDDoSProtectionRequest - 67, // 70: pb.NodeService.updateNodeDDoSProtection:input_type -> pb.UpdateNodeDDoSProtectionRequest - 68, // 71: pb.NodeService.findNodeGlobalServerConfig:input_type -> pb.FindNodeGlobalServerConfigRequest - 70, // 72: pb.NodeService.findEnabledNodeConfigInfo:input_type -> pb.FindEnabledNodeConfigInfoRequest - 72, // 73: pb.NodeService.countAllNodeRegionInfo:input_type -> pb.CountAllNodeRegionInfoRequest - 73, // 74: pb.NodeService.listNodeRegionInfo:input_type -> pb.ListNodeRegionInfoRequest - 75, // 75: pb.NodeService.updateNodeRegionInfo:input_type -> pb.UpdateNodeRegionInfoRequest - 76, // 76: pb.NodeService.findNodeAPIConfig:input_type -> pb.FindNodeAPIConfigRequest - 78, // 77: pb.NodeService.updateNodeAPIConfig:input_type -> pb.UpdateNodeAPIConfigRequest - 79, // 78: pb.NodeService.findNodeUAMPolicies:input_type -> pb.FindNodeUAMPoliciesRequest - 81, // 79: pb.NodeService.findNodeHTTPCCPolicies:input_type -> pb.FindNodeHTTPCCPoliciesRequest - 83, // 80: pb.NodeService.findNodeHTTP3Policies:input_type -> pb.FindNodeHTTP3PoliciesRequest - 85, // 81: pb.NodeService.findNodeHTTPPagesPolicies:input_type -> pb.FindNodeHTTPPagesPoliciesRequest - 87, // 82: pb.NodeService.findNodeScheduleInfo:input_type -> pb.FindNodeScheduleInfoRequest - 89, // 83: pb.NodeService.updateNodeScheduleInfo:input_type -> pb.UpdateNodeScheduleInfoRequest - 90, // 84: pb.NodeService.resetNodeActionStatus:input_type -> pb.ResetNodeActionStatusRequest - 91, // 85: pb.NodeService.findAllNodeScheduleInfoWithNodeClusterId:input_type -> pb.FindAllNodeScheduleInfoWithNodeClusterIdRequest - 93, // 86: pb.NodeService.copyNodeActionsToNodeGroup:input_type -> pb.CopyNodeActionsToNodeGroupRequest - 94, // 87: pb.NodeService.copyNodeActionsToNodeCluster:input_type -> pb.CopyNodeActionsToNodeClusterRequest - 95, // 88: pb.NodeService.findNodeTOAConfig:input_type -> pb.FindNodeTOAConfigRequest - 97, // 89: pb.NodeService.findNodeNetworkSecurityPolicy:input_type -> pb.FindNodeNetworkSecurityPolicyRequest - 1, // 90: pb.NodeService.createNode:output_type -> pb.CreateNodeResponse - 3, // 91: pb.NodeService.registerClusterNode:output_type -> pb.RegisterClusterNodeResponse - 115, // 92: pb.NodeService.countAllEnabledNodes:output_type -> pb.RPCCountResponse - 115, // 93: pb.NodeService.countAllEnabledNodesMatch:output_type -> pb.RPCCountResponse - 6, // 94: pb.NodeService.listEnabledNodesMatch:output_type -> pb.ListEnabledNodesMatchResponse - 8, // 95: pb.NodeService.findAllEnabledNodesWithNodeClusterId:output_type -> pb.FindAllEnabledNodesWithNodeClusterIdResponse - 116, // 96: pb.NodeService.deleteNode:output_type -> pb.RPCSuccess - 116, // 97: pb.NodeService.deleteNodeFromNodeCluster:output_type -> pb.RPCSuccess - 116, // 98: pb.NodeService.updateNode:output_type -> pb.RPCSuccess - 13, // 99: pb.NodeService.findEnabledNode:output_type -> pb.FindEnabledNodeResponse - 15, // 100: pb.NodeService.findEnabledBasicNode:output_type -> pb.FindEnabledBasicNodeResponse - 17, // 101: pb.NodeService.findCurrentNodeConfig:output_type -> pb.FindCurrentNodeConfigResponse - 18, // 102: pb.NodeService.nodeStream:output_type -> pb.NodeStreamMessage - 18, // 103: pb.NodeService.sendCommandToNode:output_type -> pb.NodeStreamMessage - 116, // 104: pb.NodeService.updateNodeStatus:output_type -> pb.RPCSuccess - 116, // 105: pb.NodeService.updateNodeIsInstalled:output_type -> pb.RPCSuccess - 23, // 106: pb.NodeService.installNode:output_type -> pb.InstallNodeResponse - 25, // 107: pb.NodeService.upgradeNode:output_type -> pb.UpgradeNodeResponse - 27, // 108: pb.NodeService.startNode:output_type -> pb.StartNodeResponse - 29, // 109: pb.NodeService.stopNode:output_type -> pb.StopNodeResponse - 116, // 110: pb.NodeService.updateNodeConnectedAPINodes:output_type -> pb.RPCSuccess - 115, // 111: pb.NodeService.countAllEnabledNodesWithNodeGrantId:output_type -> pb.RPCCountResponse - 33, // 112: pb.NodeService.findAllEnabledNodesWithNodeGrantId:output_type -> pb.FindAllEnabledNodesWithNodeGrantIdResponse - 115, // 113: pb.NodeService.countAllNotInstalledNodesWithNodeClusterId:output_type -> pb.RPCCountResponse - 35, // 114: pb.NodeService.findAllNotInstalledNodesWithNodeClusterId:output_type -> pb.FindAllNotInstalledNodesWithNodeClusterIdResponse - 115, // 115: pb.NodeService.countAllUpgradeNodesWithNodeClusterId:output_type -> pb.RPCCountResponse - 39, // 116: pb.NodeService.findAllUpgradeNodesWithNodeClusterId:output_type -> pb.FindAllUpgradeNodesWithNodeClusterIdResponse - 41, // 117: pb.NodeService.findNodeInstallStatus:output_type -> pb.FindNodeInstallStatusResponse - 116, // 118: pb.NodeService.updateNodeLogin:output_type -> pb.RPCSuccess - 115, // 119: pb.NodeService.countAllEnabledNodesWithNodeGroupId:output_type -> pb.RPCCountResponse - 45, // 120: pb.NodeService.findAllEnabledNodesDNSWithNodeClusterId:output_type -> pb.FindAllEnabledNodesDNSWithNodeClusterIdResponse - 48, // 121: pb.NodeService.findEnabledNodeDNS:output_type -> pb.FindEnabledNodeDNSResponse - 116, // 122: pb.NodeService.updateNodeDNS:output_type -> pb.RPCSuccess - 115, // 123: pb.NodeService.countAllEnabledNodesWithNodeRegionId:output_type -> pb.RPCCountResponse - 52, // 124: pb.NodeService.findEnabledNodesWithIds:output_type -> pb.FindEnabledNodesWithIdsResponse - 54, // 125: pb.NodeService.checkNodeLatestVersion:output_type -> pb.CheckNodeLatestVersionResponse - 116, // 126: pb.NodeService.updateNodeUp:output_type -> pb.RPCSuccess - 57, // 127: pb.NodeService.downloadNodeInstallationFile:output_type -> pb.DownloadNodeInstallationFileResponse - 116, // 128: pb.NodeService.updateNodeSystem:output_type -> pb.RPCSuccess - 116, // 129: pb.NodeService.updateNodeCache:output_type -> pb.RPCSuccess - 61, // 130: pb.NodeService.findNodeLevelInfo:output_type -> pb.FindNodeLevelInfoResponse - 63, // 131: pb.NodeService.findNodeDNSResolver:output_type -> pb.FindNodeDNSResolverResponse - 116, // 132: pb.NodeService.updateNodeDNSResolver:output_type -> pb.RPCSuccess - 66, // 133: pb.NodeService.findNodeDDoSProtection:output_type -> pb.FindNodeDDoSProtectionResponse - 116, // 134: pb.NodeService.updateNodeDDoSProtection:output_type -> pb.RPCSuccess - 69, // 135: pb.NodeService.findNodeGlobalServerConfig:output_type -> pb.FindNodeGlobalServerConfigResponse - 71, // 136: pb.NodeService.findEnabledNodeConfigInfo:output_type -> pb.FindEnabledNodeConfigInfoResponse - 115, // 137: pb.NodeService.countAllNodeRegionInfo:output_type -> pb.RPCCountResponse - 74, // 138: pb.NodeService.listNodeRegionInfo:output_type -> pb.ListNodeRegionInfoResponse - 116, // 139: pb.NodeService.updateNodeRegionInfo:output_type -> pb.RPCSuccess - 77, // 140: pb.NodeService.findNodeAPIConfig:output_type -> pb.FindNodeAPIConfigResponse - 116, // 141: pb.NodeService.updateNodeAPIConfig:output_type -> pb.RPCSuccess - 80, // 142: pb.NodeService.findNodeUAMPolicies:output_type -> pb.FindNodeUAMPoliciesResponse - 82, // 143: pb.NodeService.findNodeHTTPCCPolicies:output_type -> pb.FindNodeHTTPCCPoliciesResponse - 84, // 144: pb.NodeService.findNodeHTTP3Policies:output_type -> pb.FindNodeHTTP3PoliciesResponse - 86, // 145: pb.NodeService.findNodeHTTPPagesPolicies:output_type -> pb.FindNodeHTTPPagesPoliciesResponse - 88, // 146: pb.NodeService.findNodeScheduleInfo:output_type -> pb.FindNodeScheduleInfoResponse - 116, // 147: pb.NodeService.updateNodeScheduleInfo:output_type -> pb.RPCSuccess - 116, // 148: pb.NodeService.resetNodeActionStatus:output_type -> pb.RPCSuccess - 92, // 149: pb.NodeService.findAllNodeScheduleInfoWithNodeClusterId:output_type -> pb.FindAllNodeScheduleInfoWithNodeClusterIdResponse - 116, // 150: pb.NodeService.copyNodeActionsToNodeGroup:output_type -> pb.RPCSuccess - 116, // 151: pb.NodeService.copyNodeActionsToNodeCluster:output_type -> pb.RPCSuccess - 96, // 152: pb.NodeService.findNodeTOAConfig:output_type -> pb.FindNodeTOAConfigResponse - 98, // 153: pb.NodeService.findNodeNetworkSecurityPolicy:output_type -> pb.FindNodeNetworkSecurityPolicyResponse - 90, // [90:154] is the sub-list for method output_type - 26, // [26:90] is the sub-list for method input_type - 26, // [26:26] is the sub-list for extension type_name - 26, // [26:26] is the sub-list for extension extendee - 0, // [0:26] is the sub-list for field type_name + 111, // 13: pb.FindEnabledNodesWithIdsResponse.nodes:type_name -> pb.Node + 115, // 14: pb.UpdateNodeCacheRequest.maxCacheDiskCapacity:type_name -> pb.SizeCapacity + 115, // 15: pb.UpdateNodeCacheRequest.maxCacheMemoryCapacity:type_name -> pb.SizeCapacity + 102, // 16: pb.ListNodeRegionInfoResponse.infoList:type_name -> pb.ListNodeRegionInfoResponse.Info + 103, // 17: pb.FindNodeUAMPoliciesResponse.uamPolicies:type_name -> pb.FindNodeUAMPoliciesResponse.UAMPolicy + 104, // 18: pb.FindNodeHTTPCCPoliciesResponse.httpCCPolicies:type_name -> pb.FindNodeHTTPCCPoliciesResponse.HTTPCCPolicy + 105, // 19: pb.FindNodeHTTP3PoliciesResponse.http3Policies:type_name -> pb.FindNodeHTTP3PoliciesResponse.HTTP3Policy + 106, // 20: pb.FindNodeHTTPPagesPoliciesResponse.httpPagesPolicies:type_name -> pb.FindNodeHTTPPagesPoliciesResponse.HTTPPagesPolicy + 107, // 21: pb.FindNodeScheduleInfoResponse.scheduleInfo:type_name -> pb.FindNodeScheduleInfoResponse.ScheduleInfo + 108, // 22: pb.FindAllNodeScheduleInfoWithNodeClusterIdResponse.nodes:type_name -> pb.FindAllNodeScheduleInfoWithNodeClusterIdResponse.ScheduleInfo + 109, // 23: pb.FindNodeWebPPoliciesResponse.webPPolicies:type_name -> pb.FindNodeWebPPoliciesResponse.WebPPolicy + 111, // 24: pb.FindAllUpgradeNodesWithNodeClusterIdResponse.NodeUpgrade.node:type_name -> pb.Node + 116, // 25: pb.ListNodeRegionInfoResponse.Info.nodeRegion:type_name -> pb.NodeRegion + 117, // 26: pb.ListNodeRegionInfoResponse.Info.nodeCluster:type_name -> pb.NodeCluster + 0, // 27: pb.NodeService.createNode:input_type -> pb.CreateNodeRequest + 2, // 28: pb.NodeService.registerClusterNode:input_type -> pb.RegisterClusterNodeRequest + 4, // 29: pb.NodeService.countAllEnabledNodes:input_type -> pb.CountAllEnabledNodesRequest + 20, // 30: pb.NodeService.countAllEnabledNodesMatch:input_type -> pb.CountAllEnabledNodesMatchRequest + 5, // 31: pb.NodeService.listEnabledNodesMatch:input_type -> pb.ListEnabledNodesMatchRequest + 7, // 32: pb.NodeService.findAllEnabledNodesWithNodeClusterId:input_type -> pb.FindAllEnabledNodesWithNodeClusterIdRequest + 9, // 33: pb.NodeService.deleteNode:input_type -> pb.DeleteNodeRequest + 10, // 34: pb.NodeService.deleteNodeFromNodeCluster:input_type -> pb.DeleteNodeFromNodeClusterRequest + 11, // 35: pb.NodeService.updateNode:input_type -> pb.UpdateNodeRequest + 12, // 36: pb.NodeService.findEnabledNode:input_type -> pb.FindEnabledNodeRequest + 14, // 37: pb.NodeService.findEnabledBasicNode:input_type -> pb.FindEnabledBasicNodeRequest + 16, // 38: pb.NodeService.findCurrentNodeConfig:input_type -> pb.FindCurrentNodeConfigRequest + 18, // 39: pb.NodeService.nodeStream:input_type -> pb.NodeStreamMessage + 18, // 40: pb.NodeService.sendCommandToNode:input_type -> pb.NodeStreamMessage + 19, // 41: pb.NodeService.updateNodeStatus:input_type -> pb.UpdateNodeStatusRequest + 21, // 42: pb.NodeService.updateNodeIsInstalled:input_type -> pb.UpdateNodeIsInstalledRequest + 22, // 43: pb.NodeService.installNode:input_type -> pb.InstallNodeRequest + 24, // 44: pb.NodeService.upgradeNode:input_type -> pb.UpgradeNodeRequest + 26, // 45: pb.NodeService.startNode:input_type -> pb.StartNodeRequest + 28, // 46: pb.NodeService.stopNode:input_type -> pb.StopNodeRequest + 30, // 47: pb.NodeService.updateNodeConnectedAPINodes:input_type -> pb.UpdateNodeConnectedAPINodesRequest + 31, // 48: pb.NodeService.countAllEnabledNodesWithNodeGrantId:input_type -> pb.CountAllEnabledNodesWithNodeGrantIdRequest + 32, // 49: pb.NodeService.findAllEnabledNodesWithNodeGrantId:input_type -> pb.FindAllEnabledNodesWithNodeGrantIdRequest + 36, // 50: pb.NodeService.countAllNotInstalledNodesWithNodeClusterId:input_type -> pb.CountAllNotInstalledNodesWithNodeClusterIdRequest + 34, // 51: pb.NodeService.findAllNotInstalledNodesWithNodeClusterId:input_type -> pb.FindAllNotInstalledNodesWithNodeClusterIdRequest + 37, // 52: pb.NodeService.countAllUpgradeNodesWithNodeClusterId:input_type -> pb.CountAllUpgradeNodesWithNodeClusterIdRequest + 38, // 53: pb.NodeService.findAllUpgradeNodesWithNodeClusterId:input_type -> pb.FindAllUpgradeNodesWithNodeClusterIdRequest + 40, // 54: pb.NodeService.findNodeInstallStatus:input_type -> pb.FindNodeInstallStatusRequest + 42, // 55: pb.NodeService.updateNodeLogin:input_type -> pb.UpdateNodeLoginRequest + 43, // 56: pb.NodeService.countAllEnabledNodesWithNodeGroupId:input_type -> pb.CountAllEnabledNodesWithNodeGroupIdRequest + 44, // 57: pb.NodeService.findAllEnabledNodesDNSWithNodeClusterId:input_type -> pb.FindAllEnabledNodesDNSWithNodeClusterIdRequest + 47, // 58: pb.NodeService.findEnabledNodeDNS:input_type -> pb.FindEnabledNodeDNSRequest + 49, // 59: pb.NodeService.updateNodeDNS:input_type -> pb.UpdateNodeDNSRequest + 50, // 60: pb.NodeService.countAllEnabledNodesWithNodeRegionId:input_type -> pb.CountAllEnabledNodesWithNodeRegionIdRequest + 51, // 61: pb.NodeService.findEnabledNodesWithIds:input_type -> pb.FindEnabledNodesWithIdsRequest + 53, // 62: pb.NodeService.checkNodeLatestVersion:input_type -> pb.CheckNodeLatestVersionRequest + 55, // 63: pb.NodeService.updateNodeUp:input_type -> pb.UpdateNodeUpRequest + 56, // 64: pb.NodeService.downloadNodeInstallationFile:input_type -> pb.DownloadNodeInstallationFileRequest + 58, // 65: pb.NodeService.updateNodeSystem:input_type -> pb.UpdateNodeSystemRequest + 59, // 66: pb.NodeService.updateNodeCache:input_type -> pb.UpdateNodeCacheRequest + 60, // 67: pb.NodeService.findNodeLevelInfo:input_type -> pb.FindNodeLevelInfoRequest + 62, // 68: pb.NodeService.findNodeDNSResolver:input_type -> pb.FindNodeDNSResolverRequest + 64, // 69: pb.NodeService.updateNodeDNSResolver:input_type -> pb.UpdateNodeDNSResolverRequest + 65, // 70: pb.NodeService.findNodeDDoSProtection:input_type -> pb.FindNodeDDoSProtectionRequest + 67, // 71: pb.NodeService.updateNodeDDoSProtection:input_type -> pb.UpdateNodeDDoSProtectionRequest + 68, // 72: pb.NodeService.findNodeGlobalServerConfig:input_type -> pb.FindNodeGlobalServerConfigRequest + 70, // 73: pb.NodeService.findEnabledNodeConfigInfo:input_type -> pb.FindEnabledNodeConfigInfoRequest + 72, // 74: pb.NodeService.countAllNodeRegionInfo:input_type -> pb.CountAllNodeRegionInfoRequest + 73, // 75: pb.NodeService.listNodeRegionInfo:input_type -> pb.ListNodeRegionInfoRequest + 75, // 76: pb.NodeService.updateNodeRegionInfo:input_type -> pb.UpdateNodeRegionInfoRequest + 76, // 77: pb.NodeService.findNodeAPIConfig:input_type -> pb.FindNodeAPIConfigRequest + 78, // 78: pb.NodeService.updateNodeAPIConfig:input_type -> pb.UpdateNodeAPIConfigRequest + 79, // 79: pb.NodeService.findNodeUAMPolicies:input_type -> pb.FindNodeUAMPoliciesRequest + 81, // 80: pb.NodeService.findNodeHTTPCCPolicies:input_type -> pb.FindNodeHTTPCCPoliciesRequest + 83, // 81: pb.NodeService.findNodeHTTP3Policies:input_type -> pb.FindNodeHTTP3PoliciesRequest + 85, // 82: pb.NodeService.findNodeHTTPPagesPolicies:input_type -> pb.FindNodeHTTPPagesPoliciesRequest + 87, // 83: pb.NodeService.findNodeScheduleInfo:input_type -> pb.FindNodeScheduleInfoRequest + 89, // 84: pb.NodeService.updateNodeScheduleInfo:input_type -> pb.UpdateNodeScheduleInfoRequest + 90, // 85: pb.NodeService.resetNodeActionStatus:input_type -> pb.ResetNodeActionStatusRequest + 91, // 86: pb.NodeService.findAllNodeScheduleInfoWithNodeClusterId:input_type -> pb.FindAllNodeScheduleInfoWithNodeClusterIdRequest + 93, // 87: pb.NodeService.copyNodeActionsToNodeGroup:input_type -> pb.CopyNodeActionsToNodeGroupRequest + 94, // 88: pb.NodeService.copyNodeActionsToNodeCluster:input_type -> pb.CopyNodeActionsToNodeClusterRequest + 95, // 89: pb.NodeService.findNodeTOAConfig:input_type -> pb.FindNodeTOAConfigRequest + 97, // 90: pb.NodeService.findNodeNetworkSecurityPolicy:input_type -> pb.FindNodeNetworkSecurityPolicyRequest + 99, // 91: pb.NodeService.findNodeWebPPolicies:input_type -> pb.FindNodeWebPPoliciesRequest + 1, // 92: pb.NodeService.createNode:output_type -> pb.CreateNodeResponse + 3, // 93: pb.NodeService.registerClusterNode:output_type -> pb.RegisterClusterNodeResponse + 118, // 94: pb.NodeService.countAllEnabledNodes:output_type -> pb.RPCCountResponse + 118, // 95: pb.NodeService.countAllEnabledNodesMatch:output_type -> pb.RPCCountResponse + 6, // 96: pb.NodeService.listEnabledNodesMatch:output_type -> pb.ListEnabledNodesMatchResponse + 8, // 97: pb.NodeService.findAllEnabledNodesWithNodeClusterId:output_type -> pb.FindAllEnabledNodesWithNodeClusterIdResponse + 119, // 98: pb.NodeService.deleteNode:output_type -> pb.RPCSuccess + 119, // 99: pb.NodeService.deleteNodeFromNodeCluster:output_type -> pb.RPCSuccess + 119, // 100: pb.NodeService.updateNode:output_type -> pb.RPCSuccess + 13, // 101: pb.NodeService.findEnabledNode:output_type -> pb.FindEnabledNodeResponse + 15, // 102: pb.NodeService.findEnabledBasicNode:output_type -> pb.FindEnabledBasicNodeResponse + 17, // 103: pb.NodeService.findCurrentNodeConfig:output_type -> pb.FindCurrentNodeConfigResponse + 18, // 104: pb.NodeService.nodeStream:output_type -> pb.NodeStreamMessage + 18, // 105: pb.NodeService.sendCommandToNode:output_type -> pb.NodeStreamMessage + 119, // 106: pb.NodeService.updateNodeStatus:output_type -> pb.RPCSuccess + 119, // 107: pb.NodeService.updateNodeIsInstalled:output_type -> pb.RPCSuccess + 23, // 108: pb.NodeService.installNode:output_type -> pb.InstallNodeResponse + 25, // 109: pb.NodeService.upgradeNode:output_type -> pb.UpgradeNodeResponse + 27, // 110: pb.NodeService.startNode:output_type -> pb.StartNodeResponse + 29, // 111: pb.NodeService.stopNode:output_type -> pb.StopNodeResponse + 119, // 112: pb.NodeService.updateNodeConnectedAPINodes:output_type -> pb.RPCSuccess + 118, // 113: pb.NodeService.countAllEnabledNodesWithNodeGrantId:output_type -> pb.RPCCountResponse + 33, // 114: pb.NodeService.findAllEnabledNodesWithNodeGrantId:output_type -> pb.FindAllEnabledNodesWithNodeGrantIdResponse + 118, // 115: pb.NodeService.countAllNotInstalledNodesWithNodeClusterId:output_type -> pb.RPCCountResponse + 35, // 116: pb.NodeService.findAllNotInstalledNodesWithNodeClusterId:output_type -> pb.FindAllNotInstalledNodesWithNodeClusterIdResponse + 118, // 117: pb.NodeService.countAllUpgradeNodesWithNodeClusterId:output_type -> pb.RPCCountResponse + 39, // 118: pb.NodeService.findAllUpgradeNodesWithNodeClusterId:output_type -> pb.FindAllUpgradeNodesWithNodeClusterIdResponse + 41, // 119: pb.NodeService.findNodeInstallStatus:output_type -> pb.FindNodeInstallStatusResponse + 119, // 120: pb.NodeService.updateNodeLogin:output_type -> pb.RPCSuccess + 118, // 121: pb.NodeService.countAllEnabledNodesWithNodeGroupId:output_type -> pb.RPCCountResponse + 45, // 122: pb.NodeService.findAllEnabledNodesDNSWithNodeClusterId:output_type -> pb.FindAllEnabledNodesDNSWithNodeClusterIdResponse + 48, // 123: pb.NodeService.findEnabledNodeDNS:output_type -> pb.FindEnabledNodeDNSResponse + 119, // 124: pb.NodeService.updateNodeDNS:output_type -> pb.RPCSuccess + 118, // 125: pb.NodeService.countAllEnabledNodesWithNodeRegionId:output_type -> pb.RPCCountResponse + 52, // 126: pb.NodeService.findEnabledNodesWithIds:output_type -> pb.FindEnabledNodesWithIdsResponse + 54, // 127: pb.NodeService.checkNodeLatestVersion:output_type -> pb.CheckNodeLatestVersionResponse + 119, // 128: pb.NodeService.updateNodeUp:output_type -> pb.RPCSuccess + 57, // 129: pb.NodeService.downloadNodeInstallationFile:output_type -> pb.DownloadNodeInstallationFileResponse + 119, // 130: pb.NodeService.updateNodeSystem:output_type -> pb.RPCSuccess + 119, // 131: pb.NodeService.updateNodeCache:output_type -> pb.RPCSuccess + 61, // 132: pb.NodeService.findNodeLevelInfo:output_type -> pb.FindNodeLevelInfoResponse + 63, // 133: pb.NodeService.findNodeDNSResolver:output_type -> pb.FindNodeDNSResolverResponse + 119, // 134: pb.NodeService.updateNodeDNSResolver:output_type -> pb.RPCSuccess + 66, // 135: pb.NodeService.findNodeDDoSProtection:output_type -> pb.FindNodeDDoSProtectionResponse + 119, // 136: pb.NodeService.updateNodeDDoSProtection:output_type -> pb.RPCSuccess + 69, // 137: pb.NodeService.findNodeGlobalServerConfig:output_type -> pb.FindNodeGlobalServerConfigResponse + 71, // 138: pb.NodeService.findEnabledNodeConfigInfo:output_type -> pb.FindEnabledNodeConfigInfoResponse + 118, // 139: pb.NodeService.countAllNodeRegionInfo:output_type -> pb.RPCCountResponse + 74, // 140: pb.NodeService.listNodeRegionInfo:output_type -> pb.ListNodeRegionInfoResponse + 119, // 141: pb.NodeService.updateNodeRegionInfo:output_type -> pb.RPCSuccess + 77, // 142: pb.NodeService.findNodeAPIConfig:output_type -> pb.FindNodeAPIConfigResponse + 119, // 143: pb.NodeService.updateNodeAPIConfig:output_type -> pb.RPCSuccess + 80, // 144: pb.NodeService.findNodeUAMPolicies:output_type -> pb.FindNodeUAMPoliciesResponse + 82, // 145: pb.NodeService.findNodeHTTPCCPolicies:output_type -> pb.FindNodeHTTPCCPoliciesResponse + 84, // 146: pb.NodeService.findNodeHTTP3Policies:output_type -> pb.FindNodeHTTP3PoliciesResponse + 86, // 147: pb.NodeService.findNodeHTTPPagesPolicies:output_type -> pb.FindNodeHTTPPagesPoliciesResponse + 88, // 148: pb.NodeService.findNodeScheduleInfo:output_type -> pb.FindNodeScheduleInfoResponse + 119, // 149: pb.NodeService.updateNodeScheduleInfo:output_type -> pb.RPCSuccess + 119, // 150: pb.NodeService.resetNodeActionStatus:output_type -> pb.RPCSuccess + 92, // 151: pb.NodeService.findAllNodeScheduleInfoWithNodeClusterId:output_type -> pb.FindAllNodeScheduleInfoWithNodeClusterIdResponse + 119, // 152: pb.NodeService.copyNodeActionsToNodeGroup:output_type -> pb.RPCSuccess + 119, // 153: pb.NodeService.copyNodeActionsToNodeCluster:output_type -> pb.RPCSuccess + 96, // 154: pb.NodeService.findNodeTOAConfig:output_type -> pb.FindNodeTOAConfigResponse + 98, // 155: pb.NodeService.findNodeNetworkSecurityPolicy:output_type -> pb.FindNodeNetworkSecurityPolicyResponse + 100, // 156: pb.NodeService.findNodeWebPPolicies:output_type -> pb.FindNodeWebPPoliciesResponse + 92, // [92:157] is the sub-list for method output_type + 27, // [27:92] is the sub-list for method input_type + 27, // [27:27] is the sub-list for extension type_name + 27, // [27:27] is the sub-list for extension extendee + 0, // [0:27] is the sub-list for field type_name } func init() { file_service_node_proto_init() } @@ -8709,7 +8876,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade); i { + switch v := v.(*FindNodeWebPPoliciesRequest); i { case 0: return &v.state case 1: @@ -8721,7 +8888,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListNodeRegionInfoResponse_Info); i { + switch v := v.(*FindNodeWebPPoliciesResponse); i { case 0: return &v.state case 1: @@ -8733,7 +8900,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindNodeUAMPoliciesResponse_UAMPolicy); i { + switch v := v.(*FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade); i { case 0: return &v.state case 1: @@ -8745,7 +8912,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy); i { + switch v := v.(*ListNodeRegionInfoResponse_Info); i { case 0: return &v.state case 1: @@ -8757,7 +8924,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindNodeHTTP3PoliciesResponse_HTTP3Policy); i { + switch v := v.(*FindNodeUAMPoliciesResponse_UAMPolicy); i { case 0: return &v.state case 1: @@ -8769,7 +8936,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy); i { + switch v := v.(*FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy); i { case 0: return &v.state case 1: @@ -8781,7 +8948,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindNodeScheduleInfoResponse_ScheduleInfo); i { + switch v := v.(*FindNodeHTTP3PoliciesResponse_HTTP3Policy); i { case 0: return &v.state case 1: @@ -8793,6 +8960,30 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FindNodeScheduleInfoResponse_ScheduleInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo); i { case 0: return &v.state @@ -8804,6 +8995,18 @@ func file_service_node_proto_init() { return nil } } + file_service_node_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FindNodeWebPPoliciesResponse_WebPPolicy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -8811,7 +9014,7 @@ func file_service_node_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_service_node_proto_rawDesc, NumEnums: 0, - NumMessages: 107, + NumMessages: 110, NumExtensions: 0, NumServices: 1, }, diff --git a/pkg/rpc/pb/service_node_cluster.pb.go b/pkg/rpc/pb/service_node_cluster.pb.go index e212e70..b98c769 100644 --- a/pkg/rpc/pb/service_node_cluster.pb.go +++ b/pkg/rpc/pb/service_node_cluster.pb.go @@ -2987,7 +2987,7 @@ type FindEnabledNodeClusterConfigInfoResponse struct { HasMessageReceivers bool `protobuf:"varint,4,opt,name=hasMessageReceivers,proto3" json:"hasMessageReceivers,omitempty"` // 已设置消息通知接收人 IsTOAEnabled bool `protobuf:"varint,5,opt,name=isTOAEnabled,proto3" json:"isTOAEnabled,omitempty"` // 启用了TOA HasMetricItems bool `protobuf:"varint,6,opt,name=hasMetricItems,proto3" json:"hasMetricItems,omitempty"` // 有指标统计设置 - WebpIsOn bool `protobuf:"varint,7,opt,name=webpIsOn,proto3" json:"webpIsOn,omitempty"` // 是否定义了WebP策略 + WebPIsOn bool `protobuf:"varint,7,opt,name=webPIsOn,proto3" json:"webPIsOn,omitempty"` // 是否定义了WebP策略 UamIsOn bool `protobuf:"varint,10,opt,name=uamIsOn,proto3" json:"uamIsOn,omitempty"` // 是否定义了UAM策略 HttpCCIsOn bool `protobuf:"varint,12,opt,name=httpCCIsOn,proto3" json:"httpCCIsOn,omitempty"` // 是否定义了CC策略 HasSystemServices bool `protobuf:"varint,8,opt,name=hasSystemServices,proto3" json:"hasSystemServices,omitempty"` // 启用了系统服务 @@ -3071,9 +3071,9 @@ func (x *FindEnabledNodeClusterConfigInfoResponse) GetHasMetricItems() bool { return false } -func (x *FindEnabledNodeClusterConfigInfoResponse) GetWebpIsOn() bool { +func (x *FindEnabledNodeClusterConfigInfoResponse) GetWebPIsOn() bool { if x != nil { - return x.WebpIsOn + return x.WebPIsOn } return false } @@ -3285,7 +3285,7 @@ type UpdateNodeClusterWebPPolicyRequest struct { unknownFields protoimpl.UnknownFields NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` - WebpPolicyJSON []byte `protobuf:"bytes,2,opt,name=webpPolicyJSON,proto3" json:"webpPolicyJSON,omitempty"` + WebPPolicyJSON []byte `protobuf:"bytes,2,opt,name=webPPolicyJSON,proto3" json:"webPPolicyJSON,omitempty"` } func (x *UpdateNodeClusterWebPPolicyRequest) Reset() { @@ -3327,9 +3327,9 @@ func (x *UpdateNodeClusterWebPPolicyRequest) GetNodeClusterId() int64 { return 0 } -func (x *UpdateNodeClusterWebPPolicyRequest) GetWebpPolicyJSON() []byte { +func (x *UpdateNodeClusterWebPPolicyRequest) GetWebPPolicyJSON() []byte { if x != nil { - return x.WebpPolicyJSON + return x.WebPPolicyJSON } return nil } @@ -4902,8 +4902,8 @@ var file_service_node_cluster_proto_rawDesc = []byte{ 0x41, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x68, 0x61, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x68, 0x61, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, - 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x65, 0x62, 0x70, 0x49, 0x73, 0x4f, 0x6e, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x08, 0x77, 0x65, 0x62, 0x70, 0x49, 0x73, 0x4f, 0x6e, 0x12, 0x18, 0x0a, 0x07, + 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x65, 0x62, 0x50, 0x49, 0x73, 0x4f, 0x6e, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x08, 0x77, 0x65, 0x62, 0x50, 0x49, 0x73, 0x4f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x61, 0x6d, 0x49, 0x73, 0x4f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x75, 0x61, 0x6d, 0x49, 0x73, 0x4f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x68, 0x74, 0x74, 0x70, 0x43, 0x43, 0x49, 0x73, 0x4f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x68, 0x74, 0x74, 0x70, @@ -4943,8 +4943,8 @@ var file_service_node_cluster_proto_rawDesc = []byte{ 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x77, 0x65, 0x62, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, - 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x77, 0x65, 0x62, 0x70, 0x50, + 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x77, 0x65, 0x62, 0x50, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, + 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x77, 0x65, 0x62, 0x50, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x4e, 0x0a, 0x26, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x55, 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, diff --git a/pkg/rpc/pb/service_node_grpc.pb.go b/pkg/rpc/pb/service_node_grpc.pb.go index 8967280..2e816e8 100644 --- a/pkg/rpc/pb/service_node_grpc.pb.go +++ b/pkg/rpc/pb/service_node_grpc.pb.go @@ -83,6 +83,7 @@ const ( NodeService_CopyNodeActionsToNodeCluster_FullMethodName = "/pb.NodeService/copyNodeActionsToNodeCluster" NodeService_FindNodeTOAConfig_FullMethodName = "/pb.NodeService/findNodeTOAConfig" NodeService_FindNodeNetworkSecurityPolicy_FullMethodName = "/pb.NodeService/findNodeNetworkSecurityPolicy" + NodeService_FindNodeWebPPolicies_FullMethodName = "/pb.NodeService/findNodeWebPPolicies" ) // NodeServiceClient is the client API for NodeService service. @@ -217,6 +218,8 @@ type NodeServiceClient interface { FindNodeTOAConfig(ctx context.Context, in *FindNodeTOAConfigRequest, opts ...grpc.CallOption) (*FindNodeTOAConfigResponse, error) // 查找节点的网络安全策略 FindNodeNetworkSecurityPolicy(ctx context.Context, in *FindNodeNetworkSecurityPolicyRequest, opts ...grpc.CallOption) (*FindNodeNetworkSecurityPolicyResponse, error) + // 查找节点的WebP策略 + FindNodeWebPPolicies(ctx context.Context, in *FindNodeWebPPoliciesRequest, opts ...grpc.CallOption) (*FindNodeWebPPoliciesResponse, error) } type nodeServiceClient struct { @@ -825,6 +828,15 @@ func (c *nodeServiceClient) FindNodeNetworkSecurityPolicy(ctx context.Context, i return out, nil } +func (c *nodeServiceClient) FindNodeWebPPolicies(ctx context.Context, in *FindNodeWebPPoliciesRequest, opts ...grpc.CallOption) (*FindNodeWebPPoliciesResponse, error) { + out := new(FindNodeWebPPoliciesResponse) + err := c.cc.Invoke(ctx, NodeService_FindNodeWebPPolicies_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // NodeServiceServer is the server API for NodeService service. // All implementations should embed UnimplementedNodeServiceServer // for forward compatibility @@ -957,6 +969,8 @@ type NodeServiceServer interface { FindNodeTOAConfig(context.Context, *FindNodeTOAConfigRequest) (*FindNodeTOAConfigResponse, error) // 查找节点的网络安全策略 FindNodeNetworkSecurityPolicy(context.Context, *FindNodeNetworkSecurityPolicyRequest) (*FindNodeNetworkSecurityPolicyResponse, error) + // 查找节点的WebP策略 + FindNodeWebPPolicies(context.Context, *FindNodeWebPPoliciesRequest) (*FindNodeWebPPoliciesResponse, error) } // UnimplementedNodeServiceServer should be embedded to have forward compatible implementations. @@ -1155,6 +1169,9 @@ func (UnimplementedNodeServiceServer) FindNodeTOAConfig(context.Context, *FindNo func (UnimplementedNodeServiceServer) FindNodeNetworkSecurityPolicy(context.Context, *FindNodeNetworkSecurityPolicyRequest) (*FindNodeNetworkSecurityPolicyResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FindNodeNetworkSecurityPolicy not implemented") } +func (UnimplementedNodeServiceServer) FindNodeWebPPolicies(context.Context, *FindNodeWebPPoliciesRequest) (*FindNodeWebPPoliciesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FindNodeWebPPolicies not implemented") +} // UnsafeNodeServiceServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to NodeServiceServer will @@ -2327,6 +2344,24 @@ func _NodeService_FindNodeNetworkSecurityPolicy_Handler(srv interface{}, ctx con return interceptor(ctx, in, info, handler) } +func _NodeService_FindNodeWebPPolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FindNodeWebPPoliciesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServiceServer).FindNodeWebPPolicies(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: NodeService_FindNodeWebPPolicies_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServiceServer).FindNodeWebPPolicies(ctx, req.(*FindNodeWebPPoliciesRequest)) + } + return interceptor(ctx, in, info, handler) +} + // NodeService_ServiceDesc is the grpc.ServiceDesc for NodeService service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -2586,6 +2621,10 @@ var NodeService_ServiceDesc = grpc.ServiceDesc{ MethodName: "findNodeNetworkSecurityPolicy", Handler: _NodeService_FindNodeNetworkSecurityPolicy_Handler, }, + { + MethodName: "findNodeWebPPolicies", + Handler: _NodeService_FindNodeWebPPolicies_Handler, + }, }, Streams: []grpc.StreamDesc{ { diff --git a/pkg/rpc/protos/service_node.proto b/pkg/rpc/protos/service_node.proto index 3da99a0..8d6ffa0 100644 --- a/pkg/rpc/protos/service_node.proto +++ b/pkg/rpc/protos/service_node.proto @@ -205,6 +205,9 @@ service NodeService { // 查找节点的网络安全策略 rpc findNodeNetworkSecurityPolicy(FindNodeNetworkSecurityPolicyRequest) returns (FindNodeNetworkSecurityPolicyResponse); + + // 查找节点的WebP策略 + rpc findNodeWebPPolicies(FindNodeWebPPoliciesRequest) returns (FindNodeWebPPoliciesResponse); } // 创建节点 @@ -827,4 +830,18 @@ message FindNodeNetworkSecurityPolicyRequest { message FindNodeNetworkSecurityPolicyResponse { bytes networkSecurityPolicyJSON = 1; // 网络安全策略 +} + +// 查找节点的WebP策略 +message FindNodeWebPPoliciesRequest { + +} + +message FindNodeWebPPoliciesResponse { + repeated WebPPolicy webPPolicies = 1; // WebP策略列表 + + message WebPPolicy { + int64 nodeClusterId = 1; // 集群ID + bytes webPPolicyJSON = 2; // WebP策略配置 + } } \ No newline at end of file diff --git a/pkg/rpc/protos/service_node_cluster.proto b/pkg/rpc/protos/service_node_cluster.proto index dccbf6c..c3d7dfb 100644 --- a/pkg/rpc/protos/service_node_cluster.proto +++ b/pkg/rpc/protos/service_node_cluster.proto @@ -482,7 +482,7 @@ message FindEnabledNodeClusterConfigInfoResponse { bool hasMessageReceivers = 4; // 已设置消息通知接收人 bool isTOAEnabled = 5; // 启用了TOA bool hasMetricItems = 6; // 有指标统计设置 - bool webpIsOn = 7; // 是否定义了WebP策略 + bool webPIsOn = 7; // 是否定义了WebP策略 bool uamIsOn = 10; // 是否定义了UAM策略 bool httpCCIsOn = 12; // 是否定义了CC策略 bool hasSystemServices = 8; // 启用了系统服务 @@ -510,7 +510,7 @@ message FindEnabledNodeClusterWebPPolicyResponse { // 设置集群WebP策略 message UpdateNodeClusterWebPPolicyRequest { int64 nodeClusterId = 1; - bytes webpPolicyJSON = 2; + bytes webPPolicyJSON = 2; } // 读取集群的UAM策略