mirror of
				https://github.com/TeaOSLab/EdgeCommon.git
				synced 2025-11-04 13:10:24 +08:00 
			
		
		
		
	增加SysLockerService等;提供多个便捷函数
This commit is contained in:
		@@ -2546,6 +2546,101 @@ func (x *FindNodeClusterSystemServiceResponse) GetParamsJSON() []byte {
 | 
				
			|||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 获取集群中可以使用的端口
 | 
				
			||||||
 | 
					type FindFreePortInNodeClusterRequest struct {
 | 
				
			||||||
 | 
						state         protoimpl.MessageState
 | 
				
			||||||
 | 
						sizeCache     protoimpl.SizeCache
 | 
				
			||||||
 | 
						unknownFields protoimpl.UnknownFields
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *FindFreePortInNodeClusterRequest) Reset() {
 | 
				
			||||||
 | 
						*x = FindFreePortInNodeClusterRequest{}
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled {
 | 
				
			||||||
 | 
							mi := &file_service_node_cluster_proto_msgTypes[48]
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *FindFreePortInNodeClusterRequest) String() string {
 | 
				
			||||||
 | 
						return protoimpl.X.MessageStringOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (*FindFreePortInNodeClusterRequest) ProtoMessage() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *FindFreePortInNodeClusterRequest) ProtoReflect() protoreflect.Message {
 | 
				
			||||||
 | 
						mi := &file_service_node_cluster_proto_msgTypes[48]
 | 
				
			||||||
 | 
						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 FindFreePortInNodeClusterRequest.ProtoReflect.Descriptor instead.
 | 
				
			||||||
 | 
					func (*FindFreePortInNodeClusterRequest) Descriptor() ([]byte, []int) {
 | 
				
			||||||
 | 
						return file_service_node_cluster_proto_rawDescGZIP(), []int{48}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *FindFreePortInNodeClusterRequest) GetNodeClusterId() int64 {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.NodeClusterId
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type FindFreePortInNodeClusterResponse struct {
 | 
				
			||||||
 | 
						state         protoimpl.MessageState
 | 
				
			||||||
 | 
						sizeCache     protoimpl.SizeCache
 | 
				
			||||||
 | 
						unknownFields protoimpl.UnknownFields
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Port int32 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *FindFreePortInNodeClusterResponse) Reset() {
 | 
				
			||||||
 | 
						*x = FindFreePortInNodeClusterResponse{}
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled {
 | 
				
			||||||
 | 
							mi := &file_service_node_cluster_proto_msgTypes[49]
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *FindFreePortInNodeClusterResponse) String() string {
 | 
				
			||||||
 | 
						return protoimpl.X.MessageStringOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (*FindFreePortInNodeClusterResponse) ProtoMessage() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *FindFreePortInNodeClusterResponse) ProtoReflect() protoreflect.Message {
 | 
				
			||||||
 | 
						mi := &file_service_node_cluster_proto_msgTypes[49]
 | 
				
			||||||
 | 
						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 FindFreePortInNodeClusterResponse.ProtoReflect.Descriptor instead.
 | 
				
			||||||
 | 
					func (*FindFreePortInNodeClusterResponse) Descriptor() ([]byte, []int) {
 | 
				
			||||||
 | 
						return file_service_node_cluster_proto_rawDescGZIP(), []int{49}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *FindFreePortInNodeClusterResponse) GetPort() int32 {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.Port
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ExecuteNodeClusterHealthCheckResponse_Result struct {
 | 
					type ExecuteNodeClusterHealthCheckResponse_Result struct {
 | 
				
			||||||
	state         protoimpl.MessageState
 | 
						state         protoimpl.MessageState
 | 
				
			||||||
	sizeCache     protoimpl.SizeCache
 | 
						sizeCache     protoimpl.SizeCache
 | 
				
			||||||
@@ -2561,7 +2656,7 @@ type ExecuteNodeClusterHealthCheckResponse_Result struct {
 | 
				
			|||||||
func (x *ExecuteNodeClusterHealthCheckResponse_Result) Reset() {
 | 
					func (x *ExecuteNodeClusterHealthCheckResponse_Result) Reset() {
 | 
				
			||||||
	*x = ExecuteNodeClusterHealthCheckResponse_Result{}
 | 
						*x = ExecuteNodeClusterHealthCheckResponse_Result{}
 | 
				
			||||||
	if protoimpl.UnsafeEnabled {
 | 
						if protoimpl.UnsafeEnabled {
 | 
				
			||||||
		mi := &file_service_node_cluster_proto_msgTypes[48]
 | 
							mi := &file_service_node_cluster_proto_msgTypes[50]
 | 
				
			||||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
		ms.StoreMessageInfo(mi)
 | 
							ms.StoreMessageInfo(mi)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -2574,7 +2669,7 @@ func (x *ExecuteNodeClusterHealthCheckResponse_Result) String() string {
 | 
				
			|||||||
func (*ExecuteNodeClusterHealthCheckResponse_Result) ProtoMessage() {}
 | 
					func (*ExecuteNodeClusterHealthCheckResponse_Result) ProtoMessage() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (x *ExecuteNodeClusterHealthCheckResponse_Result) ProtoReflect() protoreflect.Message {
 | 
					func (x *ExecuteNodeClusterHealthCheckResponse_Result) ProtoReflect() protoreflect.Message {
 | 
				
			||||||
	mi := &file_service_node_cluster_proto_msgTypes[48]
 | 
						mi := &file_service_node_cluster_proto_msgTypes[50]
 | 
				
			||||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
						if protoimpl.UnsafeEnabled && x != nil {
 | 
				
			||||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
		if ms.LoadMessageInfo() == nil {
 | 
							if ms.LoadMessageInfo() == nil {
 | 
				
			||||||
@@ -2954,225 +3049,240 @@ var file_service_node_cluster_proto_rawDesc = []byte{
 | 
				
			|||||||
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d,
 | 
						0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d,
 | 
				
			||||||
	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
						0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
				
			||||||
	0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20,
 | 
						0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20,
 | 
				
			||||||
	0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x32,
 | 
						0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22,
 | 
				
			||||||
	0x8d, 0x1b, 0x0a, 0x12, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53,
 | 
						0x48, 0x0a, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x46, 0x72, 0x65, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x49,
 | 
				
			||||||
	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
 | 
						0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75,
 | 
				
			||||||
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x70, 0x62,
 | 
						0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
 | 
				
			||||||
	0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
 | 
						0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65,
 | 
				
			||||||
	0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x43,
 | 
						0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x37, 0x0a, 0x21, 0x46, 0x69, 0x6e,
 | 
				
			||||||
	0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
 | 
						0x64, 0x46, 0x72, 0x65, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43,
 | 
				
			||||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61,
 | 
						0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12,
 | 
				
			||||||
	0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x2e,
 | 
						0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f,
 | 
				
			||||||
	0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
						0x72, 0x74, 0x32, 0xf7, 0x1b, 0x0a, 0x12, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
 | 
				
			||||||
	0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
 | 
						0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x63, 0x72, 0x65,
 | 
				
			||||||
	0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x11, 0x64,
 | 
						0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1c,
 | 
				
			||||||
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
 | 
						0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
 | 
				
			||||||
	0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65,
 | 
						0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70,
 | 
				
			||||||
 | 
						0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
 | 
				
			||||||
 | 
						0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x75,
 | 
				
			||||||
 | 
						0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
 | 
				
			||||||
 | 
						0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65,
 | 
				
			||||||
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e,
 | 
						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, 0x5f,
 | 
						0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x41,
 | 
				
			||||||
	0x0a, 0x16, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64,
 | 
						0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
 | 
				
			||||||
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
 | 
						0x74, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e,
 | 
				
			||||||
	0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
						0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
				
			||||||
	0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62,
 | 
						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, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
				
			||||||
 | 
						0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x70, 0x62,
 | 
				
			||||||
	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
 | 
						0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
 | 
				
			||||||
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
						0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22,
 | 
				
			||||||
	0x6e, 0x0a, 0x1b, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57,
 | 
						0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
 | 
				
			||||||
	0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x26,
 | 
						0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
				
			||||||
	0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73,
 | 
						0x73, 0x65, 0x12, 0x6e, 0x0a, 0x1b, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64,
 | 
				
			||||||
	0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52,
 | 
						0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
 | 
				
			||||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
 | 
						0x72, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f,
 | 
				
			||||||
	0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65,
 | 
						0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
 | 
				
			||||||
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
						0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x46,
 | 
				
			||||||
	0x6b, 0x0a, 0x1a, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
						0x69, 0x6e, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e,
 | 
				
			||||||
 | 
						0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
				
			||||||
 | 
						0x73, 0x65, 0x12, 0x6b, 0x0a, 0x1a, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
 | 
				
			||||||
 | 
						0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73,
 | 
				
			||||||
 | 
						0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
 | 
				
			||||||
 | 
						0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73,
 | 
				
			||||||
 | 
						0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
 | 
				
			||||||
 | 
						0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43,
 | 
				
			||||||
 | 
						0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
				
			||||||
 | 
						0x6b, 0x0a, 0x1a, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
 | 
				
			||||||
	0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x25, 0x2e,
 | 
						0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x25, 0x2e,
 | 
				
			||||||
	0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
						0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
 | 
				
			||||||
	0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71,
 | 
						0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71,
 | 
				
			||||||
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c,
 | 
						0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c,
 | 
				
			||||||
	0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
 | 
						0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
 | 
				
			||||||
	0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x1a,
 | 
						0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x1b,
 | 
				
			||||||
	0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f,
 | 
						0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
 | 
				
			||||||
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e,
 | 
						0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x26, 0x2e, 0x70, 0x62,
 | 
				
			||||||
	0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f,
 | 
						0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
				
			||||||
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
						0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75,
 | 
				
			||||||
	0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x68,
 | 
						0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e,
 | 
				
			||||||
	0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
 | 
						0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x6c, 0x69, 0x73,
 | 
				
			||||||
	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x1b, 0x63, 0x6f, 0x75,
 | 
						0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
 | 
				
			||||||
	0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
 | 
						0x74, 0x65, 0x72, 0x73, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e,
 | 
				
			||||||
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f,
 | 
					 | 
				
			||||||
	0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64,
 | 
					 | 
				
			||||||
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x62, 0x0a, 0x17, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e,
 | 
					 | 
				
			||||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
 | 
						0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
 | 
				
			||||||
	0x73, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c,
 | 
						0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69,
 | 
				
			||||||
	0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65,
 | 
						0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
				
			||||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45,
 | 
						0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a,
 | 
				
			||||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
 | 
						0x20, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
 | 
				
			||||||
	0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x20, 0x66, 0x69,
 | 
						0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69,
 | 
				
			||||||
	0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61,
 | 
						0x67, 0x12, 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43,
 | 
				
			||||||
	0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2b,
 | 
						0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63,
 | 
				
			||||||
 | 
						0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c,
 | 
				
			||||||
	0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
 | 
						0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
 | 
				
			||||||
	0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f,
 | 
						0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f,
 | 
				
			||||||
	0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x70, 0x62,
 | 
						0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x1c,
 | 
				
			||||||
	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
 | 
						0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
 | 
				
			||||||
	0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69,
 | 
						0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x27, 0x2e, 0x70,
 | 
				
			||||||
	0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x1c, 0x75, 0x70, 0x64,
 | 
						0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
 | 
				
			||||||
	0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65,
 | 
						0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65,
 | 
				
			||||||
	0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x55,
 | 
						0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
 | 
				
			||||||
	0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
 | 
						0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x74, 0x0a, 0x1d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65,
 | 
				
			||||||
	0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
					 | 
				
			||||||
	0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65,
 | 
					 | 
				
			||||||
	0x73, 0x73, 0x12, 0x74, 0x0a, 0x1d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x64,
 | 
					 | 
				
			||||||
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68,
 | 
					 | 
				
			||||||
	0x65, 0x63, 0x6b, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65,
 | 
					 | 
				
			||||||
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74,
 | 
						0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74,
 | 
				
			||||||
	0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e,
 | 
						0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63,
 | 
				
			||||||
	0x70, 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
 | 
						0x75, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65,
 | 
				
			||||||
	0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b,
 | 
						0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
				
			||||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x26, 0x63, 0x6f, 0x75, 0x6e,
 | 
						0x1a, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x64,
 | 
				
			||||||
	0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43,
 | 
						0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68,
 | 
				
			||||||
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72, 0x61, 0x6e, 0x74,
 | 
						0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x26, 0x63,
 | 
				
			||||||
	0x49, 0x64, 0x12, 0x31, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c,
 | 
						0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f,
 | 
				
			||||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
 | 
					 | 
				
			||||||
	0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 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, 0x8c, 0x01, 0x0a, 0x25,
 | 
					 | 
				
			||||||
	0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f,
 | 
					 | 
				
			||||||
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72,
 | 
						0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72,
 | 
				
			||||||
	0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x30, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41,
 | 
						0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x31, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74,
 | 
				
			||||||
	0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
					 | 
				
			||||||
	0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64,
 | 
					 | 
				
			||||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
 | 
					 | 
				
			||||||
	0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43,
 | 
					 | 
				
			||||||
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72, 0x61, 0x6e, 0x74,
 | 
					 | 
				
			||||||
	0x49, 0x64, 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, 0x6c, 0x75,
 | 
					 | 
				
			||||||
	0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
 | 
					 | 
				
			||||||
	0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
 | 
					 | 
				
			||||||
	0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 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, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x70,
 | 
					 | 
				
			||||||
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x2c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c,
 | 
					 | 
				
			||||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
 | 
					 | 
				
			||||||
	0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64,
 | 
					 | 
				
			||||||
	0x65, 0x72, 0x49, 0x64, 0x12, 0x37, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41,
 | 
					 | 
				
			||||||
	0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
					 | 
				
			||||||
	0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x50, 0x72, 0x6f, 0x76,
 | 
					 | 
				
			||||||
	0x69, 0x64, 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, 0x79, 0x0a, 0x2a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45,
 | 
					 | 
				
			||||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
 | 
					 | 
				
			||||||
	0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49,
 | 
					 | 
				
			||||||
	0x64, 0x12, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45,
 | 
					 | 
				
			||||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
 | 
					 | 
				
			||||||
	0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 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, 0x98,
 | 
					 | 
				
			||||||
	0x01, 0x0a, 0x29, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
					 | 
				
			||||||
	0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74,
 | 
					 | 
				
			||||||
	0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x34, 0x2e, 0x70,
 | 
					 | 
				
			||||||
	0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
					 | 
				
			||||||
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68,
 | 
					 | 
				
			||||||
	0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
					 | 
				
			||||||
	0x73, 0x74, 0x1a, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45,
 | 
					 | 
				
			||||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
 | 
					 | 
				
			||||||
	0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49,
 | 
					 | 
				
			||||||
	0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x63, 0x68, 0x65,
 | 
					 | 
				
			||||||
	0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53,
 | 
					 | 
				
			||||||
	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e,
 | 
					 | 
				
			||||||
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x4e, 0x61, 0x6d,
 | 
					 | 
				
			||||||
	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68,
 | 
					 | 
				
			||||||
	0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e,
 | 
					 | 
				
			||||||
	0x53, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a,
 | 
					 | 
				
			||||||
	0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
 | 
					 | 
				
			||||||
	0x65, 0x72, 0x44, 0x4e, 0x53, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
 | 
					 | 
				
			||||||
	0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x6b, 0x0a, 0x1a, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x4e,
 | 
					 | 
				
			||||||
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x43, 0x68, 0x61,
 | 
					 | 
				
			||||||
	0x6e, 0x67, 0x65, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e,
 | 
					 | 
				
			||||||
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x43, 0x68, 0x61,
 | 
					 | 
				
			||||||
	0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62,
 | 
					 | 
				
			||||||
	0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
 | 
					 | 
				
			||||||
	0x72, 0x44, 0x4e, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 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, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x4f, 0x41,
 | 
					 | 
				
			||||||
	0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
					 | 
				
			||||||
	0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x4f, 0x41, 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, 0x6c, 0x75, 0x73, 0x74,
 | 
					 | 
				
			||||||
	0x65, 0x72, 0x54, 0x4f, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a,
 | 
					 | 
				
			||||||
	0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
 | 
					 | 
				
			||||||
	0x65, 0x72, 0x54, 0x4f, 0x41, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
 | 
					 | 
				
			||||||
	0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x4f, 0x41, 0x52,
 | 
					 | 
				
			||||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53,
 | 
					 | 
				
			||||||
	0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x85, 0x01, 0x0a, 0x30, 0x63, 0x6f, 0x75, 0x6e, 0x74,
 | 
					 | 
				
			||||||
	0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
 | 
						0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
 | 
				
			||||||
	0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61,
 | 
						0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49,
 | 
				
			||||||
	0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x3b, 0x2e, 0x70, 0x62,
 | 
					 | 
				
			||||||
	0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
					 | 
				
			||||||
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68,
 | 
					 | 
				
			||||||
	0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49,
 | 
					 | 
				
			||||||
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50,
 | 
						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, 0xaa,
 | 
						0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8c,
 | 
				
			||||||
	0x01, 0x0a, 0x2f, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
						0x01, 0x0a, 0x25, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
				
			||||||
	0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74,
 | 
						0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74,
 | 
				
			||||||
	0x68, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
 | 
						0x68, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x30, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
 | 
				
			||||||
	0x49, 0x64, 0x12, 0x3a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45,
 | 
						0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
 | 
				
			||||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
 | 
						0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72, 0x61, 0x6e,
 | 
				
			||||||
	0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50,
 | 
						0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x70, 0x62, 0x2e,
 | 
				
			||||||
	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b,
 | 
						0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f,
 | 
				
			||||||
	0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
 | 
						0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72,
 | 
				
			||||||
 | 
						0x61, 0x6e, 0x74, 0x49, 0x64, 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, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e,
 | 
				
			||||||
 | 
						0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43,
 | 
				
			||||||
 | 
						0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 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, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x52,
 | 
				
			||||||
 | 
						0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x2c, 0x63, 0x6f, 0x75, 0x6e, 0x74,
 | 
				
			||||||
 | 
						0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
 | 
				
			||||||
 | 
						0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x50, 0x72, 0x6f,
 | 
				
			||||||
 | 
						0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x37, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75,
 | 
				
			||||||
 | 
						0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
 | 
				
			||||||
 | 
						0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x50,
 | 
				
			||||||
 | 
						0x72, 0x6f, 0x76, 0x69, 0x64, 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, 0x79, 0x0a, 0x2a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41,
 | 
				
			||||||
 | 
						0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
				
			||||||
 | 
						0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61,
 | 
				
			||||||
 | 
						0x69, 0x6e, 0x49, 0x64, 0x12, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41,
 | 
				
			||||||
 | 
						0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
				
			||||||
 | 
						0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61,
 | 
				
			||||||
 | 
						0x69, 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, 0x98, 0x01, 0x0a, 0x29, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
 | 
				
			||||||
 | 
						0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73,
 | 
				
			||||||
 | 
						0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12,
 | 
				
			||||||
 | 
						0x34, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
 | 
				
			||||||
 | 
						0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57,
 | 
				
			||||||
 | 
						0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x52, 0x65,
 | 
				
			||||||
 | 
						0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41,
 | 
				
			||||||
 | 
						0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
				
			||||||
 | 
						0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61,
 | 
				
			||||||
 | 
						0x69, 0x6e, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17,
 | 
				
			||||||
 | 
						0x63, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
 | 
				
			||||||
 | 
						0x44, 0x4e, 0x53, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65,
 | 
				
			||||||
 | 
						0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53,
 | 
				
			||||||
 | 
						0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62,
 | 
				
			||||||
 | 
						0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
 | 
				
			||||||
 | 
						0x72, 0x44, 0x4e, 0x53, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
				
			||||||
 | 
						0x12, 0x47, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
 | 
				
			||||||
 | 
						0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70,
 | 
				
			||||||
 | 
						0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x6b, 0x0a, 0x1a, 0x63, 0x68, 0x65,
 | 
				
			||||||
 | 
						0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53,
 | 
				
			||||||
 | 
						0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65,
 | 
				
			||||||
 | 
						0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53,
 | 
				
			||||||
 | 
						0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26,
 | 
				
			||||||
 | 
						0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
				
			||||||
 | 
						0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 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, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
 | 
				
			||||||
 | 
						0x54, 0x4f, 0x41, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
 | 
				
			||||||
 | 
						0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54,
 | 
				
			||||||
 | 
						0x4f, 0x41, 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, 0x6c,
 | 
				
			||||||
 | 
						0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x4f, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
				
			||||||
 | 
						0x12, 0x47, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
 | 
				
			||||||
 | 
						0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x4f, 0x41, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70,
 | 
				
			||||||
 | 
						0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54,
 | 
				
			||||||
 | 
						0x4f, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52,
 | 
				
			||||||
 | 
						0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x85, 0x01, 0x0a, 0x30, 0x63, 0x6f,
 | 
				
			||||||
 | 
						0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64,
 | 
				
			||||||
 | 
						0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54,
 | 
				
			||||||
 | 
						0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x3b,
 | 
				
			||||||
 | 
						0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
 | 
				
			||||||
 | 
						0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57,
 | 
				
			||||||
 | 
						0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69,
 | 
				
			||||||
 | 
						0x63, 0x79, 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, 0xaa, 0x01, 0x0a, 0x2f, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
 | 
				
			||||||
 | 
						0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73,
 | 
				
			||||||
 | 
						0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c,
 | 
				
			||||||
 | 
						0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x3a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41,
 | 
				
			||||||
 | 
						0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
				
			||||||
 | 
						0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63,
 | 
				
			||||||
 | 
						0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
				
			||||||
 | 
						0x74, 0x1a, 0x3b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
 | 
				
			||||||
 | 
						0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
 | 
				
			||||||
 | 
						0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f,
 | 
				
			||||||
 | 
						0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8b,
 | 
				
			||||||
 | 
						0x01, 0x0a, 0x33, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
 | 
				
			||||||
	0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69,
 | 
						0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69,
 | 
				
			||||||
	0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63,
 | 
						0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
 | 
				
			||||||
	0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x33,
 | 
						0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x3e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e,
 | 
				
			||||||
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
 | 
						0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43,
 | 
				
			||||||
 | 
						0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46,
 | 
				
			||||||
 | 
						0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 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, 0xb3, 0x01, 0x0a,
 | 
				
			||||||
 | 
						0x32, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
 | 
				
			||||||
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48,
 | 
						0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48,
 | 
				
			||||||
	0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63,
 | 
						0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63,
 | 
				
			||||||
	0x79, 0x49, 0x64, 0x12, 0x3e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c,
 | 
						0x79, 0x49, 0x64, 0x12, 0x3d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
 | 
				
			||||||
	0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
 | 
						0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
 | 
				
			||||||
	0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65,
 | 
						0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77,
 | 
				
			||||||
	0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75,
 | 
						0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
				
			||||||
	0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e,
 | 
						0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45,
 | 
				
			||||||
	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xb3, 0x01, 0x0a, 0x32, 0x66, 0x69,
 | 
						0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
 | 
				
			||||||
	0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
 | 
						0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
 | 
				
			||||||
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50,
 | 
						0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
				
			||||||
	0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64,
 | 
						0x73, 0x65, 0x12, 0x63, 0x0a, 0x22, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65,
 | 
				
			||||||
	0x12, 0x3d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
 | 
						0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65,
 | 
				
			||||||
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73,
 | 
						0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70,
 | 
				
			||||||
	0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
 | 
						0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48,
 | 
				
			||||||
	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
						0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64,
 | 
				
			||||||
	0x3e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
 | 
						0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43,
 | 
				
			||||||
	0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57,
 | 
						0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x69, 0x0a, 0x25, 0x75, 0x70, 0x64, 0x61, 0x74,
 | 
				
			||||||
	0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50,
 | 
					 | 
				
			||||||
	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
					 | 
				
			||||||
	0x63, 0x0a, 0x22, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
					 | 
				
			||||||
	0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c,
 | 
					 | 
				
			||||||
	0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
 | 
					 | 
				
			||||||
	0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50,
 | 
						0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50,
 | 
				
			||||||
	0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71,
 | 
						0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64,
 | 
				
			||||||
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63,
 | 
						0x12, 0x30, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65,
 | 
				
			||||||
	0x63, 0x65, 0x73, 0x73, 0x12, 0x69, 0x0a, 0x25, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f,
 | 
						0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77,
 | 
				
			||||||
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72,
 | 
						0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
				
			||||||
	0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x30, 0x2e,
 | 
						0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65,
 | 
				
			||||||
	0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
						0x73, 0x73, 0x12, 0x5b, 0x0a, 0x1e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65,
 | 
				
			||||||
	0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
 | 
						0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72,
 | 
				
			||||||
	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
						0x76, 0x69, 0x63, 0x65, 0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
 | 
				
			||||||
 | 
						0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65,
 | 
				
			||||||
 | 
						0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 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,
 | 
						0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12,
 | 
				
			||||||
	0x5b, 0x0a, 0x1e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
						0x71, 0x0a, 0x1c, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
 | 
				
			||||||
 | 
						0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
 | 
				
			||||||
 | 
						0x27, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
				
			||||||
	0x73, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
 | 
						0x73, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
 | 
				
			||||||
	0x65, 0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64,
 | 
						0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
 | 
				
			||||||
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65,
 | 
						0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73,
 | 
				
			||||||
	0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
 | 
						0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
				
			||||||
	0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x71, 0x0a, 0x1c,
 | 
						0x73, 0x65, 0x12, 0x68, 0x0a, 0x19, 0x66, 0x69, 0x6e, 0x64, 0x46, 0x72, 0x65, 0x65, 0x50, 0x6f,
 | 
				
			||||||
	0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53,
 | 
						0x72, 0x74, 0x49, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12,
 | 
				
			||||||
	0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x27, 0x2e, 0x70,
 | 
						0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x46, 0x72, 0x65, 0x65, 0x50, 0x6f, 0x72,
 | 
				
			||||||
	0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
 | 
						0x74, 0x49, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65,
 | 
				
			||||||
	0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65,
 | 
						0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x46,
 | 
				
			||||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e,
 | 
						0x72, 0x65, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
				
			||||||
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d,
 | 
						0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04,
 | 
				
			||||||
	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42,
 | 
						0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
				
			||||||
	0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var (
 | 
					var (
 | 
				
			||||||
@@ -3187,7 +3297,7 @@ func file_service_node_cluster_proto_rawDescGZIP() []byte {
 | 
				
			|||||||
	return file_service_node_cluster_proto_rawDescData
 | 
						return file_service_node_cluster_proto_rawDescData
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var file_service_node_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 49)
 | 
					var file_service_node_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 51)
 | 
				
			||||||
var file_service_node_cluster_proto_goTypes = []interface{}{
 | 
					var file_service_node_cluster_proto_goTypes = []interface{}{
 | 
				
			||||||
	(*FindAllEnabledNodeClustersRequest)(nil),                          // 0: pb.FindAllEnabledNodeClustersRequest
 | 
						(*FindAllEnabledNodeClustersRequest)(nil),                          // 0: pb.FindAllEnabledNodeClustersRequest
 | 
				
			||||||
	(*FindAllEnabledNodeClustersResponse)(nil),                         // 1: pb.FindAllEnabledNodeClustersResponse
 | 
						(*FindAllEnabledNodeClustersResponse)(nil),                         // 1: pb.FindAllEnabledNodeClustersResponse
 | 
				
			||||||
@@ -3237,29 +3347,31 @@ var file_service_node_cluster_proto_goTypes = []interface{}{
 | 
				
			|||||||
	(*UpdateNodeClusterSystemServiceRequest)(nil),                      // 45: pb.UpdateNodeClusterSystemServiceRequest
 | 
						(*UpdateNodeClusterSystemServiceRequest)(nil),                      // 45: pb.UpdateNodeClusterSystemServiceRequest
 | 
				
			||||||
	(*FindNodeClusterSystemServiceRequest)(nil),                        // 46: pb.FindNodeClusterSystemServiceRequest
 | 
						(*FindNodeClusterSystemServiceRequest)(nil),                        // 46: pb.FindNodeClusterSystemServiceRequest
 | 
				
			||||||
	(*FindNodeClusterSystemServiceResponse)(nil),                       // 47: pb.FindNodeClusterSystemServiceResponse
 | 
						(*FindNodeClusterSystemServiceResponse)(nil),                       // 47: pb.FindNodeClusterSystemServiceResponse
 | 
				
			||||||
	(*ExecuteNodeClusterHealthCheckResponse_Result)(nil),               // 48: pb.ExecuteNodeClusterHealthCheckResponse.Result
 | 
						(*FindFreePortInNodeClusterRequest)(nil),                           // 48: pb.FindFreePortInNodeClusterRequest
 | 
				
			||||||
	(*NodeCluster)(nil),                                                // 49: pb.NodeCluster
 | 
						(*FindFreePortInNodeClusterResponse)(nil),                          // 49: pb.FindFreePortInNodeClusterResponse
 | 
				
			||||||
	(*APINode)(nil),                                                    // 50: pb.APINode
 | 
						(*ExecuteNodeClusterHealthCheckResponse_Result)(nil),               // 50: pb.ExecuteNodeClusterHealthCheckResponse.Result
 | 
				
			||||||
	(*DNSDomain)(nil),                                                  // 51: pb.DNSDomain
 | 
						(*NodeCluster)(nil),                                                // 51: pb.NodeCluster
 | 
				
			||||||
	(*DNSProvider)(nil),                                                // 52: pb.DNSProvider
 | 
						(*APINode)(nil),                                                    // 52: pb.APINode
 | 
				
			||||||
	(*Node)(nil),                                                       // 53: pb.Node
 | 
						(*DNSDomain)(nil),                                                  // 53: pb.DNSDomain
 | 
				
			||||||
	(*RPCSuccess)(nil),                                                 // 54: pb.RPCSuccess
 | 
						(*DNSProvider)(nil),                                                // 54: pb.DNSProvider
 | 
				
			||||||
	(*RPCCountResponse)(nil),                                           // 55: pb.RPCCountResponse
 | 
						(*Node)(nil),                                                       // 55: pb.Node
 | 
				
			||||||
 | 
						(*RPCSuccess)(nil),                                                 // 56: pb.RPCSuccess
 | 
				
			||||||
 | 
						(*RPCCountResponse)(nil),                                           // 57: pb.RPCCountResponse
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
var file_service_node_cluster_proto_depIdxs = []int32{
 | 
					var file_service_node_cluster_proto_depIdxs = []int32{
 | 
				
			||||||
	49, // 0: pb.FindAllEnabledNodeClustersResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
						51, // 0: pb.FindAllEnabledNodeClustersResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
				
			||||||
	49, // 1: pb.FindAllChangedNodeClustersResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
						51, // 1: pb.FindAllChangedNodeClustersResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
				
			||||||
	49, // 2: pb.FindEnabledNodeClusterResponse.nodeCluster:type_name -> pb.NodeCluster
 | 
						51, // 2: pb.FindEnabledNodeClusterResponse.nodeCluster:type_name -> pb.NodeCluster
 | 
				
			||||||
	50, // 3: pb.FindAPINodesWithNodeClusterResponse.apiNodes:type_name -> pb.APINode
 | 
						52, // 3: pb.FindAPINodesWithNodeClusterResponse.apiNodes:type_name -> pb.APINode
 | 
				
			||||||
	49, // 4: pb.ListEnabledNodeClustersResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
						51, // 4: pb.ListEnabledNodeClustersResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
				
			||||||
	48, // 5: pb.ExecuteNodeClusterHealthCheckResponse.results:type_name -> pb.ExecuteNodeClusterHealthCheckResponse.Result
 | 
						50, // 5: pb.ExecuteNodeClusterHealthCheckResponse.results:type_name -> pb.ExecuteNodeClusterHealthCheckResponse.Result
 | 
				
			||||||
	49, // 6: pb.FindAllEnabledNodeClustersWithGrantIdResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
						51, // 6: pb.FindAllEnabledNodeClustersWithGrantIdResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
				
			||||||
	51, // 7: pb.FindEnabledNodeClusterDNSResponse.domain:type_name -> pb.DNSDomain
 | 
						53, // 7: pb.FindEnabledNodeClusterDNSResponse.domain:type_name -> pb.DNSDomain
 | 
				
			||||||
	52, // 8: pb.FindEnabledNodeClusterDNSResponse.provider:type_name -> pb.DNSProvider
 | 
						54, // 8: pb.FindEnabledNodeClusterDNSResponse.provider:type_name -> pb.DNSProvider
 | 
				
			||||||
	49, // 9: pb.FindAllEnabledNodeClustersWithDNSDomainIdResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
						51, // 9: pb.FindAllEnabledNodeClustersWithDNSDomainIdResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
				
			||||||
	49, // 10: pb.FindAllEnabledNodeClustersWithHTTPCachePolicyIdResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
						51, // 10: pb.FindAllEnabledNodeClustersWithHTTPCachePolicyIdResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
				
			||||||
	49, // 11: pb.FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
						51, // 11: pb.FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdResponse.nodeClusters:type_name -> pb.NodeCluster
 | 
				
			||||||
	53, // 12: pb.ExecuteNodeClusterHealthCheckResponse.Result.node:type_name -> pb.Node
 | 
						55, // 12: pb.ExecuteNodeClusterHealthCheckResponse.Result.node:type_name -> pb.Node
 | 
				
			||||||
	4,  // 13: pb.NodeClusterService.createNodeCluster:input_type -> pb.CreateNodeClusterRequest
 | 
						4,  // 13: pb.NodeClusterService.createNodeCluster:input_type -> pb.CreateNodeClusterRequest
 | 
				
			||||||
	6,  // 14: pb.NodeClusterService.updateNodeCluster:input_type -> pb.UpdateNodeClusterRequest
 | 
						6,  // 14: pb.NodeClusterService.updateNodeCluster:input_type -> pb.UpdateNodeClusterRequest
 | 
				
			||||||
	7,  // 15: pb.NodeClusterService.deleteNodeCluster:input_type -> pb.DeleteNodeClusterRequest
 | 
						7,  // 15: pb.NodeClusterService.deleteNodeCluster:input_type -> pb.DeleteNodeClusterRequest
 | 
				
			||||||
@@ -3291,39 +3403,41 @@ var file_service_node_cluster_proto_depIdxs = []int32{
 | 
				
			|||||||
	44, // 41: pb.NodeClusterService.updateNodeClusterHTTPFirewallPolicyId:input_type -> pb.UpdateNodeClusterHTTPFirewallPolicyIdRequest
 | 
						44, // 41: pb.NodeClusterService.updateNodeClusterHTTPFirewallPolicyId:input_type -> pb.UpdateNodeClusterHTTPFirewallPolicyIdRequest
 | 
				
			||||||
	45, // 42: pb.NodeClusterService.updateNodeClusterSystemService:input_type -> pb.UpdateNodeClusterSystemServiceRequest
 | 
						45, // 42: pb.NodeClusterService.updateNodeClusterSystemService:input_type -> pb.UpdateNodeClusterSystemServiceRequest
 | 
				
			||||||
	46, // 43: pb.NodeClusterService.findNodeClusterSystemService:input_type -> pb.FindNodeClusterSystemServiceRequest
 | 
						46, // 43: pb.NodeClusterService.findNodeClusterSystemService:input_type -> pb.FindNodeClusterSystemServiceRequest
 | 
				
			||||||
	5,  // 44: pb.NodeClusterService.createNodeCluster:output_type -> pb.CreateNodeClusterResponse
 | 
						48, // 44: pb.NodeClusterService.findFreePortInNodeCluster:input_type -> pb.FindFreePortInNodeClusterRequest
 | 
				
			||||||
	54, // 45: pb.NodeClusterService.updateNodeCluster:output_type -> pb.RPCSuccess
 | 
						5,  // 45: pb.NodeClusterService.createNodeCluster:output_type -> pb.CreateNodeClusterResponse
 | 
				
			||||||
	54, // 46: pb.NodeClusterService.deleteNodeCluster:output_type -> pb.RPCSuccess
 | 
						56, // 46: pb.NodeClusterService.updateNodeCluster:output_type -> pb.RPCSuccess
 | 
				
			||||||
	9,  // 47: pb.NodeClusterService.findEnabledNodeCluster:output_type -> pb.FindEnabledNodeClusterResponse
 | 
						56, // 47: pb.NodeClusterService.deleteNodeCluster:output_type -> pb.RPCSuccess
 | 
				
			||||||
	11, // 48: pb.NodeClusterService.findAPINodesWithNodeCluster:output_type -> pb.FindAPINodesWithNodeClusterResponse
 | 
						9,  // 48: pb.NodeClusterService.findEnabledNodeCluster:output_type -> pb.FindEnabledNodeClusterResponse
 | 
				
			||||||
	1,  // 49: pb.NodeClusterService.findAllEnabledNodeClusters:output_type -> pb.FindAllEnabledNodeClustersResponse
 | 
						11, // 49: pb.NodeClusterService.findAPINodesWithNodeCluster:output_type -> pb.FindAPINodesWithNodeClusterResponse
 | 
				
			||||||
	3,  // 50: pb.NodeClusterService.findAllChangedNodeClusters:output_type -> pb.FindAllChangedNodeClustersResponse
 | 
						1,  // 50: pb.NodeClusterService.findAllEnabledNodeClusters:output_type -> pb.FindAllEnabledNodeClustersResponse
 | 
				
			||||||
	55, // 51: pb.NodeClusterService.countAllEnabledNodeClusters:output_type -> pb.RPCCountResponse
 | 
						3,  // 51: pb.NodeClusterService.findAllChangedNodeClusters:output_type -> pb.FindAllChangedNodeClustersResponse
 | 
				
			||||||
	14, // 52: pb.NodeClusterService.listEnabledNodeClusters:output_type -> pb.ListEnabledNodeClustersResponse
 | 
						57, // 52: pb.NodeClusterService.countAllEnabledNodeClusters:output_type -> pb.RPCCountResponse
 | 
				
			||||||
	16, // 53: pb.NodeClusterService.findNodeClusterHealthCheckConfig:output_type -> pb.FindNodeClusterHealthCheckConfigResponse
 | 
						14, // 53: pb.NodeClusterService.listEnabledNodeClusters:output_type -> pb.ListEnabledNodeClustersResponse
 | 
				
			||||||
	54, // 54: pb.NodeClusterService.updateNodeClusterHealthCheck:output_type -> pb.RPCSuccess
 | 
						16, // 54: pb.NodeClusterService.findNodeClusterHealthCheckConfig:output_type -> pb.FindNodeClusterHealthCheckConfigResponse
 | 
				
			||||||
	19, // 55: pb.NodeClusterService.executeNodeClusterHealthCheck:output_type -> pb.ExecuteNodeClusterHealthCheckResponse
 | 
						56, // 55: pb.NodeClusterService.updateNodeClusterHealthCheck:output_type -> pb.RPCSuccess
 | 
				
			||||||
	55, // 56: pb.NodeClusterService.countAllEnabledNodeClustersWithGrantId:output_type -> pb.RPCCountResponse
 | 
						19, // 56: pb.NodeClusterService.executeNodeClusterHealthCheck:output_type -> pb.ExecuteNodeClusterHealthCheckResponse
 | 
				
			||||||
	22, // 57: pb.NodeClusterService.findAllEnabledNodeClustersWithGrantId:output_type -> pb.FindAllEnabledNodeClustersWithGrantIdResponse
 | 
						57, // 57: pb.NodeClusterService.countAllEnabledNodeClustersWithGrantId:output_type -> pb.RPCCountResponse
 | 
				
			||||||
	24, // 58: pb.NodeClusterService.findEnabledNodeClusterDNS:output_type -> pb.FindEnabledNodeClusterDNSResponse
 | 
						22, // 58: pb.NodeClusterService.findAllEnabledNodeClustersWithGrantId:output_type -> pb.FindAllEnabledNodeClustersWithGrantIdResponse
 | 
				
			||||||
	55, // 59: pb.NodeClusterService.countAllEnabledNodeClustersWithDNSProviderId:output_type -> pb.RPCCountResponse
 | 
						24, // 59: pb.NodeClusterService.findEnabledNodeClusterDNS:output_type -> pb.FindEnabledNodeClusterDNSResponse
 | 
				
			||||||
	55, // 60: pb.NodeClusterService.countAllEnabledNodeClustersWithDNSDomainId:output_type -> pb.RPCCountResponse
 | 
						57, // 60: pb.NodeClusterService.countAllEnabledNodeClustersWithDNSProviderId:output_type -> pb.RPCCountResponse
 | 
				
			||||||
	28, // 61: pb.NodeClusterService.findAllEnabledNodeClustersWithDNSDomainId:output_type -> pb.FindAllEnabledNodeClustersWithDNSDomainIdResponse
 | 
						57, // 61: pb.NodeClusterService.countAllEnabledNodeClustersWithDNSDomainId:output_type -> pb.RPCCountResponse
 | 
				
			||||||
	30, // 62: pb.NodeClusterService.checkNodeClusterDNSName:output_type -> pb.CheckNodeClusterDNSNameResponse
 | 
						28, // 62: pb.NodeClusterService.findAllEnabledNodeClustersWithDNSDomainId:output_type -> pb.FindAllEnabledNodeClustersWithDNSDomainIdResponse
 | 
				
			||||||
	54, // 63: pb.NodeClusterService.updateNodeClusterDNS:output_type -> pb.RPCSuccess
 | 
						30, // 63: pb.NodeClusterService.checkNodeClusterDNSName:output_type -> pb.CheckNodeClusterDNSNameResponse
 | 
				
			||||||
	33, // 64: pb.NodeClusterService.checkNodeClusterDNSChanges:output_type -> pb.CheckNodeClusterDNSChangesResponse
 | 
						56, // 64: pb.NodeClusterService.updateNodeClusterDNS:output_type -> pb.RPCSuccess
 | 
				
			||||||
	35, // 65: pb.NodeClusterService.findEnabledNodeClusterTOA:output_type -> pb.FindEnabledNodeClusterTOAResponse
 | 
						33, // 65: pb.NodeClusterService.checkNodeClusterDNSChanges:output_type -> pb.CheckNodeClusterDNSChangesResponse
 | 
				
			||||||
	54, // 66: pb.NodeClusterService.updateNodeClusterTOA:output_type -> pb.RPCSuccess
 | 
						35, // 66: pb.NodeClusterService.findEnabledNodeClusterTOA:output_type -> pb.FindEnabledNodeClusterTOAResponse
 | 
				
			||||||
	55, // 67: pb.NodeClusterService.countAllEnabledNodeClustersWithHTTPCachePolicyId:output_type -> pb.RPCCountResponse
 | 
						56, // 67: pb.NodeClusterService.updateNodeClusterTOA:output_type -> pb.RPCSuccess
 | 
				
			||||||
	39, // 68: pb.NodeClusterService.findAllEnabledNodeClustersWithHTTPCachePolicyId:output_type -> pb.FindAllEnabledNodeClustersWithHTTPCachePolicyIdResponse
 | 
						57, // 68: pb.NodeClusterService.countAllEnabledNodeClustersWithHTTPCachePolicyId:output_type -> pb.RPCCountResponse
 | 
				
			||||||
	55, // 69: pb.NodeClusterService.countAllEnabledNodeClustersWithHTTPFirewallPolicyId:output_type -> pb.RPCCountResponse
 | 
						39, // 69: pb.NodeClusterService.findAllEnabledNodeClustersWithHTTPCachePolicyId:output_type -> pb.FindAllEnabledNodeClustersWithHTTPCachePolicyIdResponse
 | 
				
			||||||
	42, // 70: pb.NodeClusterService.findAllEnabledNodeClustersWithHTTPFirewallPolicyId:output_type -> pb.FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdResponse
 | 
						57, // 70: pb.NodeClusterService.countAllEnabledNodeClustersWithHTTPFirewallPolicyId:output_type -> pb.RPCCountResponse
 | 
				
			||||||
	54, // 71: pb.NodeClusterService.updateNodeClusterHTTPCachePolicyId:output_type -> pb.RPCSuccess
 | 
						42, // 71: pb.NodeClusterService.findAllEnabledNodeClustersWithHTTPFirewallPolicyId:output_type -> pb.FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdResponse
 | 
				
			||||||
	54, // 72: pb.NodeClusterService.updateNodeClusterHTTPFirewallPolicyId:output_type -> pb.RPCSuccess
 | 
						56, // 72: pb.NodeClusterService.updateNodeClusterHTTPCachePolicyId:output_type -> pb.RPCSuccess
 | 
				
			||||||
	54, // 73: pb.NodeClusterService.updateNodeClusterSystemService:output_type -> pb.RPCSuccess
 | 
						56, // 73: pb.NodeClusterService.updateNodeClusterHTTPFirewallPolicyId:output_type -> pb.RPCSuccess
 | 
				
			||||||
	47, // 74: pb.NodeClusterService.findNodeClusterSystemService:output_type -> pb.FindNodeClusterSystemServiceResponse
 | 
						56, // 74: pb.NodeClusterService.updateNodeClusterSystemService:output_type -> pb.RPCSuccess
 | 
				
			||||||
	44, // [44:75] is the sub-list for method output_type
 | 
						47, // 75: pb.NodeClusterService.findNodeClusterSystemService:output_type -> pb.FindNodeClusterSystemServiceResponse
 | 
				
			||||||
	13, // [13:44] is the sub-list for method input_type
 | 
						49, // 76: pb.NodeClusterService.findFreePortInNodeCluster:output_type -> pb.FindFreePortInNodeClusterResponse
 | 
				
			||||||
 | 
						45, // [45:77] is the sub-list for method output_type
 | 
				
			||||||
 | 
						13, // [13:45] is the sub-list for method input_type
 | 
				
			||||||
	13, // [13:13] is the sub-list for extension type_name
 | 
						13, // [13:13] is the sub-list for extension type_name
 | 
				
			||||||
	13, // [13:13] is the sub-list for extension extendee
 | 
						13, // [13:13] is the sub-list for extension extendee
 | 
				
			||||||
	0,  // [0:13] is the sub-list for field type_name
 | 
						0,  // [0:13] is the sub-list for field type_name
 | 
				
			||||||
@@ -3918,6 +4032,30 @@ func file_service_node_cluster_proto_init() {
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		file_service_node_cluster_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
 | 
							file_service_node_cluster_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
 | 
				
			||||||
 | 
								switch v := v.(*FindFreePortInNodeClusterRequest); i {
 | 
				
			||||||
 | 
								case 0:
 | 
				
			||||||
 | 
									return &v.state
 | 
				
			||||||
 | 
								case 1:
 | 
				
			||||||
 | 
									return &v.sizeCache
 | 
				
			||||||
 | 
								case 2:
 | 
				
			||||||
 | 
									return &v.unknownFields
 | 
				
			||||||
 | 
								default:
 | 
				
			||||||
 | 
									return nil
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							file_service_node_cluster_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
 | 
				
			||||||
 | 
								switch v := v.(*FindFreePortInNodeClusterResponse); i {
 | 
				
			||||||
 | 
								case 0:
 | 
				
			||||||
 | 
									return &v.state
 | 
				
			||||||
 | 
								case 1:
 | 
				
			||||||
 | 
									return &v.sizeCache
 | 
				
			||||||
 | 
								case 2:
 | 
				
			||||||
 | 
									return &v.unknownFields
 | 
				
			||||||
 | 
								default:
 | 
				
			||||||
 | 
									return nil
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							file_service_node_cluster_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
 | 
				
			||||||
			switch v := v.(*ExecuteNodeClusterHealthCheckResponse_Result); i {
 | 
								switch v := v.(*ExecuteNodeClusterHealthCheckResponse_Result); i {
 | 
				
			||||||
			case 0:
 | 
								case 0:
 | 
				
			||||||
				return &v.state
 | 
									return &v.state
 | 
				
			||||||
@@ -3936,7 +4074,7 @@ func file_service_node_cluster_proto_init() {
 | 
				
			|||||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
								GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
				
			||||||
			RawDescriptor: file_service_node_cluster_proto_rawDesc,
 | 
								RawDescriptor: file_service_node_cluster_proto_rawDesc,
 | 
				
			||||||
			NumEnums:      0,
 | 
								NumEnums:      0,
 | 
				
			||||||
			NumMessages:   49,
 | 
								NumMessages:   51,
 | 
				
			||||||
			NumExtensions: 0,
 | 
								NumExtensions: 0,
 | 
				
			||||||
			NumServices:   1,
 | 
								NumServices:   1,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
@@ -4024,6 +4162,8 @@ type NodeClusterServiceClient interface {
 | 
				
			|||||||
	UpdateNodeClusterSystemService(ctx context.Context, in *UpdateNodeClusterSystemServiceRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
						UpdateNodeClusterSystemService(ctx context.Context, in *UpdateNodeClusterSystemServiceRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
				
			||||||
	// 查找集群的系统服务设置
 | 
						// 查找集群的系统服务设置
 | 
				
			||||||
	FindNodeClusterSystemService(ctx context.Context, in *FindNodeClusterSystemServiceRequest, opts ...grpc.CallOption) (*FindNodeClusterSystemServiceResponse, error)
 | 
						FindNodeClusterSystemService(ctx context.Context, in *FindNodeClusterSystemServiceRequest, opts ...grpc.CallOption) (*FindNodeClusterSystemServiceResponse, error)
 | 
				
			||||||
 | 
						// 获取集群中可以使用的端口
 | 
				
			||||||
 | 
						FindFreePortInNodeCluster(ctx context.Context, in *FindFreePortInNodeClusterRequest, opts ...grpc.CallOption) (*FindFreePortInNodeClusterResponse, error)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type nodeClusterServiceClient struct {
 | 
					type nodeClusterServiceClient struct {
 | 
				
			||||||
@@ -4313,6 +4453,15 @@ func (c *nodeClusterServiceClient) FindNodeClusterSystemService(ctx context.Cont
 | 
				
			|||||||
	return out, nil
 | 
						return out, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (c *nodeClusterServiceClient) FindFreePortInNodeCluster(ctx context.Context, in *FindFreePortInNodeClusterRequest, opts ...grpc.CallOption) (*FindFreePortInNodeClusterResponse, error) {
 | 
				
			||||||
 | 
						out := new(FindFreePortInNodeClusterResponse)
 | 
				
			||||||
 | 
						err := c.cc.Invoke(ctx, "/pb.NodeClusterService/findFreePortInNodeCluster", in, out, opts...)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return out, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// NodeClusterServiceServer is the server API for NodeClusterService service.
 | 
					// NodeClusterServiceServer is the server API for NodeClusterService service.
 | 
				
			||||||
type NodeClusterServiceServer interface {
 | 
					type NodeClusterServiceServer interface {
 | 
				
			||||||
	// 创建集群
 | 
						// 创建集群
 | 
				
			||||||
@@ -4377,6 +4526,8 @@ type NodeClusterServiceServer interface {
 | 
				
			|||||||
	UpdateNodeClusterSystemService(context.Context, *UpdateNodeClusterSystemServiceRequest) (*RPCSuccess, error)
 | 
						UpdateNodeClusterSystemService(context.Context, *UpdateNodeClusterSystemServiceRequest) (*RPCSuccess, error)
 | 
				
			||||||
	// 查找集群的系统服务设置
 | 
						// 查找集群的系统服务设置
 | 
				
			||||||
	FindNodeClusterSystemService(context.Context, *FindNodeClusterSystemServiceRequest) (*FindNodeClusterSystemServiceResponse, error)
 | 
						FindNodeClusterSystemService(context.Context, *FindNodeClusterSystemServiceRequest) (*FindNodeClusterSystemServiceResponse, error)
 | 
				
			||||||
 | 
						// 获取集群中可以使用的端口
 | 
				
			||||||
 | 
						FindFreePortInNodeCluster(context.Context, *FindFreePortInNodeClusterRequest) (*FindFreePortInNodeClusterResponse, error)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// UnimplementedNodeClusterServiceServer can be embedded to have forward compatible implementations.
 | 
					// UnimplementedNodeClusterServiceServer can be embedded to have forward compatible implementations.
 | 
				
			||||||
@@ -4476,6 +4627,9 @@ func (*UnimplementedNodeClusterServiceServer) UpdateNodeClusterSystemService(con
 | 
				
			|||||||
func (*UnimplementedNodeClusterServiceServer) FindNodeClusterSystemService(context.Context, *FindNodeClusterSystemServiceRequest) (*FindNodeClusterSystemServiceResponse, error) {
 | 
					func (*UnimplementedNodeClusterServiceServer) FindNodeClusterSystemService(context.Context, *FindNodeClusterSystemServiceRequest) (*FindNodeClusterSystemServiceResponse, error) {
 | 
				
			||||||
	return nil, status.Errorf(codes.Unimplemented, "method FindNodeClusterSystemService not implemented")
 | 
						return nil, status.Errorf(codes.Unimplemented, "method FindNodeClusterSystemService not implemented")
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					func (*UnimplementedNodeClusterServiceServer) FindFreePortInNodeCluster(context.Context, *FindFreePortInNodeClusterRequest) (*FindFreePortInNodeClusterResponse, error) {
 | 
				
			||||||
 | 
						return nil, status.Errorf(codes.Unimplemented, "method FindFreePortInNodeCluster not implemented")
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func RegisterNodeClusterServiceServer(s *grpc.Server, srv NodeClusterServiceServer) {
 | 
					func RegisterNodeClusterServiceServer(s *grpc.Server, srv NodeClusterServiceServer) {
 | 
				
			||||||
	s.RegisterService(&_NodeClusterService_serviceDesc, srv)
 | 
						s.RegisterService(&_NodeClusterService_serviceDesc, srv)
 | 
				
			||||||
@@ -5039,6 +5193,24 @@ func _NodeClusterService_FindNodeClusterSystemService_Handler(srv interface{}, c
 | 
				
			|||||||
	return interceptor(ctx, in, info, handler)
 | 
						return interceptor(ctx, in, info, handler)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func _NodeClusterService_FindFreePortInNodeCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
				
			||||||
 | 
						in := new(FindFreePortInNodeClusterRequest)
 | 
				
			||||||
 | 
						if err := dec(in); err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if interceptor == nil {
 | 
				
			||||||
 | 
							return srv.(NodeClusterServiceServer).FindFreePortInNodeCluster(ctx, in)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						info := &grpc.UnaryServerInfo{
 | 
				
			||||||
 | 
							Server:     srv,
 | 
				
			||||||
 | 
							FullMethod: "/pb.NodeClusterService/FindFreePortInNodeCluster",
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
				
			||||||
 | 
							return srv.(NodeClusterServiceServer).FindFreePortInNodeCluster(ctx, req.(*FindFreePortInNodeClusterRequest))
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return interceptor(ctx, in, info, handler)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var _NodeClusterService_serviceDesc = grpc.ServiceDesc{
 | 
					var _NodeClusterService_serviceDesc = grpc.ServiceDesc{
 | 
				
			||||||
	ServiceName: "pb.NodeClusterService",
 | 
						ServiceName: "pb.NodeClusterService",
 | 
				
			||||||
	HandlerType: (*NodeClusterServiceServer)(nil),
 | 
						HandlerType: (*NodeClusterServiceServer)(nil),
 | 
				
			||||||
@@ -5167,6 +5339,10 @@ var _NodeClusterService_serviceDesc = grpc.ServiceDesc{
 | 
				
			|||||||
			MethodName: "findNodeClusterSystemService",
 | 
								MethodName: "findNodeClusterSystemService",
 | 
				
			||||||
			Handler:    _NodeClusterService_FindNodeClusterSystemService_Handler,
 | 
								Handler:    _NodeClusterService_FindNodeClusterSystemService_Handler,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								MethodName: "findFreePortInNodeCluster",
 | 
				
			||||||
 | 
								Handler:    _NodeClusterService_FindFreePortInNodeCluster_Handler,
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	Streams:  []grpc.StreamDesc{},
 | 
						Streams:  []grpc.StreamDesc{},
 | 
				
			||||||
	Metadata: "service_node_cluster.proto",
 | 
						Metadata: "service_node_cluster.proto",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1088,6 +1088,7 @@ type CountAllEnabledServersMatchRequest struct {
 | 
				
			|||||||
	UserId         int64  `protobuf:"varint,3,opt,name=userId,proto3" json:"userId,omitempty"`
 | 
						UserId         int64  `protobuf:"varint,3,opt,name=userId,proto3" json:"userId,omitempty"`
 | 
				
			||||||
	ClusterId      int64  `protobuf:"varint,4,opt,name=clusterId,proto3" json:"clusterId,omitempty"`
 | 
						ClusterId      int64  `protobuf:"varint,4,opt,name=clusterId,proto3" json:"clusterId,omitempty"`
 | 
				
			||||||
	AuditingFlag   int32  `protobuf:"varint,5,opt,name=auditingFlag,proto3" json:"auditingFlag,omitempty"`
 | 
						AuditingFlag   int32  `protobuf:"varint,5,opt,name=auditingFlag,proto3" json:"auditingFlag,omitempty"`
 | 
				
			||||||
 | 
						ProtocolFamily string `protobuf:"bytes,6,opt,name=protocolFamily,proto3" json:"protocolFamily,omitempty"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (x *CountAllEnabledServersMatchRequest) Reset() {
 | 
					func (x *CountAllEnabledServersMatchRequest) Reset() {
 | 
				
			||||||
@@ -1157,6 +1158,13 @@ func (x *CountAllEnabledServersMatchRequest) GetAuditingFlag() int32 {
 | 
				
			|||||||
	return 0
 | 
						return 0
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *CountAllEnabledServersMatchRequest) GetProtocolFamily() string {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.ProtocolFamily
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 列出单页服务
 | 
					// 列出单页服务
 | 
				
			||||||
type ListEnabledServersMatchRequest struct {
 | 
					type ListEnabledServersMatchRequest struct {
 | 
				
			||||||
	state         protoimpl.MessageState
 | 
						state         protoimpl.MessageState
 | 
				
			||||||
@@ -1170,6 +1178,7 @@ type ListEnabledServersMatchRequest struct {
 | 
				
			|||||||
	UserId         int64  `protobuf:"varint,5,opt,name=userId,proto3" json:"userId,omitempty"`
 | 
						UserId         int64  `protobuf:"varint,5,opt,name=userId,proto3" json:"userId,omitempty"`
 | 
				
			||||||
	ClusterId      int64  `protobuf:"varint,6,opt,name=clusterId,proto3" json:"clusterId,omitempty"`
 | 
						ClusterId      int64  `protobuf:"varint,6,opt,name=clusterId,proto3" json:"clusterId,omitempty"`
 | 
				
			||||||
	AuditingFlag   int32  `protobuf:"varint,7,opt,name=auditingFlag,proto3" json:"auditingFlag,omitempty"`
 | 
						AuditingFlag   int32  `protobuf:"varint,7,opt,name=auditingFlag,proto3" json:"auditingFlag,omitempty"`
 | 
				
			||||||
 | 
						ProtocolFamily string `protobuf:"bytes,8,opt,name=protocolFamily,proto3" json:"protocolFamily,omitempty"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (x *ListEnabledServersMatchRequest) Reset() {
 | 
					func (x *ListEnabledServersMatchRequest) Reset() {
 | 
				
			||||||
@@ -1253,6 +1262,13 @@ func (x *ListEnabledServersMatchRequest) GetAuditingFlag() int32 {
 | 
				
			|||||||
	return 0
 | 
						return 0
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *ListEnabledServersMatchRequest) GetProtocolFamily() string {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.ProtocolFamily
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ListEnabledServersMatchResponse struct {
 | 
					type ListEnabledServersMatchResponse struct {
 | 
				
			||||||
	state         protoimpl.MessageState
 | 
						state         protoimpl.MessageState
 | 
				
			||||||
	sizeCache     protoimpl.SizeCache
 | 
						sizeCache     protoimpl.SizeCache
 | 
				
			||||||
@@ -2551,6 +2567,157 @@ func (x *FindAllEnabledServerNamesWithUserIdResponse) GetServerNames() []string
 | 
				
			|||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 查找用户服务基本信息
 | 
				
			||||||
 | 
					type FindEnabledUserServerBasicRequest struct {
 | 
				
			||||||
 | 
						state         protoimpl.MessageState
 | 
				
			||||||
 | 
						sizeCache     protoimpl.SizeCache
 | 
				
			||||||
 | 
						unknownFields protoimpl.UnknownFields
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						ServerId int64 `protobuf:"varint,1,opt,name=serverId,proto3" json:"serverId,omitempty"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *FindEnabledUserServerBasicRequest) Reset() {
 | 
				
			||||||
 | 
						*x = FindEnabledUserServerBasicRequest{}
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled {
 | 
				
			||||||
 | 
							mi := &file_service_server_proto_msgTypes[45]
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *FindEnabledUserServerBasicRequest) String() string {
 | 
				
			||||||
 | 
						return protoimpl.X.MessageStringOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (*FindEnabledUserServerBasicRequest) ProtoMessage() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *FindEnabledUserServerBasicRequest) ProtoReflect() protoreflect.Message {
 | 
				
			||||||
 | 
						mi := &file_service_server_proto_msgTypes[45]
 | 
				
			||||||
 | 
						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 FindEnabledUserServerBasicRequest.ProtoReflect.Descriptor instead.
 | 
				
			||||||
 | 
					func (*FindEnabledUserServerBasicRequest) Descriptor() ([]byte, []int) {
 | 
				
			||||||
 | 
						return file_service_server_proto_rawDescGZIP(), []int{45}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *FindEnabledUserServerBasicRequest) GetServerId() int64 {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.ServerId
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type FindEnabledUserServerBasicResponse struct {
 | 
				
			||||||
 | 
						state         protoimpl.MessageState
 | 
				
			||||||
 | 
						sizeCache     protoimpl.SizeCache
 | 
				
			||||||
 | 
						unknownFields protoimpl.UnknownFields
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Server *Server `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *FindEnabledUserServerBasicResponse) Reset() {
 | 
				
			||||||
 | 
						*x = FindEnabledUserServerBasicResponse{}
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled {
 | 
				
			||||||
 | 
							mi := &file_service_server_proto_msgTypes[46]
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *FindEnabledUserServerBasicResponse) String() string {
 | 
				
			||||||
 | 
						return protoimpl.X.MessageStringOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (*FindEnabledUserServerBasicResponse) ProtoMessage() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *FindEnabledUserServerBasicResponse) ProtoReflect() protoreflect.Message {
 | 
				
			||||||
 | 
						mi := &file_service_server_proto_msgTypes[46]
 | 
				
			||||||
 | 
						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 FindEnabledUserServerBasicResponse.ProtoReflect.Descriptor instead.
 | 
				
			||||||
 | 
					func (*FindEnabledUserServerBasicResponse) Descriptor() ([]byte, []int) {
 | 
				
			||||||
 | 
						return file_service_server_proto_rawDescGZIP(), []int{46}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *FindEnabledUserServerBasicResponse) GetServer() *Server {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.Server
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 修改用户服务基本信息
 | 
				
			||||||
 | 
					type UpdateEnabledUserServerBasicRequest struct {
 | 
				
			||||||
 | 
						state         protoimpl.MessageState
 | 
				
			||||||
 | 
						sizeCache     protoimpl.SizeCache
 | 
				
			||||||
 | 
						unknownFields protoimpl.UnknownFields
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						ServerId int64  `protobuf:"varint,1,opt,name=serverId,proto3" json:"serverId,omitempty"`
 | 
				
			||||||
 | 
						Name     string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *UpdateEnabledUserServerBasicRequest) Reset() {
 | 
				
			||||||
 | 
						*x = UpdateEnabledUserServerBasicRequest{}
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled {
 | 
				
			||||||
 | 
							mi := &file_service_server_proto_msgTypes[47]
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *UpdateEnabledUserServerBasicRequest) String() string {
 | 
				
			||||||
 | 
						return protoimpl.X.MessageStringOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (*UpdateEnabledUserServerBasicRequest) ProtoMessage() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *UpdateEnabledUserServerBasicRequest) ProtoReflect() protoreflect.Message {
 | 
				
			||||||
 | 
						mi := &file_service_server_proto_msgTypes[47]
 | 
				
			||||||
 | 
						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 UpdateEnabledUserServerBasicRequest.ProtoReflect.Descriptor instead.
 | 
				
			||||||
 | 
					func (*UpdateEnabledUserServerBasicRequest) Descriptor() ([]byte, []int) {
 | 
				
			||||||
 | 
						return file_service_server_proto_rawDescGZIP(), []int{47}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *UpdateEnabledUserServerBasicRequest) GetServerId() int64 {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.ServerId
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *UpdateEnabledUserServerBasicRequest) GetName() string {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.Name
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var File_service_server_proto protoreflect.FileDescriptor
 | 
					var File_service_server_proto protoreflect.FileDescriptor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var file_service_server_proto_rawDesc = []byte{
 | 
					var file_service_server_proto_rawDesc = []byte{
 | 
				
			||||||
@@ -2692,7 +2859,7 @@ var file_service_server_proto_rawDesc = []byte{
 | 
				
			|||||||
	0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
 | 
						0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
 | 
				
			||||||
	0x70, 0x62, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x75, 0x64,
 | 
						0x70, 0x62, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x75, 0x64,
 | 
				
			||||||
	0x69, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0e, 0x61, 0x75, 0x64,
 | 
						0x69, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0e, 0x61, 0x75, 0x64,
 | 
				
			||||||
	0x69, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xb2, 0x01, 0x0a, 0x22,
 | 
						0x69, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xda, 0x01, 0x0a, 0x22,
 | 
				
			||||||
	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53,
 | 
						0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53,
 | 
				
			||||||
	0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
						0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
				
			||||||
	0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20,
 | 
						0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20,
 | 
				
			||||||
@@ -2704,20 +2871,25 @@ var file_service_server_proto_rawDesc = []byte{
 | 
				
			|||||||
	0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c,
 | 
						0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c,
 | 
				
			||||||
	0x61, 0x75, 0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01,
 | 
						0x61, 0x75, 0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01,
 | 
				
			||||||
	0x28, 0x05, 0x52, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x61, 0x67,
 | 
						0x28, 0x05, 0x52, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x61, 0x67,
 | 
				
			||||||
	0x22, 0xda, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
						0x12, 0x26, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x46, 0x61, 0x6d, 0x69,
 | 
				
			||||||
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75,
 | 
						0x6c, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
 | 
				
			||||||
	0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20,
 | 
						0x6f, 0x6c, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x22, 0x82, 0x02, 0x0a, 0x1e, 0x4c, 0x69, 0x73,
 | 
				
			||||||
	0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73,
 | 
						0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x4d,
 | 
				
			||||||
	0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12,
 | 
						0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f,
 | 
				
			||||||
	0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
 | 
						0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66,
 | 
				
			||||||
	0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79,
 | 
						0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
 | 
				
			||||||
	0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77,
 | 
						0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70,
 | 
				
			||||||
	0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20,
 | 
						0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49,
 | 
				
			||||||
	0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63,
 | 
						0x64, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01,
 | 
				
			||||||
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09,
 | 
						0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75,
 | 
				
			||||||
	0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x75, 0x64,
 | 
						0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65,
 | 
				
			||||||
	0x69, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52,
 | 
						0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
 | 
				
			||||||
	0x0c, 0x61, 0x75, 0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x22, 0x47, 0x0a,
 | 
						0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49,
 | 
				
			||||||
 | 
						0x64, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x61,
 | 
				
			||||||
 | 
						0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x74, 0x69, 0x6e,
 | 
				
			||||||
 | 
						0x67, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
 | 
				
			||||||
 | 
						0x6c, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70,
 | 
				
			||||||
 | 
						0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x22, 0x47, 0x0a,
 | 
				
			||||||
	0x1f, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76,
 | 
						0x1f, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76,
 | 
				
			||||||
	0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
						0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
				
			||||||
	0x12, 0x24, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
 | 
						0x12, 0x24, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
 | 
				
			||||||
@@ -2836,179 +3008,206 @@ var file_service_server_proto_rawDesc = []byte{
 | 
				
			|||||||
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55,
 | 
						0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55,
 | 
				
			||||||
	0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a,
 | 
						0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a,
 | 
				
			||||||
	0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
 | 
						0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
 | 
				
			||||||
	0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x32,
 | 
						0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22,
 | 
				
			||||||
	0xa9, 0x15, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
 | 
						0x3f, 0x0a, 0x21, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73,
 | 
				
			||||||
	0x65, 0x12, 0x41, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65,
 | 
						0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x73, 0x69, 0x63, 0x52, 0x65, 0x71,
 | 
				
			||||||
	0x72, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72,
 | 
						0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64,
 | 
				
			||||||
	0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e,
 | 
						0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64,
 | 
				
			||||||
	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70,
 | 
						0x22, 0x48, 0x0a, 0x22, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55,
 | 
				
			||||||
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65,
 | 
						0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x73, 0x69, 0x63, 0x52, 0x65,
 | 
				
			||||||
	0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x73, 0x69, 0x63, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55,
 | 
						0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
 | 
				
			||||||
	0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x73, 0x69, 0x63,
 | 
						0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x72, 0x76,
 | 
				
			||||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43,
 | 
						0x65, 0x72, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x55, 0x0a, 0x23, 0x55, 0x70,
 | 
				
			||||||
	0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74,
 | 
						0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x53,
 | 
				
			||||||
	0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x73, 0x4f, 0x6e, 0x12, 0x1b, 0x2e, 0x70, 0x62,
 | 
						0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x73, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
				
			||||||
	0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x73, 0x4f,
 | 
						0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20,
 | 
				
			||||||
	0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50,
 | 
						0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a,
 | 
				
			||||||
	0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61,
 | 
						0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
 | 
				
			||||||
	0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x12, 0x1b, 0x2e, 0x70,
 | 
						0x65, 0x32, 0xef, 0x16, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76,
 | 
				
			||||||
	0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x54,
 | 
						0x69, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72,
 | 
				
			||||||
	0x54, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52,
 | 
						0x76, 0x65, 0x72, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53,
 | 
				
			||||||
	0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64,
 | 
						0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70,
 | 
				
			||||||
	0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x53, 0x12, 0x1c,
 | 
						0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65,
 | 
				
			||||||
	0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
 | 
					 | 
				
			||||||
	0x48, 0x54, 0x54, 0x50, 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, 0x3d, 0x0a, 0x0f,
 | 
					 | 
				
			||||||
	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x43, 0x50, 0x12,
 | 
					 | 
				
			||||||
	0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65,
 | 
					 | 
				
			||||||
	0x72, 0x54, 0x43, 0x50, 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, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x4c, 0x53, 0x12, 0x1a,
 | 
					 | 
				
			||||||
	0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
 | 
					 | 
				
			||||||
	0x54, 0x4c, 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, 0x3f, 0x0a, 0x10, 0x75, 0x70,
 | 
					 | 
				
			||||||
	0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x78, 0x12, 0x1b,
 | 
					 | 
				
			||||||
	0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
 | 
					 | 
				
			||||||
	0x55, 0x6e, 0x69, 0x78, 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, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x44, 0x50, 0x12, 0x1a,
 | 
					 | 
				
			||||||
	0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
 | 
					 | 
				
			||||||
	0x55, 0x44, 0x50, 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, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x57, 0x65, 0x62, 0x12, 0x1a, 0x2e,
 | 
					 | 
				
			||||||
	0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x57,
 | 
					 | 
				
			||||||
	0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52,
 | 
					 | 
				
			||||||
	0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4f, 0x0a, 0x18, 0x75, 0x70, 0x64,
 | 
					 | 
				
			||||||
	0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65,
 | 
					 | 
				
			||||||
	0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
 | 
					 | 
				
			||||||
	0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x72,
 | 
					 | 
				
			||||||
	0x6f, 0x78, 0x79, 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, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1a, 0x2e,
 | 
					 | 
				
			||||||
	0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d,
 | 
					 | 
				
			||||||
	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x46,
 | 
					 | 
				
			||||||
	0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65,
 | 
					 | 
				
			||||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
 | 
						0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
 | 
				
			||||||
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1c, 0x2e, 0x70, 0x62,
 | 
						0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x73, 0x69, 0x63, 0x12, 0x1c, 0x2e, 0x70, 0x62,
 | 
				
			||||||
	0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d,
 | 
						0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x73,
 | 
				
			||||||
	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52,
 | 
						0x69, 0x63, 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, 0x75, 0x70, 0x64,
 | 
						0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x10, 0x75, 0x70, 0x64,
 | 
				
			||||||
	0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x41, 0x75,
 | 
						0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x73, 0x4f, 0x6e, 0x12, 0x1b, 0x2e,
 | 
				
			||||||
	0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61,
 | 
						0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49,
 | 
				
			||||||
	0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x41, 0x75, 0x64,
 | 
						0x73, 0x4f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
 | 
				
			||||||
	0x69, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
 | 
						0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x10, 0x75, 0x70,
 | 
				
			||||||
	0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5b, 0x0a, 0x1b,
 | 
						0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x12, 0x1b,
 | 
				
			||||||
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53,
 | 
						0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
 | 
				
			||||||
	0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x2e, 0x70, 0x62,
 | 
						0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
 | 
				
			||||||
	0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
						0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x11, 0x75,
 | 
				
			||||||
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75,
 | 
						0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x53,
 | 
				
			||||||
	0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e,
 | 
						0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76,
 | 
				
			||||||
	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x6c, 0x69, 0x73,
 | 
						0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e,
 | 
				
			||||||
	0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x4d,
 | 
						0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3d,
 | 
				
			||||||
	0x61, 0x74, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e,
 | 
						0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x43,
 | 
				
			||||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63,
 | 
						0x50, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72,
 | 
				
			||||||
	0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69,
 | 
						0x76, 0x65, 0x72, 0x54, 0x43, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e,
 | 
				
			||||||
	0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73,
 | 
						0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a,
 | 
				
			||||||
	0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a,
 | 
						0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x4c, 0x53,
 | 
				
			||||||
	0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x17, 0x2e,
 | 
						0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76,
 | 
				
			||||||
	0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52,
 | 
						0x65, 0x72, 0x54, 0x4c, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
 | 
				
			||||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53,
 | 
						0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x10,
 | 
				
			||||||
	0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e,
 | 
						0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x78,
 | 
				
			||||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x70, 0x62,
 | 
						0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76,
 | 
				
			||||||
	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76,
 | 
						0x65, 0x72, 0x55, 0x6e, 0x69, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e,
 | 
				
			||||||
	0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46,
 | 
						0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a,
 | 
				
			||||||
	0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
 | 
						0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x44, 0x50,
 | 
				
			||||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x66, 0x69, 0x6e, 0x64,
 | 
						0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76,
 | 
				
			||||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e,
 | 
						0x65, 0x72, 0x55, 0x44, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
 | 
				
			||||||
	0x66, 0x69, 0x67, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
 | 
						0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x0f,
 | 
				
			||||||
	0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
 | 
						0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x57, 0x65, 0x62, 0x12,
 | 
				
			||||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
 | 
						0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65,
 | 
				
			||||||
	0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f,
 | 
						0x72, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
 | 
				
			||||||
	0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15,
 | 
						0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4f, 0x0a, 0x18, 0x75,
 | 
				
			||||||
	0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65,
 | 
						0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x76, 0x65, 0x72,
 | 
				
			||||||
	0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45,
 | 
						0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64,
 | 
				
			||||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65,
 | 
						0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65,
 | 
				
			||||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
 | 
						0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
 | 
				
			||||||
	0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x79,
 | 
						0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4a, 0x0a, 0x0f,
 | 
				
			||||||
	0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x86, 0x01, 0x0a, 0x23, 0x66,
 | 
						0x66, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12,
 | 
				
			||||||
	0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
 | 
						0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e,
 | 
				
			||||||
	0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66,
 | 
						0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62,
 | 
				
			||||||
	0x69, 0x67, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49,
 | 
						0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73,
 | 
				
			||||||
	0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65,
 | 
						0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61,
 | 
				
			||||||
	0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
						0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1c, 0x2e,
 | 
				
			||||||
	0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49,
 | 
						0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e,
 | 
				
			||||||
	0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65,
 | 
						0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
 | 
				
			||||||
	0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
						0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x51, 0x0a, 0x19, 0x75,
 | 
				
			||||||
	0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x1a, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e,
 | 
						0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73,
 | 
				
			||||||
	0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69,
 | 
						0x41, 0x75, 0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70,
 | 
				
			||||||
	0x67, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e,
 | 
						0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x41,
 | 
				
			||||||
	0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69,
 | 
						0x75, 0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e,
 | 
				
			||||||
	0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
 | 
						0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5b,
 | 
				
			||||||
	0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x57,
 | 
						0x0a, 0x1b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
				
			||||||
	0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
						0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x2e,
 | 
				
			||||||
	0x12, 0x6b, 0x0a, 0x23, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
 | 
					 | 
				
			||||||
	0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x53,
 | 
					 | 
				
			||||||
	0x4c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75,
 | 
					 | 
				
			||||||
	0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76,
 | 
					 | 
				
			||||||
	0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 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,
 | 
					 | 
				
			||||||
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x53, 0x4c, 0x43, 0x65,
 | 
					 | 
				
			||||||
	0x72, 0x74, 0x49, 0x64, 0x12, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c,
 | 
					 | 
				
			||||||
	0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x57,
 | 
					 | 
				
			||||||
	0x69, 0x74, 0x68, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 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, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x57, 0x69,
 | 
					 | 
				
			||||||
	0x74, 0x68, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
					 | 
				
			||||||
	0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x27, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45,
 | 
					 | 
				
			||||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74,
 | 
					 | 
				
			||||||
	0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x32,
 | 
					 | 
				
			||||||
	0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
 | 
					 | 
				
			||||||
	0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 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, 0x67, 0x0a, 0x21, 0x63, 0x6f, 0x75, 0x6e,
 | 
					 | 
				
			||||||
	0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65,
 | 
					 | 
				
			||||||
	0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x2c, 0x2e,
 | 
					 | 
				
			||||||
	0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
 | 
						0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
 | 
				
			||||||
	0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72, 0x6f,
 | 
						0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65,
 | 
				
			||||||
	0x75, 0x70, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62,
 | 
						0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f,
 | 
				
			||||||
	0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
						0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x6c,
 | 
				
			||||||
	0x65, 0x12, 0x56, 0x0a, 0x13, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65,
 | 
						0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
 | 
				
			||||||
	0x72, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f,
 | 
						0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74,
 | 
				
			||||||
	0x74, 0x69, 0x66, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67,
 | 
						0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x4d, 0x61,
 | 
				
			||||||
	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f,
 | 
						0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e,
 | 
				
			||||||
	0x74, 0x69, 0x66, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67,
 | 
						0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65,
 | 
				
			||||||
	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8c, 0x01, 0x0a, 0x25, 0x66, 0x69,
 | 
						0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
				
			||||||
	0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76,
 | 
						0x37, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12,
 | 
				
			||||||
	0x65, 0x72, 0x73, 0x44, 0x4e, 0x53, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
 | 
						0x17, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65,
 | 
				
			||||||
	0x72, 0x49, 0x64, 0x12, 0x30, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
 | 
						0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50,
 | 
				
			||||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x44, 0x4e,
 | 
						0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64,
 | 
				
			||||||
	0x53, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65,
 | 
						0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1c, 0x2e,
 | 
				
			||||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41,
 | 
						0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65,
 | 
				
			||||||
 | 
						0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62,
 | 
				
			||||||
 | 
						0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76,
 | 
				
			||||||
 | 
						0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x66, 0x69,
 | 
				
			||||||
 | 
						0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43,
 | 
				
			||||||
 | 
						0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45,
 | 
				
			||||||
 | 
						0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66,
 | 
				
			||||||
 | 
						0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46,
 | 
				
			||||||
 | 
						0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
 | 
				
			||||||
 | 
						0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c,
 | 
				
			||||||
 | 
						0x0a, 0x15, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72,
 | 
				
			||||||
 | 
						0x76, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
 | 
				
			||||||
 | 
						0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x79,
 | 
				
			||||||
 | 
						0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46,
 | 
				
			||||||
 | 
						0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
 | 
				
			||||||
 | 
						0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x86, 0x01, 0x0a,
 | 
				
			||||||
 | 
						0x23, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76,
 | 
				
			||||||
 | 
						0x65, 0x72, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f,
 | 
				
			||||||
 | 
						0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6e,
 | 
				
			||||||
 | 
						0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x76, 0x65, 0x72,
 | 
				
			||||||
 | 
						0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71,
 | 
				
			||||||
 | 
						0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6e,
 | 
				
			||||||
 | 
						0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x76, 0x65, 0x72,
 | 
				
			||||||
 | 
						0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73,
 | 
				
			||||||
 | 
						0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x1a, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64,
 | 
				
			||||||
 | 
						0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e,
 | 
				
			||||||
 | 
						0x66, 0x69, 0x67, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64,
 | 
				
			||||||
 | 
						0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e,
 | 
				
			||||||
 | 
						0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e,
 | 
				
			||||||
 | 
						0x46, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65,
 | 
				
			||||||
 | 
						0x72, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
				
			||||||
 | 
						0x73, 0x65, 0x12, 0x6b, 0x0a, 0x23, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
 | 
				
			||||||
 | 
						0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68,
 | 
				
			||||||
 | 
						0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x43,
 | 
				
			||||||
 | 
						0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65,
 | 
				
			||||||
 | 
						0x72, 0x76, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 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, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x53, 0x4c,
 | 
				
			||||||
 | 
						0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x12, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
 | 
				
			||||||
 | 
						0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
 | 
				
			||||||
 | 
						0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 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, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73,
 | 
				
			||||||
 | 
						0x57, 0x69, 0x74, 0x68, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73,
 | 
				
			||||||
 | 
						0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x27, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c,
 | 
				
			||||||
 | 
						0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x57,
 | 
				
			||||||
 | 
						0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
 | 
				
			||||||
 | 
						0x12, 0x32, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
 | 
				
			||||||
 | 
						0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 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, 0x67, 0x0a, 0x21, 0x63, 0x6f,
 | 
				
			||||||
 | 
						0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72,
 | 
				
			||||||
 | 
						0x76, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12,
 | 
				
			||||||
 | 
						0x2c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
 | 
				
			||||||
 | 
						0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 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, 0x56, 0x0a, 0x13, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x53, 0x65, 0x72,
 | 
				
			||||||
 | 
						0x76, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e,
 | 
				
			||||||
 | 
						0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61,
 | 
				
			||||||
 | 
						0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e,
 | 
				
			||||||
 | 
						0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61,
 | 
				
			||||||
 | 
						0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8c, 0x01, 0x0a, 0x25,
 | 
				
			||||||
 | 
						0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65,
 | 
				
			||||||
 | 
						0x72, 0x76, 0x65, 0x72, 0x73, 0x44, 0x4e, 0x53, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73,
 | 
				
			||||||
 | 
						0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x30, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41,
 | 
				
			||||||
	0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73,
 | 
						0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73,
 | 
				
			||||||
	0x44, 0x4e, 0x53, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
 | 
						0x44, 0x4e, 0x53, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
 | 
				
			||||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x66, 0x69, 0x6e, 0x64,
 | 
						0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
 | 
				
			||||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x4e, 0x53,
 | 
						0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65,
 | 
				
			||||||
	0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
						0x72, 0x73, 0x44, 0x4e, 0x53, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
 | 
				
			||||||
	0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
						0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x66, 0x69,
 | 
				
			||||||
	0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c,
 | 
						0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44,
 | 
				
			||||||
	0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
						0x4e, 0x53, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62,
 | 
				
			||||||
	0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72,
 | 
						0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75,
 | 
				
			||||||
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63,
 | 
						0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
 | 
				
			||||||
	0x6b, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
						0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73,
 | 
				
			||||||
	0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65,
 | 
						0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73,
 | 
				
			||||||
	0x73, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x23, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
 | 
						0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68,
 | 
				
			||||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73,
 | 
						0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71,
 | 
				
			||||||
	0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e,
 | 
						0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63,
 | 
				
			||||||
	0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65,
 | 
						0x63, 0x65, 0x73, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x23, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
 | 
				
			||||||
	0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65,
 | 
						0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d,
 | 
				
			||||||
	0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x70, 0x62, 0x2e,
 | 
						0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2e, 0x2e, 0x70,
 | 
				
			||||||
	0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65,
 | 
						0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
				
			||||||
	0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65,
 | 
						0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55,
 | 
				
			||||||
	0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e,
 | 
						0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x70,
 | 
				
			||||||
	0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
						0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
				
			||||||
 | 
						0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55,
 | 
				
			||||||
 | 
						0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a,
 | 
				
			||||||
 | 
						0x1a, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72,
 | 
				
			||||||
 | 
						0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x73, 0x69, 0x63, 0x12, 0x25, 0x2e, 0x70, 0x62,
 | 
				
			||||||
 | 
						0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72,
 | 
				
			||||||
 | 
						0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x73, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
				
			||||||
 | 
						0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62,
 | 
				
			||||||
 | 
						0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x73,
 | 
				
			||||||
 | 
						0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x1c, 0x75, 0x70,
 | 
				
			||||||
 | 
						0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x53,
 | 
				
			||||||
 | 
						0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x73, 0x69, 0x63, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e,
 | 
				
			||||||
 | 
						0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65,
 | 
				
			||||||
 | 
						0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x73, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75,
 | 
				
			||||||
 | 
						0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63,
 | 
				
			||||||
 | 
						0x65, 0x73, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
 | 
				
			||||||
 | 
						0x74, 0x6f, 0x33,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var (
 | 
					var (
 | 
				
			||||||
@@ -3023,7 +3222,7 @@ func file_service_server_proto_rawDescGZIP() []byte {
 | 
				
			|||||||
	return file_service_server_proto_rawDescData
 | 
						return file_service_server_proto_rawDescData
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var file_service_server_proto_msgTypes = make([]protoimpl.MessageInfo, 45)
 | 
					var file_service_server_proto_msgTypes = make([]protoimpl.MessageInfo, 48)
 | 
				
			||||||
var file_service_server_proto_goTypes = []interface{}{
 | 
					var file_service_server_proto_goTypes = []interface{}{
 | 
				
			||||||
	(*CreateServerRequest)(nil),                            // 0: pb.CreateServerRequest
 | 
						(*CreateServerRequest)(nil),                            // 0: pb.CreateServerRequest
 | 
				
			||||||
	(*CreateServerResponse)(nil),                           // 1: pb.CreateServerResponse
 | 
						(*CreateServerResponse)(nil),                           // 1: pb.CreateServerResponse
 | 
				
			||||||
@@ -3070,87 +3269,95 @@ var file_service_server_proto_goTypes = []interface{}{
 | 
				
			|||||||
	(*CheckUserServerRequest)(nil),                         // 42: pb.CheckUserServerRequest
 | 
						(*CheckUserServerRequest)(nil),                         // 42: pb.CheckUserServerRequest
 | 
				
			||||||
	(*FindAllEnabledServerNamesWithUserIdRequest)(nil),     // 43: pb.FindAllEnabledServerNamesWithUserIdRequest
 | 
						(*FindAllEnabledServerNamesWithUserIdRequest)(nil),     // 43: pb.FindAllEnabledServerNamesWithUserIdRequest
 | 
				
			||||||
	(*FindAllEnabledServerNamesWithUserIdResponse)(nil),    // 44: pb.FindAllEnabledServerNamesWithUserIdResponse
 | 
						(*FindAllEnabledServerNamesWithUserIdResponse)(nil),    // 44: pb.FindAllEnabledServerNamesWithUserIdResponse
 | 
				
			||||||
	(*ServerNameAuditingResult)(nil),                       // 45: pb.ServerNameAuditingResult
 | 
						(*FindEnabledUserServerBasicRequest)(nil),              // 45: pb.FindEnabledUserServerBasicRequest
 | 
				
			||||||
	(*Server)(nil),                                         // 46: pb.Server
 | 
						(*FindEnabledUserServerBasicResponse)(nil),             // 46: pb.FindEnabledUserServerBasicResponse
 | 
				
			||||||
	(*DNSDomain)(nil),                                      // 47: pb.DNSDomain
 | 
						(*UpdateEnabledUserServerBasicRequest)(nil),            // 47: pb.UpdateEnabledUserServerBasicRequest
 | 
				
			||||||
	(*RPCSuccess)(nil),                                     // 48: pb.RPCSuccess
 | 
						(*ServerNameAuditingResult)(nil),                       // 48: pb.ServerNameAuditingResult
 | 
				
			||||||
	(*RPCCountResponse)(nil),                               // 49: pb.RPCCountResponse
 | 
						(*Server)(nil),                                         // 49: pb.Server
 | 
				
			||||||
 | 
						(*DNSDomain)(nil),                                      // 50: pb.DNSDomain
 | 
				
			||||||
 | 
						(*RPCSuccess)(nil),                                     // 51: pb.RPCSuccess
 | 
				
			||||||
 | 
						(*RPCCountResponse)(nil),                               // 52: pb.RPCCountResponse
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
var file_service_server_proto_depIdxs = []int32{
 | 
					var file_service_server_proto_depIdxs = []int32{
 | 
				
			||||||
	45, // 0: pb.FindServerNamesResponse.auditingResult:type_name -> pb.ServerNameAuditingResult
 | 
						48, // 0: pb.FindServerNamesResponse.auditingResult:type_name -> pb.ServerNameAuditingResult
 | 
				
			||||||
	45, // 1: pb.UpdateServerNamesAuditingRequest.auditingResult:type_name -> pb.ServerNameAuditingResult
 | 
						48, // 1: pb.UpdateServerNamesAuditingRequest.auditingResult:type_name -> pb.ServerNameAuditingResult
 | 
				
			||||||
	46, // 2: pb.ListEnabledServersMatchResponse.servers:type_name -> pb.Server
 | 
						49, // 2: pb.ListEnabledServersMatchResponse.servers:type_name -> pb.Server
 | 
				
			||||||
	46, // 3: pb.FindEnabledServerResponse.server:type_name -> pb.Server
 | 
						49, // 3: pb.FindEnabledServerResponse.server:type_name -> pb.Server
 | 
				
			||||||
	46, // 4: pb.FindAllEnabledServersWithSSLCertIdResponse.servers:type_name -> pb.Server
 | 
						49, // 4: pb.FindAllEnabledServersWithSSLCertIdResponse.servers:type_name -> pb.Server
 | 
				
			||||||
	39, // 5: pb.FindAllEnabledServersDNSWithClusterIdResponse.servers:type_name -> pb.ServerDNSInfo
 | 
						39, // 5: pb.FindAllEnabledServersDNSWithClusterIdResponse.servers:type_name -> pb.ServerDNSInfo
 | 
				
			||||||
	47, // 6: pb.FindEnabledServerDNSResponse.domain:type_name -> pb.DNSDomain
 | 
						50, // 6: pb.FindEnabledServerDNSResponse.domain:type_name -> pb.DNSDomain
 | 
				
			||||||
	0,  // 7: pb.ServerService.createServer:input_type -> pb.CreateServerRequest
 | 
						49, // 7: pb.FindEnabledUserServerBasicResponse.server:type_name -> pb.Server
 | 
				
			||||||
	2,  // 8: pb.ServerService.updateServerBasic:input_type -> pb.UpdateServerBasicRequest
 | 
						0,  // 8: pb.ServerService.createServer:input_type -> pb.CreateServerRequest
 | 
				
			||||||
	3,  // 9: pb.ServerService.updateServerIsOn:input_type -> pb.UpdateServerIsOnRequest
 | 
						2,  // 9: pb.ServerService.updateServerBasic:input_type -> pb.UpdateServerBasicRequest
 | 
				
			||||||
	4,  // 10: pb.ServerService.updateServerHTTP:input_type -> pb.UpdateServerHTTPRequest
 | 
						3,  // 10: pb.ServerService.updateServerIsOn:input_type -> pb.UpdateServerIsOnRequest
 | 
				
			||||||
	5,  // 11: pb.ServerService.updateServerHTTPS:input_type -> pb.UpdateServerHTTPSRequest
 | 
						4,  // 11: pb.ServerService.updateServerHTTP:input_type -> pb.UpdateServerHTTPRequest
 | 
				
			||||||
	6,  // 12: pb.ServerService.updateServerTCP:input_type -> pb.UpdateServerTCPRequest
 | 
						5,  // 12: pb.ServerService.updateServerHTTPS:input_type -> pb.UpdateServerHTTPSRequest
 | 
				
			||||||
	7,  // 13: pb.ServerService.updateServerTLS:input_type -> pb.UpdateServerTLSRequest
 | 
						6,  // 13: pb.ServerService.updateServerTCP:input_type -> pb.UpdateServerTCPRequest
 | 
				
			||||||
	8,  // 14: pb.ServerService.updateServerUnix:input_type -> pb.UpdateServerUnixRequest
 | 
						7,  // 14: pb.ServerService.updateServerTLS:input_type -> pb.UpdateServerTLSRequest
 | 
				
			||||||
	9,  // 15: pb.ServerService.updateServerUDP:input_type -> pb.UpdateServerUDPRequest
 | 
						8,  // 15: pb.ServerService.updateServerUnix:input_type -> pb.UpdateServerUnixRequest
 | 
				
			||||||
	10, // 16: pb.ServerService.updateServerWeb:input_type -> pb.UpdateServerWebRequest
 | 
						9,  // 16: pb.ServerService.updateServerUDP:input_type -> pb.UpdateServerUDPRequest
 | 
				
			||||||
	11, // 17: pb.ServerService.updateServerReverseProxy:input_type -> pb.UpdateServerReverseProxyRequest
 | 
						10, // 17: pb.ServerService.updateServerWeb:input_type -> pb.UpdateServerWebRequest
 | 
				
			||||||
	12, // 18: pb.ServerService.findServerNames:input_type -> pb.FindServerNamesRequest
 | 
						11, // 18: pb.ServerService.updateServerReverseProxy:input_type -> pb.UpdateServerReverseProxyRequest
 | 
				
			||||||
	14, // 19: pb.ServerService.updateServerNames:input_type -> pb.UpdateServerNamesRequest
 | 
						12, // 19: pb.ServerService.findServerNames:input_type -> pb.FindServerNamesRequest
 | 
				
			||||||
	15, // 20: pb.ServerService.updateServerNamesAuditing:input_type -> pb.UpdateServerNamesAuditingRequest
 | 
						14, // 20: pb.ServerService.updateServerNames:input_type -> pb.UpdateServerNamesRequest
 | 
				
			||||||
	16, // 21: pb.ServerService.countAllEnabledServersMatch:input_type -> pb.CountAllEnabledServersMatchRequest
 | 
						15, // 21: pb.ServerService.updateServerNamesAuditing:input_type -> pb.UpdateServerNamesAuditingRequest
 | 
				
			||||||
	17, // 22: pb.ServerService.listEnabledServersMatch:input_type -> pb.ListEnabledServersMatchRequest
 | 
						16, // 22: pb.ServerService.countAllEnabledServersMatch:input_type -> pb.CountAllEnabledServersMatchRequest
 | 
				
			||||||
	19, // 23: pb.ServerService.deleteServer:input_type -> pb.DeleteServerRequest
 | 
						17, // 23: pb.ServerService.listEnabledServersMatch:input_type -> pb.ListEnabledServersMatchRequest
 | 
				
			||||||
	20, // 24: pb.ServerService.findEnabledServer:input_type -> pb.FindEnabledServerRequest
 | 
						19, // 24: pb.ServerService.deleteServer:input_type -> pb.DeleteServerRequest
 | 
				
			||||||
	22, // 25: pb.ServerService.findEnabledServerConfig:input_type -> pb.FindEnabledServerConfigRequest
 | 
						20, // 25: pb.ServerService.findEnabledServer:input_type -> pb.FindEnabledServerRequest
 | 
				
			||||||
	24, // 26: pb.ServerService.findEnabledServerType:input_type -> pb.FindEnabledServerTypeRequest
 | 
						22, // 26: pb.ServerService.findEnabledServerConfig:input_type -> pb.FindEnabledServerConfigRequest
 | 
				
			||||||
	26, // 27: pb.ServerService.findAndInitServerReverseProxyConfig:input_type -> pb.FindAndInitServerReverseProxyConfigRequest
 | 
						24, // 27: pb.ServerService.findEnabledServerType:input_type -> pb.FindEnabledServerTypeRequest
 | 
				
			||||||
	28, // 28: pb.ServerService.findAndInitServerWebConfig:input_type -> pb.FindAndInitServerWebConfigRequest
 | 
						26, // 28: pb.ServerService.findAndInitServerReverseProxyConfig:input_type -> pb.FindAndInitServerReverseProxyConfigRequest
 | 
				
			||||||
	30, // 29: pb.ServerService.countAllEnabledServersWithSSLCertId:input_type -> pb.CountAllEnabledServersWithSSLCertIdRequest
 | 
						28, // 29: pb.ServerService.findAndInitServerWebConfig:input_type -> pb.FindAndInitServerWebConfigRequest
 | 
				
			||||||
	31, // 30: pb.ServerService.findAllEnabledServersWithSSLCertId:input_type -> pb.FindAllEnabledServersWithSSLCertIdRequest
 | 
						30, // 30: pb.ServerService.countAllEnabledServersWithSSLCertId:input_type -> pb.CountAllEnabledServersWithSSLCertIdRequest
 | 
				
			||||||
	33, // 31: pb.ServerService.countAllEnabledServersWithNodeClusterId:input_type -> pb.CountAllEnabledServersWithNodeClusterIdRequest
 | 
						31, // 31: pb.ServerService.findAllEnabledServersWithSSLCertId:input_type -> pb.FindAllEnabledServersWithSSLCertIdRequest
 | 
				
			||||||
	34, // 32: pb.ServerService.countAllEnabledServersWithGroupId:input_type -> pb.CountAllEnabledServersWithGroupIdRequest
 | 
						33, // 32: pb.ServerService.countAllEnabledServersWithNodeClusterId:input_type -> pb.CountAllEnabledServersWithNodeClusterIdRequest
 | 
				
			||||||
	35, // 33: pb.ServerService.notifyServersChange:input_type -> pb.NotifyServersChangeRequest
 | 
						34, // 33: pb.ServerService.countAllEnabledServersWithGroupId:input_type -> pb.CountAllEnabledServersWithGroupIdRequest
 | 
				
			||||||
	37, // 34: pb.ServerService.findAllEnabledServersDNSWithClusterId:input_type -> pb.FindAllEnabledServersDNSWithClusterIdRequest
 | 
						35, // 34: pb.ServerService.notifyServersChange:input_type -> pb.NotifyServersChangeRequest
 | 
				
			||||||
	40, // 35: pb.ServerService.findEnabledServerDNS:input_type -> pb.FindEnabledServerDNSRequest
 | 
						37, // 35: pb.ServerService.findAllEnabledServersDNSWithClusterId:input_type -> pb.FindAllEnabledServersDNSWithClusterIdRequest
 | 
				
			||||||
	42, // 36: pb.ServerService.checkUserServer:input_type -> pb.CheckUserServerRequest
 | 
						40, // 36: pb.ServerService.findEnabledServerDNS:input_type -> pb.FindEnabledServerDNSRequest
 | 
				
			||||||
	43, // 37: pb.ServerService.findAllEnabledServerNamesWithUserId:input_type -> pb.FindAllEnabledServerNamesWithUserIdRequest
 | 
						42, // 37: pb.ServerService.checkUserServer:input_type -> pb.CheckUserServerRequest
 | 
				
			||||||
	1,  // 38: pb.ServerService.createServer:output_type -> pb.CreateServerResponse
 | 
						43, // 38: pb.ServerService.findAllEnabledServerNamesWithUserId:input_type -> pb.FindAllEnabledServerNamesWithUserIdRequest
 | 
				
			||||||
	48, // 39: pb.ServerService.updateServerBasic:output_type -> pb.RPCSuccess
 | 
						45, // 39: pb.ServerService.findEnabledUserServerBasic:input_type -> pb.FindEnabledUserServerBasicRequest
 | 
				
			||||||
	48, // 40: pb.ServerService.updateServerIsOn:output_type -> pb.RPCSuccess
 | 
						47, // 40: pb.ServerService.updateEnabledUserServerBasic:input_type -> pb.UpdateEnabledUserServerBasicRequest
 | 
				
			||||||
	48, // 41: pb.ServerService.updateServerHTTP:output_type -> pb.RPCSuccess
 | 
						1,  // 41: pb.ServerService.createServer:output_type -> pb.CreateServerResponse
 | 
				
			||||||
	48, // 42: pb.ServerService.updateServerHTTPS:output_type -> pb.RPCSuccess
 | 
						51, // 42: pb.ServerService.updateServerBasic:output_type -> pb.RPCSuccess
 | 
				
			||||||
	48, // 43: pb.ServerService.updateServerTCP:output_type -> pb.RPCSuccess
 | 
						51, // 43: pb.ServerService.updateServerIsOn:output_type -> pb.RPCSuccess
 | 
				
			||||||
	48, // 44: pb.ServerService.updateServerTLS:output_type -> pb.RPCSuccess
 | 
						51, // 44: pb.ServerService.updateServerHTTP:output_type -> pb.RPCSuccess
 | 
				
			||||||
	48, // 45: pb.ServerService.updateServerUnix:output_type -> pb.RPCSuccess
 | 
						51, // 45: pb.ServerService.updateServerHTTPS:output_type -> pb.RPCSuccess
 | 
				
			||||||
	48, // 46: pb.ServerService.updateServerUDP:output_type -> pb.RPCSuccess
 | 
						51, // 46: pb.ServerService.updateServerTCP:output_type -> pb.RPCSuccess
 | 
				
			||||||
	48, // 47: pb.ServerService.updateServerWeb:output_type -> pb.RPCSuccess
 | 
						51, // 47: pb.ServerService.updateServerTLS:output_type -> pb.RPCSuccess
 | 
				
			||||||
	48, // 48: pb.ServerService.updateServerReverseProxy:output_type -> pb.RPCSuccess
 | 
						51, // 48: pb.ServerService.updateServerUnix:output_type -> pb.RPCSuccess
 | 
				
			||||||
	13, // 49: pb.ServerService.findServerNames:output_type -> pb.FindServerNamesResponse
 | 
						51, // 49: pb.ServerService.updateServerUDP:output_type -> pb.RPCSuccess
 | 
				
			||||||
	48, // 50: pb.ServerService.updateServerNames:output_type -> pb.RPCSuccess
 | 
						51, // 50: pb.ServerService.updateServerWeb:output_type -> pb.RPCSuccess
 | 
				
			||||||
	48, // 51: pb.ServerService.updateServerNamesAuditing:output_type -> pb.RPCSuccess
 | 
						51, // 51: pb.ServerService.updateServerReverseProxy:output_type -> pb.RPCSuccess
 | 
				
			||||||
	49, // 52: pb.ServerService.countAllEnabledServersMatch:output_type -> pb.RPCCountResponse
 | 
						13, // 52: pb.ServerService.findServerNames:output_type -> pb.FindServerNamesResponse
 | 
				
			||||||
	18, // 53: pb.ServerService.listEnabledServersMatch:output_type -> pb.ListEnabledServersMatchResponse
 | 
						51, // 53: pb.ServerService.updateServerNames:output_type -> pb.RPCSuccess
 | 
				
			||||||
	48, // 54: pb.ServerService.deleteServer:output_type -> pb.RPCSuccess
 | 
						51, // 54: pb.ServerService.updateServerNamesAuditing:output_type -> pb.RPCSuccess
 | 
				
			||||||
	21, // 55: pb.ServerService.findEnabledServer:output_type -> pb.FindEnabledServerResponse
 | 
						52, // 55: pb.ServerService.countAllEnabledServersMatch:output_type -> pb.RPCCountResponse
 | 
				
			||||||
	23, // 56: pb.ServerService.findEnabledServerConfig:output_type -> pb.FindEnabledServerConfigResponse
 | 
						18, // 56: pb.ServerService.listEnabledServersMatch:output_type -> pb.ListEnabledServersMatchResponse
 | 
				
			||||||
	25, // 57: pb.ServerService.findEnabledServerType:output_type -> pb.FindEnabledServerTypeResponse
 | 
						51, // 57: pb.ServerService.deleteServer:output_type -> pb.RPCSuccess
 | 
				
			||||||
	27, // 58: pb.ServerService.findAndInitServerReverseProxyConfig:output_type -> pb.FindAndInitServerReverseProxyConfigResponse
 | 
						21, // 58: pb.ServerService.findEnabledServer:output_type -> pb.FindEnabledServerResponse
 | 
				
			||||||
	29, // 59: pb.ServerService.findAndInitServerWebConfig:output_type -> pb.FindAndInitServerWebConfigResponse
 | 
						23, // 59: pb.ServerService.findEnabledServerConfig:output_type -> pb.FindEnabledServerConfigResponse
 | 
				
			||||||
	49, // 60: pb.ServerService.countAllEnabledServersWithSSLCertId:output_type -> pb.RPCCountResponse
 | 
						25, // 60: pb.ServerService.findEnabledServerType:output_type -> pb.FindEnabledServerTypeResponse
 | 
				
			||||||
	32, // 61: pb.ServerService.findAllEnabledServersWithSSLCertId:output_type -> pb.FindAllEnabledServersWithSSLCertIdResponse
 | 
						27, // 61: pb.ServerService.findAndInitServerReverseProxyConfig:output_type -> pb.FindAndInitServerReverseProxyConfigResponse
 | 
				
			||||||
	49, // 62: pb.ServerService.countAllEnabledServersWithNodeClusterId:output_type -> pb.RPCCountResponse
 | 
						29, // 62: pb.ServerService.findAndInitServerWebConfig:output_type -> pb.FindAndInitServerWebConfigResponse
 | 
				
			||||||
	49, // 63: pb.ServerService.countAllEnabledServersWithGroupId:output_type -> pb.RPCCountResponse
 | 
						52, // 63: pb.ServerService.countAllEnabledServersWithSSLCertId:output_type -> pb.RPCCountResponse
 | 
				
			||||||
	36, // 64: pb.ServerService.notifyServersChange:output_type -> pb.NotifyServersChangeResponse
 | 
						32, // 64: pb.ServerService.findAllEnabledServersWithSSLCertId:output_type -> pb.FindAllEnabledServersWithSSLCertIdResponse
 | 
				
			||||||
	38, // 65: pb.ServerService.findAllEnabledServersDNSWithClusterId:output_type -> pb.FindAllEnabledServersDNSWithClusterIdResponse
 | 
						52, // 65: pb.ServerService.countAllEnabledServersWithNodeClusterId:output_type -> pb.RPCCountResponse
 | 
				
			||||||
	41, // 66: pb.ServerService.findEnabledServerDNS:output_type -> pb.FindEnabledServerDNSResponse
 | 
						52, // 66: pb.ServerService.countAllEnabledServersWithGroupId:output_type -> pb.RPCCountResponse
 | 
				
			||||||
	48, // 67: pb.ServerService.checkUserServer:output_type -> pb.RPCSuccess
 | 
						36, // 67: pb.ServerService.notifyServersChange:output_type -> pb.NotifyServersChangeResponse
 | 
				
			||||||
	44, // 68: pb.ServerService.findAllEnabledServerNamesWithUserId:output_type -> pb.FindAllEnabledServerNamesWithUserIdResponse
 | 
						38, // 68: pb.ServerService.findAllEnabledServersDNSWithClusterId:output_type -> pb.FindAllEnabledServersDNSWithClusterIdResponse
 | 
				
			||||||
	38, // [38:69] is the sub-list for method output_type
 | 
						41, // 69: pb.ServerService.findEnabledServerDNS:output_type -> pb.FindEnabledServerDNSResponse
 | 
				
			||||||
	7,  // [7:38] is the sub-list for method input_type
 | 
						51, // 70: pb.ServerService.checkUserServer:output_type -> pb.RPCSuccess
 | 
				
			||||||
	7,  // [7:7] is the sub-list for extension type_name
 | 
						44, // 71: pb.ServerService.findAllEnabledServerNamesWithUserId:output_type -> pb.FindAllEnabledServerNamesWithUserIdResponse
 | 
				
			||||||
	7,  // [7:7] is the sub-list for extension extendee
 | 
						46, // 72: pb.ServerService.findEnabledUserServerBasic:output_type -> pb.FindEnabledUserServerBasicResponse
 | 
				
			||||||
	0,  // [0:7] is the sub-list for field type_name
 | 
						51, // 73: pb.ServerService.updateEnabledUserServerBasic:output_type -> pb.RPCSuccess
 | 
				
			||||||
 | 
						41, // [41:74] is the sub-list for method output_type
 | 
				
			||||||
 | 
						8,  // [8:41] is the sub-list for method input_type
 | 
				
			||||||
 | 
						8,  // [8:8] is the sub-list for extension type_name
 | 
				
			||||||
 | 
						8,  // [8:8] is the sub-list for extension extendee
 | 
				
			||||||
 | 
						0,  // [0:8] is the sub-list for field type_name
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func init() { file_service_server_proto_init() }
 | 
					func init() { file_service_server_proto_init() }
 | 
				
			||||||
@@ -3703,6 +3910,42 @@ func file_service_server_proto_init() {
 | 
				
			|||||||
				return nil
 | 
									return nil
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							file_service_server_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
 | 
				
			||||||
 | 
								switch v := v.(*FindEnabledUserServerBasicRequest); i {
 | 
				
			||||||
 | 
								case 0:
 | 
				
			||||||
 | 
									return &v.state
 | 
				
			||||||
 | 
								case 1:
 | 
				
			||||||
 | 
									return &v.sizeCache
 | 
				
			||||||
 | 
								case 2:
 | 
				
			||||||
 | 
									return &v.unknownFields
 | 
				
			||||||
 | 
								default:
 | 
				
			||||||
 | 
									return nil
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							file_service_server_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
 | 
				
			||||||
 | 
								switch v := v.(*FindEnabledUserServerBasicResponse); i {
 | 
				
			||||||
 | 
								case 0:
 | 
				
			||||||
 | 
									return &v.state
 | 
				
			||||||
 | 
								case 1:
 | 
				
			||||||
 | 
									return &v.sizeCache
 | 
				
			||||||
 | 
								case 2:
 | 
				
			||||||
 | 
									return &v.unknownFields
 | 
				
			||||||
 | 
								default:
 | 
				
			||||||
 | 
									return nil
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							file_service_server_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
 | 
				
			||||||
 | 
								switch v := v.(*UpdateEnabledUserServerBasicRequest); i {
 | 
				
			||||||
 | 
								case 0:
 | 
				
			||||||
 | 
									return &v.state
 | 
				
			||||||
 | 
								case 1:
 | 
				
			||||||
 | 
									return &v.sizeCache
 | 
				
			||||||
 | 
								case 2:
 | 
				
			||||||
 | 
									return &v.unknownFields
 | 
				
			||||||
 | 
								default:
 | 
				
			||||||
 | 
									return nil
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	type x struct{}
 | 
						type x struct{}
 | 
				
			||||||
	out := protoimpl.TypeBuilder{
 | 
						out := protoimpl.TypeBuilder{
 | 
				
			||||||
@@ -3710,7 +3953,7 @@ func file_service_server_proto_init() {
 | 
				
			|||||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
								GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
				
			||||||
			RawDescriptor: file_service_server_proto_rawDesc,
 | 
								RawDescriptor: file_service_server_proto_rawDesc,
 | 
				
			||||||
			NumEnums:      0,
 | 
								NumEnums:      0,
 | 
				
			||||||
			NumMessages:   45,
 | 
								NumMessages:   48,
 | 
				
			||||||
			NumExtensions: 0,
 | 
								NumExtensions: 0,
 | 
				
			||||||
			NumServices:   1,
 | 
								NumServices:   1,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
@@ -3798,6 +4041,10 @@ type ServerServiceClient interface {
 | 
				
			|||||||
	CheckUserServer(ctx context.Context, in *CheckUserServerRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
						CheckUserServer(ctx context.Context, in *CheckUserServerRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
				
			||||||
	// 查找一个用户下的所有域名列表
 | 
						// 查找一个用户下的所有域名列表
 | 
				
			||||||
	FindAllEnabledServerNamesWithUserId(ctx context.Context, in *FindAllEnabledServerNamesWithUserIdRequest, opts ...grpc.CallOption) (*FindAllEnabledServerNamesWithUserIdResponse, error)
 | 
						FindAllEnabledServerNamesWithUserId(ctx context.Context, in *FindAllEnabledServerNamesWithUserIdRequest, opts ...grpc.CallOption) (*FindAllEnabledServerNamesWithUserIdResponse, error)
 | 
				
			||||||
 | 
						// 查找用户服务基本信息
 | 
				
			||||||
 | 
						FindEnabledUserServerBasic(ctx context.Context, in *FindEnabledUserServerBasicRequest, opts ...grpc.CallOption) (*FindEnabledUserServerBasicResponse, error)
 | 
				
			||||||
 | 
						// 修改用户服务基本信息
 | 
				
			||||||
 | 
						UpdateEnabledUserServerBasic(ctx context.Context, in *UpdateEnabledUserServerBasicRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type serverServiceClient struct {
 | 
					type serverServiceClient struct {
 | 
				
			||||||
@@ -4087,6 +4334,24 @@ func (c *serverServiceClient) FindAllEnabledServerNamesWithUserId(ctx context.Co
 | 
				
			|||||||
	return out, nil
 | 
						return out, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (c *serverServiceClient) FindEnabledUserServerBasic(ctx context.Context, in *FindEnabledUserServerBasicRequest, opts ...grpc.CallOption) (*FindEnabledUserServerBasicResponse, error) {
 | 
				
			||||||
 | 
						out := new(FindEnabledUserServerBasicResponse)
 | 
				
			||||||
 | 
						err := c.cc.Invoke(ctx, "/pb.ServerService/findEnabledUserServerBasic", in, out, opts...)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return out, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (c *serverServiceClient) UpdateEnabledUserServerBasic(ctx context.Context, in *UpdateEnabledUserServerBasicRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
 | 
				
			||||||
 | 
						out := new(RPCSuccess)
 | 
				
			||||||
 | 
						err := c.cc.Invoke(ctx, "/pb.ServerService/updateEnabledUserServerBasic", in, out, opts...)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return out, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ServerServiceServer is the server API for ServerService service.
 | 
					// ServerServiceServer is the server API for ServerService service.
 | 
				
			||||||
type ServerServiceServer interface {
 | 
					type ServerServiceServer interface {
 | 
				
			||||||
	// 创建服务
 | 
						// 创建服务
 | 
				
			||||||
@@ -4151,6 +4416,10 @@ type ServerServiceServer interface {
 | 
				
			|||||||
	CheckUserServer(context.Context, *CheckUserServerRequest) (*RPCSuccess, error)
 | 
						CheckUserServer(context.Context, *CheckUserServerRequest) (*RPCSuccess, error)
 | 
				
			||||||
	// 查找一个用户下的所有域名列表
 | 
						// 查找一个用户下的所有域名列表
 | 
				
			||||||
	FindAllEnabledServerNamesWithUserId(context.Context, *FindAllEnabledServerNamesWithUserIdRequest) (*FindAllEnabledServerNamesWithUserIdResponse, error)
 | 
						FindAllEnabledServerNamesWithUserId(context.Context, *FindAllEnabledServerNamesWithUserIdRequest) (*FindAllEnabledServerNamesWithUserIdResponse, error)
 | 
				
			||||||
 | 
						// 查找用户服务基本信息
 | 
				
			||||||
 | 
						FindEnabledUserServerBasic(context.Context, *FindEnabledUserServerBasicRequest) (*FindEnabledUserServerBasicResponse, error)
 | 
				
			||||||
 | 
						// 修改用户服务基本信息
 | 
				
			||||||
 | 
						UpdateEnabledUserServerBasic(context.Context, *UpdateEnabledUserServerBasicRequest) (*RPCSuccess, error)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// UnimplementedServerServiceServer can be embedded to have forward compatible implementations.
 | 
					// UnimplementedServerServiceServer can be embedded to have forward compatible implementations.
 | 
				
			||||||
@@ -4250,6 +4519,12 @@ func (*UnimplementedServerServiceServer) CheckUserServer(context.Context, *Check
 | 
				
			|||||||
func (*UnimplementedServerServiceServer) FindAllEnabledServerNamesWithUserId(context.Context, *FindAllEnabledServerNamesWithUserIdRequest) (*FindAllEnabledServerNamesWithUserIdResponse, error) {
 | 
					func (*UnimplementedServerServiceServer) FindAllEnabledServerNamesWithUserId(context.Context, *FindAllEnabledServerNamesWithUserIdRequest) (*FindAllEnabledServerNamesWithUserIdResponse, error) {
 | 
				
			||||||
	return nil, status.Errorf(codes.Unimplemented, "method FindAllEnabledServerNamesWithUserId not implemented")
 | 
						return nil, status.Errorf(codes.Unimplemented, "method FindAllEnabledServerNamesWithUserId not implemented")
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					func (*UnimplementedServerServiceServer) FindEnabledUserServerBasic(context.Context, *FindEnabledUserServerBasicRequest) (*FindEnabledUserServerBasicResponse, error) {
 | 
				
			||||||
 | 
						return nil, status.Errorf(codes.Unimplemented, "method FindEnabledUserServerBasic not implemented")
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					func (*UnimplementedServerServiceServer) UpdateEnabledUserServerBasic(context.Context, *UpdateEnabledUserServerBasicRequest) (*RPCSuccess, error) {
 | 
				
			||||||
 | 
						return nil, status.Errorf(codes.Unimplemented, "method UpdateEnabledUserServerBasic not implemented")
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func RegisterServerServiceServer(s *grpc.Server, srv ServerServiceServer) {
 | 
					func RegisterServerServiceServer(s *grpc.Server, srv ServerServiceServer) {
 | 
				
			||||||
	s.RegisterService(&_ServerService_serviceDesc, srv)
 | 
						s.RegisterService(&_ServerService_serviceDesc, srv)
 | 
				
			||||||
@@ -4813,6 +5088,42 @@ func _ServerService_FindAllEnabledServerNamesWithUserId_Handler(srv interface{},
 | 
				
			|||||||
	return interceptor(ctx, in, info, handler)
 | 
						return interceptor(ctx, in, info, handler)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func _ServerService_FindEnabledUserServerBasic_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
				
			||||||
 | 
						in := new(FindEnabledUserServerBasicRequest)
 | 
				
			||||||
 | 
						if err := dec(in); err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if interceptor == nil {
 | 
				
			||||||
 | 
							return srv.(ServerServiceServer).FindEnabledUserServerBasic(ctx, in)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						info := &grpc.UnaryServerInfo{
 | 
				
			||||||
 | 
							Server:     srv,
 | 
				
			||||||
 | 
							FullMethod: "/pb.ServerService/FindEnabledUserServerBasic",
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
				
			||||||
 | 
							return srv.(ServerServiceServer).FindEnabledUserServerBasic(ctx, req.(*FindEnabledUserServerBasicRequest))
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return interceptor(ctx, in, info, handler)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func _ServerService_UpdateEnabledUserServerBasic_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
				
			||||||
 | 
						in := new(UpdateEnabledUserServerBasicRequest)
 | 
				
			||||||
 | 
						if err := dec(in); err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if interceptor == nil {
 | 
				
			||||||
 | 
							return srv.(ServerServiceServer).UpdateEnabledUserServerBasic(ctx, in)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						info := &grpc.UnaryServerInfo{
 | 
				
			||||||
 | 
							Server:     srv,
 | 
				
			||||||
 | 
							FullMethod: "/pb.ServerService/UpdateEnabledUserServerBasic",
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
				
			||||||
 | 
							return srv.(ServerServiceServer).UpdateEnabledUserServerBasic(ctx, req.(*UpdateEnabledUserServerBasicRequest))
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return interceptor(ctx, in, info, handler)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var _ServerService_serviceDesc = grpc.ServiceDesc{
 | 
					var _ServerService_serviceDesc = grpc.ServiceDesc{
 | 
				
			||||||
	ServiceName: "pb.ServerService",
 | 
						ServiceName: "pb.ServerService",
 | 
				
			||||||
	HandlerType: (*ServerServiceServer)(nil),
 | 
						HandlerType: (*ServerServiceServer)(nil),
 | 
				
			||||||
@@ -4941,6 +5252,14 @@ var _ServerService_serviceDesc = grpc.ServiceDesc{
 | 
				
			|||||||
			MethodName: "findAllEnabledServerNamesWithUserId",
 | 
								MethodName: "findAllEnabledServerNamesWithUserId",
 | 
				
			||||||
			Handler:    _ServerService_FindAllEnabledServerNamesWithUserId_Handler,
 | 
								Handler:    _ServerService_FindAllEnabledServerNamesWithUserId_Handler,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								MethodName: "findEnabledUserServerBasic",
 | 
				
			||||||
 | 
								Handler:    _ServerService_FindEnabledUserServerBasic_Handler,
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								MethodName: "updateEnabledUserServerBasic",
 | 
				
			||||||
 | 
								Handler:    _ServerService_UpdateEnabledUserServerBasic_Handler,
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	Streams:  []grpc.StreamDesc{},
 | 
						Streams:  []grpc.StreamDesc{},
 | 
				
			||||||
	Metadata: "service_server.proto",
 | 
						Metadata: "service_server.proto",
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										426
									
								
								pkg/rpc/pb/service_sys_locker.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										426
									
								
								pkg/rpc/pb/service_sys_locker.pb.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,426 @@
 | 
				
			|||||||
 | 
					// Code generated by protoc-gen-go. DO NOT EDIT.
 | 
				
			||||||
 | 
					// versions:
 | 
				
			||||||
 | 
					// 	protoc-gen-go v1.25.0
 | 
				
			||||||
 | 
					// 	protoc        v3.12.3
 | 
				
			||||||
 | 
					// source: service_sys_locker.proto
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package pb
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						context "context"
 | 
				
			||||||
 | 
						proto "github.com/golang/protobuf/proto"
 | 
				
			||||||
 | 
						grpc "google.golang.org/grpc"
 | 
				
			||||||
 | 
						codes "google.golang.org/grpc/codes"
 | 
				
			||||||
 | 
						status "google.golang.org/grpc/status"
 | 
				
			||||||
 | 
						protoreflect "google.golang.org/protobuf/reflect/protoreflect"
 | 
				
			||||||
 | 
						protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 | 
				
			||||||
 | 
						reflect "reflect"
 | 
				
			||||||
 | 
						sync "sync"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const (
 | 
				
			||||||
 | 
						// Verify that this generated code is sufficiently up-to-date.
 | 
				
			||||||
 | 
						_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
 | 
				
			||||||
 | 
						// Verify that runtime/protoimpl is sufficiently up-to-date.
 | 
				
			||||||
 | 
						_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// This is a compile-time assertion that a sufficiently up-to-date version
 | 
				
			||||||
 | 
					// of the legacy proto package is being used.
 | 
				
			||||||
 | 
					const _ = proto.ProtoPackageIsVersion4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 获得锁
 | 
				
			||||||
 | 
					type SysLockerLockRequest struct {
 | 
				
			||||||
 | 
						state         protoimpl.MessageState
 | 
				
			||||||
 | 
						sizeCache     protoimpl.SizeCache
 | 
				
			||||||
 | 
						unknownFields protoimpl.UnknownFields
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Key            string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
 | 
				
			||||||
 | 
						TimeoutSeconds int64  `protobuf:"varint,2,opt,name=timeoutSeconds,proto3" json:"timeoutSeconds,omitempty"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *SysLockerLockRequest) Reset() {
 | 
				
			||||||
 | 
						*x = SysLockerLockRequest{}
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled {
 | 
				
			||||||
 | 
							mi := &file_service_sys_locker_proto_msgTypes[0]
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *SysLockerLockRequest) String() string {
 | 
				
			||||||
 | 
						return protoimpl.X.MessageStringOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (*SysLockerLockRequest) ProtoMessage() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *SysLockerLockRequest) ProtoReflect() protoreflect.Message {
 | 
				
			||||||
 | 
						mi := &file_service_sys_locker_proto_msgTypes[0]
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled && x != nil {
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							if ms.LoadMessageInfo() == nil {
 | 
				
			||||||
 | 
								ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							return ms
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return mi.MessageOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Deprecated: Use SysLockerLockRequest.ProtoReflect.Descriptor instead.
 | 
				
			||||||
 | 
					func (*SysLockerLockRequest) Descriptor() ([]byte, []int) {
 | 
				
			||||||
 | 
						return file_service_sys_locker_proto_rawDescGZIP(), []int{0}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *SysLockerLockRequest) GetKey() string {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.Key
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *SysLockerLockRequest) GetTimeoutSeconds() int64 {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.TimeoutSeconds
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type SysLockerLockResponse struct {
 | 
				
			||||||
 | 
						state         protoimpl.MessageState
 | 
				
			||||||
 | 
						sizeCache     protoimpl.SizeCache
 | 
				
			||||||
 | 
						unknownFields protoimpl.UnknownFields
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Ok bool `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *SysLockerLockResponse) Reset() {
 | 
				
			||||||
 | 
						*x = SysLockerLockResponse{}
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled {
 | 
				
			||||||
 | 
							mi := &file_service_sys_locker_proto_msgTypes[1]
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *SysLockerLockResponse) String() string {
 | 
				
			||||||
 | 
						return protoimpl.X.MessageStringOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (*SysLockerLockResponse) ProtoMessage() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *SysLockerLockResponse) ProtoReflect() protoreflect.Message {
 | 
				
			||||||
 | 
						mi := &file_service_sys_locker_proto_msgTypes[1]
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled && x != nil {
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							if ms.LoadMessageInfo() == nil {
 | 
				
			||||||
 | 
								ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							return ms
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return mi.MessageOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Deprecated: Use SysLockerLockResponse.ProtoReflect.Descriptor instead.
 | 
				
			||||||
 | 
					func (*SysLockerLockResponse) Descriptor() ([]byte, []int) {
 | 
				
			||||||
 | 
						return file_service_sys_locker_proto_rawDescGZIP(), []int{1}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *SysLockerLockResponse) GetOk() bool {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.Ok
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return false
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 释放锁
 | 
				
			||||||
 | 
					type SysLockerUnlockRequest struct {
 | 
				
			||||||
 | 
						state         protoimpl.MessageState
 | 
				
			||||||
 | 
						sizeCache     protoimpl.SizeCache
 | 
				
			||||||
 | 
						unknownFields protoimpl.UnknownFields
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *SysLockerUnlockRequest) Reset() {
 | 
				
			||||||
 | 
						*x = SysLockerUnlockRequest{}
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled {
 | 
				
			||||||
 | 
							mi := &file_service_sys_locker_proto_msgTypes[2]
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *SysLockerUnlockRequest) String() string {
 | 
				
			||||||
 | 
						return protoimpl.X.MessageStringOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (*SysLockerUnlockRequest) ProtoMessage() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *SysLockerUnlockRequest) ProtoReflect() protoreflect.Message {
 | 
				
			||||||
 | 
						mi := &file_service_sys_locker_proto_msgTypes[2]
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled && x != nil {
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							if ms.LoadMessageInfo() == nil {
 | 
				
			||||||
 | 
								ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							return ms
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return mi.MessageOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Deprecated: Use SysLockerUnlockRequest.ProtoReflect.Descriptor instead.
 | 
				
			||||||
 | 
					func (*SysLockerUnlockRequest) Descriptor() ([]byte, []int) {
 | 
				
			||||||
 | 
						return file_service_sys_locker_proto_rawDescGZIP(), []int{2}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *SysLockerUnlockRequest) GetKey() string {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.Key
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var File_service_sys_locker_proto protoreflect.FileDescriptor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var file_service_sys_locker_proto_rawDesc = []byte{
 | 
				
			||||||
 | 
						0x0a, 0x18, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x5f, 0x6c, 0x6f,
 | 
				
			||||||
 | 
						0x63, 0x6b, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x12,
 | 
				
			||||||
 | 
						0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f,
 | 
				
			||||||
 | 
						0x74, 0x6f, 0x22, 0x50, 0x0a, 0x14, 0x53, 0x79, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x4c,
 | 
				
			||||||
 | 
						0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
 | 
				
			||||||
 | 
						0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x0e,
 | 
				
			||||||
 | 
						0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02,
 | 
				
			||||||
 | 
						0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63,
 | 
				
			||||||
 | 
						0x6f, 0x6e, 0x64, 0x73, 0x22, 0x27, 0x0a, 0x15, 0x53, 0x79, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65,
 | 
				
			||||||
 | 
						0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a,
 | 
				
			||||||
 | 
						0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x22, 0x2a, 0x0a,
 | 
				
			||||||
 | 
						0x16, 0x53, 0x79, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b,
 | 
				
			||||||
 | 
						0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
 | 
				
			||||||
 | 
						0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x32, 0x97, 0x01, 0x0a, 0x10, 0x53, 0x79,
 | 
				
			||||||
 | 
						0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x44,
 | 
				
			||||||
 | 
						0x0a, 0x0d, 0x53, 0x79, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x12,
 | 
				
			||||||
 | 
						0x18, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x79, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x4c, 0x6f,
 | 
				
			||||||
 | 
						0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x53,
 | 
				
			||||||
 | 
						0x79, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70,
 | 
				
			||||||
 | 
						0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0f, 0x53, 0x79, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65,
 | 
				
			||||||
 | 
						0x72, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x79, 0x73,
 | 
				
			||||||
 | 
						0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75,
 | 
				
			||||||
 | 
						0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63,
 | 
				
			||||||
 | 
						0x65, 0x73, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
 | 
				
			||||||
 | 
						0x74, 0x6f, 0x33,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var (
 | 
				
			||||||
 | 
						file_service_sys_locker_proto_rawDescOnce sync.Once
 | 
				
			||||||
 | 
						file_service_sys_locker_proto_rawDescData = file_service_sys_locker_proto_rawDesc
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func file_service_sys_locker_proto_rawDescGZIP() []byte {
 | 
				
			||||||
 | 
						file_service_sys_locker_proto_rawDescOnce.Do(func() {
 | 
				
			||||||
 | 
							file_service_sys_locker_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_sys_locker_proto_rawDescData)
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
						return file_service_sys_locker_proto_rawDescData
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var file_service_sys_locker_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
 | 
				
			||||||
 | 
					var file_service_sys_locker_proto_goTypes = []interface{}{
 | 
				
			||||||
 | 
						(*SysLockerLockRequest)(nil),   // 0: pb.SysLockerLockRequest
 | 
				
			||||||
 | 
						(*SysLockerLockResponse)(nil),  // 1: pb.SysLockerLockResponse
 | 
				
			||||||
 | 
						(*SysLockerUnlockRequest)(nil), // 2: pb.SysLockerUnlockRequest
 | 
				
			||||||
 | 
						(*RPCSuccess)(nil),             // 3: pb.RPCSuccess
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					var file_service_sys_locker_proto_depIdxs = []int32{
 | 
				
			||||||
 | 
						0, // 0: pb.SysLockerService.SysLockerLock:input_type -> pb.SysLockerLockRequest
 | 
				
			||||||
 | 
						2, // 1: pb.SysLockerService.SysLockerUnlock:input_type -> pb.SysLockerUnlockRequest
 | 
				
			||||||
 | 
						1, // 2: pb.SysLockerService.SysLockerLock:output_type -> pb.SysLockerLockResponse
 | 
				
			||||||
 | 
						3, // 3: pb.SysLockerService.SysLockerUnlock:output_type -> pb.RPCSuccess
 | 
				
			||||||
 | 
						2, // [2:4] is the sub-list for method output_type
 | 
				
			||||||
 | 
						0, // [0:2] is the sub-list for method input_type
 | 
				
			||||||
 | 
						0, // [0:0] is the sub-list for extension type_name
 | 
				
			||||||
 | 
						0, // [0:0] is the sub-list for extension extendee
 | 
				
			||||||
 | 
						0, // [0:0] is the sub-list for field type_name
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func init() { file_service_sys_locker_proto_init() }
 | 
				
			||||||
 | 
					func file_service_sys_locker_proto_init() {
 | 
				
			||||||
 | 
						if File_service_sys_locker_proto != nil {
 | 
				
			||||||
 | 
							return
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						file_rpc_messages_proto_init()
 | 
				
			||||||
 | 
						if !protoimpl.UnsafeEnabled {
 | 
				
			||||||
 | 
							file_service_sys_locker_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 | 
				
			||||||
 | 
								switch v := v.(*SysLockerLockRequest); i {
 | 
				
			||||||
 | 
								case 0:
 | 
				
			||||||
 | 
									return &v.state
 | 
				
			||||||
 | 
								case 1:
 | 
				
			||||||
 | 
									return &v.sizeCache
 | 
				
			||||||
 | 
								case 2:
 | 
				
			||||||
 | 
									return &v.unknownFields
 | 
				
			||||||
 | 
								default:
 | 
				
			||||||
 | 
									return nil
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							file_service_sys_locker_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 | 
				
			||||||
 | 
								switch v := v.(*SysLockerLockResponse); i {
 | 
				
			||||||
 | 
								case 0:
 | 
				
			||||||
 | 
									return &v.state
 | 
				
			||||||
 | 
								case 1:
 | 
				
			||||||
 | 
									return &v.sizeCache
 | 
				
			||||||
 | 
								case 2:
 | 
				
			||||||
 | 
									return &v.unknownFields
 | 
				
			||||||
 | 
								default:
 | 
				
			||||||
 | 
									return nil
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							file_service_sys_locker_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 | 
				
			||||||
 | 
								switch v := v.(*SysLockerUnlockRequest); i {
 | 
				
			||||||
 | 
								case 0:
 | 
				
			||||||
 | 
									return &v.state
 | 
				
			||||||
 | 
								case 1:
 | 
				
			||||||
 | 
									return &v.sizeCache
 | 
				
			||||||
 | 
								case 2:
 | 
				
			||||||
 | 
									return &v.unknownFields
 | 
				
			||||||
 | 
								default:
 | 
				
			||||||
 | 
									return nil
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						type x struct{}
 | 
				
			||||||
 | 
						out := protoimpl.TypeBuilder{
 | 
				
			||||||
 | 
							File: protoimpl.DescBuilder{
 | 
				
			||||||
 | 
								GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
				
			||||||
 | 
								RawDescriptor: file_service_sys_locker_proto_rawDesc,
 | 
				
			||||||
 | 
								NumEnums:      0,
 | 
				
			||||||
 | 
								NumMessages:   3,
 | 
				
			||||||
 | 
								NumExtensions: 0,
 | 
				
			||||||
 | 
								NumServices:   1,
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							GoTypes:           file_service_sys_locker_proto_goTypes,
 | 
				
			||||||
 | 
							DependencyIndexes: file_service_sys_locker_proto_depIdxs,
 | 
				
			||||||
 | 
							MessageInfos:      file_service_sys_locker_proto_msgTypes,
 | 
				
			||||||
 | 
						}.Build()
 | 
				
			||||||
 | 
						File_service_sys_locker_proto = out.File
 | 
				
			||||||
 | 
						file_service_sys_locker_proto_rawDesc = nil
 | 
				
			||||||
 | 
						file_service_sys_locker_proto_goTypes = nil
 | 
				
			||||||
 | 
						file_service_sys_locker_proto_depIdxs = nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Reference imports to suppress errors if they are not otherwise used.
 | 
				
			||||||
 | 
					var _ context.Context
 | 
				
			||||||
 | 
					var _ grpc.ClientConnInterface
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// This is a compile-time assertion to ensure that this generated file
 | 
				
			||||||
 | 
					// is compatible with the grpc package it is being compiled against.
 | 
				
			||||||
 | 
					const _ = grpc.SupportPackageIsVersion6
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// SysLockerServiceClient is the client API for SysLockerService service.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
 | 
				
			||||||
 | 
					type SysLockerServiceClient interface {
 | 
				
			||||||
 | 
						// 获得锁
 | 
				
			||||||
 | 
						SysLockerLock(ctx context.Context, in *SysLockerLockRequest, opts ...grpc.CallOption) (*SysLockerLockResponse, error)
 | 
				
			||||||
 | 
						// 释放锁
 | 
				
			||||||
 | 
						SysLockerUnlock(ctx context.Context, in *SysLockerUnlockRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type sysLockerServiceClient struct {
 | 
				
			||||||
 | 
						cc grpc.ClientConnInterface
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func NewSysLockerServiceClient(cc grpc.ClientConnInterface) SysLockerServiceClient {
 | 
				
			||||||
 | 
						return &sysLockerServiceClient{cc}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (c *sysLockerServiceClient) SysLockerLock(ctx context.Context, in *SysLockerLockRequest, opts ...grpc.CallOption) (*SysLockerLockResponse, error) {
 | 
				
			||||||
 | 
						out := new(SysLockerLockResponse)
 | 
				
			||||||
 | 
						err := c.cc.Invoke(ctx, "/pb.SysLockerService/SysLockerLock", in, out, opts...)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return out, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (c *sysLockerServiceClient) SysLockerUnlock(ctx context.Context, in *SysLockerUnlockRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
 | 
				
			||||||
 | 
						out := new(RPCSuccess)
 | 
				
			||||||
 | 
						err := c.cc.Invoke(ctx, "/pb.SysLockerService/SysLockerUnlock", in, out, opts...)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return out, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// SysLockerServiceServer is the server API for SysLockerService service.
 | 
				
			||||||
 | 
					type SysLockerServiceServer interface {
 | 
				
			||||||
 | 
						// 获得锁
 | 
				
			||||||
 | 
						SysLockerLock(context.Context, *SysLockerLockRequest) (*SysLockerLockResponse, error)
 | 
				
			||||||
 | 
						// 释放锁
 | 
				
			||||||
 | 
						SysLockerUnlock(context.Context, *SysLockerUnlockRequest) (*RPCSuccess, error)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// UnimplementedSysLockerServiceServer can be embedded to have forward compatible implementations.
 | 
				
			||||||
 | 
					type UnimplementedSysLockerServiceServer struct {
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (*UnimplementedSysLockerServiceServer) SysLockerLock(context.Context, *SysLockerLockRequest) (*SysLockerLockResponse, error) {
 | 
				
			||||||
 | 
						return nil, status.Errorf(codes.Unimplemented, "method SysLockerLock not implemented")
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					func (*UnimplementedSysLockerServiceServer) SysLockerUnlock(context.Context, *SysLockerUnlockRequest) (*RPCSuccess, error) {
 | 
				
			||||||
 | 
						return nil, status.Errorf(codes.Unimplemented, "method SysLockerUnlock not implemented")
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func RegisterSysLockerServiceServer(s *grpc.Server, srv SysLockerServiceServer) {
 | 
				
			||||||
 | 
						s.RegisterService(&_SysLockerService_serviceDesc, srv)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func _SysLockerService_SysLockerLock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
				
			||||||
 | 
						in := new(SysLockerLockRequest)
 | 
				
			||||||
 | 
						if err := dec(in); err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if interceptor == nil {
 | 
				
			||||||
 | 
							return srv.(SysLockerServiceServer).SysLockerLock(ctx, in)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						info := &grpc.UnaryServerInfo{
 | 
				
			||||||
 | 
							Server:     srv,
 | 
				
			||||||
 | 
							FullMethod: "/pb.SysLockerService/SysLockerLock",
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
				
			||||||
 | 
							return srv.(SysLockerServiceServer).SysLockerLock(ctx, req.(*SysLockerLockRequest))
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return interceptor(ctx, in, info, handler)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func _SysLockerService_SysLockerUnlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
				
			||||||
 | 
						in := new(SysLockerUnlockRequest)
 | 
				
			||||||
 | 
						if err := dec(in); err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if interceptor == nil {
 | 
				
			||||||
 | 
							return srv.(SysLockerServiceServer).SysLockerUnlock(ctx, in)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						info := &grpc.UnaryServerInfo{
 | 
				
			||||||
 | 
							Server:     srv,
 | 
				
			||||||
 | 
							FullMethod: "/pb.SysLockerService/SysLockerUnlock",
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
				
			||||||
 | 
							return srv.(SysLockerServiceServer).SysLockerUnlock(ctx, req.(*SysLockerUnlockRequest))
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return interceptor(ctx, in, info, handler)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var _SysLockerService_serviceDesc = grpc.ServiceDesc{
 | 
				
			||||||
 | 
						ServiceName: "pb.SysLockerService",
 | 
				
			||||||
 | 
						HandlerType: (*SysLockerServiceServer)(nil),
 | 
				
			||||||
 | 
						Methods: []grpc.MethodDesc{
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								MethodName: "SysLockerLock",
 | 
				
			||||||
 | 
								Handler:    _SysLockerService_SysLockerLock_Handler,
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								MethodName: "SysLockerUnlock",
 | 
				
			||||||
 | 
								Handler:    _SysLockerService_SysLockerUnlock_Handler,
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						Streams:  []grpc.StreamDesc{},
 | 
				
			||||||
 | 
						Metadata: "service_sys_locker.proto",
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -103,6 +103,9 @@ service NodeClusterService {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	// 查找集群的系统服务设置
 | 
						// 查找集群的系统服务设置
 | 
				
			||||||
	rpc findNodeClusterSystemService (FindNodeClusterSystemServiceRequest) returns (FindNodeClusterSystemServiceResponse);
 | 
						rpc findNodeClusterSystemService (FindNodeClusterSystemServiceRequest) returns (FindNodeClusterSystemServiceResponse);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// 获取集群中可以使用的端口
 | 
				
			||||||
 | 
						rpc findFreePortInNodeCluster (FindFreePortInNodeClusterRequest) returns (FindFreePortInNodeClusterResponse);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 获取所有集群的信息
 | 
					// 获取所有集群的信息
 | 
				
			||||||
@@ -366,3 +369,12 @@ message FindNodeClusterSystemServiceRequest {
 | 
				
			|||||||
message FindNodeClusterSystemServiceResponse {
 | 
					message FindNodeClusterSystemServiceResponse {
 | 
				
			||||||
	bytes paramsJSON = 1;
 | 
						bytes paramsJSON = 1;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 获取集群中可以使用的端口
 | 
				
			||||||
 | 
					message FindFreePortInNodeClusterRequest {
 | 
				
			||||||
 | 
						int64 nodeClusterId = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message FindFreePortInNodeClusterResponse {
 | 
				
			||||||
 | 
						int32 port = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -101,6 +101,12 @@ service ServerService {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	// 查找一个用户下的所有域名列表
 | 
						// 查找一个用户下的所有域名列表
 | 
				
			||||||
	rpc findAllEnabledServerNamesWithUserId (FindAllEnabledServerNamesWithUserIdRequest) returns (FindAllEnabledServerNamesWithUserIdResponse);
 | 
						rpc findAllEnabledServerNamesWithUserId (FindAllEnabledServerNamesWithUserIdRequest) returns (FindAllEnabledServerNamesWithUserIdResponse);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// 查找用户服务基本信息
 | 
				
			||||||
 | 
						rpc findEnabledUserServerBasic (FindEnabledUserServerBasicRequest) returns (FindEnabledUserServerBasicResponse);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// 修改用户服务基本信息
 | 
				
			||||||
 | 
						rpc updateEnabledUserServerBasic (UpdateEnabledUserServerBasicRequest) returns (RPCSuccess);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 创建服务
 | 
					// 创建服务
 | 
				
			||||||
@@ -220,6 +226,7 @@ message CountAllEnabledServersMatchRequest {
 | 
				
			|||||||
	int64 userId = 3;
 | 
						int64 userId = 3;
 | 
				
			||||||
	int64 clusterId = 4;
 | 
						int64 clusterId = 4;
 | 
				
			||||||
	int32 auditingFlag = 5;
 | 
						int32 auditingFlag = 5;
 | 
				
			||||||
 | 
						string protocolFamily = 6;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 列出单页服务
 | 
					// 列出单页服务
 | 
				
			||||||
@@ -231,6 +238,7 @@ message ListEnabledServersMatchRequest {
 | 
				
			|||||||
	int64 userId = 5;
 | 
						int64 userId = 5;
 | 
				
			||||||
	int64 clusterId = 6;
 | 
						int64 clusterId = 6;
 | 
				
			||||||
	int32 auditingFlag = 7;
 | 
						int32 auditingFlag = 7;
 | 
				
			||||||
 | 
						string protocolFamily = 8;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
message ListEnabledServersMatchResponse {
 | 
					message ListEnabledServersMatchResponse {
 | 
				
			||||||
@@ -359,3 +367,18 @@ message FindAllEnabledServerNamesWithUserIdRequest {
 | 
				
			|||||||
message FindAllEnabledServerNamesWithUserIdResponse {
 | 
					message FindAllEnabledServerNamesWithUserIdResponse {
 | 
				
			||||||
	repeated string serverNames = 1;
 | 
						repeated string serverNames = 1;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 查找用户服务基本信息
 | 
				
			||||||
 | 
					message FindEnabledUserServerBasicRequest {
 | 
				
			||||||
 | 
						int64 serverId = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message FindEnabledUserServerBasicResponse {
 | 
				
			||||||
 | 
						Server server = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 修改用户服务基本信息
 | 
				
			||||||
 | 
					message UpdateEnabledUserServerBasicRequest {
 | 
				
			||||||
 | 
						int64 serverId = 1;
 | 
				
			||||||
 | 
						string name = 2;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										30
									
								
								pkg/rpc/protos/service_sys_locker.proto
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								pkg/rpc/protos/service_sys_locker.proto
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
				
			|||||||
 | 
					syntax = "proto3";
 | 
				
			||||||
 | 
					option go_package = "./pb";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package pb;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import "rpc_messages.proto";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 互斥锁管理
 | 
				
			||||||
 | 
					service SysLockerService {
 | 
				
			||||||
 | 
						// 获得锁
 | 
				
			||||||
 | 
						rpc SysLockerLock (SysLockerLockRequest) returns (SysLockerLockResponse);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// 释放锁
 | 
				
			||||||
 | 
						rpc SysLockerUnlock (SysLockerUnlockRequest) returns (RPCSuccess);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 获得锁
 | 
				
			||||||
 | 
					message SysLockerLockRequest {
 | 
				
			||||||
 | 
						string key = 1;
 | 
				
			||||||
 | 
						int64 timeoutSeconds = 2;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message SysLockerLockResponse {
 | 
				
			||||||
 | 
						bool ok = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 释放锁
 | 
				
			||||||
 | 
					message SysLockerUnlockRequest {
 | 
				
			||||||
 | 
						string key = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,5 +1,10 @@
 | 
				
			|||||||
package serverconfigs
 | 
					package serverconfigs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const (
 | 
				
			||||||
 | 
						DefaultTCPPortRangeMin = 10000
 | 
				
			||||||
 | 
						DefaultTCPPortRangeMax = 40000
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 服务相关的全局设置
 | 
					// 服务相关的全局设置
 | 
				
			||||||
type GlobalConfig struct {
 | 
					type GlobalConfig struct {
 | 
				
			||||||
	// HTTP & HTTPS相关配置
 | 
						// HTTP & HTTPS相关配置
 | 
				
			||||||
@@ -14,7 +19,11 @@ type GlobalConfig struct {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	HTTP   struct{} `yaml:"http" json:"http"`
 | 
						HTTP   struct{} `yaml:"http" json:"http"`
 | 
				
			||||||
	HTTPS  struct{} `yaml:"https" json:"https"`
 | 
						HTTPS  struct{} `yaml:"https" json:"https"`
 | 
				
			||||||
	TCPAll struct{} `yaml:"tcpAll" json:"tcpAll"`
 | 
						TCPAll struct {
 | 
				
			||||||
 | 
							PortRangeMin int   `yaml:"portRangeMin" json:"portRangeMin"` // 最小端口
 | 
				
			||||||
 | 
							PortRangeMax int   `yaml:"portRangeMax" json:"portRangeMax"` // 最大端口
 | 
				
			||||||
 | 
							DenyPorts    []int `yaml:"denyPorts" json:"denyPorts"`       // 禁止使用的端口
 | 
				
			||||||
 | 
						} `yaml:"tcpAll" json:"tcpAll"`
 | 
				
			||||||
	TCP  struct{} `yaml:"tcp" json:"tcp"`
 | 
						TCP  struct{} `yaml:"tcp" json:"tcp"`
 | 
				
			||||||
	TLS  struct{} `yaml:"tls" json:"tls"`
 | 
						TLS  struct{} `yaml:"tls" json:"tls"`
 | 
				
			||||||
	Unix struct{} `yaml:"unix" json:"unix"`
 | 
						Unix struct{} `yaml:"unix" json:"unix"`
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,6 +2,17 @@ package serverconfigs
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import "encoding/json"
 | 
					import "encoding/json"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func NewTCPProtocolConfigFromJSON(configJSON []byte) (*TCPProtocolConfig, error) {
 | 
				
			||||||
 | 
						config := &TCPProtocolConfig{}
 | 
				
			||||||
 | 
						if len(configJSON) > 0 {
 | 
				
			||||||
 | 
							err := json.Unmarshal(configJSON, config)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								return nil, err
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return config, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type TCPProtocolConfig struct {
 | 
					type TCPProtocolConfig struct {
 | 
				
			||||||
	BaseProtocol `yaml:",inline"`
 | 
						BaseProtocol `yaml:",inline"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,20 @@
 | 
				
			|||||||
package serverconfigs
 | 
					package serverconfigs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/sslconfigs"
 | 
					import (
 | 
				
			||||||
 | 
						"encoding/json"
 | 
				
			||||||
 | 
						"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/sslconfigs"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func NewTLSProtocolConfigFromJSON(configJSON []byte) (*TLSProtocolConfig, error) {
 | 
				
			||||||
 | 
						config := &TLSProtocolConfig{}
 | 
				
			||||||
 | 
						if len(configJSON) > 0 {
 | 
				
			||||||
 | 
							err := json.Unmarshal(configJSON, config)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								return nil, err
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return config, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// TLS协议配置
 | 
					// TLS协议配置
 | 
				
			||||||
type TLSProtocolConfig struct {
 | 
					type TLSProtocolConfig struct {
 | 
				
			||||||
@@ -26,3 +40,8 @@ func (this *TLSProtocolConfig) Init() error {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 转换为JSON
 | 
				
			||||||
 | 
					func (this *TLSProtocolConfig) AsJSON() ([]byte, error) {
 | 
				
			||||||
 | 
						return json.Marshal(this)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,7 @@
 | 
				
			|||||||
package serverconfigs
 | 
					package serverconfigs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import "encoding/json"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type UDPProtocolConfig struct {
 | 
					type UDPProtocolConfig struct {
 | 
				
			||||||
	BaseProtocol `yaml:",inline"`
 | 
						BaseProtocol `yaml:",inline"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -12,3 +14,8 @@ func (this *UDPProtocolConfig) Init() error {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 转换为JSON
 | 
				
			||||||
 | 
					func (this *UDPProtocolConfig) AsJSON() ([]byte, error) {
 | 
				
			||||||
 | 
						return json.Marshal(this)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,7 @@
 | 
				
			|||||||
package serverconfigs
 | 
					package serverconfigs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import "encoding/json"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type UnixProtocolConfig struct {
 | 
					type UnixProtocolConfig struct {
 | 
				
			||||||
	BaseProtocol `yaml:",inline"`
 | 
						BaseProtocol `yaml:",inline"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -12,3 +14,8 @@ func (this *UnixProtocolConfig) Init() error {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 转换为JSON
 | 
				
			||||||
 | 
					func (this *UnixProtocolConfig) AsJSON() ([]byte, error) {
 | 
				
			||||||
 | 
						return json.Marshal(this)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user