mirror of
				https://github.com/TeaOSLab/EdgeCommon.git
				synced 2025-11-04 05:00:24 +08:00 
			
		
		
		
	优化消息发送API
This commit is contained in:
		@@ -1,200 +0,0 @@
 | 
			
		||||
// Code generated by protoc-gen-go. DO NOT EDIT.
 | 
			
		||||
// versions:
 | 
			
		||||
// 	protoc-gen-go v1.31.0
 | 
			
		||||
// 	protoc        v3.19.4
 | 
			
		||||
// source: models/model_monitor_node.proto
 | 
			
		||||
 | 
			
		||||
package pb
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	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)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type MonitorNode struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Id          int64  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
 | 
			
		||||
	IsOn        bool   `protobuf:"varint,2,opt,name=isOn,proto3" json:"isOn,omitempty"`
 | 
			
		||||
	UniqueId    string `protobuf:"bytes,3,opt,name=uniqueId,proto3" json:"uniqueId,omitempty"`
 | 
			
		||||
	Secret      string `protobuf:"bytes,4,opt,name=secret,proto3" json:"secret,omitempty"`
 | 
			
		||||
	Name        string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
 | 
			
		||||
	Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"`
 | 
			
		||||
	StatusJSON  []byte `protobuf:"bytes,7,opt,name=statusJSON,proto3" json:"statusJSON,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *MonitorNode) Reset() {
 | 
			
		||||
	*x = MonitorNode{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_models_model_monitor_node_proto_msgTypes[0]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *MonitorNode) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*MonitorNode) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *MonitorNode) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_models_model_monitor_node_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 MonitorNode.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*MonitorNode) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_models_model_monitor_node_proto_rawDescGZIP(), []int{0}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *MonitorNode) GetId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Id
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *MonitorNode) GetIsOn() bool {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.IsOn
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *MonitorNode) GetUniqueId() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.UniqueId
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *MonitorNode) GetSecret() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Secret
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *MonitorNode) GetName() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Name
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *MonitorNode) GetDescription() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Description
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *MonitorNode) GetStatusJSON() []byte {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.StatusJSON
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var File_models_model_monitor_node_proto protoreflect.FileDescriptor
 | 
			
		||||
 | 
			
		||||
var file_models_model_monitor_node_proto_rawDesc = []byte{
 | 
			
		||||
	0x0a, 0x1f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6d,
 | 
			
		||||
	0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
 | 
			
		||||
	0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xbb, 0x01, 0x0a, 0x0b, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f,
 | 
			
		||||
	0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x02, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x6e, 0x69,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x6e, 0x69,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18,
 | 
			
		||||
	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x12, 0x0a,
 | 
			
		||||
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
 | 
			
		||||
	0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
 | 
			
		||||
	0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
 | 
			
		||||
	0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4a, 0x53, 0x4f,
 | 
			
		||||
	0x4e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4a,
 | 
			
		||||
	0x53, 0x4f, 0x4e, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
 | 
			
		||||
	0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	file_models_model_monitor_node_proto_rawDescOnce sync.Once
 | 
			
		||||
	file_models_model_monitor_node_proto_rawDescData = file_models_model_monitor_node_proto_rawDesc
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func file_models_model_monitor_node_proto_rawDescGZIP() []byte {
 | 
			
		||||
	file_models_model_monitor_node_proto_rawDescOnce.Do(func() {
 | 
			
		||||
		file_models_model_monitor_node_proto_rawDescData = protoimpl.X.CompressGZIP(file_models_model_monitor_node_proto_rawDescData)
 | 
			
		||||
	})
 | 
			
		||||
	return file_models_model_monitor_node_proto_rawDescData
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var file_models_model_monitor_node_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
 | 
			
		||||
var file_models_model_monitor_node_proto_goTypes = []interface{}{
 | 
			
		||||
	(*MonitorNode)(nil), // 0: pb.MonitorNode
 | 
			
		||||
}
 | 
			
		||||
var file_models_model_monitor_node_proto_depIdxs = []int32{
 | 
			
		||||
	0, // [0:0] is the sub-list for method output_type
 | 
			
		||||
	0, // [0:0] 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_models_model_monitor_node_proto_init() }
 | 
			
		||||
func file_models_model_monitor_node_proto_init() {
 | 
			
		||||
	if File_models_model_monitor_node_proto != nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	if !protoimpl.UnsafeEnabled {
 | 
			
		||||
		file_models_model_monitor_node_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*MonitorNode); 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_models_model_monitor_node_proto_rawDesc,
 | 
			
		||||
			NumEnums:      0,
 | 
			
		||||
			NumMessages:   1,
 | 
			
		||||
			NumExtensions: 0,
 | 
			
		||||
			NumServices:   0,
 | 
			
		||||
		},
 | 
			
		||||
		GoTypes:           file_models_model_monitor_node_proto_goTypes,
 | 
			
		||||
		DependencyIndexes: file_models_model_monitor_node_proto_depIdxs,
 | 
			
		||||
		MessageInfos:      file_models_model_monitor_node_proto_msgTypes,
 | 
			
		||||
	}.Build()
 | 
			
		||||
	File_models_model_monitor_node_proto = out.File
 | 
			
		||||
	file_models_model_monitor_node_proto_rawDesc = nil
 | 
			
		||||
	file_models_model_monitor_node_proto_goTypes = nil
 | 
			
		||||
	file_models_model_monitor_node_proto_depIdxs = nil
 | 
			
		||||
}
 | 
			
		||||
@@ -1471,7 +1471,6 @@ type ComposeAdminDashboardResponse struct {
 | 
			
		||||
	HourlyTrafficStats       []*ComposeAdminDashboardResponse_HourlyTrafficStat `protobuf:"bytes,31,rep,name=hourlyTrafficStats,proto3" json:"hourlyTrafficStats,omitempty"`
 | 
			
		||||
	NodeUpgradeInfo          *ComposeAdminDashboardResponse_UpgradeInfo         `protobuf:"bytes,32,opt,name=nodeUpgradeInfo,proto3" json:"nodeUpgradeInfo,omitempty"`
 | 
			
		||||
	ApiNodeUpgradeInfo       *ComposeAdminDashboardResponse_UpgradeInfo         `protobuf:"bytes,33,opt,name=apiNodeUpgradeInfo,proto3" json:"apiNodeUpgradeInfo,omitempty"`
 | 
			
		||||
	MonitorNodeUpgradeInfo   *ComposeAdminDashboardResponse_UpgradeInfo         `protobuf:"bytes,34,opt,name=monitorNodeUpgradeInfo,proto3" json:"monitorNodeUpgradeInfo,omitempty"`
 | 
			
		||||
	UserNodeUpgradeInfo      *ComposeAdminDashboardResponse_UpgradeInfo         `protobuf:"bytes,35,opt,name=userNodeUpgradeInfo,proto3" json:"userNodeUpgradeInfo,omitempty"`
 | 
			
		||||
	AuthorityNodeUpgradeInfo *ComposeAdminDashboardResponse_UpgradeInfo         `protobuf:"bytes,36,opt,name=authorityNodeUpgradeInfo,proto3" json:"authorityNodeUpgradeInfo,omitempty"`
 | 
			
		||||
	NsNodeUpgradeInfo        *ComposeAdminDashboardResponse_UpgradeInfo         `protobuf:"bytes,37,opt,name=nsNodeUpgradeInfo,proto3" json:"nsNodeUpgradeInfo,omitempty"`
 | 
			
		||||
@@ -1633,13 +1632,6 @@ func (x *ComposeAdminDashboardResponse) GetApiNodeUpgradeInfo() *ComposeAdminDas
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ComposeAdminDashboardResponse) GetMonitorNodeUpgradeInfo() *ComposeAdminDashboardResponse_UpgradeInfo {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.MonitorNodeUpgradeInfo
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ComposeAdminDashboardResponse) GetUserNodeUpgradeInfo() *ComposeAdminDashboardResponse_UpgradeInfo {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.UserNodeUpgradeInfo
 | 
			
		||||
@@ -2373,7 +2365,7 @@ var file_service_admin_proto_rawDesc = []byte{
 | 
			
		||||
	0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
 | 
			
		||||
	0x1e, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22,
 | 
			
		||||
	0xc7, 0x16, 0x0a, 0x1d, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e,
 | 
			
		||||
	0xe0, 0x15, 0x0a, 0x1d, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e,
 | 
			
		||||
	0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
			
		||||
	0x65, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
 | 
			
		||||
	0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x63, 0x6f,
 | 
			
		||||
@@ -2434,214 +2426,207 @@ var file_service_admin_proto_rawDesc = []byte{
 | 
			
		||||
	0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e,
 | 
			
		||||
	0x66, 0x6f, 0x52, 0x12, 0x61, 0x70, 0x69, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61,
 | 
			
		||||
	0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x65, 0x0a, 0x16, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f,
 | 
			
		||||
	0x72, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f,
 | 
			
		||||
	0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70,
 | 
			
		||||
	0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72,
 | 
			
		||||
	0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64,
 | 
			
		||||
	0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x16, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4e, 0x6f,
 | 
			
		||||
	0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5f, 0x0a,
 | 
			
		||||
	0x13, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65,
 | 
			
		||||
	0x49, 0x6e, 0x66, 0x6f, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68,
 | 
			
		||||
	0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x55, 0x70,
 | 
			
		||||
	0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x13, 0x75, 0x73, 0x65, 0x72, 0x4e,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x69,
 | 
			
		||||
	0x0a, 0x18, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x55,
 | 
			
		||||
	0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b,
 | 
			
		||||
	0x32, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d,
 | 
			
		||||
	0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
			
		||||
	0x6e, 0x73, 0x65, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52,
 | 
			
		||||
	0x18, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70,
 | 
			
		||||
	0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5b, 0x0a, 0x11, 0x6e, 0x73, 0x4e,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x25,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73,
 | 
			
		||||
	0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52,
 | 
			
		||||
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49,
 | 
			
		||||
	0x6e, 0x66, 0x6f, 0x52, 0x11, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61,
 | 
			
		||||
	0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x63, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74,
 | 
			
		||||
	0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18,
 | 
			
		||||
	0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f,
 | 
			
		||||
	0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64,
 | 
			
		||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65,
 | 
			
		||||
	0x49, 0x6e, 0x66, 0x6f, 0x52, 0x15, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4e, 0x0a, 0x0c, 0x74,
 | 
			
		||||
	0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x26, 0x20, 0x03, 0x28,
 | 
			
		||||
	0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64,
 | 
			
		||||
	0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70,
 | 
			
		||||
	0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x52, 0x0c, 0x74,
 | 
			
		||||
	0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x54, 0x0a, 0x0e, 0x74,
 | 
			
		||||
	0x6f, 0x70, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x27, 0x20,
 | 
			
		||||
	0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65,
 | 
			
		||||
	0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5f, 0x0a, 0x13, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f,
 | 
			
		||||
	0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x23, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65,
 | 
			
		||||
	0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61,
 | 
			
		||||
	0x74, 0x52, 0x0e, 0x74, 0x6f, 0x70, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74,
 | 
			
		||||
	0x73, 0x12, 0x57, 0x0a, 0x0f, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x53,
 | 
			
		||||
	0x74, 0x61, 0x74, 0x73, 0x18, 0x2a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68,
 | 
			
		||||
	0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f,
 | 
			
		||||
	0x75, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x52, 0x0f, 0x74, 0x6f, 0x70, 0x43, 0x6f,
 | 
			
		||||
	0x75, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x3f, 0x0a, 0x10, 0x6d, 0x65,
 | 
			
		||||
	0x74, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x72, 0x74, 0x73, 0x18, 0x28,
 | 
			
		||||
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
 | 
			
		||||
	0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x10, 0x6d, 0x65, 0x74, 0x72, 0x69,
 | 
			
		||||
	0x63, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x72, 0x74, 0x73, 0x1a, 0x88, 0x02, 0x0a, 0x10,
 | 
			
		||||
	0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74,
 | 
			
		||||
	0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64,
 | 
			
		||||
	0x61, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x03, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x63, 0x68,
 | 
			
		||||
	0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63,
 | 
			
		||||
	0x61, 0x63, 0x68, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f,
 | 
			
		||||
	0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x03, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73,
 | 
			
		||||
	0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63,
 | 
			
		||||
	0x6f, 0x75, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
			
		||||
	0x74, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63,
 | 
			
		||||
	0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52,
 | 
			
		||||
	0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79,
 | 
			
		||||
	0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63,
 | 
			
		||||
	0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x8b, 0x02, 0x0a, 0x11, 0x48, 0x6f, 0x75, 0x72, 0x6c,
 | 
			
		||||
	0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x12, 0x12, 0x0a, 0x04,
 | 
			
		||||
	0x68, 0x6f, 0x75, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x75, 0x72,
 | 
			
		||||
	0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
 | 
			
		||||
	0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64,
 | 
			
		||||
	0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x61, 0x63,
 | 
			
		||||
	0x68, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e,
 | 
			
		||||
	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52,
 | 
			
		||||
	0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x30,
 | 
			
		||||
	0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71,
 | 
			
		||||
	0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75,
 | 
			
		||||
	0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73,
 | 
			
		||||
	0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63,
 | 
			
		||||
	0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
			
		||||
	0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65,
 | 
			
		||||
	0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42,
 | 
			
		||||
	0x79, 0x74, 0x65, 0x73, 0x1a, 0x7a, 0x0a, 0x08, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74,
 | 
			
		||||
	0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
 | 
			
		||||
	0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71,
 | 
			
		||||
	0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x75,
 | 
			
		||||
	0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79,
 | 
			
		||||
	0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73,
 | 
			
		||||
	0x1a, 0x7c, 0x0a, 0x0a, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x12, 0x1a,
 | 
			
		||||
	0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
 | 
			
		||||
	0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f,
 | 
			
		||||
	0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61,
 | 
			
		||||
	0x69, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65,
 | 
			
		||||
	0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x1a, 0xd9,
 | 
			
		||||
	0x01, 0x0a, 0x0b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x12, 0x20,
 | 
			
		||||
	0x0a, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65,
 | 
			
		||||
	0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
 | 
			
		||||
	0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63,
 | 
			
		||||
	0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07,
 | 
			
		||||
	0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x70,
 | 
			
		||||
	0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41,
 | 
			
		||||
	0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x06, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61,
 | 
			
		||||
	0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61,
 | 
			
		||||
	0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x4d, 0x0a, 0x0b, 0x55, 0x70,
 | 
			
		||||
	0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x75,
 | 
			
		||||
	0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63,
 | 
			
		||||
	0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x65, 0x77,
 | 
			
		||||
	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e,
 | 
			
		||||
	0x65, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x49, 0x0a, 0x17, 0x55, 0x70, 0x64,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x52, 0x65, 0x71,
 | 
			
		||||
	0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x18,
 | 
			
		||||
	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x14,
 | 
			
		||||
	0x0a, 0x05, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74,
 | 
			
		||||
	0x68, 0x65, 0x6d, 0x65, 0x32, 0x9a, 0x0a, 0x0a, 0x0c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x65,
 | 
			
		||||
	0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x64,
 | 
			
		||||
	0x6d, 0x69, 0x6e, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x64,
 | 
			
		||||
	0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
			
		||||
	0x73, 0x65, 0x12, 0x4d, 0x0a, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e,
 | 
			
		||||
	0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63,
 | 
			
		||||
	0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64,
 | 
			
		||||
	0x6d, 0x69, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
			
		||||
	0x65, 0x12, 0x53, 0x0a, 0x12, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x55,
 | 
			
		||||
	0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65,
 | 
			
		||||
	0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63,
 | 
			
		||||
	0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x64,
 | 
			
		||||
	0x6d, 0x69, 0x6e, 0x46, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x46, 0x75, 0x6c, 0x6c, 0x6e, 0x61,
 | 
			
		||||
	0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46,
 | 
			
		||||
	0x69, 0x6e, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x46, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65,
 | 
			
		||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x64,
 | 
			
		||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1b, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d,
 | 
			
		||||
	0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46,
 | 
			
		||||
	0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52,
 | 
			
		||||
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x63, 0x72, 0x65, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1e,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
			
		||||
	0x3d, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x6e,
 | 
			
		||||
	0x66, 0x6f, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64,
 | 
			
		||||
	0x6d, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3f,
 | 
			
		||||
	0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x6f, 0x67,
 | 
			
		||||
	0x69, 0x6e, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64,
 | 
			
		||||
	0x6d, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
			
		||||
	0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12,
 | 
			
		||||
	0x56, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4d,
 | 
			
		||||
	0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
 | 
			
		||||
	0x41, 0x6c, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
 | 
			
		||||
	0x41, 0x6c, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x52,
 | 
			
		||||
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52,
 | 
			
		||||
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4f,
 | 
			
		||||
	0x0a, 0x15, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
			
		||||
	0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75,
 | 
			
		||||
	0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69,
 | 
			
		||||
	0x6e, 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,
 | 
			
		||||
	0x50, 0x0a, 0x11, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64,
 | 
			
		||||
	0x6d, 0x69, 0x6e, 0x73, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e,
 | 
			
		||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62,
 | 
			
		||||
	0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
			
		||||
	0x65, 0x12, 0x35, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e,
 | 
			
		||||
	0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69,
 | 
			
		||||
	0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50,
 | 
			
		||||
	0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x68, 0x0a, 0x19, 0x63, 0x68, 0x65, 0x63,
 | 
			
		||||
	0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4f, 0x54, 0x50, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65,
 | 
			
		||||
	0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b,
 | 
			
		||||
	0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4f, 0x54, 0x50, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72,
 | 
			
		||||
	0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4f, 0x54, 0x50, 0x57, 0x69,
 | 
			
		||||
	0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
			
		||||
	0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d,
 | 
			
		||||
	0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x20, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73,
 | 
			
		||||
	0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e,
 | 
			
		||||
	0x66, 0x6f, 0x52, 0x13, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72,
 | 
			
		||||
	0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x69, 0x0a, 0x18, 0x61, 0x75, 0x74, 0x68, 0x6f,
 | 
			
		||||
	0x72, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49,
 | 
			
		||||
	0x6e, 0x66, 0x6f, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x43,
 | 
			
		||||
	0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62,
 | 
			
		||||
	0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x55, 0x70, 0x67,
 | 
			
		||||
	0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x18, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72,
 | 
			
		||||
	0x69, 0x74, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e,
 | 
			
		||||
	0x66, 0x6f, 0x12, 0x5b, 0x0a, 0x11, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72,
 | 
			
		||||
	0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44,
 | 
			
		||||
	0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x12, 0x3f, 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54,
 | 
			
		||||
	0x68, 0x65, 0x6d, 0x65, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
			
		||||
	0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x11, 0x6e, 0x73,
 | 
			
		||||
	0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12,
 | 
			
		||||
	0x63, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x67,
 | 
			
		||||
	0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e,
 | 
			
		||||
	0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
			
		||||
	0x65, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x15, 0x72,
 | 
			
		||||
	0x65, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65,
 | 
			
		||||
	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4e, 0x0a, 0x0c, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x53,
 | 
			
		||||
	0x74, 0x61, 0x74, 0x73, 0x18, 0x26, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68,
 | 
			
		||||
	0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4e, 0x6f,
 | 
			
		||||
	0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x52, 0x0c, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x53,
 | 
			
		||||
	0x74, 0x61, 0x74, 0x73, 0x12, 0x54, 0x0a, 0x0e, 0x74, 0x6f, 0x70, 0x44, 0x6f, 0x6d, 0x61, 0x69,
 | 
			
		||||
	0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x27, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61,
 | 
			
		||||
	0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
 | 
			
		||||
	0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x52, 0x0e, 0x74, 0x6f, 0x70, 0x44,
 | 
			
		||||
	0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x57, 0x0a, 0x0f, 0x74, 0x6f,
 | 
			
		||||
	0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x2a, 0x20,
 | 
			
		||||
	0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65,
 | 
			
		||||
	0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x74,
 | 
			
		||||
	0x61, 0x74, 0x52, 0x0f, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x74,
 | 
			
		||||
	0x61, 0x74, 0x73, 0x12, 0x3f, 0x0a, 0x10, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74,
 | 
			
		||||
	0x61, 0x43, 0x68, 0x61, 0x72, 0x74, 0x73, 0x18, 0x28, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61,
 | 
			
		||||
	0x72, 0x74, 0x52, 0x10, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68,
 | 
			
		||||
	0x61, 0x72, 0x74, 0x73, 0x1a, 0x88, 0x02, 0x0a, 0x10, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72,
 | 
			
		||||
	0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79,
 | 
			
		||||
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x61, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x62,
 | 
			
		||||
	0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65,
 | 
			
		||||
	0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73,
 | 
			
		||||
	0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x42, 0x79,
 | 
			
		||||
	0x74, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e,
 | 
			
		||||
	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75,
 | 
			
		||||
	0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73,
 | 
			
		||||
	0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x61, 0x63,
 | 
			
		||||
	0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63,
 | 
			
		||||
	0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
			
		||||
	0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41,
 | 
			
		||||
	0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x20, 0x0a,
 | 
			
		||||
	0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01,
 | 
			
		||||
	0x28, 0x03, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a,
 | 
			
		||||
	0x8b, 0x02, 0x0a, 0x11, 0x48, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69,
 | 
			
		||||
	0x63, 0x53, 0x74, 0x61, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x18, 0x01, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74,
 | 
			
		||||
	0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12,
 | 
			
		||||
	0x20, 0x0a, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65,
 | 
			
		||||
	0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
			
		||||
	0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74,
 | 
			
		||||
	0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x05,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65,
 | 
			
		||||
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75,
 | 
			
		||||
	0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73,
 | 
			
		||||
	0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74,
 | 
			
		||||
	0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61,
 | 
			
		||||
	0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03,
 | 
			
		||||
	0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x7a, 0x0a,
 | 
			
		||||
	0x08, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49,
 | 
			
		||||
	0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a,
 | 
			
		||||
	0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x03,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01,
 | 
			
		||||
	0x28, 0x03, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x7c, 0x0a, 0x0a, 0x44, 0x6f, 0x6d,
 | 
			
		||||
	0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65,
 | 
			
		||||
	0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65,
 | 
			
		||||
	0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x63,
 | 
			
		||||
	0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01,
 | 
			
		||||
	0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
			
		||||
	0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
 | 
			
		||||
	0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x1a, 0xd9, 0x01, 0x0a, 0x0b, 0x43, 0x6f, 0x75, 0x6e,
 | 
			
		||||
	0x74, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74,
 | 
			
		||||
	0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f,
 | 
			
		||||
	0x75, 0x6e, 0x74, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74,
 | 
			
		||||
	0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12,
 | 
			
		||||
	0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73,
 | 
			
		||||
	0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71,
 | 
			
		||||
	0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74,
 | 
			
		||||
	0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12,
 | 
			
		||||
	0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f,
 | 
			
		||||
	0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
			
		||||
	0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73,
 | 
			
		||||
	0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79,
 | 
			
		||||
	0x74, 0x65, 0x73, 0x1a, 0x4d, 0x0a, 0x0b, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e,
 | 
			
		||||
	0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73,
 | 
			
		||||
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
 | 
			
		||||
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69,
 | 
			
		||||
	0x6f, 0x6e, 0x22, 0x49, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69,
 | 
			
		||||
	0x6e, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a,
 | 
			
		||||
	0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07,
 | 
			
		||||
	0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x68, 0x65, 0x6d, 0x65,
 | 
			
		||||
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x32, 0x9a, 0x0a,
 | 
			
		||||
	0x0a, 0x0c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b,
 | 
			
		||||
	0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x15, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x64,
 | 
			
		||||
	0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x10, 0x63,
 | 
			
		||||
	0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12,
 | 
			
		||||
	0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45,
 | 
			
		||||
	0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x69, 0x73,
 | 
			
		||||
	0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x63, 0x68,
 | 
			
		||||
	0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65,
 | 
			
		||||
	0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e,
 | 
			
		||||
	0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
			
		||||
	0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x55,
 | 
			
		||||
	0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
			
		||||
	0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x46, 0x75, 0x6c, 0x6c,
 | 
			
		||||
	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x64,
 | 
			
		||||
	0x6d, 0x69, 0x6e, 0x46, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x6d, 0x69,
 | 
			
		||||
	0x6e, 0x46, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
			
		||||
	0x65, 0x12, 0x4d, 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
			
		||||
	0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45,
 | 
			
		||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62,
 | 
			
		||||
	0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x12, 0x56, 0x0a, 0x13, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e,
 | 
			
		||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43,
 | 
			
		||||
	0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x1b, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x69,
 | 
			
		||||
	0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50,
 | 
			
		||||
	0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x56, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64,
 | 
			
		||||
	0x41, 0x6c, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x12,
 | 
			
		||||
	0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x41, 0x64, 0x6d, 0x69,
 | 
			
		||||
	0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
			
		||||
	0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x41, 0x64, 0x6d, 0x69,
 | 
			
		||||
	0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x12, 0x3e, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12,
 | 
			
		||||
	0x16, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x12, 0x35, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12,
 | 
			
		||||
	0x16, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43,
 | 
			
		||||
	0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4f, 0x0a, 0x15, 0x63, 0x6f, 0x75, 0x6e, 0x74,
 | 
			
		||||
	0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x73,
 | 
			
		||||
	0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
 | 
			
		||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 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, 0x50, 0x0a, 0x11, 0x6c, 0x69, 0x73, 0x74,
 | 
			
		||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x12, 0x1c, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64,
 | 
			
		||||
	0x6d, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69,
 | 
			
		||||
	0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x64, 0x65,
 | 
			
		||||
	0x6c, 0x65, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x44,
 | 
			
		||||
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
			
		||||
	0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73,
 | 
			
		||||
	0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
 | 
			
		||||
	0x33,
 | 
			
		||||
	0x73, 0x12, 0x68, 0x0a, 0x19, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4f,
 | 
			
		||||
	0x54, 0x50, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4f, 0x54,
 | 
			
		||||
	0x50, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71,
 | 
			
		||||
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41,
 | 
			
		||||
	0x64, 0x6d, 0x69, 0x6e, 0x4f, 0x54, 0x50, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e,
 | 
			
		||||
	0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x63,
 | 
			
		||||
	0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62,
 | 
			
		||||
	0x6f, 0x61, 0x72, 0x64, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73,
 | 
			
		||||
	0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70,
 | 
			
		||||
	0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72,
 | 
			
		||||
	0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x10, 0x75, 0x70, 0x64,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x1b, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x68,
 | 
			
		||||
	0x65, 0x6d, 0x65, 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 (
 | 
			
		||||
@@ -2706,54 +2691,53 @@ var file_service_admin_proto_depIdxs = []int32{
 | 
			
		||||
	29, // 4: pb.ComposeAdminDashboardResponse.hourlyTrafficStats:type_name -> pb.ComposeAdminDashboardResponse.HourlyTrafficStat
 | 
			
		||||
	33, // 5: pb.ComposeAdminDashboardResponse.nodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo
 | 
			
		||||
	33, // 6: pb.ComposeAdminDashboardResponse.apiNodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo
 | 
			
		||||
	33, // 7: pb.ComposeAdminDashboardResponse.monitorNodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo
 | 
			
		||||
	33, // 8: pb.ComposeAdminDashboardResponse.userNodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo
 | 
			
		||||
	33, // 9: pb.ComposeAdminDashboardResponse.authorityNodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo
 | 
			
		||||
	33, // 10: pb.ComposeAdminDashboardResponse.nsNodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo
 | 
			
		||||
	33, // 11: pb.ComposeAdminDashboardResponse.reportNodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo
 | 
			
		||||
	30, // 12: pb.ComposeAdminDashboardResponse.topNodeStats:type_name -> pb.ComposeAdminDashboardResponse.NodeStat
 | 
			
		||||
	31, // 13: pb.ComposeAdminDashboardResponse.topDomainStats:type_name -> pb.ComposeAdminDashboardResponse.DomainStat
 | 
			
		||||
	32, // 14: pb.ComposeAdminDashboardResponse.topCountryStats:type_name -> pb.ComposeAdminDashboardResponse.CountryStat
 | 
			
		||||
	36, // 15: pb.ComposeAdminDashboardResponse.metricDataCharts:type_name -> pb.MetricDataChart
 | 
			
		||||
	0,  // 16: pb.AdminService.loginAdmin:input_type -> pb.LoginAdminRequest
 | 
			
		||||
	2,  // 17: pb.AdminService.checkAdminExists:input_type -> pb.CheckAdminExistsRequest
 | 
			
		||||
	4,  // 18: pb.AdminService.checkAdminUsername:input_type -> pb.CheckAdminUsernameRequest
 | 
			
		||||
	6,  // 19: pb.AdminService.findAdminFullname:input_type -> pb.FindAdminFullnameRequest
 | 
			
		||||
	8,  // 20: pb.AdminService.findEnabledAdmin:input_type -> pb.FindEnabledAdminRequest
 | 
			
		||||
	10, // 21: pb.AdminService.createOrUpdateAdmin:input_type -> pb.CreateOrUpdateAdminRequest
 | 
			
		||||
	12, // 22: pb.AdminService.updateAdminInfo:input_type -> pb.UpdateAdminInfoRequest
 | 
			
		||||
	13, // 23: pb.AdminService.updateAdminLogin:input_type -> pb.UpdateAdminLoginRequest
 | 
			
		||||
	14, // 24: pb.AdminService.findAllAdminModules:input_type -> pb.FindAllAdminModulesRequest
 | 
			
		||||
	16, // 25: pb.AdminService.createAdmin:input_type -> pb.CreateAdminRequest
 | 
			
		||||
	18, // 26: pb.AdminService.updateAdmin:input_type -> pb.UpdateAdminRequest
 | 
			
		||||
	19, // 27: pb.AdminService.countAllEnabledAdmins:input_type -> pb.CountAllEnabledAdminsRequest
 | 
			
		||||
	20, // 28: pb.AdminService.listEnabledAdmins:input_type -> pb.ListEnabledAdminsRequest
 | 
			
		||||
	22, // 29: pb.AdminService.deleteAdmin:input_type -> pb.DeleteAdminRequest
 | 
			
		||||
	23, // 30: pb.AdminService.checkAdminOTPWithUsername:input_type -> pb.CheckAdminOTPWithUsernameRequest
 | 
			
		||||
	25, // 31: pb.AdminService.composeAdminDashboard:input_type -> pb.ComposeAdminDashboardRequest
 | 
			
		||||
	27, // 32: pb.AdminService.updateAdminTheme:input_type -> pb.UpdateAdminThemeRequest
 | 
			
		||||
	1,  // 33: pb.AdminService.loginAdmin:output_type -> pb.LoginAdminResponse
 | 
			
		||||
	3,  // 34: pb.AdminService.checkAdminExists:output_type -> pb.CheckAdminExistsResponse
 | 
			
		||||
	5,  // 35: pb.AdminService.checkAdminUsername:output_type -> pb.CheckAdminUsernameResponse
 | 
			
		||||
	7,  // 36: pb.AdminService.findAdminFullname:output_type -> pb.FindAdminFullnameResponse
 | 
			
		||||
	9,  // 37: pb.AdminService.findEnabledAdmin:output_type -> pb.FindEnabledAdminResponse
 | 
			
		||||
	11, // 38: pb.AdminService.createOrUpdateAdmin:output_type -> pb.CreateOrUpdateAdminResponse
 | 
			
		||||
	37, // 39: pb.AdminService.updateAdminInfo:output_type -> pb.RPCSuccess
 | 
			
		||||
	37, // 40: pb.AdminService.updateAdminLogin:output_type -> pb.RPCSuccess
 | 
			
		||||
	15, // 41: pb.AdminService.findAllAdminModules:output_type -> pb.FindAllAdminModulesResponse
 | 
			
		||||
	17, // 42: pb.AdminService.createAdmin:output_type -> pb.CreateAdminResponse
 | 
			
		||||
	37, // 43: pb.AdminService.updateAdmin:output_type -> pb.RPCSuccess
 | 
			
		||||
	38, // 44: pb.AdminService.countAllEnabledAdmins:output_type -> pb.RPCCountResponse
 | 
			
		||||
	21, // 45: pb.AdminService.listEnabledAdmins:output_type -> pb.ListEnabledAdminsResponse
 | 
			
		||||
	37, // 46: pb.AdminService.deleteAdmin:output_type -> pb.RPCSuccess
 | 
			
		||||
	24, // 47: pb.AdminService.checkAdminOTPWithUsername:output_type -> pb.CheckAdminOTPWithUsernameResponse
 | 
			
		||||
	26, // 48: pb.AdminService.composeAdminDashboard:output_type -> pb.ComposeAdminDashboardResponse
 | 
			
		||||
	37, // 49: pb.AdminService.updateAdminTheme:output_type -> pb.RPCSuccess
 | 
			
		||||
	33, // [33:50] is the sub-list for method output_type
 | 
			
		||||
	16, // [16:33] is the sub-list for method input_type
 | 
			
		||||
	16, // [16:16] is the sub-list for extension type_name
 | 
			
		||||
	16, // [16:16] is the sub-list for extension extendee
 | 
			
		||||
	0,  // [0:16] is the sub-list for field type_name
 | 
			
		||||
	33, // 7: pb.ComposeAdminDashboardResponse.userNodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo
 | 
			
		||||
	33, // 8: pb.ComposeAdminDashboardResponse.authorityNodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo
 | 
			
		||||
	33, // 9: pb.ComposeAdminDashboardResponse.nsNodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo
 | 
			
		||||
	33, // 10: pb.ComposeAdminDashboardResponse.reportNodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo
 | 
			
		||||
	30, // 11: pb.ComposeAdminDashboardResponse.topNodeStats:type_name -> pb.ComposeAdminDashboardResponse.NodeStat
 | 
			
		||||
	31, // 12: pb.ComposeAdminDashboardResponse.topDomainStats:type_name -> pb.ComposeAdminDashboardResponse.DomainStat
 | 
			
		||||
	32, // 13: pb.ComposeAdminDashboardResponse.topCountryStats:type_name -> pb.ComposeAdminDashboardResponse.CountryStat
 | 
			
		||||
	36, // 14: pb.ComposeAdminDashboardResponse.metricDataCharts:type_name -> pb.MetricDataChart
 | 
			
		||||
	0,  // 15: pb.AdminService.loginAdmin:input_type -> pb.LoginAdminRequest
 | 
			
		||||
	2,  // 16: pb.AdminService.checkAdminExists:input_type -> pb.CheckAdminExistsRequest
 | 
			
		||||
	4,  // 17: pb.AdminService.checkAdminUsername:input_type -> pb.CheckAdminUsernameRequest
 | 
			
		||||
	6,  // 18: pb.AdminService.findAdminFullname:input_type -> pb.FindAdminFullnameRequest
 | 
			
		||||
	8,  // 19: pb.AdminService.findEnabledAdmin:input_type -> pb.FindEnabledAdminRequest
 | 
			
		||||
	10, // 20: pb.AdminService.createOrUpdateAdmin:input_type -> pb.CreateOrUpdateAdminRequest
 | 
			
		||||
	12, // 21: pb.AdminService.updateAdminInfo:input_type -> pb.UpdateAdminInfoRequest
 | 
			
		||||
	13, // 22: pb.AdminService.updateAdminLogin:input_type -> pb.UpdateAdminLoginRequest
 | 
			
		||||
	14, // 23: pb.AdminService.findAllAdminModules:input_type -> pb.FindAllAdminModulesRequest
 | 
			
		||||
	16, // 24: pb.AdminService.createAdmin:input_type -> pb.CreateAdminRequest
 | 
			
		||||
	18, // 25: pb.AdminService.updateAdmin:input_type -> pb.UpdateAdminRequest
 | 
			
		||||
	19, // 26: pb.AdminService.countAllEnabledAdmins:input_type -> pb.CountAllEnabledAdminsRequest
 | 
			
		||||
	20, // 27: pb.AdminService.listEnabledAdmins:input_type -> pb.ListEnabledAdminsRequest
 | 
			
		||||
	22, // 28: pb.AdminService.deleteAdmin:input_type -> pb.DeleteAdminRequest
 | 
			
		||||
	23, // 29: pb.AdminService.checkAdminOTPWithUsername:input_type -> pb.CheckAdminOTPWithUsernameRequest
 | 
			
		||||
	25, // 30: pb.AdminService.composeAdminDashboard:input_type -> pb.ComposeAdminDashboardRequest
 | 
			
		||||
	27, // 31: pb.AdminService.updateAdminTheme:input_type -> pb.UpdateAdminThemeRequest
 | 
			
		||||
	1,  // 32: pb.AdminService.loginAdmin:output_type -> pb.LoginAdminResponse
 | 
			
		||||
	3,  // 33: pb.AdminService.checkAdminExists:output_type -> pb.CheckAdminExistsResponse
 | 
			
		||||
	5,  // 34: pb.AdminService.checkAdminUsername:output_type -> pb.CheckAdminUsernameResponse
 | 
			
		||||
	7,  // 35: pb.AdminService.findAdminFullname:output_type -> pb.FindAdminFullnameResponse
 | 
			
		||||
	9,  // 36: pb.AdminService.findEnabledAdmin:output_type -> pb.FindEnabledAdminResponse
 | 
			
		||||
	11, // 37: pb.AdminService.createOrUpdateAdmin:output_type -> pb.CreateOrUpdateAdminResponse
 | 
			
		||||
	37, // 38: pb.AdminService.updateAdminInfo:output_type -> pb.RPCSuccess
 | 
			
		||||
	37, // 39: pb.AdminService.updateAdminLogin:output_type -> pb.RPCSuccess
 | 
			
		||||
	15, // 40: pb.AdminService.findAllAdminModules:output_type -> pb.FindAllAdminModulesResponse
 | 
			
		||||
	17, // 41: pb.AdminService.createAdmin:output_type -> pb.CreateAdminResponse
 | 
			
		||||
	37, // 42: pb.AdminService.updateAdmin:output_type -> pb.RPCSuccess
 | 
			
		||||
	38, // 43: pb.AdminService.countAllEnabledAdmins:output_type -> pb.RPCCountResponse
 | 
			
		||||
	21, // 44: pb.AdminService.listEnabledAdmins:output_type -> pb.ListEnabledAdminsResponse
 | 
			
		||||
	37, // 45: pb.AdminService.deleteAdmin:output_type -> pb.RPCSuccess
 | 
			
		||||
	24, // 46: pb.AdminService.checkAdminOTPWithUsername:output_type -> pb.CheckAdminOTPWithUsernameResponse
 | 
			
		||||
	26, // 47: pb.AdminService.composeAdminDashboard:output_type -> pb.ComposeAdminDashboardResponse
 | 
			
		||||
	37, // 48: pb.AdminService.updateAdminTheme:output_type -> pb.RPCSuccess
 | 
			
		||||
	32, // [32:49] is the sub-list for method output_type
 | 
			
		||||
	15, // [15:32] is the sub-list for method input_type
 | 
			
		||||
	15, // [15:15] is the sub-list for extension type_name
 | 
			
		||||
	15, // [15:15] is the sub-list for extension extendee
 | 
			
		||||
	0,  // [0:15] is the sub-list for field type_name
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func init() { file_service_admin_proto_init() }
 | 
			
		||||
 
 | 
			
		||||
@@ -106,54 +106,6 @@ func (x *FindAllMessageMediasResponse) GetMessageMedias() []*MessageMedia {
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 设置所有支持的媒介
 | 
			
		||||
type UpdateMessageMediasRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	MessageMedias []*MessageMedia `protobuf:"bytes,2,rep,name=messageMedias,proto3" json:"messageMedias,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateMessageMediasRequest) Reset() {
 | 
			
		||||
	*x = UpdateMessageMediasRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_message_media_proto_msgTypes[2]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateMessageMediasRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*UpdateMessageMediasRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateMessageMediasRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_message_media_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 UpdateMessageMediasRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*UpdateMessageMediasRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_message_media_proto_rawDescGZIP(), []int{2}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateMessageMediasRequest) GetMessageMedias() []*MessageMedia {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.MessageMedias
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 发送媒介信息
 | 
			
		||||
type SendMediaMessageRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
@@ -170,7 +122,7 @@ type SendMediaMessageRequest struct {
 | 
			
		||||
func (x *SendMediaMessageRequest) Reset() {
 | 
			
		||||
	*x = SendMediaMessageRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_message_media_proto_msgTypes[3]
 | 
			
		||||
		mi := &file_service_message_media_proto_msgTypes[2]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
@@ -183,7 +135,7 @@ func (x *SendMediaMessageRequest) String() string {
 | 
			
		||||
func (*SendMediaMessageRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *SendMediaMessageRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_message_media_proto_msgTypes[3]
 | 
			
		||||
	mi := &file_service_message_media_proto_msgTypes[2]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
@@ -196,7 +148,7 @@ func (x *SendMediaMessageRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use SendMediaMessageRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*SendMediaMessageRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_message_media_proto_rawDescGZIP(), []int{3}
 | 
			
		||||
	return file_service_message_media_proto_rawDescGZIP(), []int{2}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SendMediaMessageRequest) GetMediaType() string {
 | 
			
		||||
@@ -250,39 +202,29 @@ var file_service_message_media_proto_rawDesc = []byte{
 | 
			
		||||
	0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x73, 0x18, 0x01,
 | 
			
		||||
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
 | 
			
		||||
	0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d,
 | 
			
		||||
	0x65, 0x64, 0x69, 0x61, 0x73, 0x22, 0x54, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65,
 | 
			
		||||
	0x64, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x0d, 0x6d, 0x65,
 | 
			
		||||
	0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x73, 0x22, 0x9b, 0x01, 0x0a, 0x17,
 | 
			
		||||
	0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61,
 | 
			
		||||
	0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x64, 0x69,
 | 
			
		||||
	0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
 | 
			
		||||
	0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x6f, 0x70, 0x74, 0x69,
 | 
			
		||||
	0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18,
 | 
			
		||||
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x73,
 | 
			
		||||
	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75,
 | 
			
		||||
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x32, 0xf8, 0x01, 0x0a, 0x13, 0x4d, 0x65,
 | 
			
		||||
	0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
 | 
			
		||||
	0x65, 0x12, 0x59, 0x0a, 0x14, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4d, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x61, 0x67, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46,
 | 
			
		||||
	0x65, 0x64, 0x69, 0x61, 0x73, 0x22, 0x9b, 0x01, 0x0a, 0x17, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65,
 | 
			
		||||
	0x64, 0x69, 0x61, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
			
		||||
	0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12,
 | 
			
		||||
	0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f,
 | 
			
		||||
	0x4e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
 | 
			
		||||
	0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
 | 
			
		||||
	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12,
 | 
			
		||||
	0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62,
 | 
			
		||||
	0x6f, 0x64, 0x79, 0x32, 0xb1, 0x01, 0x0a, 0x13, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d,
 | 
			
		||||
	0x65, 0x64, 0x69, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x66,
 | 
			
		||||
	0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x64,
 | 
			
		||||
	0x69, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65,
 | 
			
		||||
	0x64, 0x69, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x13,
 | 
			
		||||
	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x64,
 | 
			
		||||
	0x69, 0x61, 0x73, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x10, 0x73, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x64, 0x69, 0x61,
 | 
			
		||||
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x6e,
 | 
			
		||||
	0x64, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 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,
 | 
			
		||||
	0x69, 0x61, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
 | 
			
		||||
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x73, 0x52, 0x65, 0x71,
 | 
			
		||||
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c,
 | 
			
		||||
	0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x73, 0x52, 0x65,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x10, 0x73, 0x65, 0x6e, 0x64, 0x4d, 0x65,
 | 
			
		||||
	0x64, 0x69, 0x61, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
 | 
			
		||||
	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 (
 | 
			
		||||
@@ -297,29 +239,25 @@ func file_service_message_media_proto_rawDescGZIP() []byte {
 | 
			
		||||
	return file_service_message_media_proto_rawDescData
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var file_service_message_media_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
 | 
			
		||||
var file_service_message_media_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
 | 
			
		||||
var file_service_message_media_proto_goTypes = []interface{}{
 | 
			
		||||
	(*FindAllMessageMediasRequest)(nil),  // 0: pb.FindAllMessageMediasRequest
 | 
			
		||||
	(*FindAllMessageMediasResponse)(nil), // 1: pb.FindAllMessageMediasResponse
 | 
			
		||||
	(*UpdateMessageMediasRequest)(nil),   // 2: pb.UpdateMessageMediasRequest
 | 
			
		||||
	(*SendMediaMessageRequest)(nil),      // 3: pb.SendMediaMessageRequest
 | 
			
		||||
	(*MessageMedia)(nil),                 // 4: pb.MessageMedia
 | 
			
		||||
	(*RPCSuccess)(nil),                   // 5: pb.RPCSuccess
 | 
			
		||||
	(*SendMediaMessageRequest)(nil),      // 2: pb.SendMediaMessageRequest
 | 
			
		||||
	(*MessageMedia)(nil),                 // 3: pb.MessageMedia
 | 
			
		||||
	(*RPCSuccess)(nil),                   // 4: pb.RPCSuccess
 | 
			
		||||
}
 | 
			
		||||
var file_service_message_media_proto_depIdxs = []int32{
 | 
			
		||||
	4, // 0: pb.FindAllMessageMediasResponse.messageMedias:type_name -> pb.MessageMedia
 | 
			
		||||
	4, // 1: pb.UpdateMessageMediasRequest.messageMedias:type_name -> pb.MessageMedia
 | 
			
		||||
	0, // 2: pb.MessageMediaService.findAllMessageMedias:input_type -> pb.FindAllMessageMediasRequest
 | 
			
		||||
	2, // 3: pb.MessageMediaService.updateMessageMedias:input_type -> pb.UpdateMessageMediasRequest
 | 
			
		||||
	3, // 4: pb.MessageMediaService.sendMediaMessage:input_type -> pb.SendMediaMessageRequest
 | 
			
		||||
	1, // 5: pb.MessageMediaService.findAllMessageMedias:output_type -> pb.FindAllMessageMediasResponse
 | 
			
		||||
	5, // 6: pb.MessageMediaService.updateMessageMedias:output_type -> pb.RPCSuccess
 | 
			
		||||
	5, // 7: pb.MessageMediaService.sendMediaMessage:output_type -> pb.RPCSuccess
 | 
			
		||||
	5, // [5:8] is the sub-list for method output_type
 | 
			
		||||
	2, // [2:5] is the sub-list for method input_type
 | 
			
		||||
	2, // [2:2] is the sub-list for extension type_name
 | 
			
		||||
	2, // [2:2] is the sub-list for extension extendee
 | 
			
		||||
	0, // [0:2] is the sub-list for field type_name
 | 
			
		||||
	3, // 0: pb.FindAllMessageMediasResponse.messageMedias:type_name -> pb.MessageMedia
 | 
			
		||||
	0, // 1: pb.MessageMediaService.findAllMessageMedias:input_type -> pb.FindAllMessageMediasRequest
 | 
			
		||||
	2, // 2: pb.MessageMediaService.sendMediaMessage:input_type -> pb.SendMediaMessageRequest
 | 
			
		||||
	1, // 3: pb.MessageMediaService.findAllMessageMedias:output_type -> pb.FindAllMessageMediasResponse
 | 
			
		||||
	4, // 4: pb.MessageMediaService.sendMediaMessage:output_type -> pb.RPCSuccess
 | 
			
		||||
	3, // [3:5] is the sub-list for method output_type
 | 
			
		||||
	1, // [1:3] is the sub-list for method input_type
 | 
			
		||||
	1, // [1:1] is the sub-list for extension type_name
 | 
			
		||||
	1, // [1:1] is the sub-list for extension extendee
 | 
			
		||||
	0, // [0:1] is the sub-list for field type_name
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func init() { file_service_message_media_proto_init() }
 | 
			
		||||
@@ -355,18 +293,6 @@ func file_service_message_media_proto_init() {
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_message_media_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*UpdateMessageMediasRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_message_media_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*SendMediaMessageRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
@@ -385,7 +311,7 @@ func file_service_message_media_proto_init() {
 | 
			
		||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
			
		||||
			RawDescriptor: file_service_message_media_proto_rawDesc,
 | 
			
		||||
			NumEnums:      0,
 | 
			
		||||
			NumMessages:   4,
 | 
			
		||||
			NumMessages:   3,
 | 
			
		||||
			NumExtensions: 0,
 | 
			
		||||
			NumServices:   1,
 | 
			
		||||
		},
 | 
			
		||||
 
 | 
			
		||||
@@ -20,7 +20,6 @@ const _ = grpc.SupportPackageIsVersion7
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	MessageMediaService_FindAllMessageMedias_FullMethodName = "/pb.MessageMediaService/findAllMessageMedias"
 | 
			
		||||
	MessageMediaService_UpdateMessageMedias_FullMethodName  = "/pb.MessageMediaService/updateMessageMedias"
 | 
			
		||||
	MessageMediaService_SendMediaMessage_FullMethodName     = "/pb.MessageMediaService/sendMediaMessage"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@@ -30,8 +29,6 @@ const (
 | 
			
		||||
type MessageMediaServiceClient interface {
 | 
			
		||||
	// 获取所有支持的媒介
 | 
			
		||||
	FindAllMessageMedias(ctx context.Context, in *FindAllMessageMediasRequest, opts ...grpc.CallOption) (*FindAllMessageMediasResponse, error)
 | 
			
		||||
	// 设置所有支持的媒介
 | 
			
		||||
	UpdateMessageMedias(ctx context.Context, in *UpdateMessageMediasRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
	// 发送媒介信息
 | 
			
		||||
	SendMediaMessage(ctx context.Context, in *SendMediaMessageRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
}
 | 
			
		||||
@@ -53,15 +50,6 @@ func (c *messageMediaServiceClient) FindAllMessageMedias(ctx context.Context, in
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *messageMediaServiceClient) UpdateMessageMedias(ctx context.Context, in *UpdateMessageMediasRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
 | 
			
		||||
	out := new(RPCSuccess)
 | 
			
		||||
	err := c.cc.Invoke(ctx, MessageMediaService_UpdateMessageMedias_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *messageMediaServiceClient) SendMediaMessage(ctx context.Context, in *SendMediaMessageRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
 | 
			
		||||
	out := new(RPCSuccess)
 | 
			
		||||
	err := c.cc.Invoke(ctx, MessageMediaService_SendMediaMessage_FullMethodName, in, out, opts...)
 | 
			
		||||
@@ -77,8 +65,6 @@ func (c *messageMediaServiceClient) SendMediaMessage(ctx context.Context, in *Se
 | 
			
		||||
type MessageMediaServiceServer interface {
 | 
			
		||||
	// 获取所有支持的媒介
 | 
			
		||||
	FindAllMessageMedias(context.Context, *FindAllMessageMediasRequest) (*FindAllMessageMediasResponse, error)
 | 
			
		||||
	// 设置所有支持的媒介
 | 
			
		||||
	UpdateMessageMedias(context.Context, *UpdateMessageMediasRequest) (*RPCSuccess, error)
 | 
			
		||||
	// 发送媒介信息
 | 
			
		||||
	SendMediaMessage(context.Context, *SendMediaMessageRequest) (*RPCSuccess, error)
 | 
			
		||||
}
 | 
			
		||||
@@ -90,9 +76,6 @@ type UnimplementedMessageMediaServiceServer struct {
 | 
			
		||||
func (UnimplementedMessageMediaServiceServer) FindAllMessageMedias(context.Context, *FindAllMessageMediasRequest) (*FindAllMessageMediasResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method FindAllMessageMedias not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedMessageMediaServiceServer) UpdateMessageMedias(context.Context, *UpdateMessageMediasRequest) (*RPCSuccess, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method UpdateMessageMedias not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedMessageMediaServiceServer) SendMediaMessage(context.Context, *SendMediaMessageRequest) (*RPCSuccess, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method SendMediaMessage not implemented")
 | 
			
		||||
}
 | 
			
		||||
@@ -126,24 +109,6 @@ func _MessageMediaService_FindAllMessageMedias_Handler(srv interface{}, ctx cont
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _MessageMediaService_UpdateMessageMedias_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(UpdateMessageMediasRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(MessageMediaServiceServer).UpdateMessageMedias(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: MessageMediaService_UpdateMessageMedias_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(MessageMediaServiceServer).UpdateMessageMedias(ctx, req.(*UpdateMessageMediasRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _MessageMediaService_SendMediaMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(SendMediaMessageRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
@@ -173,10 +138,6 @@ var MessageMediaService_ServiceDesc = grpc.ServiceDesc{
 | 
			
		||||
			MethodName: "findAllMessageMedias",
 | 
			
		||||
			Handler:    _MessageMediaService_FindAllMessageMedias_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "updateMessageMedias",
 | 
			
		||||
			Handler:    _MessageMediaService_UpdateMessageMedias_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "sendMediaMessage",
 | 
			
		||||
			Handler:    _MessageMediaService_SendMediaMessage_Handler,
 | 
			
		||||
 
 | 
			
		||||
@@ -69,7 +69,7 @@ func (x CountMessageTasksWithStatusRequest_Status) Number() protoreflect.EnumNum
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use CountMessageTasksWithStatusRequest_Status.Descriptor instead.
 | 
			
		||||
func (CountMessageTasksWithStatusRequest_Status) EnumDescriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_message_task_proto_rawDescGZIP(), []int{8, 0}
 | 
			
		||||
	return file_service_message_task_proto_rawDescGZIP(), []int{5, 0}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type ListMessageTasksWithStatusRequest_Status int32
 | 
			
		||||
@@ -121,7 +121,7 @@ func (x ListMessageTasksWithStatusRequest_Status) Number() protoreflect.EnumNumb
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use ListMessageTasksWithStatusRequest_Status.Descriptor instead.
 | 
			
		||||
func (ListMessageTasksWithStatusRequest_Status) EnumDescriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_message_task_proto_rawDescGZIP(), []int{9, 0}
 | 
			
		||||
	return file_service_message_task_proto_rawDescGZIP(), []int{6, 0}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 创建消息任务
 | 
			
		||||
@@ -130,12 +130,12 @@ type CreateMessageTaskRequest struct {
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	RecipientId int64  `protobuf:"varint,1,opt,name=recipientId,proto3" json:"recipientId,omitempty"`
 | 
			
		||||
	InstanceId  int64  `protobuf:"varint,2,opt,name=instanceId,proto3" json:"instanceId,omitempty"`
 | 
			
		||||
	User        string `protobuf:"bytes,3,opt,name=user,proto3" json:"user,omitempty"`
 | 
			
		||||
	Subject     string `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"`
 | 
			
		||||
	Body        string `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"`
 | 
			
		||||
	IsPrimary   bool   `protobuf:"varint,6,opt,name=isPrimary,proto3" json:"isPrimary,omitempty"`
 | 
			
		||||
	MessageRecipientId     int64  `protobuf:"varint,1,opt,name=messageRecipientId,proto3" json:"messageRecipientId,omitempty"`         // 接收人ID
 | 
			
		||||
	MessageMediaInstanceId int64  `protobuf:"varint,2,opt,name=messageMediaInstanceId,proto3" json:"messageMediaInstanceId,omitempty"` // 媒介实例ID
 | 
			
		||||
	User                   string `protobuf:"bytes,3,opt,name=user,proto3" json:"user,omitempty"`                                      // 用户标识
 | 
			
		||||
	Subject                string `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"`                                // 标题
 | 
			
		||||
	Body                   string `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"`                                      // 内容
 | 
			
		||||
	IsPrimary              bool   `protobuf:"varint,6,opt,name=isPrimary,proto3" json:"isPrimary,omitempty"`                           // 是否优先发送
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreateMessageTaskRequest) Reset() {
 | 
			
		||||
@@ -170,16 +170,16 @@ func (*CreateMessageTaskRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_message_task_proto_rawDescGZIP(), []int{0}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreateMessageTaskRequest) GetRecipientId() int64 {
 | 
			
		||||
func (x *CreateMessageTaskRequest) GetMessageRecipientId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.RecipientId
 | 
			
		||||
		return x.MessageRecipientId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreateMessageTaskRequest) GetInstanceId() int64 {
 | 
			
		||||
func (x *CreateMessageTaskRequest) GetMessageMediaInstanceId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.InstanceId
 | 
			
		||||
		return x.MessageMediaInstanceId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
@@ -217,7 +217,7 @@ type CreateMessageTaskResponse struct {
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	MessageTaskId int64 `protobuf:"varint,1,opt,name=messageTaskId,proto3" json:"messageTaskId,omitempty"`
 | 
			
		||||
	MessageTaskId int64 `protobuf:"varint,1,opt,name=messageTaskId,proto3" json:"messageTaskId,omitempty"` // 消息任务ID
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreateMessageTaskResponse) Reset() {
 | 
			
		||||
@@ -259,165 +259,6 @@ func (x *CreateMessageTaskResponse) GetMessageTaskId() int64 {
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 查找要发送的消息任务
 | 
			
		||||
type FindSendingMessageTasksRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Size int64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindSendingMessageTasksRequest) Reset() {
 | 
			
		||||
	*x = FindSendingMessageTasksRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_message_task_proto_msgTypes[2]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindSendingMessageTasksRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*FindSendingMessageTasksRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindSendingMessageTasksRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_message_task_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 FindSendingMessageTasksRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindSendingMessageTasksRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_message_task_proto_rawDescGZIP(), []int{2}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindSendingMessageTasksRequest) GetSize() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Size
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type FindSendingMessageTasksResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	MessageTasks []*MessageTask `protobuf:"bytes,1,rep,name=messageTasks,proto3" json:"messageTasks,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindSendingMessageTasksResponse) Reset() {
 | 
			
		||||
	*x = FindSendingMessageTasksResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_message_task_proto_msgTypes[3]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindSendingMessageTasksResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*FindSendingMessageTasksResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindSendingMessageTasksResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_message_task_proto_msgTypes[3]
 | 
			
		||||
	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 FindSendingMessageTasksResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindSendingMessageTasksResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_message_task_proto_rawDescGZIP(), []int{3}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindSendingMessageTasksResponse) GetMessageTasks() []*MessageTask {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.MessageTasks
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 修改消息任务状态
 | 
			
		||||
type UpdateMessageTaskStatusRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	MessageTaskId int64              `protobuf:"varint,1,opt,name=messageTaskId,proto3" json:"messageTaskId,omitempty"`
 | 
			
		||||
	Status        int32              `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"`
 | 
			
		||||
	Result        *MessageTaskResult `protobuf:"bytes,3,opt,name=result,proto3" json:"result,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateMessageTaskStatusRequest) Reset() {
 | 
			
		||||
	*x = UpdateMessageTaskStatusRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_message_task_proto_msgTypes[4]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateMessageTaskStatusRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*UpdateMessageTaskStatusRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateMessageTaskStatusRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_message_task_proto_msgTypes[4]
 | 
			
		||||
	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 UpdateMessageTaskStatusRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*UpdateMessageTaskStatusRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_message_task_proto_rawDescGZIP(), []int{4}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateMessageTaskStatusRequest) GetMessageTaskId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.MessageTaskId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateMessageTaskStatusRequest) GetStatus() int32 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Status
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateMessageTaskStatusRequest) GetResult() *MessageTaskResult {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Result
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 删除消息任务
 | 
			
		||||
type DeleteMessageTaskRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
@@ -430,7 +271,7 @@ type DeleteMessageTaskRequest struct {
 | 
			
		||||
func (x *DeleteMessageTaskRequest) Reset() {
 | 
			
		||||
	*x = DeleteMessageTaskRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_message_task_proto_msgTypes[5]
 | 
			
		||||
		mi := &file_service_message_task_proto_msgTypes[2]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
@@ -443,7 +284,7 @@ func (x *DeleteMessageTaskRequest) String() string {
 | 
			
		||||
func (*DeleteMessageTaskRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *DeleteMessageTaskRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_message_task_proto_msgTypes[5]
 | 
			
		||||
	mi := &file_service_message_task_proto_msgTypes[2]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
@@ -456,7 +297,7 @@ func (x *DeleteMessageTaskRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use DeleteMessageTaskRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*DeleteMessageTaskRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_message_task_proto_rawDescGZIP(), []int{5}
 | 
			
		||||
	return file_service_message_task_proto_rawDescGZIP(), []int{2}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *DeleteMessageTaskRequest) GetMessageTaskId() int64 {
 | 
			
		||||
@@ -478,7 +319,7 @@ type FindEnabledMessageTaskRequest struct {
 | 
			
		||||
func (x *FindEnabledMessageTaskRequest) Reset() {
 | 
			
		||||
	*x = FindEnabledMessageTaskRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_message_task_proto_msgTypes[6]
 | 
			
		||||
		mi := &file_service_message_task_proto_msgTypes[3]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
@@ -491,7 +332,7 @@ func (x *FindEnabledMessageTaskRequest) String() string {
 | 
			
		||||
func (*FindEnabledMessageTaskRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledMessageTaskRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_message_task_proto_msgTypes[6]
 | 
			
		||||
	mi := &file_service_message_task_proto_msgTypes[3]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
@@ -504,7 +345,7 @@ func (x *FindEnabledMessageTaskRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use FindEnabledMessageTaskRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindEnabledMessageTaskRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_message_task_proto_rawDescGZIP(), []int{6}
 | 
			
		||||
	return file_service_message_task_proto_rawDescGZIP(), []int{3}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledMessageTaskRequest) GetMessageTaskId() int64 {
 | 
			
		||||
@@ -525,7 +366,7 @@ type FindEnabledMessageTaskResponse struct {
 | 
			
		||||
func (x *FindEnabledMessageTaskResponse) Reset() {
 | 
			
		||||
	*x = FindEnabledMessageTaskResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_message_task_proto_msgTypes[7]
 | 
			
		||||
		mi := &file_service_message_task_proto_msgTypes[4]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
@@ -538,7 +379,7 @@ func (x *FindEnabledMessageTaskResponse) String() string {
 | 
			
		||||
func (*FindEnabledMessageTaskResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledMessageTaskResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_message_task_proto_msgTypes[7]
 | 
			
		||||
	mi := &file_service_message_task_proto_msgTypes[4]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
@@ -551,7 +392,7 @@ func (x *FindEnabledMessageTaskResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use FindEnabledMessageTaskResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindEnabledMessageTaskResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_message_task_proto_rawDescGZIP(), []int{7}
 | 
			
		||||
	return file_service_message_task_proto_rawDescGZIP(), []int{4}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledMessageTaskResponse) GetMessageTask() *MessageTask {
 | 
			
		||||
@@ -573,7 +414,7 @@ type CountMessageTasksWithStatusRequest struct {
 | 
			
		||||
func (x *CountMessageTasksWithStatusRequest) Reset() {
 | 
			
		||||
	*x = CountMessageTasksWithStatusRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_message_task_proto_msgTypes[8]
 | 
			
		||||
		mi := &file_service_message_task_proto_msgTypes[5]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
@@ -586,7 +427,7 @@ func (x *CountMessageTasksWithStatusRequest) String() string {
 | 
			
		||||
func (*CountMessageTasksWithStatusRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *CountMessageTasksWithStatusRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_message_task_proto_msgTypes[8]
 | 
			
		||||
	mi := &file_service_message_task_proto_msgTypes[5]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
@@ -599,7 +440,7 @@ func (x *CountMessageTasksWithStatusRequest) ProtoReflect() protoreflect.Message
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use CountMessageTasksWithStatusRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*CountMessageTasksWithStatusRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_message_task_proto_rawDescGZIP(), []int{8}
 | 
			
		||||
	return file_service_message_task_proto_rawDescGZIP(), []int{5}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CountMessageTasksWithStatusRequest) GetStatus() CountMessageTasksWithStatusRequest_Status {
 | 
			
		||||
@@ -623,7 +464,7 @@ type ListMessageTasksWithStatusRequest struct {
 | 
			
		||||
func (x *ListMessageTasksWithStatusRequest) Reset() {
 | 
			
		||||
	*x = ListMessageTasksWithStatusRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_message_task_proto_msgTypes[9]
 | 
			
		||||
		mi := &file_service_message_task_proto_msgTypes[6]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
@@ -636,7 +477,7 @@ func (x *ListMessageTasksWithStatusRequest) String() string {
 | 
			
		||||
func (*ListMessageTasksWithStatusRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *ListMessageTasksWithStatusRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_message_task_proto_msgTypes[9]
 | 
			
		||||
	mi := &file_service_message_task_proto_msgTypes[6]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
@@ -649,7 +490,7 @@ func (x *ListMessageTasksWithStatusRequest) ProtoReflect() protoreflect.Message
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use ListMessageTasksWithStatusRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*ListMessageTasksWithStatusRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_message_task_proto_rawDescGZIP(), []int{9}
 | 
			
		||||
	return file_service_message_task_proto_rawDescGZIP(), []int{6}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListMessageTasksWithStatusRequest) GetStatus() ListMessageTasksWithStatusRequest_Status {
 | 
			
		||||
@@ -684,7 +525,7 @@ type ListMessageTasksWithStatusResponse struct {
 | 
			
		||||
func (x *ListMessageTasksWithStatusResponse) Reset() {
 | 
			
		||||
	*x = ListMessageTasksWithStatusResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_message_task_proto_msgTypes[10]
 | 
			
		||||
		mi := &file_service_message_task_proto_msgTypes[7]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
@@ -697,7 +538,7 @@ func (x *ListMessageTasksWithStatusResponse) String() string {
 | 
			
		||||
func (*ListMessageTasksWithStatusResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *ListMessageTasksWithStatusResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_message_task_proto_msgTypes[10]
 | 
			
		||||
	mi := &file_service_message_task_proto_msgTypes[7]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
@@ -710,7 +551,7 @@ func (x *ListMessageTasksWithStatusResponse) ProtoReflect() protoreflect.Message
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use ListMessageTasksWithStatusResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*ListMessageTasksWithStatusResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_message_task_proto_rawDescGZIP(), []int{10}
 | 
			
		||||
	return file_service_message_task_proto_rawDescGZIP(), []int{7}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListMessageTasksWithStatusResponse) GetMessageTasks() []*MessageTask {
 | 
			
		||||
@@ -720,6 +561,142 @@ func (x *ListMessageTasksWithStatusResponse) GetMessageTasks() []*MessageTask {
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 发送某个消息任务
 | 
			
		||||
// 与创建消息任务放入到后台任务队列不同,此API是直接发送
 | 
			
		||||
type SendMessageTaskRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	MessageMediaInstanceId int64  `protobuf:"varint,1,opt,name=messageMediaInstanceId,proto3" json:"messageMediaInstanceId,omitempty"` // 媒介实例ID
 | 
			
		||||
	User                   string `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"`                                      // 用户标识
 | 
			
		||||
	Subject                string `protobuf:"bytes,3,opt,name=subject,proto3" json:"subject,omitempty"`                                // 标题
 | 
			
		||||
	Body                   string `protobuf:"bytes,4,opt,name=body,proto3" json:"body,omitempty"`                                      // 内容
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SendMessageTaskRequest) Reset() {
 | 
			
		||||
	*x = SendMessageTaskRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_message_task_proto_msgTypes[8]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SendMessageTaskRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*SendMessageTaskRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *SendMessageTaskRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_message_task_proto_msgTypes[8]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use SendMessageTaskRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*SendMessageTaskRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_message_task_proto_rawDescGZIP(), []int{8}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SendMessageTaskRequest) GetMessageMediaInstanceId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.MessageMediaInstanceId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SendMessageTaskRequest) GetUser() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.User
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SendMessageTaskRequest) GetSubject() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Subject
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SendMessageTaskRequest) GetBody() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Body
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type SendMessageTaskResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	IsOk     bool   `protobuf:"varint,1,opt,name=isOk,proto3" json:"isOk,omitempty"`        // 是否成功
 | 
			
		||||
	Error    string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`       // 失败时的提示信息
 | 
			
		||||
	Response string `protobuf:"bytes,3,opt,name=response,proto3" json:"response,omitempty"` // 发送成功后响应内容
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SendMessageTaskResponse) Reset() {
 | 
			
		||||
	*x = SendMessageTaskResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_message_task_proto_msgTypes[9]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SendMessageTaskResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*SendMessageTaskResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *SendMessageTaskResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_message_task_proto_msgTypes[9]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use SendMessageTaskResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*SendMessageTaskResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_message_task_proto_rawDescGZIP(), []int{9}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SendMessageTaskResponse) GetIsOk() bool {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.IsOk
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SendMessageTaskResponse) GetError() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Error
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SendMessageTaskResponse) GetResponse() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Response
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var File_service_message_task_proto protoreflect.FileDescriptor
 | 
			
		||||
 | 
			
		||||
var file_service_message_task_proto_rawDesc = []byte{
 | 
			
		||||
@@ -728,135 +705,128 @@ var file_service_message_task_proto_rawDesc = []byte{
 | 
			
		||||
	0x1a, 0x1f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6d,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74,
 | 
			
		||||
	0x6f, 0x1a, 0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65,
 | 
			
		||||
	0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbc, 0x01, 0x0a,
 | 
			
		||||
	0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe2, 0x01, 0x0a,
 | 
			
		||||
	0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61,
 | 
			
		||||
	0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x63,
 | 
			
		||||
	0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
 | 
			
		||||
	0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69,
 | 
			
		||||
	0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
 | 
			
		||||
	0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75,
 | 
			
		||||
	0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12,
 | 
			
		||||
	0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
 | 
			
		||||
	0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64,
 | 
			
		||||
	0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x1c, 0x0a,
 | 
			
		||||
	0x09, 0x69, 0x73, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08,
 | 
			
		||||
	0x52, 0x09, 0x69, 0x73, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x41, 0x0a, 0x19, 0x43,
 | 
			
		||||
	0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b,
 | 
			
		||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
 | 
			
		||||
	0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x34,
 | 
			
		||||
	0x0a, 0x1e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73,
 | 
			
		||||
	0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
			
		||||
	0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04,
 | 
			
		||||
	0x73, 0x69, 0x7a, 0x65, 0x22, 0x56, 0x0a, 0x1f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x6e, 0x64,
 | 
			
		||||
	0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52,
 | 
			
		||||
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61,
 | 
			
		||||
	0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x0c,
 | 
			
		||||
	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x22, 0x8d, 0x01, 0x0a,
 | 
			
		||||
	0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61,
 | 
			
		||||
	0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
 | 
			
		||||
	0x24, 0x0a, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64,
 | 
			
		||||
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54,
 | 
			
		||||
	0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
 | 
			
		||||
	0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2d, 0x0a,
 | 
			
		||||
	0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65,
 | 
			
		||||
	0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x40, 0x0a, 0x18,
 | 
			
		||||
	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73,
 | 
			
		||||
	0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
 | 
			
		||||
	0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x45,
 | 
			
		||||
	0x0a, 0x1d, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x73,
 | 
			
		||||
	0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
 | 
			
		||||
	0x24, 0x0a, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64,
 | 
			
		||||
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54,
 | 
			
		||||
	0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x53, 0x0a, 0x1e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
 | 
			
		||||
	0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52,
 | 
			
		||||
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61,
 | 
			
		||||
	0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x0b, 0x6d,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x22, 0xe9, 0x01, 0x0a, 0x22, 0x43,
 | 
			
		||||
	0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x6d, 0x65, 0x73,
 | 
			
		||||
	0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18,
 | 
			
		||||
	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65,
 | 
			
		||||
	0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x16, 0x6d, 0x65, 0x73,
 | 
			
		||||
	0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63,
 | 
			
		||||
	0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x6d, 0x65, 0x73, 0x73, 0x61,
 | 
			
		||||
	0x67, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49,
 | 
			
		||||
	0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
 | 
			
		||||
	0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
 | 
			
		||||
	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12,
 | 
			
		||||
	0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62,
 | 
			
		||||
	0x6f, 0x64, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79,
 | 
			
		||||
	0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72,
 | 
			
		||||
	0x79, 0x22, 0x41, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61,
 | 
			
		||||
	0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24,
 | 
			
		||||
	0x0a, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18,
 | 
			
		||||
	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61,
 | 
			
		||||
	0x73, 0x6b, 0x49, 0x64, 0x22, 0x40, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65,
 | 
			
		||||
	0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
			
		||||
	0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49,
 | 
			
		||||
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
 | 
			
		||||
	0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x45, 0x0a, 0x1d, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e,
 | 
			
		||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61,
 | 
			
		||||
	0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d,
 | 
			
		||||
	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x53, 0x0a,
 | 
			
		||||
	0x1e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
			
		||||
	0x31, 0x0a, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x18, 0x01,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
 | 
			
		||||
	0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61,
 | 
			
		||||
	0x73, 0x6b, 0x22, 0xe9, 0x01, 0x0a, 0x22, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74,
 | 
			
		||||
	0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x06, 0x73, 0x74, 0x61,
 | 
			
		||||
	0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x43,
 | 
			
		||||
	0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73,
 | 
			
		||||
	0x57, 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
			
		||||
	0x74, 0x12, 0x45, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x0e, 0x32, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74,
 | 
			
		||||
	0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
 | 
			
		||||
	0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x7c, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74,
 | 
			
		||||
	0x75, 0x73, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73,
 | 
			
		||||
	0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x1c, 0x0a,
 | 
			
		||||
	0x18, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74,
 | 
			
		||||
	0x75, 0x73, 0x53, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x4d,
 | 
			
		||||
	0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
 | 
			
		||||
	0x22, 0x7c, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x65,
 | 
			
		||||
	0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4e,
 | 
			
		||||
	0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
 | 
			
		||||
	0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x65, 0x6e, 0x64, 0x69, 0x6e,
 | 
			
		||||
	0x67, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61,
 | 
			
		||||
	0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10,
 | 
			
		||||
	0x02, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b,
 | 
			
		||||
	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x22, 0x93,
 | 
			
		||||
	0x02, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61,
 | 
			
		||||
	0x73, 0x6b, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71,
 | 
			
		||||
	0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65,
 | 
			
		||||
	0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x74,
 | 
			
		||||
	0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74,
 | 
			
		||||
	0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66,
 | 
			
		||||
	0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73,
 | 
			
		||||
	0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
 | 
			
		||||
	0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x7c, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
 | 
			
		||||
	0x12, 0x19, 0x0a, 0x15, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53,
 | 
			
		||||
	0x74, 0x61, 0x74, 0x75, 0x73, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x4d,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
 | 
			
		||||
	0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x65, 0x73,
 | 
			
		||||
	0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x61,
 | 
			
		||||
	0x69, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x22, 0x93, 0x02, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x4d,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53,
 | 
			
		||||
	0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x06,
 | 
			
		||||
	0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73,
 | 
			
		||||
	0x6b, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74,
 | 
			
		||||
	0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01,
 | 
			
		||||
	0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69,
 | 
			
		||||
	0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x7c,
 | 
			
		||||
	0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4e, 0x6f, 0x6e,
 | 
			
		||||
	0x65, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61,
 | 
			
		||||
	0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x10,
 | 
			
		||||
	0x01, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b,
 | 
			
		||||
	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x02, 0x12,
 | 
			
		||||
	0x1b, 0x0a, 0x17, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74,
 | 
			
		||||
	0x61, 0x74, 0x75, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x22, 0x59, 0x0a, 0x22,
 | 
			
		||||
	0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73,
 | 
			
		||||
	0x57, 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
			
		||||
	0x73, 0x65, 0x12, 0x33, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73,
 | 
			
		||||
	0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65,
 | 
			
		||||
	0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61,
 | 
			
		||||
	0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x32, 0x87, 0x05, 0x0a, 0x12, 0x4d, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x50,
 | 
			
		||||
	0x0a, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54,
 | 
			
		||||
	0x61, 0x73, 0x6b, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d,
 | 
			
		||||
	0x53, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x65, 0x73,
 | 
			
		||||
	0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x75,
 | 
			
		||||
	0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x65, 0x73, 0x73, 0x61,
 | 
			
		||||
	0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x61, 0x69, 0x6c,
 | 
			
		||||
	0x65, 0x64, 0x10, 0x03, 0x22, 0x59, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74,
 | 
			
		||||
	0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x0c, 0x6d, 0x65,
 | 
			
		||||
	0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
 | 
			
		||||
	0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73,
 | 
			
		||||
	0x6b, 0x52, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x22,
 | 
			
		||||
	0x92, 0x01, 0x0a, 0x16, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54,
 | 
			
		||||
	0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x16, 0x6d, 0x65,
 | 
			
		||||
	0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e,
 | 
			
		||||
	0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x6d, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x61, 0x67, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
 | 
			
		||||
	0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
 | 
			
		||||
	0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63,
 | 
			
		||||
	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
 | 
			
		||||
	0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
 | 
			
		||||
	0x62, 0x6f, 0x64, 0x79, 0x22, 0x5f, 0x0a, 0x17, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
			
		||||
	0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69,
 | 
			
		||||
	0x73, 0x4f, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01,
 | 
			
		||||
	0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73,
 | 
			
		||||
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73,
 | 
			
		||||
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xa0, 0x04, 0x0a, 0x12, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
 | 
			
		||||
	0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x11,
 | 
			
		||||
	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73,
 | 
			
		||||
	0x6b, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73,
 | 
			
		||||
	0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
			
		||||
	0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61,
 | 
			
		||||
	0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41,
 | 
			
		||||
	0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54,
 | 
			
		||||
	0x61, 0x73, 0x6b, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
			
		||||
	0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73,
 | 
			
		||||
	0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x12, 0x62, 0x0a, 0x17, 0x66, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x22, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
			
		||||
	0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67,
 | 
			
		||||
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70,
 | 
			
		||||
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x17, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65,
 | 
			
		||||
	0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
 | 
			
		||||
	0x22, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61,
 | 
			
		||||
	0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x73,
 | 
			
		||||
	0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65,
 | 
			
		||||
	0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 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, 0x5f, 0x0a, 0x16, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e,
 | 
			
		||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b,
 | 
			
		||||
	0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
			
		||||
	0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
 | 
			
		||||
	0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52,
 | 
			
		||||
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x1b, 0x63, 0x6f, 0x75, 0x6e, 0x74,
 | 
			
		||||
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x57, 0x69, 0x74, 0x68,
 | 
			
		||||
	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e,
 | 
			
		||||
	0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x57, 0x69, 0x74,
 | 
			
		||||
	0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 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, 0x6b, 0x0a, 0x1a, 0x6c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73,
 | 
			
		||||
	0x73, 0x12, 0x5f, 0x0a, 0x16, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
			
		||||
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x21, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
			
		||||
	0x73, 0x65, 0x12, 0x5b, 0x0a, 0x1b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61,
 | 
			
		||||
	0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75,
 | 
			
		||||
	0x73, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74,
 | 
			
		||||
	0x75, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74,
 | 
			
		||||
	0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x4c,
 | 
			
		||||
	0x69, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x57,
 | 
			
		||||
	0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
			
		||||
	0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
 | 
			
		||||
	0x33,
 | 
			
		||||
	0x75, 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,
 | 
			
		||||
	0x6b, 0x0a, 0x1a, 0x6c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61,
 | 
			
		||||
	0x73, 0x6b, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61,
 | 
			
		||||
	0x73, 0x6b, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71,
 | 
			
		||||
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65,
 | 
			
		||||
	0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x74,
 | 
			
		||||
	0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0f,
 | 
			
		||||
	0x73, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12,
 | 
			
		||||
	0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
 | 
			
		||||
	0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b,
 | 
			
		||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62,
 | 
			
		||||
	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
@@ -872,52 +842,46 @@ func file_service_message_task_proto_rawDescGZIP() []byte {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var file_service_message_task_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
 | 
			
		||||
var file_service_message_task_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
 | 
			
		||||
var file_service_message_task_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
 | 
			
		||||
var file_service_message_task_proto_goTypes = []interface{}{
 | 
			
		||||
	(CountMessageTasksWithStatusRequest_Status)(0), // 0: pb.CountMessageTasksWithStatusRequest.Status
 | 
			
		||||
	(ListMessageTasksWithStatusRequest_Status)(0),  // 1: pb.ListMessageTasksWithStatusRequest.Status
 | 
			
		||||
	(*CreateMessageTaskRequest)(nil),               // 2: pb.CreateMessageTaskRequest
 | 
			
		||||
	(*CreateMessageTaskResponse)(nil),              // 3: pb.CreateMessageTaskResponse
 | 
			
		||||
	(*FindSendingMessageTasksRequest)(nil),         // 4: pb.FindSendingMessageTasksRequest
 | 
			
		||||
	(*FindSendingMessageTasksResponse)(nil),        // 5: pb.FindSendingMessageTasksResponse
 | 
			
		||||
	(*UpdateMessageTaskStatusRequest)(nil),         // 6: pb.UpdateMessageTaskStatusRequest
 | 
			
		||||
	(*DeleteMessageTaskRequest)(nil),               // 7: pb.DeleteMessageTaskRequest
 | 
			
		||||
	(*FindEnabledMessageTaskRequest)(nil),          // 8: pb.FindEnabledMessageTaskRequest
 | 
			
		||||
	(*FindEnabledMessageTaskResponse)(nil),         // 9: pb.FindEnabledMessageTaskResponse
 | 
			
		||||
	(*CountMessageTasksWithStatusRequest)(nil),     // 10: pb.CountMessageTasksWithStatusRequest
 | 
			
		||||
	(*ListMessageTasksWithStatusRequest)(nil),      // 11: pb.ListMessageTasksWithStatusRequest
 | 
			
		||||
	(*ListMessageTasksWithStatusResponse)(nil),     // 12: pb.ListMessageTasksWithStatusResponse
 | 
			
		||||
	(*MessageTask)(nil),                            // 13: pb.MessageTask
 | 
			
		||||
	(*MessageTaskResult)(nil),                      // 14: pb.MessageTaskResult
 | 
			
		||||
	(*RPCSuccess)(nil),                             // 15: pb.RPCSuccess
 | 
			
		||||
	(*RPCCountResponse)(nil),                       // 16: pb.RPCCountResponse
 | 
			
		||||
	(*DeleteMessageTaskRequest)(nil),               // 4: pb.DeleteMessageTaskRequest
 | 
			
		||||
	(*FindEnabledMessageTaskRequest)(nil),          // 5: pb.FindEnabledMessageTaskRequest
 | 
			
		||||
	(*FindEnabledMessageTaskResponse)(nil),         // 6: pb.FindEnabledMessageTaskResponse
 | 
			
		||||
	(*CountMessageTasksWithStatusRequest)(nil),     // 7: pb.CountMessageTasksWithStatusRequest
 | 
			
		||||
	(*ListMessageTasksWithStatusRequest)(nil),      // 8: pb.ListMessageTasksWithStatusRequest
 | 
			
		||||
	(*ListMessageTasksWithStatusResponse)(nil),     // 9: pb.ListMessageTasksWithStatusResponse
 | 
			
		||||
	(*SendMessageTaskRequest)(nil),                 // 10: pb.SendMessageTaskRequest
 | 
			
		||||
	(*SendMessageTaskResponse)(nil),                // 11: pb.SendMessageTaskResponse
 | 
			
		||||
	(*MessageTask)(nil),                            // 12: pb.MessageTask
 | 
			
		||||
	(*RPCSuccess)(nil),                             // 13: pb.RPCSuccess
 | 
			
		||||
	(*RPCCountResponse)(nil),                       // 14: pb.RPCCountResponse
 | 
			
		||||
}
 | 
			
		||||
var file_service_message_task_proto_depIdxs = []int32{
 | 
			
		||||
	13, // 0: pb.FindSendingMessageTasksResponse.messageTasks:type_name -> pb.MessageTask
 | 
			
		||||
	14, // 1: pb.UpdateMessageTaskStatusRequest.result:type_name -> pb.MessageTaskResult
 | 
			
		||||
	13, // 2: pb.FindEnabledMessageTaskResponse.messageTask:type_name -> pb.MessageTask
 | 
			
		||||
	0,  // 3: pb.CountMessageTasksWithStatusRequest.status:type_name -> pb.CountMessageTasksWithStatusRequest.Status
 | 
			
		||||
	1,  // 4: pb.ListMessageTasksWithStatusRequest.status:type_name -> pb.ListMessageTasksWithStatusRequest.Status
 | 
			
		||||
	13, // 5: pb.ListMessageTasksWithStatusResponse.messageTasks:type_name -> pb.MessageTask
 | 
			
		||||
	2,  // 6: pb.MessageTaskService.createMessageTask:input_type -> pb.CreateMessageTaskRequest
 | 
			
		||||
	4,  // 7: pb.MessageTaskService.findSendingMessageTasks:input_type -> pb.FindSendingMessageTasksRequest
 | 
			
		||||
	6,  // 8: pb.MessageTaskService.updateMessageTaskStatus:input_type -> pb.UpdateMessageTaskStatusRequest
 | 
			
		||||
	7,  // 9: pb.MessageTaskService.deleteMessageTask:input_type -> pb.DeleteMessageTaskRequest
 | 
			
		||||
	8,  // 10: pb.MessageTaskService.findEnabledMessageTask:input_type -> pb.FindEnabledMessageTaskRequest
 | 
			
		||||
	10, // 11: pb.MessageTaskService.countMessageTasksWithStatus:input_type -> pb.CountMessageTasksWithStatusRequest
 | 
			
		||||
	11, // 12: pb.MessageTaskService.listMessageTasksWithStatus:input_type -> pb.ListMessageTasksWithStatusRequest
 | 
			
		||||
	3,  // 13: pb.MessageTaskService.createMessageTask:output_type -> pb.CreateMessageTaskResponse
 | 
			
		||||
	5,  // 14: pb.MessageTaskService.findSendingMessageTasks:output_type -> pb.FindSendingMessageTasksResponse
 | 
			
		||||
	15, // 15: pb.MessageTaskService.updateMessageTaskStatus:output_type -> pb.RPCSuccess
 | 
			
		||||
	15, // 16: pb.MessageTaskService.deleteMessageTask:output_type -> pb.RPCSuccess
 | 
			
		||||
	9,  // 17: pb.MessageTaskService.findEnabledMessageTask:output_type -> pb.FindEnabledMessageTaskResponse
 | 
			
		||||
	16, // 18: pb.MessageTaskService.countMessageTasksWithStatus:output_type -> pb.RPCCountResponse
 | 
			
		||||
	12, // 19: pb.MessageTaskService.listMessageTasksWithStatus:output_type -> pb.ListMessageTasksWithStatusResponse
 | 
			
		||||
	13, // [13:20] is the sub-list for method output_type
 | 
			
		||||
	6,  // [6:13] is the sub-list for method input_type
 | 
			
		||||
	6,  // [6:6] is the sub-list for extension type_name
 | 
			
		||||
	6,  // [6:6] is the sub-list for extension extendee
 | 
			
		||||
	0,  // [0:6] is the sub-list for field type_name
 | 
			
		||||
	12, // 0: pb.FindEnabledMessageTaskResponse.messageTask:type_name -> pb.MessageTask
 | 
			
		||||
	0,  // 1: pb.CountMessageTasksWithStatusRequest.status:type_name -> pb.CountMessageTasksWithStatusRequest.Status
 | 
			
		||||
	1,  // 2: pb.ListMessageTasksWithStatusRequest.status:type_name -> pb.ListMessageTasksWithStatusRequest.Status
 | 
			
		||||
	12, // 3: pb.ListMessageTasksWithStatusResponse.messageTasks:type_name -> pb.MessageTask
 | 
			
		||||
	2,  // 4: pb.MessageTaskService.createMessageTask:input_type -> pb.CreateMessageTaskRequest
 | 
			
		||||
	4,  // 5: pb.MessageTaskService.deleteMessageTask:input_type -> pb.DeleteMessageTaskRequest
 | 
			
		||||
	5,  // 6: pb.MessageTaskService.findEnabledMessageTask:input_type -> pb.FindEnabledMessageTaskRequest
 | 
			
		||||
	7,  // 7: pb.MessageTaskService.countMessageTasksWithStatus:input_type -> pb.CountMessageTasksWithStatusRequest
 | 
			
		||||
	8,  // 8: pb.MessageTaskService.listMessageTasksWithStatus:input_type -> pb.ListMessageTasksWithStatusRequest
 | 
			
		||||
	10, // 9: pb.MessageTaskService.sendMessageTask:input_type -> pb.SendMessageTaskRequest
 | 
			
		||||
	3,  // 10: pb.MessageTaskService.createMessageTask:output_type -> pb.CreateMessageTaskResponse
 | 
			
		||||
	13, // 11: pb.MessageTaskService.deleteMessageTask:output_type -> pb.RPCSuccess
 | 
			
		||||
	6,  // 12: pb.MessageTaskService.findEnabledMessageTask:output_type -> pb.FindEnabledMessageTaskResponse
 | 
			
		||||
	14, // 13: pb.MessageTaskService.countMessageTasksWithStatus:output_type -> pb.RPCCountResponse
 | 
			
		||||
	9,  // 14: pb.MessageTaskService.listMessageTasksWithStatus:output_type -> pb.ListMessageTasksWithStatusResponse
 | 
			
		||||
	11, // 15: pb.MessageTaskService.sendMessageTask:output_type -> pb.SendMessageTaskResponse
 | 
			
		||||
	10, // [10:16] is the sub-list for method output_type
 | 
			
		||||
	4,  // [4:10] is the sub-list for method input_type
 | 
			
		||||
	4,  // [4:4] is the sub-list for extension type_name
 | 
			
		||||
	4,  // [4:4] is the sub-list for extension extendee
 | 
			
		||||
	0,  // [0:4] is the sub-list for field type_name
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func init() { file_service_message_task_proto_init() }
 | 
			
		||||
@@ -953,42 +917,6 @@ func file_service_message_task_proto_init() {
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_message_task_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*FindSendingMessageTasksRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_message_task_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*FindSendingMessageTasksResponse); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_message_task_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*UpdateMessageTaskStatusRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_message_task_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*DeleteMessageTaskRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
@@ -1000,7 +928,7 @@ func file_service_message_task_proto_init() {
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_message_task_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
		file_service_message_task_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*FindEnabledMessageTaskRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
@@ -1012,7 +940,7 @@ func file_service_message_task_proto_init() {
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_message_task_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
		file_service_message_task_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*FindEnabledMessageTaskResponse); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
@@ -1024,7 +952,7 @@ func file_service_message_task_proto_init() {
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_message_task_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
		file_service_message_task_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*CountMessageTasksWithStatusRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
@@ -1036,7 +964,7 @@ func file_service_message_task_proto_init() {
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_message_task_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
		file_service_message_task_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*ListMessageTasksWithStatusRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
@@ -1048,7 +976,7 @@ func file_service_message_task_proto_init() {
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_message_task_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
		file_service_message_task_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*ListMessageTasksWithStatusResponse); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
@@ -1060,6 +988,30 @@ func file_service_message_task_proto_init() {
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_message_task_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*SendMessageTaskRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_message_task_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*SendMessageTaskResponse); 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{
 | 
			
		||||
@@ -1067,7 +1019,7 @@ func file_service_message_task_proto_init() {
 | 
			
		||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
			
		||||
			RawDescriptor: file_service_message_task_proto_rawDesc,
 | 
			
		||||
			NumEnums:      2,
 | 
			
		||||
			NumMessages:   11,
 | 
			
		||||
			NumMessages:   10,
 | 
			
		||||
			NumExtensions: 0,
 | 
			
		||||
			NumServices:   1,
 | 
			
		||||
		},
 | 
			
		||||
 
 | 
			
		||||
@@ -20,12 +20,11 @@ const _ = grpc.SupportPackageIsVersion7
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	MessageTaskService_CreateMessageTask_FullMethodName           = "/pb.MessageTaskService/createMessageTask"
 | 
			
		||||
	MessageTaskService_FindSendingMessageTasks_FullMethodName     = "/pb.MessageTaskService/findSendingMessageTasks"
 | 
			
		||||
	MessageTaskService_UpdateMessageTaskStatus_FullMethodName     = "/pb.MessageTaskService/updateMessageTaskStatus"
 | 
			
		||||
	MessageTaskService_DeleteMessageTask_FullMethodName           = "/pb.MessageTaskService/deleteMessageTask"
 | 
			
		||||
	MessageTaskService_FindEnabledMessageTask_FullMethodName      = "/pb.MessageTaskService/findEnabledMessageTask"
 | 
			
		||||
	MessageTaskService_CountMessageTasksWithStatus_FullMethodName = "/pb.MessageTaskService/countMessageTasksWithStatus"
 | 
			
		||||
	MessageTaskService_ListMessageTasksWithStatus_FullMethodName  = "/pb.MessageTaskService/listMessageTasksWithStatus"
 | 
			
		||||
	MessageTaskService_SendMessageTask_FullMethodName             = "/pb.MessageTaskService/sendMessageTask"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// MessageTaskServiceClient is the client API for MessageTaskService service.
 | 
			
		||||
@@ -34,10 +33,6 @@ const (
 | 
			
		||||
type MessageTaskServiceClient interface {
 | 
			
		||||
	// 创建消息任务
 | 
			
		||||
	CreateMessageTask(ctx context.Context, in *CreateMessageTaskRequest, opts ...grpc.CallOption) (*CreateMessageTaskResponse, error)
 | 
			
		||||
	// 查找要发送的消息任务
 | 
			
		||||
	FindSendingMessageTasks(ctx context.Context, in *FindSendingMessageTasksRequest, opts ...grpc.CallOption) (*FindSendingMessageTasksResponse, error)
 | 
			
		||||
	// 修改消息任务状态
 | 
			
		||||
	UpdateMessageTaskStatus(ctx context.Context, in *UpdateMessageTaskStatusRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
	// 删除消息任务
 | 
			
		||||
	DeleteMessageTask(ctx context.Context, in *DeleteMessageTaskRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
	// 读取消息任务状态
 | 
			
		||||
@@ -46,6 +41,8 @@ type MessageTaskServiceClient interface {
 | 
			
		||||
	CountMessageTasksWithStatus(ctx context.Context, in *CountMessageTasksWithStatusRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
 | 
			
		||||
	// 根据状态列出某页任务
 | 
			
		||||
	ListMessageTasksWithStatus(ctx context.Context, in *ListMessageTasksWithStatusRequest, opts ...grpc.CallOption) (*ListMessageTasksWithStatusResponse, error)
 | 
			
		||||
	// 发送某个消息任务
 | 
			
		||||
	SendMessageTask(ctx context.Context, in *SendMessageTaskRequest, opts ...grpc.CallOption) (*SendMessageTaskResponse, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type messageTaskServiceClient struct {
 | 
			
		||||
@@ -65,24 +62,6 @@ func (c *messageTaskServiceClient) CreateMessageTask(ctx context.Context, in *Cr
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *messageTaskServiceClient) FindSendingMessageTasks(ctx context.Context, in *FindSendingMessageTasksRequest, opts ...grpc.CallOption) (*FindSendingMessageTasksResponse, error) {
 | 
			
		||||
	out := new(FindSendingMessageTasksResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, MessageTaskService_FindSendingMessageTasks_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *messageTaskServiceClient) UpdateMessageTaskStatus(ctx context.Context, in *UpdateMessageTaskStatusRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
 | 
			
		||||
	out := new(RPCSuccess)
 | 
			
		||||
	err := c.cc.Invoke(ctx, MessageTaskService_UpdateMessageTaskStatus_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *messageTaskServiceClient) DeleteMessageTask(ctx context.Context, in *DeleteMessageTaskRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
 | 
			
		||||
	out := new(RPCSuccess)
 | 
			
		||||
	err := c.cc.Invoke(ctx, MessageTaskService_DeleteMessageTask_FullMethodName, in, out, opts...)
 | 
			
		||||
@@ -119,16 +98,21 @@ func (c *messageTaskServiceClient) ListMessageTasksWithStatus(ctx context.Contex
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *messageTaskServiceClient) SendMessageTask(ctx context.Context, in *SendMessageTaskRequest, opts ...grpc.CallOption) (*SendMessageTaskResponse, error) {
 | 
			
		||||
	out := new(SendMessageTaskResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, MessageTaskService_SendMessageTask_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// MessageTaskServiceServer is the server API for MessageTaskService service.
 | 
			
		||||
// All implementations should embed UnimplementedMessageTaskServiceServer
 | 
			
		||||
// for forward compatibility
 | 
			
		||||
type MessageTaskServiceServer interface {
 | 
			
		||||
	// 创建消息任务
 | 
			
		||||
	CreateMessageTask(context.Context, *CreateMessageTaskRequest) (*CreateMessageTaskResponse, error)
 | 
			
		||||
	// 查找要发送的消息任务
 | 
			
		||||
	FindSendingMessageTasks(context.Context, *FindSendingMessageTasksRequest) (*FindSendingMessageTasksResponse, error)
 | 
			
		||||
	// 修改消息任务状态
 | 
			
		||||
	UpdateMessageTaskStatus(context.Context, *UpdateMessageTaskStatusRequest) (*RPCSuccess, error)
 | 
			
		||||
	// 删除消息任务
 | 
			
		||||
	DeleteMessageTask(context.Context, *DeleteMessageTaskRequest) (*RPCSuccess, error)
 | 
			
		||||
	// 读取消息任务状态
 | 
			
		||||
@@ -137,6 +121,8 @@ type MessageTaskServiceServer interface {
 | 
			
		||||
	CountMessageTasksWithStatus(context.Context, *CountMessageTasksWithStatusRequest) (*RPCCountResponse, error)
 | 
			
		||||
	// 根据状态列出某页任务
 | 
			
		||||
	ListMessageTasksWithStatus(context.Context, *ListMessageTasksWithStatusRequest) (*ListMessageTasksWithStatusResponse, error)
 | 
			
		||||
	// 发送某个消息任务
 | 
			
		||||
	SendMessageTask(context.Context, *SendMessageTaskRequest) (*SendMessageTaskResponse, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UnimplementedMessageTaskServiceServer should be embedded to have forward compatible implementations.
 | 
			
		||||
@@ -146,12 +132,6 @@ type UnimplementedMessageTaskServiceServer struct {
 | 
			
		||||
func (UnimplementedMessageTaskServiceServer) CreateMessageTask(context.Context, *CreateMessageTaskRequest) (*CreateMessageTaskResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method CreateMessageTask not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedMessageTaskServiceServer) FindSendingMessageTasks(context.Context, *FindSendingMessageTasksRequest) (*FindSendingMessageTasksResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method FindSendingMessageTasks not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedMessageTaskServiceServer) UpdateMessageTaskStatus(context.Context, *UpdateMessageTaskStatusRequest) (*RPCSuccess, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method UpdateMessageTaskStatus not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedMessageTaskServiceServer) DeleteMessageTask(context.Context, *DeleteMessageTaskRequest) (*RPCSuccess, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method DeleteMessageTask not implemented")
 | 
			
		||||
}
 | 
			
		||||
@@ -164,6 +144,9 @@ func (UnimplementedMessageTaskServiceServer) CountMessageTasksWithStatus(context
 | 
			
		||||
func (UnimplementedMessageTaskServiceServer) ListMessageTasksWithStatus(context.Context, *ListMessageTasksWithStatusRequest) (*ListMessageTasksWithStatusResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method ListMessageTasksWithStatus not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedMessageTaskServiceServer) SendMessageTask(context.Context, *SendMessageTaskRequest) (*SendMessageTaskResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method SendMessageTask not implemented")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UnsafeMessageTaskServiceServer may be embedded to opt out of forward compatibility for this service.
 | 
			
		||||
// Use of this interface is not recommended, as added methods to MessageTaskServiceServer will
 | 
			
		||||
@@ -194,42 +177,6 @@ func _MessageTaskService_CreateMessageTask_Handler(srv interface{}, ctx context.
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _MessageTaskService_FindSendingMessageTasks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(FindSendingMessageTasksRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(MessageTaskServiceServer).FindSendingMessageTasks(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: MessageTaskService_FindSendingMessageTasks_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(MessageTaskServiceServer).FindSendingMessageTasks(ctx, req.(*FindSendingMessageTasksRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _MessageTaskService_UpdateMessageTaskStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(UpdateMessageTaskStatusRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(MessageTaskServiceServer).UpdateMessageTaskStatus(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: MessageTaskService_UpdateMessageTaskStatus_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(MessageTaskServiceServer).UpdateMessageTaskStatus(ctx, req.(*UpdateMessageTaskStatusRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _MessageTaskService_DeleteMessageTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(DeleteMessageTaskRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
@@ -302,6 +249,24 @@ func _MessageTaskService_ListMessageTasksWithStatus_Handler(srv interface{}, ctx
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _MessageTaskService_SendMessageTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(SendMessageTaskRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(MessageTaskServiceServer).SendMessageTask(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: MessageTaskService_SendMessageTask_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(MessageTaskServiceServer).SendMessageTask(ctx, req.(*SendMessageTaskRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// MessageTaskService_ServiceDesc is the grpc.ServiceDesc for MessageTaskService service.
 | 
			
		||||
// It's only intended for direct use with grpc.RegisterService,
 | 
			
		||||
// and not to be introspected or modified (even as a copy)
 | 
			
		||||
@@ -313,14 +278,6 @@ var MessageTaskService_ServiceDesc = grpc.ServiceDesc{
 | 
			
		||||
			MethodName: "createMessageTask",
 | 
			
		||||
			Handler:    _MessageTaskService_CreateMessageTask_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "findSendingMessageTasks",
 | 
			
		||||
			Handler:    _MessageTaskService_FindSendingMessageTasks_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "updateMessageTaskStatus",
 | 
			
		||||
			Handler:    _MessageTaskService_UpdateMessageTaskStatus_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "deleteMessageTask",
 | 
			
		||||
			Handler:    _MessageTaskService_DeleteMessageTask_Handler,
 | 
			
		||||
@@ -337,6 +294,10 @@ var MessageTaskService_ServiceDesc = grpc.ServiceDesc{
 | 
			
		||||
			MethodName: "listMessageTasksWithStatus",
 | 
			
		||||
			Handler:    _MessageTaskService_ListMessageTasksWithStatus_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "sendMessageTask",
 | 
			
		||||
			Handler:    _MessageTaskService_SendMessageTask_Handler,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	Streams:  []grpc.StreamDesc{},
 | 
			
		||||
	Metadata: "service_message_task.proto",
 | 
			
		||||
 
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -1,421 +0,0 @@
 | 
			
		||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 | 
			
		||||
// versions:
 | 
			
		||||
// - protoc-gen-go-grpc v1.3.0
 | 
			
		||||
// - protoc             v3.19.4
 | 
			
		||||
// source: service_monitor_node.proto
 | 
			
		||||
 | 
			
		||||
package pb
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	context "context"
 | 
			
		||||
	grpc "google.golang.org/grpc"
 | 
			
		||||
	codes "google.golang.org/grpc/codes"
 | 
			
		||||
	status "google.golang.org/grpc/status"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// This is a compile-time assertion to ensure that this generated file
 | 
			
		||||
// is compatible with the grpc package it is being compiled against.
 | 
			
		||||
// Requires gRPC-Go v1.32.0 or later.
 | 
			
		||||
const _ = grpc.SupportPackageIsVersion7
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	MonitorNodeService_CreateMonitorNode_FullMethodName           = "/pb.MonitorNodeService/createMonitorNode"
 | 
			
		||||
	MonitorNodeService_UpdateMonitorNode_FullMethodName           = "/pb.MonitorNodeService/updateMonitorNode"
 | 
			
		||||
	MonitorNodeService_DeleteMonitorNode_FullMethodName           = "/pb.MonitorNodeService/deleteMonitorNode"
 | 
			
		||||
	MonitorNodeService_FindAllEnabledMonitorNodes_FullMethodName  = "/pb.MonitorNodeService/findAllEnabledMonitorNodes"
 | 
			
		||||
	MonitorNodeService_CountAllEnabledMonitorNodes_FullMethodName = "/pb.MonitorNodeService/countAllEnabledMonitorNodes"
 | 
			
		||||
	MonitorNodeService_ListEnabledMonitorNodes_FullMethodName     = "/pb.MonitorNodeService/listEnabledMonitorNodes"
 | 
			
		||||
	MonitorNodeService_FindEnabledMonitorNode_FullMethodName      = "/pb.MonitorNodeService/findEnabledMonitorNode"
 | 
			
		||||
	MonitorNodeService_FindCurrentMonitorNode_FullMethodName      = "/pb.MonitorNodeService/findCurrentMonitorNode"
 | 
			
		||||
	MonitorNodeService_UpdateMonitorNodeStatus_FullMethodName     = "/pb.MonitorNodeService/updateMonitorNodeStatus"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// MonitorNodeServiceClient is the client API for MonitorNodeService service.
 | 
			
		||||
//
 | 
			
		||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
 | 
			
		||||
type MonitorNodeServiceClient interface {
 | 
			
		||||
	// 创建监控节点
 | 
			
		||||
	CreateMonitorNode(ctx context.Context, in *CreateMonitorNodeRequest, opts ...grpc.CallOption) (*CreateMonitorNodeResponse, error)
 | 
			
		||||
	// 修改监控节点
 | 
			
		||||
	UpdateMonitorNode(ctx context.Context, in *UpdateMonitorNodeRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
	// 删除监控节点
 | 
			
		||||
	DeleteMonitorNode(ctx context.Context, in *DeleteMonitorNodeRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
	// 列出所有可用监控节点
 | 
			
		||||
	FindAllEnabledMonitorNodes(ctx context.Context, in *FindAllEnabledMonitorNodesRequest, opts ...grpc.CallOption) (*FindAllEnabledMonitorNodesResponse, error)
 | 
			
		||||
	// 计算监控节点数量
 | 
			
		||||
	CountAllEnabledMonitorNodes(ctx context.Context, in *CountAllEnabledMonitorNodesRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
 | 
			
		||||
	// 列出单页的监控节点
 | 
			
		||||
	ListEnabledMonitorNodes(ctx context.Context, in *ListEnabledMonitorNodesRequest, opts ...grpc.CallOption) (*ListEnabledMonitorNodesResponse, error)
 | 
			
		||||
	// 根据ID查找节点
 | 
			
		||||
	FindEnabledMonitorNode(ctx context.Context, in *FindEnabledMonitorNodeRequest, opts ...grpc.CallOption) (*FindEnabledMonitorNodeResponse, error)
 | 
			
		||||
	// 获取当前监控节点信息
 | 
			
		||||
	FindCurrentMonitorNode(ctx context.Context, in *FindCurrentMonitorNodeRequest, opts ...grpc.CallOption) (*FindCurrentMonitorNodeResponse, error)
 | 
			
		||||
	// 更新节点状态
 | 
			
		||||
	UpdateMonitorNodeStatus(ctx context.Context, in *UpdateMonitorNodeStatusRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type monitorNodeServiceClient struct {
 | 
			
		||||
	cc grpc.ClientConnInterface
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func NewMonitorNodeServiceClient(cc grpc.ClientConnInterface) MonitorNodeServiceClient {
 | 
			
		||||
	return &monitorNodeServiceClient{cc}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *monitorNodeServiceClient) CreateMonitorNode(ctx context.Context, in *CreateMonitorNodeRequest, opts ...grpc.CallOption) (*CreateMonitorNodeResponse, error) {
 | 
			
		||||
	out := new(CreateMonitorNodeResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, MonitorNodeService_CreateMonitorNode_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *monitorNodeServiceClient) UpdateMonitorNode(ctx context.Context, in *UpdateMonitorNodeRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
 | 
			
		||||
	out := new(RPCSuccess)
 | 
			
		||||
	err := c.cc.Invoke(ctx, MonitorNodeService_UpdateMonitorNode_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *monitorNodeServiceClient) DeleteMonitorNode(ctx context.Context, in *DeleteMonitorNodeRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
 | 
			
		||||
	out := new(RPCSuccess)
 | 
			
		||||
	err := c.cc.Invoke(ctx, MonitorNodeService_DeleteMonitorNode_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *monitorNodeServiceClient) FindAllEnabledMonitorNodes(ctx context.Context, in *FindAllEnabledMonitorNodesRequest, opts ...grpc.CallOption) (*FindAllEnabledMonitorNodesResponse, error) {
 | 
			
		||||
	out := new(FindAllEnabledMonitorNodesResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, MonitorNodeService_FindAllEnabledMonitorNodes_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *monitorNodeServiceClient) CountAllEnabledMonitorNodes(ctx context.Context, in *CountAllEnabledMonitorNodesRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) {
 | 
			
		||||
	out := new(RPCCountResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, MonitorNodeService_CountAllEnabledMonitorNodes_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *monitorNodeServiceClient) ListEnabledMonitorNodes(ctx context.Context, in *ListEnabledMonitorNodesRequest, opts ...grpc.CallOption) (*ListEnabledMonitorNodesResponse, error) {
 | 
			
		||||
	out := new(ListEnabledMonitorNodesResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, MonitorNodeService_ListEnabledMonitorNodes_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *monitorNodeServiceClient) FindEnabledMonitorNode(ctx context.Context, in *FindEnabledMonitorNodeRequest, opts ...grpc.CallOption) (*FindEnabledMonitorNodeResponse, error) {
 | 
			
		||||
	out := new(FindEnabledMonitorNodeResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, MonitorNodeService_FindEnabledMonitorNode_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *monitorNodeServiceClient) FindCurrentMonitorNode(ctx context.Context, in *FindCurrentMonitorNodeRequest, opts ...grpc.CallOption) (*FindCurrentMonitorNodeResponse, error) {
 | 
			
		||||
	out := new(FindCurrentMonitorNodeResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, MonitorNodeService_FindCurrentMonitorNode_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *monitorNodeServiceClient) UpdateMonitorNodeStatus(ctx context.Context, in *UpdateMonitorNodeStatusRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
 | 
			
		||||
	out := new(RPCSuccess)
 | 
			
		||||
	err := c.cc.Invoke(ctx, MonitorNodeService_UpdateMonitorNodeStatus_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// MonitorNodeServiceServer is the server API for MonitorNodeService service.
 | 
			
		||||
// All implementations should embed UnimplementedMonitorNodeServiceServer
 | 
			
		||||
// for forward compatibility
 | 
			
		||||
type MonitorNodeServiceServer interface {
 | 
			
		||||
	// 创建监控节点
 | 
			
		||||
	CreateMonitorNode(context.Context, *CreateMonitorNodeRequest) (*CreateMonitorNodeResponse, error)
 | 
			
		||||
	// 修改监控节点
 | 
			
		||||
	UpdateMonitorNode(context.Context, *UpdateMonitorNodeRequest) (*RPCSuccess, error)
 | 
			
		||||
	// 删除监控节点
 | 
			
		||||
	DeleteMonitorNode(context.Context, *DeleteMonitorNodeRequest) (*RPCSuccess, error)
 | 
			
		||||
	// 列出所有可用监控节点
 | 
			
		||||
	FindAllEnabledMonitorNodes(context.Context, *FindAllEnabledMonitorNodesRequest) (*FindAllEnabledMonitorNodesResponse, error)
 | 
			
		||||
	// 计算监控节点数量
 | 
			
		||||
	CountAllEnabledMonitorNodes(context.Context, *CountAllEnabledMonitorNodesRequest) (*RPCCountResponse, error)
 | 
			
		||||
	// 列出单页的监控节点
 | 
			
		||||
	ListEnabledMonitorNodes(context.Context, *ListEnabledMonitorNodesRequest) (*ListEnabledMonitorNodesResponse, error)
 | 
			
		||||
	// 根据ID查找节点
 | 
			
		||||
	FindEnabledMonitorNode(context.Context, *FindEnabledMonitorNodeRequest) (*FindEnabledMonitorNodeResponse, error)
 | 
			
		||||
	// 获取当前监控节点信息
 | 
			
		||||
	FindCurrentMonitorNode(context.Context, *FindCurrentMonitorNodeRequest) (*FindCurrentMonitorNodeResponse, error)
 | 
			
		||||
	// 更新节点状态
 | 
			
		||||
	UpdateMonitorNodeStatus(context.Context, *UpdateMonitorNodeStatusRequest) (*RPCSuccess, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UnimplementedMonitorNodeServiceServer should be embedded to have forward compatible implementations.
 | 
			
		||||
type UnimplementedMonitorNodeServiceServer struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (UnimplementedMonitorNodeServiceServer) CreateMonitorNode(context.Context, *CreateMonitorNodeRequest) (*CreateMonitorNodeResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method CreateMonitorNode not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedMonitorNodeServiceServer) UpdateMonitorNode(context.Context, *UpdateMonitorNodeRequest) (*RPCSuccess, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method UpdateMonitorNode not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedMonitorNodeServiceServer) DeleteMonitorNode(context.Context, *DeleteMonitorNodeRequest) (*RPCSuccess, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method DeleteMonitorNode not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedMonitorNodeServiceServer) FindAllEnabledMonitorNodes(context.Context, *FindAllEnabledMonitorNodesRequest) (*FindAllEnabledMonitorNodesResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method FindAllEnabledMonitorNodes not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedMonitorNodeServiceServer) CountAllEnabledMonitorNodes(context.Context, *CountAllEnabledMonitorNodesRequest) (*RPCCountResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledMonitorNodes not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedMonitorNodeServiceServer) ListEnabledMonitorNodes(context.Context, *ListEnabledMonitorNodesRequest) (*ListEnabledMonitorNodesResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method ListEnabledMonitorNodes not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedMonitorNodeServiceServer) FindEnabledMonitorNode(context.Context, *FindEnabledMonitorNodeRequest) (*FindEnabledMonitorNodeResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method FindEnabledMonitorNode not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedMonitorNodeServiceServer) FindCurrentMonitorNode(context.Context, *FindCurrentMonitorNodeRequest) (*FindCurrentMonitorNodeResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method FindCurrentMonitorNode not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedMonitorNodeServiceServer) UpdateMonitorNodeStatus(context.Context, *UpdateMonitorNodeStatusRequest) (*RPCSuccess, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method UpdateMonitorNodeStatus not implemented")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UnsafeMonitorNodeServiceServer may be embedded to opt out of forward compatibility for this service.
 | 
			
		||||
// Use of this interface is not recommended, as added methods to MonitorNodeServiceServer will
 | 
			
		||||
// result in compilation errors.
 | 
			
		||||
type UnsafeMonitorNodeServiceServer interface {
 | 
			
		||||
	mustEmbedUnimplementedMonitorNodeServiceServer()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RegisterMonitorNodeServiceServer(s grpc.ServiceRegistrar, srv MonitorNodeServiceServer) {
 | 
			
		||||
	s.RegisterService(&MonitorNodeService_ServiceDesc, srv)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _MonitorNodeService_CreateMonitorNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(CreateMonitorNodeRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(MonitorNodeServiceServer).CreateMonitorNode(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: MonitorNodeService_CreateMonitorNode_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(MonitorNodeServiceServer).CreateMonitorNode(ctx, req.(*CreateMonitorNodeRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _MonitorNodeService_UpdateMonitorNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(UpdateMonitorNodeRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(MonitorNodeServiceServer).UpdateMonitorNode(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: MonitorNodeService_UpdateMonitorNode_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(MonitorNodeServiceServer).UpdateMonitorNode(ctx, req.(*UpdateMonitorNodeRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _MonitorNodeService_DeleteMonitorNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(DeleteMonitorNodeRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(MonitorNodeServiceServer).DeleteMonitorNode(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: MonitorNodeService_DeleteMonitorNode_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(MonitorNodeServiceServer).DeleteMonitorNode(ctx, req.(*DeleteMonitorNodeRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _MonitorNodeService_FindAllEnabledMonitorNodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(FindAllEnabledMonitorNodesRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(MonitorNodeServiceServer).FindAllEnabledMonitorNodes(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: MonitorNodeService_FindAllEnabledMonitorNodes_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(MonitorNodeServiceServer).FindAllEnabledMonitorNodes(ctx, req.(*FindAllEnabledMonitorNodesRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _MonitorNodeService_CountAllEnabledMonitorNodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(CountAllEnabledMonitorNodesRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(MonitorNodeServiceServer).CountAllEnabledMonitorNodes(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: MonitorNodeService_CountAllEnabledMonitorNodes_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(MonitorNodeServiceServer).CountAllEnabledMonitorNodes(ctx, req.(*CountAllEnabledMonitorNodesRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _MonitorNodeService_ListEnabledMonitorNodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(ListEnabledMonitorNodesRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(MonitorNodeServiceServer).ListEnabledMonitorNodes(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: MonitorNodeService_ListEnabledMonitorNodes_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(MonitorNodeServiceServer).ListEnabledMonitorNodes(ctx, req.(*ListEnabledMonitorNodesRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _MonitorNodeService_FindEnabledMonitorNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(FindEnabledMonitorNodeRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(MonitorNodeServiceServer).FindEnabledMonitorNode(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: MonitorNodeService_FindEnabledMonitorNode_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(MonitorNodeServiceServer).FindEnabledMonitorNode(ctx, req.(*FindEnabledMonitorNodeRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _MonitorNodeService_FindCurrentMonitorNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(FindCurrentMonitorNodeRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(MonitorNodeServiceServer).FindCurrentMonitorNode(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: MonitorNodeService_FindCurrentMonitorNode_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(MonitorNodeServiceServer).FindCurrentMonitorNode(ctx, req.(*FindCurrentMonitorNodeRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _MonitorNodeService_UpdateMonitorNodeStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(UpdateMonitorNodeStatusRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(MonitorNodeServiceServer).UpdateMonitorNodeStatus(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: MonitorNodeService_UpdateMonitorNodeStatus_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(MonitorNodeServiceServer).UpdateMonitorNodeStatus(ctx, req.(*UpdateMonitorNodeStatusRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// MonitorNodeService_ServiceDesc is the grpc.ServiceDesc for MonitorNodeService service.
 | 
			
		||||
// It's only intended for direct use with grpc.RegisterService,
 | 
			
		||||
// and not to be introspected or modified (even as a copy)
 | 
			
		||||
var MonitorNodeService_ServiceDesc = grpc.ServiceDesc{
 | 
			
		||||
	ServiceName: "pb.MonitorNodeService",
 | 
			
		||||
	HandlerType: (*MonitorNodeServiceServer)(nil),
 | 
			
		||||
	Methods: []grpc.MethodDesc{
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "createMonitorNode",
 | 
			
		||||
			Handler:    _MonitorNodeService_CreateMonitorNode_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "updateMonitorNode",
 | 
			
		||||
			Handler:    _MonitorNodeService_UpdateMonitorNode_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "deleteMonitorNode",
 | 
			
		||||
			Handler:    _MonitorNodeService_DeleteMonitorNode_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "findAllEnabledMonitorNodes",
 | 
			
		||||
			Handler:    _MonitorNodeService_FindAllEnabledMonitorNodes_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "countAllEnabledMonitorNodes",
 | 
			
		||||
			Handler:    _MonitorNodeService_CountAllEnabledMonitorNodes_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "listEnabledMonitorNodes",
 | 
			
		||||
			Handler:    _MonitorNodeService_ListEnabledMonitorNodes_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "findEnabledMonitorNode",
 | 
			
		||||
			Handler:    _MonitorNodeService_FindEnabledMonitorNode_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "findCurrentMonitorNode",
 | 
			
		||||
			Handler:    _MonitorNodeService_FindCurrentMonitorNode_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "updateMonitorNodeStatus",
 | 
			
		||||
			Handler:    _MonitorNodeService_UpdateMonitorNodeStatus_Handler,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	Streams:  []grpc.StreamDesc{},
 | 
			
		||||
	Metadata: "service_monitor_node.proto",
 | 
			
		||||
}
 | 
			
		||||
@@ -1,14 +0,0 @@
 | 
			
		||||
syntax = "proto3";
 | 
			
		||||
option go_package = "./pb";
 | 
			
		||||
 | 
			
		||||
package pb;
 | 
			
		||||
 | 
			
		||||
message MonitorNode {
 | 
			
		||||
	int64 id = 1;
 | 
			
		||||
	bool isOn = 2;
 | 
			
		||||
	string uniqueId = 3;
 | 
			
		||||
	string secret = 4;
 | 
			
		||||
	string name = 5;
 | 
			
		||||
	string description = 6;
 | 
			
		||||
	bytes statusJSON = 7;
 | 
			
		||||
}
 | 
			
		||||
@@ -227,7 +227,6 @@ message ComposeAdminDashboardResponse {
 | 
			
		||||
 | 
			
		||||
	UpgradeInfo nodeUpgradeInfo = 32;
 | 
			
		||||
	UpgradeInfo apiNodeUpgradeInfo = 33;
 | 
			
		||||
	UpgradeInfo monitorNodeUpgradeInfo = 34;
 | 
			
		||||
	UpgradeInfo userNodeUpgradeInfo = 35;
 | 
			
		||||
	UpgradeInfo authorityNodeUpgradeInfo = 36;
 | 
			
		||||
	UpgradeInfo nsNodeUpgradeInfo = 37;
 | 
			
		||||
 
 | 
			
		||||
@@ -11,9 +11,6 @@ service MessageMediaService {
 | 
			
		||||
	// 获取所有支持的媒介
 | 
			
		||||
	rpc findAllMessageMedias (FindAllMessageMediasRequest) returns (FindAllMessageMediasResponse);
 | 
			
		||||
 | 
			
		||||
	// 设置所有支持的媒介
 | 
			
		||||
	rpc updateMessageMedias (UpdateMessageMediasRequest) returns (RPCSuccess);
 | 
			
		||||
 | 
			
		||||
	// 发送媒介信息
 | 
			
		||||
	rpc sendMediaMessage(SendMediaMessageRequest) returns (RPCSuccess);
 | 
			
		||||
}
 | 
			
		||||
@@ -27,11 +24,6 @@ message FindAllMessageMediasResponse {
 | 
			
		||||
	repeated MessageMedia messageMedias = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 设置所有支持的媒介
 | 
			
		||||
message UpdateMessageMediasRequest {
 | 
			
		||||
	repeated MessageMedia messageMedias = 2;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 发送媒介信息
 | 
			
		||||
message SendMediaMessageRequest {
 | 
			
		||||
	string mediaType = 1; // 媒介类型
 | 
			
		||||
 
 | 
			
		||||
@@ -11,12 +11,6 @@ service MessageTaskService {
 | 
			
		||||
	// 创建消息任务
 | 
			
		||||
	rpc createMessageTask (CreateMessageTaskRequest) returns (CreateMessageTaskResponse);
 | 
			
		||||
 | 
			
		||||
	// 查找要发送的消息任务
 | 
			
		||||
	rpc findSendingMessageTasks (FindSendingMessageTasksRequest) returns (FindSendingMessageTasksResponse);
 | 
			
		||||
 | 
			
		||||
	// 修改消息任务状态
 | 
			
		||||
	rpc updateMessageTaskStatus (UpdateMessageTaskStatusRequest) returns (RPCSuccess);
 | 
			
		||||
 | 
			
		||||
	// 删除消息任务
 | 
			
		||||
	rpc deleteMessageTask (DeleteMessageTaskRequest) returns (RPCSuccess);
 | 
			
		||||
 | 
			
		||||
@@ -28,36 +22,23 @@ service MessageTaskService {
 | 
			
		||||
 | 
			
		||||
	// 根据状态列出某页任务
 | 
			
		||||
	rpc listMessageTasksWithStatus(ListMessageTasksWithStatusRequest) returns (ListMessageTasksWithStatusResponse);
 | 
			
		||||
 | 
			
		||||
	// 发送某个消息任务
 | 
			
		||||
	rpc sendMessageTask(SendMessageTaskRequest) returns (SendMessageTaskResponse);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 创建消息任务
 | 
			
		||||
message CreateMessageTaskRequest {
 | 
			
		||||
	int64 recipientId = 1;
 | 
			
		||||
	int64 instanceId = 2;
 | 
			
		||||
	string user = 3;
 | 
			
		||||
	string subject = 4;
 | 
			
		||||
	string body = 5;
 | 
			
		||||
	bool isPrimary = 6;
 | 
			
		||||
	int64 messageRecipientId = 1; // 接收人ID
 | 
			
		||||
	int64 messageMediaInstanceId = 2; // 媒介实例ID
 | 
			
		||||
	string user = 3; // 用户标识
 | 
			
		||||
	string subject = 4; // 标题
 | 
			
		||||
	string body = 5; // 内容
 | 
			
		||||
	bool isPrimary = 6; // 是否优先发送
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message CreateMessageTaskResponse {
 | 
			
		||||
	int64 messageTaskId = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 查找要发送的消息任务
 | 
			
		||||
message FindSendingMessageTasksRequest {
 | 
			
		||||
	int64 size = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message FindSendingMessageTasksResponse {
 | 
			
		||||
	repeated MessageTask messageTasks = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 修改消息任务状态
 | 
			
		||||
message UpdateMessageTaskStatusRequest {
 | 
			
		||||
	int64 messageTaskId = 1;
 | 
			
		||||
	int32 status = 2;
 | 
			
		||||
	MessageTaskResult result = 3;
 | 
			
		||||
	int64 messageTaskId = 1; // 消息任务ID
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 删除消息任务
 | 
			
		||||
@@ -102,4 +83,19 @@ message ListMessageTasksWithStatusRequest {
 | 
			
		||||
 | 
			
		||||
message ListMessageTasksWithStatusResponse {
 | 
			
		||||
	repeated MessageTask messageTasks = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 发送某个消息任务
 | 
			
		||||
// 与创建消息任务放入到后台任务队列不同,此API是直接发送
 | 
			
		||||
message SendMessageTaskRequest {
 | 
			
		||||
	int64 messageMediaInstanceId = 1; // 媒介实例ID
 | 
			
		||||
	string user = 2; // 用户标识
 | 
			
		||||
	string subject = 3; // 标题
 | 
			
		||||
	string body = 4; // 内容
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message SendMessageTaskResponse {
 | 
			
		||||
	bool isOk = 1; // 是否成功
 | 
			
		||||
	string error = 2; // 失败时的提示信息
 | 
			
		||||
	string response = 3; // 发送成功后响应内容
 | 
			
		||||
}
 | 
			
		||||
@@ -1,108 +0,0 @@
 | 
			
		||||
syntax = "proto3";
 | 
			
		||||
option go_package = "./pb";
 | 
			
		||||
 | 
			
		||||
package pb;
 | 
			
		||||
import "models/model_monitor_node.proto";
 | 
			
		||||
import "models/rpc_messages.proto";
 | 
			
		||||
 | 
			
		||||
// 监控节点管理服务
 | 
			
		||||
service MonitorNodeService {
 | 
			
		||||
	// 创建监控节点
 | 
			
		||||
	rpc createMonitorNode (CreateMonitorNodeRequest) returns (CreateMonitorNodeResponse);
 | 
			
		||||
 | 
			
		||||
	// 修改监控节点
 | 
			
		||||
	rpc updateMonitorNode (UpdateMonitorNodeRequest) returns (RPCSuccess);
 | 
			
		||||
 | 
			
		||||
	// 删除监控节点
 | 
			
		||||
	rpc deleteMonitorNode (DeleteMonitorNodeRequest) returns (RPCSuccess);
 | 
			
		||||
 | 
			
		||||
	// 列出所有可用监控节点
 | 
			
		||||
	rpc findAllEnabledMonitorNodes (FindAllEnabledMonitorNodesRequest) returns (FindAllEnabledMonitorNodesResponse);
 | 
			
		||||
 | 
			
		||||
	// 计算监控节点数量
 | 
			
		||||
	rpc countAllEnabledMonitorNodes (CountAllEnabledMonitorNodesRequest) returns (RPCCountResponse);
 | 
			
		||||
 | 
			
		||||
	// 列出单页的监控节点
 | 
			
		||||
	rpc listEnabledMonitorNodes (ListEnabledMonitorNodesRequest) returns (ListEnabledMonitorNodesResponse);
 | 
			
		||||
 | 
			
		||||
	// 根据ID查找节点
 | 
			
		||||
	rpc findEnabledMonitorNode (FindEnabledMonitorNodeRequest) returns (FindEnabledMonitorNodeResponse);
 | 
			
		||||
 | 
			
		||||
	// 获取当前监控节点信息
 | 
			
		||||
	rpc findCurrentMonitorNode (FindCurrentMonitorNodeRequest) returns (FindCurrentMonitorNodeResponse);
 | 
			
		||||
 | 
			
		||||
	// 更新节点状态
 | 
			
		||||
	rpc updateMonitorNodeStatus (UpdateMonitorNodeStatusRequest) returns (RPCSuccess);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 创建监控节点
 | 
			
		||||
message CreateMonitorNodeRequest {
 | 
			
		||||
	string name = 1;
 | 
			
		||||
	string description = 2;
 | 
			
		||||
	bool isOn = 3;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message CreateMonitorNodeResponse {
 | 
			
		||||
	int64 monitorNodeId = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 修改监控节点
 | 
			
		||||
message UpdateMonitorNodeRequest {
 | 
			
		||||
	int64 monitorNodeId = 1;
 | 
			
		||||
	string name = 2;
 | 
			
		||||
	string description = 3;
 | 
			
		||||
	bool isOn = 4;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 删除监控节点
 | 
			
		||||
message DeleteMonitorNodeRequest {
 | 
			
		||||
	int64 monitorNodeId = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 列出所有可用监控节点
 | 
			
		||||
message FindAllEnabledMonitorNodesRequest {
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message FindAllEnabledMonitorNodesResponse {
 | 
			
		||||
	repeated MonitorNode monitorNodes = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 计算监控节点数量
 | 
			
		||||
message CountAllEnabledMonitorNodesRequest {
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 列出单页的监控节点
 | 
			
		||||
message ListEnabledMonitorNodesRequest {
 | 
			
		||||
	int64 offset = 1;
 | 
			
		||||
	int64 size = 2;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message ListEnabledMonitorNodesResponse {
 | 
			
		||||
	repeated MonitorNode monitorNodes = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 根据ID查找节点
 | 
			
		||||
message FindEnabledMonitorNodeRequest {
 | 
			
		||||
	int64 monitorNodeId = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message FindEnabledMonitorNodeResponse {
 | 
			
		||||
	MonitorNode monitorNode = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 获取当前监控节点
 | 
			
		||||
message FindCurrentMonitorNodeRequest {
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message FindCurrentMonitorNodeResponse {
 | 
			
		||||
	MonitorNode monitorNode = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 更新监控状态
 | 
			
		||||
message UpdateMonitorNodeStatusRequest {
 | 
			
		||||
	int64 monitorNodeId = 1;
 | 
			
		||||
	bytes statusJSON = 2;
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user