From 9492a186e24d74b51abbc1b235f0bec744fbb84d Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Wed, 24 Sep 2025 13:52:56 +0800 Subject: [PATCH 01/38] =?UTF-8?q?feat=EF=BC=9A=E5=A2=9E=E5=8A=A0=E5=AE=98?= =?UTF-8?q?=E7=BD=91=E6=8A=A5=E5=91=8A=E6=A8=A1=E5=9D=97=E8=B7=AF=E7=94=B1?= =?UTF-8?q?=E4=B8=8E=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/reports/reports.pb.go | 1850 +++++++++++++++++++++++ api/reports/reports.validator.pb.go | 98 ++ api/reports/reports_triple.pb.go | 466 ++++++ pkg/router/router.go | 16 + pkg/service/init.go | 3 + pkg/service/reports/annualReports.go | 71 + pkg/service/reports/quarterlyReports.go | 71 + 7 files changed, 2575 insertions(+) create mode 100644 api/reports/reports.pb.go create mode 100644 api/reports/reports.validator.pb.go create mode 100644 api/reports/reports_triple.pb.go create mode 100644 pkg/service/reports/annualReports.go create mode 100644 pkg/service/reports/quarterlyReports.go diff --git a/api/reports/reports.pb.go b/api/reports/reports.pb.go new file mode 100644 index 0000000..1934638 --- /dev/null +++ b/api/reports/reports.pb.go @@ -0,0 +1,1850 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v5.26.0 +// source: api/reports/reports.proto + +package reports + +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 Filtrate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FileName string `protobuf:"bytes,3,opt,name=fileName,proto3" json:"fileName"` //文件名称 + Status int32 `protobuf:"varint,4,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) +} + +func (x *Filtrate) Reset() { + *x = Filtrate{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Filtrate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Filtrate) ProtoMessage() {} + +func (x *Filtrate) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_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 Filtrate.ProtoReflect.Descriptor instead. +func (*Filtrate) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{0} +} + +func (x *Filtrate) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +func (x *Filtrate) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +// ==================================年度报告====================================== +type GetAnnualReportListReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize"` + Filtrate *Filtrate `protobuf:"bytes,3,opt,name=filtrate,proto3" json:"filtrate"` +} + +func (x *GetAnnualReportListReq) Reset() { + *x = GetAnnualReportListReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetAnnualReportListReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAnnualReportListReq) ProtoMessage() {} + +func (x *GetAnnualReportListReq) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAnnualReportListReq.ProtoReflect.Descriptor instead. +func (*GetAnnualReportListReq) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{1} +} + +func (x *GetAnnualReportListReq) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *GetAnnualReportListReq) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *GetAnnualReportListReq) GetFiltrate() *Filtrate { + if x != nil { + return x.Filtrate + } + return nil +} + +type GetAnnualReportListResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` + Page int32 `protobuf:"varint,2,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize"` + Total int32 `protobuf:"varint,4,opt,name=total,proto3" json:"total"` + Data []*AnnualReport `protobuf:"bytes,5,rep,name=data,proto3" json:"data"` +} + +func (x *GetAnnualReportListResp) Reset() { + *x = GetAnnualReportListResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetAnnualReportListResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAnnualReportListResp) ProtoMessage() {} + +func (x *GetAnnualReportListResp) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_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 GetAnnualReportListResp.ProtoReflect.Descriptor instead. +func (*GetAnnualReportListResp) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{2} +} + +func (x *GetAnnualReportListResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *GetAnnualReportListResp) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *GetAnnualReportListResp) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *GetAnnualReportListResp) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *GetAnnualReportListResp) GetData() []*AnnualReport { + if x != nil { + return x.Data + } + return nil +} + +type AnnualReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` //id + FileName string `protobuf:"bytes,2,opt,name=fileName,proto3" json:"fileName"` //文件名称 + Date string `protobuf:"bytes,3,opt,name=date,proto3" json:"date"` //日期 + FileUrl string `protobuf:"bytes,4,opt,name=fileUrl,proto3" json:"fileUrl"` //访问地址 + Status int32 `protobuf:"varint,5,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) + Sort int32 `protobuf:"varint,6,opt,name=sort,proto3" json:"sort"` //排序 + UpdateTime string `protobuf:"bytes,7,opt,name=updateTime,proto3" json:"updateTime"` //最近更新时间 + Operator string `protobuf:"bytes,8,opt,name=operator,proto3" json:"operator"` //操作人 + OperatorId int32 `protobuf:"varint,9,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id +} + +func (x *AnnualReport) Reset() { + *x = AnnualReport{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnnualReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnnualReport) ProtoMessage() {} + +func (x *AnnualReport) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_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 AnnualReport.ProtoReflect.Descriptor instead. +func (*AnnualReport) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{3} +} + +func (x *AnnualReport) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *AnnualReport) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +func (x *AnnualReport) GetDate() string { + if x != nil { + return x.Date + } + return "" +} + +func (x *AnnualReport) GetFileUrl() string { + if x != nil { + return x.FileUrl + } + return "" +} + +func (x *AnnualReport) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *AnnualReport) GetSort() int32 { + if x != nil { + return x.Sort + } + return 0 +} + +func (x *AnnualReport) GetUpdateTime() string { + if x != nil { + return x.UpdateTime + } + return "" +} + +func (x *AnnualReport) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *AnnualReport) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type AddAnnualReportReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FileName string `protobuf:"bytes,1,opt,name=fileName,proto3" json:"fileName"` //文件名称 + Date string `protobuf:"bytes,2,opt,name=date,proto3" json:"date"` //日期 + FileUrl string `protobuf:"bytes,3,opt,name=fileUrl,proto3" json:"fileUrl"` //访问地址 + Operator string `protobuf:"bytes,4,opt,name=operator,proto3" json:"operator"` //操作人 + OperatorId int32 `protobuf:"varint,5,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id +} + +func (x *AddAnnualReportReq) Reset() { + *x = AddAnnualReportReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddAnnualReportReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddAnnualReportReq) ProtoMessage() {} + +func (x *AddAnnualReportReq) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_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 AddAnnualReportReq.ProtoReflect.Descriptor instead. +func (*AddAnnualReportReq) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{4} +} + +func (x *AddAnnualReportReq) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +func (x *AddAnnualReportReq) GetDate() string { + if x != nil { + return x.Date + } + return "" +} + +func (x *AddAnnualReportReq) GetFileUrl() string { + if x != nil { + return x.FileUrl + } + return "" +} + +func (x *AddAnnualReportReq) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *AddAnnualReportReq) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type AddAnnualReportResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *AddAnnualReportResp) Reset() { + *x = AddAnnualReportResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddAnnualReportResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddAnnualReportResp) ProtoMessage() {} + +func (x *AddAnnualReportResp) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[5] + 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 AddAnnualReportResp.ProtoReflect.Descriptor instead. +func (*AddAnnualReportResp) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{5} +} + +func (x *AddAnnualReportResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type EditAnnualReportReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` //id + FileName string `protobuf:"bytes,2,opt,name=fileName,proto3" json:"fileName"` //文件名称 + Date string `protobuf:"bytes,3,opt,name=date,proto3" json:"date"` //日期 + FileUrl string `protobuf:"bytes,4,opt,name=fileUrl,proto3" json:"fileUrl"` //访问地址 + Sort int32 `protobuf:"varint,5,opt,name=sort,proto3" json:"sort"` //排序 + Status int32 `protobuf:"varint,6,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) + Operator string `protobuf:"bytes,7,opt,name=operator,proto3" json:"operator"` //操作人 + OperatorId int32 `protobuf:"varint,8,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id +} + +func (x *EditAnnualReportReq) Reset() { + *x = EditAnnualReportReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EditAnnualReportReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EditAnnualReportReq) ProtoMessage() {} + +func (x *EditAnnualReportReq) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[6] + 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 EditAnnualReportReq.ProtoReflect.Descriptor instead. +func (*EditAnnualReportReq) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{6} +} + +func (x *EditAnnualReportReq) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *EditAnnualReportReq) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +func (x *EditAnnualReportReq) GetDate() string { + if x != nil { + return x.Date + } + return "" +} + +func (x *EditAnnualReportReq) GetFileUrl() string { + if x != nil { + return x.FileUrl + } + return "" +} + +func (x *EditAnnualReportReq) GetSort() int32 { + if x != nil { + return x.Sort + } + return 0 +} + +func (x *EditAnnualReportReq) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *EditAnnualReportReq) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *EditAnnualReportReq) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type EditAnnualReportResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *EditAnnualReportResp) Reset() { + *x = EditAnnualReportResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EditAnnualReportResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EditAnnualReportResp) ProtoMessage() {} + +func (x *EditAnnualReportResp) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[7] + 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 EditAnnualReportResp.ProtoReflect.Descriptor instead. +func (*EditAnnualReportResp) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{7} +} + +func (x *EditAnnualReportResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type DeleteAnnualReportReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` +} + +func (x *DeleteAnnualReportReq) Reset() { + *x = DeleteAnnualReportReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteAnnualReportReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteAnnualReportReq) ProtoMessage() {} + +func (x *DeleteAnnualReportReq) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_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 DeleteAnnualReportReq.ProtoReflect.Descriptor instead. +func (*DeleteAnnualReportReq) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{8} +} + +func (x *DeleteAnnualReportReq) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +type DeleteAnnualReportResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *DeleteAnnualReportResp) Reset() { + *x = DeleteAnnualReportResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteAnnualReportResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteAnnualReportResp) ProtoMessage() {} + +func (x *DeleteAnnualReportResp) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_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 DeleteAnnualReportResp.ProtoReflect.Descriptor instead. +func (*DeleteAnnualReportResp) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{9} +} + +func (x *DeleteAnnualReportResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +// ==================================季度报告====================================== +type GetQuarterlyReportListReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize"` + Filtrate *Filtrate `protobuf:"bytes,3,opt,name=filtrate,proto3" json:"filtrate"` +} + +func (x *GetQuarterlyReportListReq) Reset() { + *x = GetQuarterlyReportListReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetQuarterlyReportListReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetQuarterlyReportListReq) ProtoMessage() {} + +func (x *GetQuarterlyReportListReq) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[10] + 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 GetQuarterlyReportListReq.ProtoReflect.Descriptor instead. +func (*GetQuarterlyReportListReq) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{10} +} + +func (x *GetQuarterlyReportListReq) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *GetQuarterlyReportListReq) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *GetQuarterlyReportListReq) GetFiltrate() *Filtrate { + if x != nil { + return x.Filtrate + } + return nil +} + +type GetQuarterlyReportListResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` + Page int32 `protobuf:"varint,2,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize"` + Total int32 `protobuf:"varint,4,opt,name=total,proto3" json:"total"` + Data []*QuarterlyReport `protobuf:"bytes,5,rep,name=data,proto3" json:"data"` +} + +func (x *GetQuarterlyReportListResp) Reset() { + *x = GetQuarterlyReportListResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetQuarterlyReportListResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetQuarterlyReportListResp) ProtoMessage() {} + +func (x *GetQuarterlyReportListResp) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[11] + 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 GetQuarterlyReportListResp.ProtoReflect.Descriptor instead. +func (*GetQuarterlyReportListResp) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{11} +} + +func (x *GetQuarterlyReportListResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *GetQuarterlyReportListResp) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *GetQuarterlyReportListResp) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *GetQuarterlyReportListResp) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *GetQuarterlyReportListResp) GetData() []*QuarterlyReport { + if x != nil { + return x.Data + } + return nil +} + +type QuarterlyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` //id + FileName string `protobuf:"bytes,2,opt,name=fileName,proto3" json:"fileName"` //文件名称 + FileIntroduce string `protobuf:"bytes,3,opt,name=fileIntroduce,proto3" json:"fileIntroduce"` //文件介绍 + Sort int32 `protobuf:"varint,4,opt,name=sort,proto3" json:"sort"` //排序 + Status int32 `protobuf:"varint,5,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) + UpdateTime string `protobuf:"bytes,6,opt,name=updateTime,proto3" json:"updateTime"` //最近更新时间 + Operator string `protobuf:"bytes,7,opt,name=operator,proto3" json:"operator"` //操作人 + OperatorId int32 `protobuf:"varint,8,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id +} + +func (x *QuarterlyReport) Reset() { + *x = QuarterlyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QuarterlyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QuarterlyReport) ProtoMessage() {} + +func (x *QuarterlyReport) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[12] + 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 QuarterlyReport.ProtoReflect.Descriptor instead. +func (*QuarterlyReport) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{12} +} + +func (x *QuarterlyReport) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *QuarterlyReport) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +func (x *QuarterlyReport) GetFileIntroduce() string { + if x != nil { + return x.FileIntroduce + } + return "" +} + +func (x *QuarterlyReport) GetSort() int32 { + if x != nil { + return x.Sort + } + return 0 +} + +func (x *QuarterlyReport) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *QuarterlyReport) GetUpdateTime() string { + if x != nil { + return x.UpdateTime + } + return "" +} + +func (x *QuarterlyReport) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *QuarterlyReport) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type AddQuarterlyReportReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FileName string `protobuf:"bytes,1,opt,name=fileName,proto3" json:"fileName"` //文件名称 + FileIntroduce string `protobuf:"bytes,2,opt,name=fileIntroduce,proto3" json:"fileIntroduce"` //文件介绍 + Attachment string `protobuf:"bytes,3,opt,name=attachment,proto3" json:"attachment"` //附件 + AttachmentName string `protobuf:"bytes,4,opt,name=attachmentName,proto3" json:"attachmentName"` //附件名称 + Operator string `protobuf:"bytes,5,opt,name=operator,proto3" json:"operator"` //操作人 + OperatorId int32 `protobuf:"varint,6,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id +} + +func (x *AddQuarterlyReportReq) Reset() { + *x = AddQuarterlyReportReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddQuarterlyReportReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddQuarterlyReportReq) ProtoMessage() {} + +func (x *AddQuarterlyReportReq) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[13] + 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 AddQuarterlyReportReq.ProtoReflect.Descriptor instead. +func (*AddQuarterlyReportReq) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{13} +} + +func (x *AddQuarterlyReportReq) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +func (x *AddQuarterlyReportReq) GetFileIntroduce() string { + if x != nil { + return x.FileIntroduce + } + return "" +} + +func (x *AddQuarterlyReportReq) GetAttachment() string { + if x != nil { + return x.Attachment + } + return "" +} + +func (x *AddQuarterlyReportReq) GetAttachmentName() string { + if x != nil { + return x.AttachmentName + } + return "" +} + +func (x *AddQuarterlyReportReq) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *AddQuarterlyReportReq) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type AddQuarterlyReportResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *AddQuarterlyReportResp) Reset() { + *x = AddQuarterlyReportResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddQuarterlyReportResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddQuarterlyReportResp) ProtoMessage() {} + +func (x *AddQuarterlyReportResp) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[14] + 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 AddQuarterlyReportResp.ProtoReflect.Descriptor instead. +func (*AddQuarterlyReportResp) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{14} +} + +func (x *AddQuarterlyReportResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type EditQuarterlyReportReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` //id + FileName string `protobuf:"bytes,2,opt,name=fileName,proto3" json:"fileName"` //文件名称 + FileIntroduce string `protobuf:"bytes,3,opt,name=fileIntroduce,proto3" json:"fileIntroduce"` //文件介绍 + Attachment string `protobuf:"bytes,4,opt,name=attachment,proto3" json:"attachment"` //附件 + AttachmentName string `protobuf:"bytes,5,opt,name=attachmentName,proto3" json:"attachmentName"` //附件名称 + Sort int32 `protobuf:"varint,6,opt,name=sort,proto3" json:"sort"` //排序 + Status int32 `protobuf:"varint,7,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) + Operator string `protobuf:"bytes,8,opt,name=operator,proto3" json:"operator"` //操作人 + OperatorId int32 `protobuf:"varint,9,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id +} + +func (x *EditQuarterlyReportReq) Reset() { + *x = EditQuarterlyReportReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EditQuarterlyReportReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EditQuarterlyReportReq) ProtoMessage() {} + +func (x *EditQuarterlyReportReq) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[15] + 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 EditQuarterlyReportReq.ProtoReflect.Descriptor instead. +func (*EditQuarterlyReportReq) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{15} +} + +func (x *EditQuarterlyReportReq) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *EditQuarterlyReportReq) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +func (x *EditQuarterlyReportReq) GetFileIntroduce() string { + if x != nil { + return x.FileIntroduce + } + return "" +} + +func (x *EditQuarterlyReportReq) GetAttachment() string { + if x != nil { + return x.Attachment + } + return "" +} + +func (x *EditQuarterlyReportReq) GetAttachmentName() string { + if x != nil { + return x.AttachmentName + } + return "" +} + +func (x *EditQuarterlyReportReq) GetSort() int32 { + if x != nil { + return x.Sort + } + return 0 +} + +func (x *EditQuarterlyReportReq) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *EditQuarterlyReportReq) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *EditQuarterlyReportReq) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type EditQuarterlyReportResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *EditQuarterlyReportResp) Reset() { + *x = EditQuarterlyReportResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EditQuarterlyReportResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EditQuarterlyReportResp) ProtoMessage() {} + +func (x *EditQuarterlyReportResp) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[16] + 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 EditQuarterlyReportResp.ProtoReflect.Descriptor instead. +func (*EditQuarterlyReportResp) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{16} +} + +func (x *EditQuarterlyReportResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type DeleteQuarterlyReportReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` +} + +func (x *DeleteQuarterlyReportReq) Reset() { + *x = DeleteQuarterlyReportReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteQuarterlyReportReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteQuarterlyReportReq) ProtoMessage() {} + +func (x *DeleteQuarterlyReportReq) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[17] + 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 DeleteQuarterlyReportReq.ProtoReflect.Descriptor instead. +func (*DeleteQuarterlyReportReq) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{17} +} + +func (x *DeleteQuarterlyReportReq) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +type DeleteQuarterlyReportResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *DeleteQuarterlyReportResp) Reset() { + *x = DeleteQuarterlyReportResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteQuarterlyReportResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteQuarterlyReportResp) ProtoMessage() {} + +func (x *DeleteQuarterlyReportResp) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[18] + 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 DeleteQuarterlyReportResp.ProtoReflect.Descriptor instead. +func (*DeleteQuarterlyReportResp) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{18} +} + +func (x *DeleteQuarterlyReportResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +var File_api_reports_reports_proto protoreflect.FileDescriptor + +var file_api_reports_reports_proto_rawDesc = []byte{ + 0x0a, 0x19, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x22, 0x3e, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x22, 0x77, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, + 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, + 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, + 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, + 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x11, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x72, + 0x61, 0x74, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x22, 0x9c, 0x01, + 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, + 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x12, 0x29, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xf0, 0x01, 0x0a, + 0x0c, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, + 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, + 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, + 0x9a, 0x01, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, + 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, + 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x27, 0x0a, 0x13, + 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xd7, 0x01, 0x0a, 0x13, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, + 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, + 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, + 0x28, 0x0a, 0x14, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x27, 0x0a, 0x15, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, + 0x69, 0x64, 0x22, 0x2a, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, + 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, + 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x7a, + 0x0a, 0x19, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, + 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x66, + 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, + 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x22, 0xa2, 0x01, 0x0a, 0x1a, 0x47, + 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, + 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x12, 0x2c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, + 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, + 0xeb, 0x01, 0x0a, 0x0f, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, + 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0xdd, 0x01, + 0x0a, 0x15, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, + 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, + 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2a, 0x0a, + 0x16, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x9a, 0x02, 0x0a, 0x16, 0x45, 0x64, + 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, + 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, + 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2b, 0x0a, 0x17, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, + 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6d, 0x73, 0x67, 0x22, 0x2a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, + 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, + 0x2d, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, + 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, + 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x32, 0xcd, + 0x05, 0x0a, 0x07, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x13, 0x47, 0x65, + 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, + 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, + 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x4c, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, + 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, + 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x2e, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, + 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, + 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x2e, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, 0x47, 0x65, + 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, + 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, + 0x12, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, + 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, + 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, + 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1f, 0x2e, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, + 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, + 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5e, + 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, + 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x21, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, + 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, + 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, + 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_api_reports_reports_proto_rawDescOnce sync.Once + file_api_reports_reports_proto_rawDescData = file_api_reports_reports_proto_rawDesc +) + +func file_api_reports_reports_proto_rawDescGZIP() []byte { + file_api_reports_reports_proto_rawDescOnce.Do(func() { + file_api_reports_reports_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_reports_reports_proto_rawDescData) + }) + return file_api_reports_reports_proto_rawDescData +} + +var file_api_reports_reports_proto_msgTypes = make([]protoimpl.MessageInfo, 19) +var file_api_reports_reports_proto_goTypes = []interface{}{ + (*Filtrate)(nil), // 0: reports.Filtrate + (*GetAnnualReportListReq)(nil), // 1: reports.GetAnnualReportListReq + (*GetAnnualReportListResp)(nil), // 2: reports.GetAnnualReportListResp + (*AnnualReport)(nil), // 3: reports.AnnualReport + (*AddAnnualReportReq)(nil), // 4: reports.AddAnnualReportReq + (*AddAnnualReportResp)(nil), // 5: reports.AddAnnualReportResp + (*EditAnnualReportReq)(nil), // 6: reports.EditAnnualReportReq + (*EditAnnualReportResp)(nil), // 7: reports.EditAnnualReportResp + (*DeleteAnnualReportReq)(nil), // 8: reports.DeleteAnnualReportReq + (*DeleteAnnualReportResp)(nil), // 9: reports.DeleteAnnualReportResp + (*GetQuarterlyReportListReq)(nil), // 10: reports.GetQuarterlyReportListReq + (*GetQuarterlyReportListResp)(nil), // 11: reports.GetQuarterlyReportListResp + (*QuarterlyReport)(nil), // 12: reports.QuarterlyReport + (*AddQuarterlyReportReq)(nil), // 13: reports.AddQuarterlyReportReq + (*AddQuarterlyReportResp)(nil), // 14: reports.AddQuarterlyReportResp + (*EditQuarterlyReportReq)(nil), // 15: reports.EditQuarterlyReportReq + (*EditQuarterlyReportResp)(nil), // 16: reports.EditQuarterlyReportResp + (*DeleteQuarterlyReportReq)(nil), // 17: reports.DeleteQuarterlyReportReq + (*DeleteQuarterlyReportResp)(nil), // 18: reports.DeleteQuarterlyReportResp +} +var file_api_reports_reports_proto_depIdxs = []int32{ + 0, // 0: reports.GetAnnualReportListReq.filtrate:type_name -> reports.Filtrate + 3, // 1: reports.GetAnnualReportListResp.data:type_name -> reports.AnnualReport + 0, // 2: reports.GetQuarterlyReportListReq.filtrate:type_name -> reports.Filtrate + 12, // 3: reports.GetQuarterlyReportListResp.data:type_name -> reports.QuarterlyReport + 1, // 4: reports.Reports.GetAnnualReportList:input_type -> reports.GetAnnualReportListReq + 4, // 5: reports.Reports.AddAnnualReport:input_type -> reports.AddAnnualReportReq + 6, // 6: reports.Reports.EditAnnualReport:input_type -> reports.EditAnnualReportReq + 8, // 7: reports.Reports.DeleteAnnualReport:input_type -> reports.DeleteAnnualReportReq + 10, // 8: reports.Reports.GetQuarterlyReportList:input_type -> reports.GetQuarterlyReportListReq + 13, // 9: reports.Reports.AddQuarterlyReport:input_type -> reports.AddQuarterlyReportReq + 15, // 10: reports.Reports.EditQuarterlyReport:input_type -> reports.EditQuarterlyReportReq + 17, // 11: reports.Reports.DeleteQuarterlyReport:input_type -> reports.DeleteQuarterlyReportReq + 2, // 12: reports.Reports.GetAnnualReportList:output_type -> reports.GetAnnualReportListResp + 5, // 13: reports.Reports.AddAnnualReport:output_type -> reports.AddAnnualReportResp + 7, // 14: reports.Reports.EditAnnualReport:output_type -> reports.EditAnnualReportResp + 9, // 15: reports.Reports.DeleteAnnualReport:output_type -> reports.DeleteAnnualReportResp + 11, // 16: reports.Reports.GetQuarterlyReportList:output_type -> reports.GetQuarterlyReportListResp + 14, // 17: reports.Reports.AddQuarterlyReport:output_type -> reports.AddQuarterlyReportResp + 16, // 18: reports.Reports.EditQuarterlyReport:output_type -> reports.EditQuarterlyReportResp + 18, // 19: reports.Reports.DeleteQuarterlyReport:output_type -> reports.DeleteQuarterlyReportResp + 12, // [12:20] is the sub-list for method output_type + 4, // [4:12] 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_api_reports_reports_proto_init() } +func file_api_reports_reports_proto_init() { + if File_api_reports_reports_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_api_reports_reports_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Filtrate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetAnnualReportListReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetAnnualReportListResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnnualReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddAnnualReportReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddAnnualReportResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditAnnualReportReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditAnnualReportResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteAnnualReportReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteAnnualReportResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetQuarterlyReportListReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetQuarterlyReportListResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QuarterlyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddQuarterlyReportReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddQuarterlyReportResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditQuarterlyReportReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditQuarterlyReportResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteQuarterlyReportReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteQuarterlyReportResp); 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_api_reports_reports_proto_rawDesc, + NumEnums: 0, + NumMessages: 19, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_api_reports_reports_proto_goTypes, + DependencyIndexes: file_api_reports_reports_proto_depIdxs, + MessageInfos: file_api_reports_reports_proto_msgTypes, + }.Build() + File_api_reports_reports_proto = out.File + file_api_reports_reports_proto_rawDesc = nil + file_api_reports_reports_proto_goTypes = nil + file_api_reports_reports_proto_depIdxs = nil +} diff --git a/api/reports/reports.validator.pb.go b/api/reports/reports.validator.pb.go new file mode 100644 index 0000000..14c042b --- /dev/null +++ b/api/reports/reports.validator.pb.go @@ -0,0 +1,98 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: api/reports/reports.proto + +package reports + +import ( + fmt "fmt" + math "math" + proto "github.com/golang/protobuf/proto" + github_com_mwitkow_go_proto_validators "github.com/mwitkow/go-proto-validators" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +func (this *Filtrate) Validate() error { + return nil +} +func (this *GetAnnualReportListReq) Validate() error { + if this.Filtrate != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Filtrate); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Filtrate", err) + } + } + return nil +} +func (this *GetAnnualReportListResp) Validate() error { + for _, item := range this.Data { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Data", err) + } + } + } + return nil +} +func (this *AnnualReport) Validate() error { + return nil +} +func (this *AddAnnualReportReq) Validate() error { + return nil +} +func (this *AddAnnualReportResp) Validate() error { + return nil +} +func (this *EditAnnualReportReq) Validate() error { + return nil +} +func (this *EditAnnualReportResp) Validate() error { + return nil +} +func (this *DeleteAnnualReportReq) Validate() error { + return nil +} +func (this *DeleteAnnualReportResp) Validate() error { + return nil +} +func (this *GetQuarterlyReportListReq) Validate() error { + if this.Filtrate != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Filtrate); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Filtrate", err) + } + } + return nil +} +func (this *GetQuarterlyReportListResp) Validate() error { + for _, item := range this.Data { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Data", err) + } + } + } + return nil +} +func (this *QuarterlyReport) Validate() error { + return nil +} +func (this *AddQuarterlyReportReq) Validate() error { + return nil +} +func (this *AddQuarterlyReportResp) Validate() error { + return nil +} +func (this *EditQuarterlyReportReq) Validate() error { + return nil +} +func (this *EditQuarterlyReportResp) Validate() error { + return nil +} +func (this *DeleteQuarterlyReportReq) Validate() error { + return nil +} +func (this *DeleteQuarterlyReportResp) Validate() error { + return nil +} diff --git a/api/reports/reports_triple.pb.go b/api/reports/reports_triple.pb.go new file mode 100644 index 0000000..78c1f7c --- /dev/null +++ b/api/reports/reports_triple.pb.go @@ -0,0 +1,466 @@ +// Code generated by protoc-gen-go-triple. DO NOT EDIT. +// versions: +// - protoc-gen-go-triple v1.0.5 +// - protoc v5.26.0 +// source: api/reports/reports.proto + +package reports + +import ( + context "context" + protocol "dubbo.apache.org/dubbo-go/v3/protocol" + dubbo3 "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3" + invocation "dubbo.apache.org/dubbo-go/v3/protocol/invocation" + grpc_go "github.com/dubbogo/grpc-go" + codes "github.com/dubbogo/grpc-go/codes" + metadata "github.com/dubbogo/grpc-go/metadata" + status "github.com/dubbogo/grpc-go/status" + common "github.com/dubbogo/triple/pkg/common" + constant "github.com/dubbogo/triple/pkg/common/constant" + triple "github.com/dubbogo/triple/pkg/triple" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc_go.SupportPackageIsVersion7 + +// ReportsClient is the client API for Reports 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 ReportsClient interface { + // ==================================年度报告====================================== + GetAnnualReportList(ctx context.Context, in *GetAnnualReportListReq, opts ...grpc_go.CallOption) (*GetAnnualReportListResp, common.ErrorWithAttachment) + AddAnnualReport(ctx context.Context, in *AddAnnualReportReq, opts ...grpc_go.CallOption) (*AddAnnualReportResp, common.ErrorWithAttachment) + EditAnnualReport(ctx context.Context, in *EditAnnualReportReq, opts ...grpc_go.CallOption) (*EditAnnualReportResp, common.ErrorWithAttachment) + DeleteAnnualReport(ctx context.Context, in *DeleteAnnualReportReq, opts ...grpc_go.CallOption) (*DeleteAnnualReportResp, common.ErrorWithAttachment) + // ==================================季度报告====================================== + GetQuarterlyReportList(ctx context.Context, in *GetQuarterlyReportListReq, opts ...grpc_go.CallOption) (*GetQuarterlyReportListResp, common.ErrorWithAttachment) + AddQuarterlyReport(ctx context.Context, in *AddQuarterlyReportReq, opts ...grpc_go.CallOption) (*AddQuarterlyReportResp, common.ErrorWithAttachment) + EditQuarterlyReport(ctx context.Context, in *EditQuarterlyReportReq, opts ...grpc_go.CallOption) (*EditQuarterlyReportResp, common.ErrorWithAttachment) + DeleteQuarterlyReport(ctx context.Context, in *DeleteQuarterlyReportReq, opts ...grpc_go.CallOption) (*DeleteQuarterlyReportResp, common.ErrorWithAttachment) +} + +type reportsClient struct { + cc *triple.TripleConn +} + +type ReportsClientImpl struct { + GetAnnualReportList func(ctx context.Context, in *GetAnnualReportListReq) (*GetAnnualReportListResp, error) + AddAnnualReport func(ctx context.Context, in *AddAnnualReportReq) (*AddAnnualReportResp, error) + EditAnnualReport func(ctx context.Context, in *EditAnnualReportReq) (*EditAnnualReportResp, error) + DeleteAnnualReport func(ctx context.Context, in *DeleteAnnualReportReq) (*DeleteAnnualReportResp, error) + GetQuarterlyReportList func(ctx context.Context, in *GetQuarterlyReportListReq) (*GetQuarterlyReportListResp, error) + AddQuarterlyReport func(ctx context.Context, in *AddQuarterlyReportReq) (*AddQuarterlyReportResp, error) + EditQuarterlyReport func(ctx context.Context, in *EditQuarterlyReportReq) (*EditQuarterlyReportResp, error) + DeleteQuarterlyReport func(ctx context.Context, in *DeleteQuarterlyReportReq) (*DeleteQuarterlyReportResp, error) +} + +func (c *ReportsClientImpl) GetDubboStub(cc *triple.TripleConn) ReportsClient { + return NewReportsClient(cc) +} + +func (c *ReportsClientImpl) XXX_InterfaceName() string { + return "reports.Reports" +} + +func NewReportsClient(cc *triple.TripleConn) ReportsClient { + return &reportsClient{cc} +} + +func (c *reportsClient) GetAnnualReportList(ctx context.Context, in *GetAnnualReportListReq, opts ...grpc_go.CallOption) (*GetAnnualReportListResp, common.ErrorWithAttachment) { + out := new(GetAnnualReportListResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetAnnualReportList", in, out) +} + +func (c *reportsClient) AddAnnualReport(ctx context.Context, in *AddAnnualReportReq, opts ...grpc_go.CallOption) (*AddAnnualReportResp, common.ErrorWithAttachment) { + out := new(AddAnnualReportResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AddAnnualReport", in, out) +} + +func (c *reportsClient) EditAnnualReport(ctx context.Context, in *EditAnnualReportReq, opts ...grpc_go.CallOption) (*EditAnnualReportResp, common.ErrorWithAttachment) { + out := new(EditAnnualReportResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/EditAnnualReport", in, out) +} + +func (c *reportsClient) DeleteAnnualReport(ctx context.Context, in *DeleteAnnualReportReq, opts ...grpc_go.CallOption) (*DeleteAnnualReportResp, common.ErrorWithAttachment) { + out := new(DeleteAnnualReportResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DeleteAnnualReport", in, out) +} + +func (c *reportsClient) GetQuarterlyReportList(ctx context.Context, in *GetQuarterlyReportListReq, opts ...grpc_go.CallOption) (*GetQuarterlyReportListResp, common.ErrorWithAttachment) { + out := new(GetQuarterlyReportListResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetQuarterlyReportList", in, out) +} + +func (c *reportsClient) AddQuarterlyReport(ctx context.Context, in *AddQuarterlyReportReq, opts ...grpc_go.CallOption) (*AddQuarterlyReportResp, common.ErrorWithAttachment) { + out := new(AddQuarterlyReportResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AddQuarterlyReport", in, out) +} + +func (c *reportsClient) EditQuarterlyReport(ctx context.Context, in *EditQuarterlyReportReq, opts ...grpc_go.CallOption) (*EditQuarterlyReportResp, common.ErrorWithAttachment) { + out := new(EditQuarterlyReportResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/EditQuarterlyReport", in, out) +} + +func (c *reportsClient) DeleteQuarterlyReport(ctx context.Context, in *DeleteQuarterlyReportReq, opts ...grpc_go.CallOption) (*DeleteQuarterlyReportResp, common.ErrorWithAttachment) { + out := new(DeleteQuarterlyReportResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DeleteQuarterlyReport", in, out) +} + +// ReportsServer is the server API for Reports service. +// All implementations must embed UnimplementedReportsServer +// for forward compatibility +type ReportsServer interface { + // ==================================年度报告====================================== + GetAnnualReportList(context.Context, *GetAnnualReportListReq) (*GetAnnualReportListResp, error) + AddAnnualReport(context.Context, *AddAnnualReportReq) (*AddAnnualReportResp, error) + EditAnnualReport(context.Context, *EditAnnualReportReq) (*EditAnnualReportResp, error) + DeleteAnnualReport(context.Context, *DeleteAnnualReportReq) (*DeleteAnnualReportResp, error) + // ==================================季度报告====================================== + GetQuarterlyReportList(context.Context, *GetQuarterlyReportListReq) (*GetQuarterlyReportListResp, error) + AddQuarterlyReport(context.Context, *AddQuarterlyReportReq) (*AddQuarterlyReportResp, error) + EditQuarterlyReport(context.Context, *EditQuarterlyReportReq) (*EditQuarterlyReportResp, error) + DeleteQuarterlyReport(context.Context, *DeleteQuarterlyReportReq) (*DeleteQuarterlyReportResp, error) + mustEmbedUnimplementedReportsServer() +} + +// UnimplementedReportsServer must be embedded to have forward compatible implementations. +type UnimplementedReportsServer struct { + proxyImpl protocol.Invoker +} + +func (UnimplementedReportsServer) GetAnnualReportList(context.Context, *GetAnnualReportListReq) (*GetAnnualReportListResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAnnualReportList not implemented") +} +func (UnimplementedReportsServer) AddAnnualReport(context.Context, *AddAnnualReportReq) (*AddAnnualReportResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddAnnualReport not implemented") +} +func (UnimplementedReportsServer) EditAnnualReport(context.Context, *EditAnnualReportReq) (*EditAnnualReportResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method EditAnnualReport not implemented") +} +func (UnimplementedReportsServer) DeleteAnnualReport(context.Context, *DeleteAnnualReportReq) (*DeleteAnnualReportResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteAnnualReport not implemented") +} +func (UnimplementedReportsServer) GetQuarterlyReportList(context.Context, *GetQuarterlyReportListReq) (*GetQuarterlyReportListResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetQuarterlyReportList not implemented") +} +func (UnimplementedReportsServer) AddQuarterlyReport(context.Context, *AddQuarterlyReportReq) (*AddQuarterlyReportResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddQuarterlyReport not implemented") +} +func (UnimplementedReportsServer) EditQuarterlyReport(context.Context, *EditQuarterlyReportReq) (*EditQuarterlyReportResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method EditQuarterlyReport not implemented") +} +func (UnimplementedReportsServer) DeleteQuarterlyReport(context.Context, *DeleteQuarterlyReportReq) (*DeleteQuarterlyReportResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteQuarterlyReport not implemented") +} +func (s *UnimplementedReportsServer) XXX_SetProxyImpl(impl protocol.Invoker) { + s.proxyImpl = impl +} + +func (s *UnimplementedReportsServer) XXX_GetProxyImpl() protocol.Invoker { + return s.proxyImpl +} + +func (s *UnimplementedReportsServer) XXX_ServiceDesc() *grpc_go.ServiceDesc { + return &Reports_ServiceDesc +} +func (s *UnimplementedReportsServer) XXX_InterfaceName() string { + return "reports.Reports" +} + +func (UnimplementedReportsServer) mustEmbedUnimplementedReportsServer() {} + +// UnsafeReportsServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ReportsServer will +// result in compilation errors. +type UnsafeReportsServer interface { + mustEmbedUnimplementedReportsServer() +} + +func RegisterReportsServer(s grpc_go.ServiceRegistrar, srv ReportsServer) { + s.RegisterService(&Reports_ServiceDesc, srv) +} + +func _Reports_GetAnnualReportList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAnnualReportListReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetAnnualReportList", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Reports_AddAnnualReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AddAnnualReportReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("AddAnnualReport", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Reports_EditAnnualReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(EditAnnualReportReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("EditAnnualReport", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Reports_DeleteAnnualReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteAnnualReportReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("DeleteAnnualReport", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Reports_GetQuarterlyReportList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetQuarterlyReportListReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetQuarterlyReportList", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Reports_AddQuarterlyReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AddQuarterlyReportReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("AddQuarterlyReport", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Reports_EditQuarterlyReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(EditQuarterlyReportReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("EditQuarterlyReport", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Reports_DeleteQuarterlyReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteQuarterlyReportReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("DeleteQuarterlyReport", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +// Reports_ServiceDesc is the grpc_go.ServiceDesc for Reports service. +// It's only intended for direct use with grpc_go.RegisterService, +// and not to be introspected or modified (even as a copy) +var Reports_ServiceDesc = grpc_go.ServiceDesc{ + ServiceName: "reports.Reports", + HandlerType: (*ReportsServer)(nil), + Methods: []grpc_go.MethodDesc{ + { + MethodName: "GetAnnualReportList", + Handler: _Reports_GetAnnualReportList_Handler, + }, + { + MethodName: "AddAnnualReport", + Handler: _Reports_AddAnnualReport_Handler, + }, + { + MethodName: "EditAnnualReport", + Handler: _Reports_EditAnnualReport_Handler, + }, + { + MethodName: "DeleteAnnualReport", + Handler: _Reports_DeleteAnnualReport_Handler, + }, + { + MethodName: "GetQuarterlyReportList", + Handler: _Reports_GetQuarterlyReportList_Handler, + }, + { + MethodName: "AddQuarterlyReport", + Handler: _Reports_AddQuarterlyReport_Handler, + }, + { + MethodName: "EditQuarterlyReport", + Handler: _Reports_EditQuarterlyReport_Handler, + }, + { + MethodName: "DeleteQuarterlyReport", + Handler: _Reports_DeleteQuarterlyReport_Handler, + }, + }, + Streams: []grpc_go.StreamDesc{}, + Metadata: "api/reports/reports.proto", +} diff --git a/pkg/router/router.go b/pkg/router/router.go index e1a21e5..e78957a 100644 --- a/pkg/router/router.go +++ b/pkg/router/router.go @@ -14,6 +14,7 @@ import ( "fonchain-fiee/pkg/service/pressreleases" "fonchain-fiee/pkg/service/qr" "fonchain-fiee/pkg/service/redirect" + "fonchain-fiee/pkg/service/reports" "fonchain-fiee/pkg/service/upload" "fonchain-fiee/pkg/service/version" "net/http" @@ -187,6 +188,21 @@ func NewRouter() *gin.Engine { pressreleasesRouteLogin.POST("/delete", pressreleases.Delete) } + { + // 官网报告 + reportsRoute := v1.Group("/reports") + reportsRouteLogin := reportsRoute.Group("", middleware.CheckWebLogin(service.AccountProvider)) + // 年度报告 + reportsRouteLogin.POST("/annual/create", reports.AnnualReportCreate) + reportsRouteLogin.POST("/annual/list", reports.AnnualReportList) + reportsRouteLogin.POST("/annual/delete", reports.AnnualReportDelete) + reportsRouteLogin.POST("/annual/edit", reports.AnnualReportEdit) + // 季度报告 + reportsRouteLogin.POST("/quarterly/create", reports.QuarterlyReportCreate) + reportsRouteLogin.POST("/quarterly/list", reports.QuarterlyReportList) + reportsRouteLogin.POST("/quarterly/delete", reports.QuarterlyReportDelete) + reportsRouteLogin.POST("/quarterly/edit", reports.QuarterlyReportEdit) + } { importRoute := v1.Group("/import") importRoute.Use(middleware.CheckWebLogin(service.AccountProvider)) diff --git a/pkg/service/init.go b/pkg/service/init.go index adfa22e..7d46cf4 100644 --- a/pkg/service/init.go +++ b/pkg/service/init.go @@ -11,6 +11,7 @@ import ( "fonchain-fiee/api/order" "fonchain-fiee/api/payment" "fonchain-fiee/api/pressreleases" + "fonchain-fiee/api/reports" "fonchain-fiee/api/secFilings" pkConfig "fonchain-fiee/pkg/config" "os" @@ -31,6 +32,7 @@ var CastProvider = new(cast.CastClientImpl) var GovernanceProvider = new(governance.GovernanceClientImpl) var PressReleasesProvider = new(pressreleases.PressReleasesClientImpl) var SecFilingProvider = new(secFilings.SecFilingsClientImpl) +var ReportsProvider = new(reports.ReportsClientImpl) func init() { config.SetConsumerService(BundleProvider) @@ -43,6 +45,7 @@ func init() { config.SetConsumerService(GovernanceProvider) config.SetConsumerService(PressReleasesProvider) config.SetConsumerService(SecFilingProvider) + config.SetConsumerService(ReportsProvider) if err := config.Load(); err != nil { panic(err) diff --git a/pkg/service/reports/annualReports.go b/pkg/service/reports/annualReports.go new file mode 100644 index 0000000..5989f6d --- /dev/null +++ b/pkg/service/reports/annualReports.go @@ -0,0 +1,71 @@ +package reports + +import ( + "fonchain-fiee/api/reports" + "fonchain-fiee/pkg/model/login" + "fonchain-fiee/pkg/service" + + "github.com/gin-gonic/gin" +) + +func AnnualReportCreate(ctx *gin.Context) { + var req reports.AddAnnualReportReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + user := login.GetUserInfoFromC(ctx) + req.Operator = user.Name + req.OperatorId = int32(user.ID) + resp, err := service.ReportsProvider.AddAnnualReport(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} + +func AnnualReportList(ctx *gin.Context) { + var req reports.GetAnnualReportListReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.ReportsProvider.GetAnnualReportList(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} + +func AnnualReportDelete(ctx *gin.Context) { + var req reports.DeleteAnnualReportReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.ReportsProvider.DeleteAnnualReport(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} + +func AnnualReportEdit(ctx *gin.Context) { + var req reports.EditAnnualReportReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + user := login.GetUserInfoFromC(ctx) + req.Operator = user.Name + req.OperatorId = int32(user.ID) + resp, err := service.ReportsProvider.EditAnnualReport(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} diff --git a/pkg/service/reports/quarterlyReports.go b/pkg/service/reports/quarterlyReports.go new file mode 100644 index 0000000..0f61b96 --- /dev/null +++ b/pkg/service/reports/quarterlyReports.go @@ -0,0 +1,71 @@ +package reports + +import ( + "fonchain-fiee/api/reports" + "fonchain-fiee/pkg/model/login" + "fonchain-fiee/pkg/service" + + "github.com/gin-gonic/gin" +) + +func QuarterlyReportCreate(ctx *gin.Context) { + var req reports.AddQuarterlyReportReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + user := login.GetUserInfoFromC(ctx) + req.Operator = user.Name + req.OperatorId = int32(user.ID) + resp, err := service.ReportsProvider.AddQuarterlyReport(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} + +func QuarterlyReportList(ctx *gin.Context) { + var req reports.GetQuarterlyReportListReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.ReportsProvider.GetQuarterlyReportList(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} + +func QuarterlyReportDelete(ctx *gin.Context) { + var req reports.DeleteQuarterlyReportReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.ReportsProvider.DeleteQuarterlyReport(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} + +func QuarterlyReportEdit(ctx *gin.Context) { + var req reports.EditQuarterlyReportReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + user := login.GetUserInfoFromC(ctx) + req.Operator = user.Name + req.OperatorId = int32(user.ID) + resp, err := service.ReportsProvider.EditQuarterlyReport(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} From d82f148687085aaa1913520e0465aa0f64761ea0 Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Wed, 24 Sep 2025 15:58:13 +0800 Subject: [PATCH 02/38] =?UTF-8?q?Updata=EF=BC=9A=E6=9B=B4=E6=96=B0pb?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/reports/reports.pb.go | 331 +++++++++++++++++++------------------- 1 file changed, 165 insertions(+), 166 deletions(-) diff --git a/api/reports/reports.pb.go b/api/reports/reports.pb.go index 1934638..e57bb01 100644 --- a/api/reports/reports.pb.go +++ b/api/reports/reports.pb.go @@ -229,7 +229,7 @@ type AnnualReport struct { FileUrl string `protobuf:"bytes,4,opt,name=fileUrl,proto3" json:"fileUrl"` //访问地址 Status int32 `protobuf:"varint,5,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) Sort int32 `protobuf:"varint,6,opt,name=sort,proto3" json:"sort"` //排序 - UpdateTime string `protobuf:"bytes,7,opt,name=updateTime,proto3" json:"updateTime"` //最近更新时间 + UpdatedAt string `protobuf:"bytes,7,opt,name=updatedAt,proto3" json:"updatedAt"` //最近更新时间 Operator string `protobuf:"bytes,8,opt,name=operator,proto3" json:"operator"` //操作人 OperatorId int32 `protobuf:"varint,9,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id } @@ -308,9 +308,9 @@ func (x *AnnualReport) GetSort() int32 { return 0 } -func (x *AnnualReport) GetUpdateTime() string { +func (x *AnnualReport) GetUpdatedAt() string { if x != nil { - return x.UpdateTime + return x.UpdatedAt } return "" } @@ -852,7 +852,7 @@ type QuarterlyReport struct { FileIntroduce string `protobuf:"bytes,3,opt,name=fileIntroduce,proto3" json:"fileIntroduce"` //文件介绍 Sort int32 `protobuf:"varint,4,opt,name=sort,proto3" json:"sort"` //排序 Status int32 `protobuf:"varint,5,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) - UpdateTime string `protobuf:"bytes,6,opt,name=updateTime,proto3" json:"updateTime"` //最近更新时间 + UpdatedAt string `protobuf:"bytes,6,opt,name=updatedAt,proto3" json:"updatedAt"` //最近更新时间 Operator string `protobuf:"bytes,7,opt,name=operator,proto3" json:"operator"` //操作人 OperatorId int32 `protobuf:"varint,8,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id } @@ -924,9 +924,9 @@ func (x *QuarterlyReport) GetStatus() int32 { return 0 } -func (x *QuarterlyReport) GetUpdateTime() string { +func (x *QuarterlyReport) GetUpdatedAt() string { if x != nil { - return x.UpdateTime + return x.UpdatedAt } return "" } @@ -1357,7 +1357,7 @@ var file_api_reports_reports_proto_rawDesc = []byte{ 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x29, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xf0, 0x01, 0x0a, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xee, 0x01, 0x0a, 0x0c, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, @@ -1367,169 +1367,168 @@ var file_api_reports_reports_proto_rawDesc = []byte{ 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, - 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, - 0x9a, 0x01, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, - 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, - 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x27, 0x0a, 0x13, - 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xd7, 0x01, 0x0a, 0x13, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, - 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, - 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, - 0x28, 0x0a, 0x14, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x27, 0x0a, 0x15, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, - 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, - 0x69, 0x64, 0x22, 0x2a, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, - 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, - 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x7a, - 0x0a, 0x19, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, - 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x66, - 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, - 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, - 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x22, 0xa2, 0x01, 0x0a, 0x1a, 0x47, - 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, - 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x12, 0x2c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, - 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, - 0xeb, 0x01, 0x0a, 0x0f, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, + 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, + 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x9a, 0x01, + 0x0a, 0x12, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1a, + 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x27, 0x0a, 0x13, 0x41, 0x64, + 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6d, 0x73, 0x67, 0x22, 0xd7, 0x01, 0x0a, 0x13, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, + 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, + 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, + 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, + 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, + 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, + 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0xdd, 0x01, - 0x0a, 0x15, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, - 0x64, 0x75, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, - 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, - 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, - 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, - 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, - 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2a, 0x0a, - 0x16, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x9a, 0x02, 0x0a, 0x16, 0x45, 0x64, - 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, - 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, - 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, - 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, - 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2b, 0x0a, 0x17, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, - 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6d, 0x73, 0x67, 0x22, 0x2a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, - 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, - 0x2d, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, - 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, - 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x32, 0xcd, - 0x05, 0x0a, 0x07, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x13, 0x47, 0x65, - 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, - 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, - 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x4c, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, - 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x73, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, - 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x2e, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, - 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, - 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x2e, 0x72, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, 0x47, 0x65, - 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, + 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x28, 0x0a, + 0x14, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x27, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, + 0x22, 0x2a, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x7a, 0x0a, 0x19, + 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x66, 0x69, 0x6c, + 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x52, 0x08, + 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x22, 0xa2, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, + 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, + 0x2c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, + 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe9, 0x01, + 0x0a, 0x0f, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, + 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, + 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0xdd, 0x01, 0x0a, 0x15, 0x41, 0x64, + 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, + 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, + 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2a, 0x0a, 0x16, 0x41, 0x64, 0x64, + 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x9a, 0x02, 0x0a, 0x16, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, + 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, + 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, + 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, + 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x49, 0x64, 0x22, 0x2b, 0x0a, 0x17, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, + 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, + 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, + 0x2a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, + 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x2d, 0x0a, 0x19, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x32, 0xcd, 0x05, 0x0a, 0x07, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, + 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x2e, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, + 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x20, + 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, + 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x4c, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, + 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, + 0x1a, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x6e, + 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, + 0x0a, 0x10, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x12, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, + 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, + 0x1a, 0x1d, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x41, + 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x55, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, + 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, + 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, - 0x12, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, - 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, - 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, - 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1f, 0x2e, 0x72, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, - 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, - 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5e, - 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, - 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x21, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, - 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, - 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, - 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x41, 0x64, 0x64, + 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, + 0x1e, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, + 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, + 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, + 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x58, 0x0a, 0x13, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, + 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5e, 0x0a, 0x15, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x12, 0x21, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, + 0x3b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( From 722d05bd7a7d4821e4e05617e7981394e2817925 Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Thu, 25 Sep 2025 13:24:15 +0800 Subject: [PATCH 03/38] =?UTF-8?q?Updata=EF=BC=9A=E6=9B=B4=E6=96=B0pb?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/reports/reports.pb.go | 56 +++++++++++++++++++++++---------------- 1 file changed, 33 insertions(+), 23 deletions(-) diff --git a/api/reports/reports.pb.go b/api/reports/reports.pb.go index e57bb01..74fd6d7 100644 --- a/api/reports/reports.pb.go +++ b/api/reports/reports.pb.go @@ -225,7 +225,7 @@ type AnnualReport struct { Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` //id FileName string `protobuf:"bytes,2,opt,name=fileName,proto3" json:"fileName"` //文件名称 - Date string `protobuf:"bytes,3,opt,name=date,proto3" json:"date"` //日期 + Date int64 `protobuf:"varint,3,opt,name=date,proto3" json:"date"` //日期 FileUrl string `protobuf:"bytes,4,opt,name=fileUrl,proto3" json:"fileUrl"` //访问地址 Status int32 `protobuf:"varint,5,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) Sort int32 `protobuf:"varint,6,opt,name=sort,proto3" json:"sort"` //排序 @@ -280,11 +280,11 @@ func (x *AnnualReport) GetFileName() string { return "" } -func (x *AnnualReport) GetDate() string { +func (x *AnnualReport) GetDate() int64 { if x != nil { return x.Date } - return "" + return 0 } func (x *AnnualReport) GetFileUrl() string { @@ -335,7 +335,7 @@ type AddAnnualReportReq struct { unknownFields protoimpl.UnknownFields FileName string `protobuf:"bytes,1,opt,name=fileName,proto3" json:"fileName"` //文件名称 - Date string `protobuf:"bytes,2,opt,name=date,proto3" json:"date"` //日期 + Date int64 `protobuf:"varint,2,opt,name=date,proto3" json:"date"` //日期 FileUrl string `protobuf:"bytes,3,opt,name=fileUrl,proto3" json:"fileUrl"` //访问地址 Operator string `protobuf:"bytes,4,opt,name=operator,proto3" json:"operator"` //操作人 OperatorId int32 `protobuf:"varint,5,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id @@ -380,11 +380,11 @@ func (x *AddAnnualReportReq) GetFileName() string { return "" } -func (x *AddAnnualReportReq) GetDate() string { +func (x *AddAnnualReportReq) GetDate() int64 { if x != nil { return x.Date } - return "" + return 0 } func (x *AddAnnualReportReq) GetFileUrl() string { @@ -462,7 +462,7 @@ type EditAnnualReportReq struct { Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` //id FileName string `protobuf:"bytes,2,opt,name=fileName,proto3" json:"fileName"` //文件名称 - Date string `protobuf:"bytes,3,opt,name=date,proto3" json:"date"` //日期 + Date int64 `protobuf:"varint,3,opt,name=date,proto3" json:"date"` //日期 FileUrl string `protobuf:"bytes,4,opt,name=fileUrl,proto3" json:"fileUrl"` //访问地址 Sort int32 `protobuf:"varint,5,opt,name=sort,proto3" json:"sort"` //排序 Status int32 `protobuf:"varint,6,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) @@ -516,11 +516,11 @@ func (x *EditAnnualReportReq) GetFileName() string { return "" } -func (x *EditAnnualReportReq) GetDate() string { +func (x *EditAnnualReportReq) GetDate() int64 { if x != nil { return x.Date } - return "" + return 0 } func (x *EditAnnualReportReq) GetFileUrl() string { @@ -850,11 +850,12 @@ type QuarterlyReport struct { Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` //id FileName string `protobuf:"bytes,2,opt,name=fileName,proto3" json:"fileName"` //文件名称 FileIntroduce string `protobuf:"bytes,3,opt,name=fileIntroduce,proto3" json:"fileIntroduce"` //文件介绍 - Sort int32 `protobuf:"varint,4,opt,name=sort,proto3" json:"sort"` //排序 - Status int32 `protobuf:"varint,5,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) - UpdatedAt string `protobuf:"bytes,6,opt,name=updatedAt,proto3" json:"updatedAt"` //最近更新时间 - Operator string `protobuf:"bytes,7,opt,name=operator,proto3" json:"operator"` //操作人 - OperatorId int32 `protobuf:"varint,8,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id + Attachment string `protobuf:"bytes,4,opt,name=attachment,proto3" json:"attachment"` //附件 + Sort int32 `protobuf:"varint,5,opt,name=sort,proto3" json:"sort"` //排序 + Status int32 `protobuf:"varint,6,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) + UpdatedAt string `protobuf:"bytes,7,opt,name=updatedAt,proto3" json:"updatedAt"` //最近更新时间 + Operator string `protobuf:"bytes,8,opt,name=operator,proto3" json:"operator"` //操作人 + OperatorId int32 `protobuf:"varint,9,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id } func (x *QuarterlyReport) Reset() { @@ -910,6 +911,13 @@ func (x *QuarterlyReport) GetFileIntroduce() string { return "" } +func (x *QuarterlyReport) GetAttachment() string { + if x != nil { + return x.Attachment + } + return "" +} + func (x *QuarterlyReport) GetSort() int32 { if x != nil { return x.Sort @@ -1362,7 +1370,7 @@ var file_api_reports_reports_proto_rawDesc = []byte{ 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, @@ -1376,7 +1384,7 @@ var file_api_reports_reports_proto_rawDesc = []byte{ 0x0a, 0x12, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, @@ -1390,7 +1398,7 @@ var file_api_reports_reports_proto_rawDesc = []byte{ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, + 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, @@ -1424,21 +1432,23 @@ var file_api_reports_reports_proto_rawDesc = []byte{ 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, - 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe9, 0x01, + 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x89, 0x02, 0x0a, 0x0f, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x75, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, - 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0xdd, 0x01, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, From 7aef40402ee0b26b38bf0c8b00a7fed559c4b0ee Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Thu, 25 Sep 2025 14:40:06 +0800 Subject: [PATCH 04/38] =?UTF-8?q?Updata=EF=BC=9A=E6=9B=B4=E6=96=B0pb?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/reports/reports.pb.go | 225 ++++++++++++++++++++------------------ 1 file changed, 118 insertions(+), 107 deletions(-) diff --git a/api/reports/reports.pb.go b/api/reports/reports.pb.go index 74fd6d7..db5e130 100644 --- a/api/reports/reports.pb.go +++ b/api/reports/reports.pb.go @@ -847,15 +847,16 @@ type QuarterlyReport struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` //id - FileName string `protobuf:"bytes,2,opt,name=fileName,proto3" json:"fileName"` //文件名称 - FileIntroduce string `protobuf:"bytes,3,opt,name=fileIntroduce,proto3" json:"fileIntroduce"` //文件介绍 - Attachment string `protobuf:"bytes,4,opt,name=attachment,proto3" json:"attachment"` //附件 - Sort int32 `protobuf:"varint,5,opt,name=sort,proto3" json:"sort"` //排序 - Status int32 `protobuf:"varint,6,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) - UpdatedAt string `protobuf:"bytes,7,opt,name=updatedAt,proto3" json:"updatedAt"` //最近更新时间 - Operator string `protobuf:"bytes,8,opt,name=operator,proto3" json:"operator"` //操作人 - OperatorId int32 `protobuf:"varint,9,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` //id + FileName string `protobuf:"bytes,2,opt,name=fileName,proto3" json:"fileName"` //文件名称 + FileIntroduce string `protobuf:"bytes,3,opt,name=fileIntroduce,proto3" json:"fileIntroduce"` //文件介绍 + Attachment string `protobuf:"bytes,4,opt,name=attachment,proto3" json:"attachment"` //附件 + AttachmentName string `protobuf:"bytes,5,opt,name=attachmentName,proto3" json:"attachmentName"` //附件名称 + Sort int32 `protobuf:"varint,6,opt,name=sort,proto3" json:"sort"` //排序 + Status int32 `protobuf:"varint,7,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) + UpdatedAt string `protobuf:"bytes,8,opt,name=updatedAt,proto3" json:"updatedAt"` //最近更新时间 + Operator string `protobuf:"bytes,9,opt,name=operator,proto3" json:"operator"` //操作人 + OperatorId int32 `protobuf:"varint,10,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id } func (x *QuarterlyReport) Reset() { @@ -918,6 +919,13 @@ func (x *QuarterlyReport) GetAttachment() string { return "" } +func (x *QuarterlyReport) GetAttachmentName() string { + if x != nil { + return x.AttachmentName + } + return "" +} + func (x *QuarterlyReport) GetSort() int32 { if x != nil { return x.Sort @@ -1432,7 +1440,7 @@ var file_api_reports_reports_proto_rawDesc = []byte{ 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, - 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x89, 0x02, + 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb1, 0x02, 0x0a, 0x0f, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, @@ -1441,104 +1449,107 @@ var file_api_reports_reports_proto_rawDesc = []byte{ 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, - 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0xdd, 0x01, 0x0a, 0x15, 0x41, 0x64, - 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, - 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, - 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, - 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, - 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2a, 0x0a, 0x16, 0x41, 0x64, 0x64, - 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x9a, 0x02, 0x0a, 0x16, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, - 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, - 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, - 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, - 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x49, 0x64, 0x22, 0x2b, 0x0a, 0x17, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, - 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, - 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, - 0x2a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, - 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x2d, 0x0a, 0x19, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x32, 0xcd, 0x05, 0x0a, 0x07, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, - 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x2e, - 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, - 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x20, - 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, - 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x4c, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, - 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, - 0x1a, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x6e, - 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, - 0x0a, 0x10, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x12, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, - 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, - 0x1a, 0x1d, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x41, - 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x55, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, - 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, - 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, - 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x41, 0x64, 0x64, - 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, - 0x1e, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, - 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, - 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, + 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, + 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, + 0x64, 0x22, 0xdd, 0x01, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, + 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, + 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, + 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, + 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x1e, 0x0a, + 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, + 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, + 0x64, 0x22, 0x2a, 0x0a, 0x16, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, + 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, + 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x9a, 0x02, + 0x0a, 0x16, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, + 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, + 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2b, 0x0a, 0x17, 0x45, 0x64, + 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x2a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x02, 0x69, 0x64, 0x22, 0x2d, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x58, 0x0a, 0x13, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, - 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5e, 0x0a, 0x15, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x12, 0x21, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, - 0x3b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, + 0x73, 0x67, 0x32, 0xcd, 0x05, 0x0a, 0x07, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x58, + 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, + 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4c, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x41, + 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x2e, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, + 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x2e, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x2e, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, + 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, + 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, + 0x0a, 0x16, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, + 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x55, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, + 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x2e, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x2e, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x45, 0x64, 0x69, 0x74, + 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, + 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, + 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, + 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x51, + 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x5e, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, + 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x21, 0x2e, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, + 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, + 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, + 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( From c4aca475082a3ac5a73a20ad188fb9930ff4589c Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Thu, 25 Sep 2025 15:53:40 +0800 Subject: [PATCH 05/38] Updata --- pkg/service/reports/annualReports.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/service/reports/annualReports.go b/pkg/service/reports/annualReports.go index 5989f6d..18d1cc7 100644 --- a/pkg/service/reports/annualReports.go +++ b/pkg/service/reports/annualReports.go @@ -25,6 +25,7 @@ func AnnualReportCreate(ctx *gin.Context) { service.Success(ctx, resp) } +// 获取年度报告列表 func AnnualReportList(ctx *gin.Context) { var req reports.GetAnnualReportListReq if err := ctx.ShouldBindJSON(&req); err != nil { From 9486aad885277116384521b011f716f267c4dc22 Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Thu, 25 Sep 2025 16:41:21 +0800 Subject: [PATCH 06/38] =?UTF-8?q?feat=EF=BC=9A=E5=A2=9E=E5=8A=A0=E9=82=AE?= =?UTF-8?q?=E7=AE=B1=E9=80=9A=E7=9F=A5=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/emailAlerts/emailAlerts.pb.go | 644 ++++++++++++++++++++ api/emailAlerts/emailAlerts.validator.pb.go | 47 ++ api/emailAlerts/emailAlerts_triple.pb.go | 194 ++++++ pkg/router/router.go | 9 + pkg/service/emailAlerts/emailAlerts.go | 36 ++ pkg/service/init.go | 3 + 6 files changed, 933 insertions(+) create mode 100644 api/emailAlerts/emailAlerts.pb.go create mode 100644 api/emailAlerts/emailAlerts.validator.pb.go create mode 100644 api/emailAlerts/emailAlerts_triple.pb.go create mode 100644 pkg/service/emailAlerts/emailAlerts.go diff --git a/api/emailAlerts/emailAlerts.pb.go b/api/emailAlerts/emailAlerts.pb.go new file mode 100644 index 0000000..8fccfe3 --- /dev/null +++ b/api/emailAlerts/emailAlerts.pb.go @@ -0,0 +1,644 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v5.26.0 +// source: api/emailAlerts/emailAlerts.proto + +package emailAlerts + +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 EmailAlertsSubmitReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FirstName string `protobuf:"bytes,1,opt,name=firstName,proto3" json:"firstName"` + LastName string `protobuf:"bytes,2,opt,name=lastName,proto3" json:"lastName"` + Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email"` + Company string `protobuf:"bytes,4,opt,name=company,proto3" json:"company"` + Phone string `protobuf:"bytes,5,opt,name=phone,proto3" json:"phone"` +} + +func (x *EmailAlertsSubmitReq) Reset() { + *x = EmailAlertsSubmitReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_emailAlerts_emailAlerts_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EmailAlertsSubmitReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EmailAlertsSubmitReq) ProtoMessage() {} + +func (x *EmailAlertsSubmitReq) ProtoReflect() protoreflect.Message { + mi := &file_api_emailAlerts_emailAlerts_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 EmailAlertsSubmitReq.ProtoReflect.Descriptor instead. +func (*EmailAlertsSubmitReq) Descriptor() ([]byte, []int) { + return file_api_emailAlerts_emailAlerts_proto_rawDescGZIP(), []int{0} +} + +func (x *EmailAlertsSubmitReq) GetFirstName() string { + if x != nil { + return x.FirstName + } + return "" +} + +func (x *EmailAlertsSubmitReq) GetLastName() string { + if x != nil { + return x.LastName + } + return "" +} + +func (x *EmailAlertsSubmitReq) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *EmailAlertsSubmitReq) GetCompany() string { + if x != nil { + return x.Company + } + return "" +} + +func (x *EmailAlertsSubmitReq) GetPhone() string { + if x != nil { + return x.Phone + } + return "" +} + +type EmailAlertsSubmitResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *EmailAlertsSubmitResp) Reset() { + *x = EmailAlertsSubmitResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_emailAlerts_emailAlerts_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EmailAlertsSubmitResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EmailAlertsSubmitResp) ProtoMessage() {} + +func (x *EmailAlertsSubmitResp) ProtoReflect() protoreflect.Message { + mi := &file_api_emailAlerts_emailAlerts_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EmailAlertsSubmitResp.ProtoReflect.Descriptor instead. +func (*EmailAlertsSubmitResp) Descriptor() ([]byte, []int) { + return file_api_emailAlerts_emailAlerts_proto_rawDescGZIP(), []int{1} +} + +func (x *EmailAlertsSubmitResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +// ========================= EmailInformatio ============================== +type Filtrate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` + Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email"` + Company string `protobuf:"bytes,3,opt,name=company,proto3" json:"company"` +} + +func (x *Filtrate) Reset() { + *x = Filtrate{} + if protoimpl.UnsafeEnabled { + mi := &file_api_emailAlerts_emailAlerts_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Filtrate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Filtrate) ProtoMessage() {} + +func (x *Filtrate) ProtoReflect() protoreflect.Message { + mi := &file_api_emailAlerts_emailAlerts_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 Filtrate.ProtoReflect.Descriptor instead. +func (*Filtrate) Descriptor() ([]byte, []int) { + return file_api_emailAlerts_emailAlerts_proto_rawDescGZIP(), []int{2} +} + +func (x *Filtrate) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Filtrate) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *Filtrate) GetCompany() string { + if x != nil { + return x.Company + } + return "" +} + +type GetEmailInformationListReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize"` + Filtrate *Filtrate `protobuf:"bytes,3,opt,name=filtrate,proto3" json:"filtrate"` +} + +func (x *GetEmailInformationListReq) Reset() { + *x = GetEmailInformationListReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_emailAlerts_emailAlerts_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetEmailInformationListReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetEmailInformationListReq) ProtoMessage() {} + +func (x *GetEmailInformationListReq) ProtoReflect() protoreflect.Message { + mi := &file_api_emailAlerts_emailAlerts_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 GetEmailInformationListReq.ProtoReflect.Descriptor instead. +func (*GetEmailInformationListReq) Descriptor() ([]byte, []int) { + return file_api_emailAlerts_emailAlerts_proto_rawDescGZIP(), []int{3} +} + +func (x *GetEmailInformationListReq) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *GetEmailInformationListReq) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *GetEmailInformationListReq) GetFiltrate() *Filtrate { + if x != nil { + return x.Filtrate + } + return nil +} + +type GetEmailInformationListResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` + Page int32 `protobuf:"varint,2,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize"` + Total int32 `protobuf:"varint,4,opt,name=total,proto3" json:"total"` + Data []*EmailInformation `protobuf:"bytes,5,rep,name=data,proto3" json:"data"` +} + +func (x *GetEmailInformationListResp) Reset() { + *x = GetEmailInformationListResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_emailAlerts_emailAlerts_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetEmailInformationListResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetEmailInformationListResp) ProtoMessage() {} + +func (x *GetEmailInformationListResp) ProtoReflect() protoreflect.Message { + mi := &file_api_emailAlerts_emailAlerts_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 GetEmailInformationListResp.ProtoReflect.Descriptor instead. +func (*GetEmailInformationListResp) Descriptor() ([]byte, []int) { + return file_api_emailAlerts_emailAlerts_proto_rawDescGZIP(), []int{4} +} + +func (x *GetEmailInformationListResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *GetEmailInformationListResp) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *GetEmailInformationListResp) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *GetEmailInformationListResp) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *GetEmailInformationListResp) GetData() []*EmailInformation { + if x != nil { + return x.Data + } + return nil +} + +type EmailInformation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` + FullName string `protobuf:"bytes,2,opt,name=fullName,proto3" json:"fullName"` + Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email"` + Company string `protobuf:"bytes,4,opt,name=company,proto3" json:"company"` + Phone string `protobuf:"bytes,5,opt,name=phone,proto3" json:"phone"` + CreatedAt string `protobuf:"bytes,6,opt,name=createdAt,proto3" json:"createdAt"` +} + +func (x *EmailInformation) Reset() { + *x = EmailInformation{} + if protoimpl.UnsafeEnabled { + mi := &file_api_emailAlerts_emailAlerts_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EmailInformation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EmailInformation) ProtoMessage() {} + +func (x *EmailInformation) ProtoReflect() protoreflect.Message { + mi := &file_api_emailAlerts_emailAlerts_proto_msgTypes[5] + 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 EmailInformation.ProtoReflect.Descriptor instead. +func (*EmailInformation) Descriptor() ([]byte, []int) { + return file_api_emailAlerts_emailAlerts_proto_rawDescGZIP(), []int{5} +} + +func (x *EmailInformation) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *EmailInformation) GetFullName() string { + if x != nil { + return x.FullName + } + return "" +} + +func (x *EmailInformation) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *EmailInformation) GetCompany() string { + if x != nil { + return x.Company + } + return "" +} + +func (x *EmailInformation) GetPhone() string { + if x != nil { + return x.Phone + } + return "" +} + +func (x *EmailInformation) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +var File_api_emailAlerts_emailAlerts_proto protoreflect.FileDescriptor + +var file_api_emailAlerts_emailAlerts_proto_rawDesc = []byte{ + 0x0a, 0x21, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, + 0x73, 0x2f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73, + 0x22, 0x96, 0x01, 0x0a, 0x14, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73, + 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x69, 0x72, + 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, + 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, + 0x70, 0x61, 0x6e, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x70, + 0x61, 0x6e, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x22, 0x29, 0x0a, 0x15, 0x45, 0x6d, 0x61, + 0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6d, 0x73, 0x67, 0x22, 0x4e, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, + 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, + 0x70, 0x61, 0x6e, 0x79, 0x22, 0x7f, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, + 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x31, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72, + 0x74, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, + 0x74, 0x72, 0x61, 0x74, 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x45, 0x6d, 0x61, + 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x31, 0x0a, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6d, + 0x61, 0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x49, + 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x22, 0xa2, 0x01, 0x0a, 0x10, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, + 0x6e, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x32, 0xd7, 0x01, 0x0a, 0x0b, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x41, + 0x6c, 0x65, 0x72, 0x74, 0x73, 0x12, 0x5a, 0x0a, 0x11, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c, + 0x65, 0x72, 0x74, 0x73, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x2e, 0x65, 0x6d, 0x61, + 0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c, + 0x65, 0x72, 0x74, 0x73, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, + 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x6d, 0x61, 0x69, + 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x6c, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x27, 0x2e, 0x65, + 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x6d, + 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x28, 0x2e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c, 0x65, + 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42, + 0x10, 0x5a, 0x0e, 0x2e, 0x2f, 0x3b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, + 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_api_emailAlerts_emailAlerts_proto_rawDescOnce sync.Once + file_api_emailAlerts_emailAlerts_proto_rawDescData = file_api_emailAlerts_emailAlerts_proto_rawDesc +) + +func file_api_emailAlerts_emailAlerts_proto_rawDescGZIP() []byte { + file_api_emailAlerts_emailAlerts_proto_rawDescOnce.Do(func() { + file_api_emailAlerts_emailAlerts_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_emailAlerts_emailAlerts_proto_rawDescData) + }) + return file_api_emailAlerts_emailAlerts_proto_rawDescData +} + +var file_api_emailAlerts_emailAlerts_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_api_emailAlerts_emailAlerts_proto_goTypes = []interface{}{ + (*EmailAlertsSubmitReq)(nil), // 0: emailAlerts.EmailAlertsSubmitReq + (*EmailAlertsSubmitResp)(nil), // 1: emailAlerts.EmailAlertsSubmitResp + (*Filtrate)(nil), // 2: emailAlerts.Filtrate + (*GetEmailInformationListReq)(nil), // 3: emailAlerts.GetEmailInformationListReq + (*GetEmailInformationListResp)(nil), // 4: emailAlerts.GetEmailInformationListResp + (*EmailInformation)(nil), // 5: emailAlerts.EmailInformation +} +var file_api_emailAlerts_emailAlerts_proto_depIdxs = []int32{ + 2, // 0: emailAlerts.GetEmailInformationListReq.filtrate:type_name -> emailAlerts.Filtrate + 5, // 1: emailAlerts.GetEmailInformationListResp.data:type_name -> emailAlerts.EmailInformation + 0, // 2: emailAlerts.EmailAlerts.EmailAlertsSubmit:input_type -> emailAlerts.EmailAlertsSubmitReq + 3, // 3: emailAlerts.EmailAlerts.GetEmailInformationList:input_type -> emailAlerts.GetEmailInformationListReq + 1, // 4: emailAlerts.EmailAlerts.EmailAlertsSubmit:output_type -> emailAlerts.EmailAlertsSubmitResp + 4, // 5: emailAlerts.EmailAlerts.GetEmailInformationList:output_type -> emailAlerts.GetEmailInformationListResp + 4, // [4:6] is the sub-list for method output_type + 2, // [2:4] 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 +} + +func init() { file_api_emailAlerts_emailAlerts_proto_init() } +func file_api_emailAlerts_emailAlerts_proto_init() { + if File_api_emailAlerts_emailAlerts_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_api_emailAlerts_emailAlerts_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EmailAlertsSubmitReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_emailAlerts_emailAlerts_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EmailAlertsSubmitResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_emailAlerts_emailAlerts_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Filtrate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_emailAlerts_emailAlerts_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetEmailInformationListReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_emailAlerts_emailAlerts_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetEmailInformationListResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_emailAlerts_emailAlerts_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EmailInformation); 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_api_emailAlerts_emailAlerts_proto_rawDesc, + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_api_emailAlerts_emailAlerts_proto_goTypes, + DependencyIndexes: file_api_emailAlerts_emailAlerts_proto_depIdxs, + MessageInfos: file_api_emailAlerts_emailAlerts_proto_msgTypes, + }.Build() + File_api_emailAlerts_emailAlerts_proto = out.File + file_api_emailAlerts_emailAlerts_proto_rawDesc = nil + file_api_emailAlerts_emailAlerts_proto_goTypes = nil + file_api_emailAlerts_emailAlerts_proto_depIdxs = nil +} diff --git a/api/emailAlerts/emailAlerts.validator.pb.go b/api/emailAlerts/emailAlerts.validator.pb.go new file mode 100644 index 0000000..4f738bf --- /dev/null +++ b/api/emailAlerts/emailAlerts.validator.pb.go @@ -0,0 +1,47 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: api/emailAlerts/emailAlerts.proto + +package emailAlerts + +import ( + fmt "fmt" + math "math" + proto "github.com/golang/protobuf/proto" + github_com_mwitkow_go_proto_validators "github.com/mwitkow/go-proto-validators" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +func (this *EmailAlertsSubmitReq) Validate() error { + return nil +} +func (this *EmailAlertsSubmitResp) Validate() error { + return nil +} +func (this *Filtrate) Validate() error { + return nil +} +func (this *GetEmailInformationListReq) Validate() error { + if this.Filtrate != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Filtrate); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Filtrate", err) + } + } + return nil +} +func (this *GetEmailInformationListResp) Validate() error { + for _, item := range this.Data { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Data", err) + } + } + } + return nil +} +func (this *EmailInformation) Validate() error { + return nil +} diff --git a/api/emailAlerts/emailAlerts_triple.pb.go b/api/emailAlerts/emailAlerts_triple.pb.go new file mode 100644 index 0000000..03b8eb9 --- /dev/null +++ b/api/emailAlerts/emailAlerts_triple.pb.go @@ -0,0 +1,194 @@ +// Code generated by protoc-gen-go-triple. DO NOT EDIT. +// versions: +// - protoc-gen-go-triple v1.0.5 +// - protoc v5.26.0 +// source: api/emailAlerts/emailAlerts.proto + +package emailAlerts + +import ( + context "context" + protocol "dubbo.apache.org/dubbo-go/v3/protocol" + dubbo3 "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3" + invocation "dubbo.apache.org/dubbo-go/v3/protocol/invocation" + grpc_go "github.com/dubbogo/grpc-go" + codes "github.com/dubbogo/grpc-go/codes" + metadata "github.com/dubbogo/grpc-go/metadata" + status "github.com/dubbogo/grpc-go/status" + common "github.com/dubbogo/triple/pkg/common" + constant "github.com/dubbogo/triple/pkg/common/constant" + triple "github.com/dubbogo/triple/pkg/triple" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc_go.SupportPackageIsVersion7 + +// EmailAlertsClient is the client API for EmailAlerts 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 EmailAlertsClient interface { + EmailAlertsSubmit(ctx context.Context, in *EmailAlertsSubmitReq, opts ...grpc_go.CallOption) (*EmailAlertsSubmitResp, common.ErrorWithAttachment) + // ========================= EmailInformatio ============================== + GetEmailInformationList(ctx context.Context, in *GetEmailInformationListReq, opts ...grpc_go.CallOption) (*GetEmailInformationListResp, common.ErrorWithAttachment) +} + +type emailAlertsClient struct { + cc *triple.TripleConn +} + +type EmailAlertsClientImpl struct { + EmailAlertsSubmit func(ctx context.Context, in *EmailAlertsSubmitReq) (*EmailAlertsSubmitResp, error) + GetEmailInformationList func(ctx context.Context, in *GetEmailInformationListReq) (*GetEmailInformationListResp, error) +} + +func (c *EmailAlertsClientImpl) GetDubboStub(cc *triple.TripleConn) EmailAlertsClient { + return NewEmailAlertsClient(cc) +} + +func (c *EmailAlertsClientImpl) XXX_InterfaceName() string { + return "emailAlerts.EmailAlerts" +} + +func NewEmailAlertsClient(cc *triple.TripleConn) EmailAlertsClient { + return &emailAlertsClient{cc} +} + +func (c *emailAlertsClient) EmailAlertsSubmit(ctx context.Context, in *EmailAlertsSubmitReq, opts ...grpc_go.CallOption) (*EmailAlertsSubmitResp, common.ErrorWithAttachment) { + out := new(EmailAlertsSubmitResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/EmailAlertsSubmit", in, out) +} + +func (c *emailAlertsClient) GetEmailInformationList(ctx context.Context, in *GetEmailInformationListReq, opts ...grpc_go.CallOption) (*GetEmailInformationListResp, common.ErrorWithAttachment) { + out := new(GetEmailInformationListResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetEmailInformationList", in, out) +} + +// EmailAlertsServer is the server API for EmailAlerts service. +// All implementations must embed UnimplementedEmailAlertsServer +// for forward compatibility +type EmailAlertsServer interface { + EmailAlertsSubmit(context.Context, *EmailAlertsSubmitReq) (*EmailAlertsSubmitResp, error) + // ========================= EmailInformatio ============================== + GetEmailInformationList(context.Context, *GetEmailInformationListReq) (*GetEmailInformationListResp, error) + mustEmbedUnimplementedEmailAlertsServer() +} + +// UnimplementedEmailAlertsServer must be embedded to have forward compatible implementations. +type UnimplementedEmailAlertsServer struct { + proxyImpl protocol.Invoker +} + +func (UnimplementedEmailAlertsServer) EmailAlertsSubmit(context.Context, *EmailAlertsSubmitReq) (*EmailAlertsSubmitResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method EmailAlertsSubmit not implemented") +} +func (UnimplementedEmailAlertsServer) GetEmailInformationList(context.Context, *GetEmailInformationListReq) (*GetEmailInformationListResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetEmailInformationList not implemented") +} +func (s *UnimplementedEmailAlertsServer) XXX_SetProxyImpl(impl protocol.Invoker) { + s.proxyImpl = impl +} + +func (s *UnimplementedEmailAlertsServer) XXX_GetProxyImpl() protocol.Invoker { + return s.proxyImpl +} + +func (s *UnimplementedEmailAlertsServer) XXX_ServiceDesc() *grpc_go.ServiceDesc { + return &EmailAlerts_ServiceDesc +} +func (s *UnimplementedEmailAlertsServer) XXX_InterfaceName() string { + return "emailAlerts.EmailAlerts" +} + +func (UnimplementedEmailAlertsServer) mustEmbedUnimplementedEmailAlertsServer() {} + +// UnsafeEmailAlertsServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to EmailAlertsServer will +// result in compilation errors. +type UnsafeEmailAlertsServer interface { + mustEmbedUnimplementedEmailAlertsServer() +} + +func RegisterEmailAlertsServer(s grpc_go.ServiceRegistrar, srv EmailAlertsServer) { + s.RegisterService(&EmailAlerts_ServiceDesc, srv) +} + +func _EmailAlerts_EmailAlertsSubmit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(EmailAlertsSubmitReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("EmailAlertsSubmit", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _EmailAlerts_GetEmailInformationList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetEmailInformationListReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetEmailInformationList", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +// EmailAlerts_ServiceDesc is the grpc_go.ServiceDesc for EmailAlerts service. +// It's only intended for direct use with grpc_go.RegisterService, +// and not to be introspected or modified (even as a copy) +var EmailAlerts_ServiceDesc = grpc_go.ServiceDesc{ + ServiceName: "emailAlerts.EmailAlerts", + HandlerType: (*EmailAlertsServer)(nil), + Methods: []grpc_go.MethodDesc{ + { + MethodName: "EmailAlertsSubmit", + Handler: _EmailAlerts_EmailAlertsSubmit_Handler, + }, + { + MethodName: "GetEmailInformationList", + Handler: _EmailAlerts_GetEmailInformationList_Handler, + }, + }, + Streams: []grpc_go.StreamDesc{}, + Metadata: "api/emailAlerts/emailAlerts.proto", +} diff --git a/pkg/router/router.go b/pkg/router/router.go index e78957a..c4bdc39 100644 --- a/pkg/router/router.go +++ b/pkg/router/router.go @@ -7,6 +7,7 @@ import ( "fonchain-fiee/pkg/service/account" "fonchain-fiee/pkg/service/asChat" "fonchain-fiee/pkg/service/auth" + emailAlert "fonchain-fiee/pkg/service/emailAlerts" "fonchain-fiee/pkg/service/file" "fonchain-fiee/pkg/service/governance" imports "fonchain-fiee/pkg/service/import" @@ -203,6 +204,14 @@ func NewRouter() *gin.Engine { reportsRouteLogin.POST("/quarterly/delete", reports.QuarterlyReportDelete) reportsRouteLogin.POST("/quarterly/edit", reports.QuarterlyReportEdit) } + { + // 邮箱通知 + emailAlertsRoute := v1.Group("/emailalerts") + emailAlertsRouteLogin := emailAlertsRoute.Group("", middleware.CheckWebLogin(service.AccountProvider)) + + emailAlertsRouteLogin.POST("/submit", emailAlert.EmailAlertSubmit) + emailAlertsRouteLogin.POST("/list", emailAlert.GetEmailInformationList) + } { importRoute := v1.Group("/import") importRoute.Use(middleware.CheckWebLogin(service.AccountProvider)) diff --git a/pkg/service/emailAlerts/emailAlerts.go b/pkg/service/emailAlerts/emailAlerts.go new file mode 100644 index 0000000..2ef9756 --- /dev/null +++ b/pkg/service/emailAlerts/emailAlerts.go @@ -0,0 +1,36 @@ +package emailalerts + +import ( + "fonchain-fiee/api/emailAlerts" + "fonchain-fiee/pkg/service" + + "github.com/gin-gonic/gin" +) + +func EmailAlertSubmit(ctx *gin.Context) { + var req emailAlerts.EmailAlertsSubmitReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.EmailAlertsProvider.EmailAlertsSubmit(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} + +func GetEmailInformationList(ctx *gin.Context) { + var req emailAlerts.GetEmailInformationListReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.EmailAlertsProvider.GetEmailInformationList(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} diff --git a/pkg/service/init.go b/pkg/service/init.go index 7d46cf4..90b679a 100644 --- a/pkg/service/init.go +++ b/pkg/service/init.go @@ -6,6 +6,7 @@ import ( "fonchain-fiee/api/accountFiee" "fonchain-fiee/api/bundle" "fonchain-fiee/api/cast" + "fonchain-fiee/api/emailAlerts" "fonchain-fiee/api/files" "fonchain-fiee/api/governance" "fonchain-fiee/api/order" @@ -33,6 +34,7 @@ var GovernanceProvider = new(governance.GovernanceClientImpl) var PressReleasesProvider = new(pressreleases.PressReleasesClientImpl) var SecFilingProvider = new(secFilings.SecFilingsClientImpl) var ReportsProvider = new(reports.ReportsClientImpl) +var EmailAlertsProvider = new(emailAlerts.EmailAlertsClientImpl) func init() { config.SetConsumerService(BundleProvider) @@ -46,6 +48,7 @@ func init() { config.SetConsumerService(PressReleasesProvider) config.SetConsumerService(SecFilingProvider) config.SetConsumerService(ReportsProvider) + config.SetConsumerService(EmailAlertsProvider) if err := config.Load(); err != nil { panic(err) From 663c8e235ca4b8f26f8ada4f9d91b45279ef41a6 Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Thu, 25 Sep 2025 17:06:49 +0800 Subject: [PATCH 07/38] =?UTF-8?q?Updata=EF=BC=9A=E6=9B=B4=E6=94=B9?= =?UTF-8?q?=E8=B7=AF=E5=BE=84=E8=AE=BF=E9=97=AE=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/router/router.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/router/router.go b/pkg/router/router.go index c4bdc39..83d1ced 100644 --- a/pkg/router/router.go +++ b/pkg/router/router.go @@ -209,7 +209,7 @@ func NewRouter() *gin.Engine { emailAlertsRoute := v1.Group("/emailalerts") emailAlertsRouteLogin := emailAlertsRoute.Group("", middleware.CheckWebLogin(service.AccountProvider)) - emailAlertsRouteLogin.POST("/submit", emailAlert.EmailAlertSubmit) + emailAlertsRoute.POST("/submit", emailAlert.EmailAlertSubmit) emailAlertsRouteLogin.POST("/list", emailAlert.GetEmailInformationList) } { From 0119505418909341ff17b3bf8dc0ea509fef261d Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Sun, 28 Sep 2025 10:03:07 +0800 Subject: [PATCH 08/38] =?UTF-8?q?Updata:=E8=B7=9F=E6=96=B0pb=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E4=B8=8E=E8=B7=AF=E7=94=B1=EF=BC=9B=E8=A1=A5=E5=85=85?= =?UTF-8?q?=E7=BC=BA=E5=A4=B1=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/members/members.pb.go | 1944 +++++++++++++++++++++++++++ api/members/members.validator.pb.go | 101 ++ api/members/members_triple.pb.go | 425 ++++++ pkg/router/router.go | 17 + pkg/service/init.go | 3 + pkg/service/members/members.go | 122 ++ 6 files changed, 2612 insertions(+) create mode 100644 api/members/members.pb.go create mode 100644 api/members/members.validator.pb.go create mode 100644 api/members/members_triple.pb.go create mode 100644 pkg/service/members/members.go diff --git a/api/members/members.pb.go b/api/members/members.pb.go new file mode 100644 index 0000000..55967da --- /dev/null +++ b/api/members/members.pb.go @@ -0,0 +1,1944 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v5.26.0 +// source: api/members/members.proto + +package members + +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 AddMemberReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //姓名 + Brief string `protobuf:"bytes,3,opt,name=brief,proto3" json:"brief"` //简介 + Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"` //详细介绍 + Operator string `protobuf:"bytes,5,opt,name=operator,proto3" json:"operator"` //操作人 + OperatorId int32 `protobuf:"varint,6,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id +} + +func (x *AddMemberReq) Reset() { + *x = AddMemberReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddMemberReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddMemberReq) ProtoMessage() {} + +func (x *AddMemberReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_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 AddMemberReq.ProtoReflect.Descriptor instead. +func (*AddMemberReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{0} +} + +func (x *AddMemberReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *AddMemberReq) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *AddMemberReq) GetBrief() string { + if x != nil { + return x.Brief + } + return "" +} + +func (x *AddMemberReq) GetIntroduction() string { + if x != nil { + return x.Introduction + } + return "" +} + +func (x *AddMemberReq) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *AddMemberReq) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type AddMemberResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *AddMemberResp) Reset() { + *x = AddMemberResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddMemberResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddMemberResp) ProtoMessage() {} + +func (x *AddMemberResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddMemberResp.ProtoReflect.Descriptor instead. +func (*AddMemberResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{1} +} + +func (x *AddMemberResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type EditMemberReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //姓名 + Brief string `protobuf:"bytes,3,opt,name=brief,proto3" json:"brief"` //简介 + Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"` //详细介绍 + Sort int32 `protobuf:"varint,5,opt,name=sort,proto3" json:"sort"` //排序 + Operator string `protobuf:"bytes,6,opt,name=operator,proto3" json:"operator"` //操作人 + OperatorId int32 `protobuf:"varint,7,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id +} + +func (x *EditMemberReq) Reset() { + *x = EditMemberReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EditMemberReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EditMemberReq) ProtoMessage() {} + +func (x *EditMemberReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_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 EditMemberReq.ProtoReflect.Descriptor instead. +func (*EditMemberReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{2} +} + +func (x *EditMemberReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *EditMemberReq) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *EditMemberReq) GetBrief() string { + if x != nil { + return x.Brief + } + return "" +} + +func (x *EditMemberReq) GetIntroduction() string { + if x != nil { + return x.Introduction + } + return "" +} + +func (x *EditMemberReq) GetSort() int32 { + if x != nil { + return x.Sort + } + return 0 +} + +func (x *EditMemberReq) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *EditMemberReq) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type EditMemberResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *EditMemberResp) Reset() { + *x = EditMemberResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EditMemberResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EditMemberResp) ProtoMessage() {} + +func (x *EditMemberResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_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 EditMemberResp.ProtoReflect.Descriptor instead. +func (*EditMemberResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{3} +} + +func (x *EditMemberResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type DeleteMemberReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid +} + +func (x *DeleteMemberReq) Reset() { + *x = DeleteMemberReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteMemberReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteMemberReq) ProtoMessage() {} + +func (x *DeleteMemberReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_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 DeleteMemberReq.ProtoReflect.Descriptor instead. +func (*DeleteMemberReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{4} +} + +func (x *DeleteMemberReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +type DeleteMemberResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *DeleteMemberResp) Reset() { + *x = DeleteMemberResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteMemberResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteMemberResp) ProtoMessage() {} + +func (x *DeleteMemberResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[5] + 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 DeleteMemberResp.ProtoReflect.Descriptor instead. +func (*DeleteMemberResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{5} +} + +func (x *DeleteMemberResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type Filtrate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name"` //文件名称 +} + +func (x *Filtrate) Reset() { + *x = Filtrate{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Filtrate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Filtrate) ProtoMessage() {} + +func (x *Filtrate) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[6] + 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 Filtrate.ProtoReflect.Descriptor instead. +func (*Filtrate) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{6} +} + +func (x *Filtrate) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type GetMemberListReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize"` + Filterate *Filtrate `protobuf:"bytes,3,opt,name=filterate,proto3" json:"filterate"` //筛选条件 +} + +func (x *GetMemberListReq) Reset() { + *x = GetMemberListReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetMemberListReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMemberListReq) ProtoMessage() {} + +func (x *GetMemberListReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[7] + 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 GetMemberListReq.ProtoReflect.Descriptor instead. +func (*GetMemberListReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{7} +} + +func (x *GetMemberListReq) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *GetMemberListReq) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *GetMemberListReq) GetFilterate() *Filtrate { + if x != nil { + return x.Filterate + } + return nil +} + +type GetMemberListResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` + Page int32 `protobuf:"varint,2,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize"` + Total int32 `protobuf:"varint,4,opt,name=total,proto3" json:"total"` + Data []*Member `protobuf:"bytes,5,rep,name=data,proto3" json:"data"` +} + +func (x *GetMemberListResp) Reset() { + *x = GetMemberListResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetMemberListResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMemberListResp) ProtoMessage() {} + +func (x *GetMemberListResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_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 GetMemberListResp.ProtoReflect.Descriptor instead. +func (*GetMemberListResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{8} +} + +func (x *GetMemberListResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *GetMemberListResp) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *GetMemberListResp) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *GetMemberListResp) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *GetMemberListResp) GetData() []*Member { + if x != nil { + return x.Data + } + return nil +} + +type Member struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` + Brief string `protobuf:"bytes,3,opt,name=brief,proto3" json:"brief"` + Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"` + Management *Management `protobuf:"bytes,5,opt,name=management,proto3" json:"management"` + BoardOfDirectors *BoardOfDirectors `protobuf:"bytes,6,opt,name=boardOfDirectors,proto3" json:"boardOfDirectors"` + CommitteeAppointments *CommitteeAppointments `protobuf:"bytes,7,opt,name=committeeAppointments,proto3" json:"committeeAppointments"` + UpdatedAt string `protobuf:"bytes,8,opt,name=updatedAt,proto3" json:"updatedAt"` + Operator string `protobuf:"bytes,9,opt,name=operator,proto3" json:"operator"` +} + +func (x *Member) Reset() { + *x = Member{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Member) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Member) ProtoMessage() {} + +func (x *Member) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_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 Member.ProtoReflect.Descriptor instead. +func (*Member) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{9} +} + +func (x *Member) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *Member) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Member) GetBrief() string { + if x != nil { + return x.Brief + } + return "" +} + +func (x *Member) GetIntroduction() string { + if x != nil { + return x.Introduction + } + return "" +} + +func (x *Member) GetManagement() *Management { + if x != nil { + return x.Management + } + return nil +} + +func (x *Member) GetBoardOfDirectors() *BoardOfDirectors { + if x != nil { + return x.BoardOfDirectors + } + return nil +} + +func (x *Member) GetCommitteeAppointments() *CommitteeAppointments { + if x != nil { + return x.CommitteeAppointments + } + return nil +} + +func (x *Member) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +func (x *Member) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +// ===================================成员信息管理======================================= +type Management struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` + Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image"` + Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status"` + Brief string `protobuf:"bytes,4,opt,name=brief,proto3" json:"brief"` + Introduction string `protobuf:"bytes,5,opt,name=introduction,proto3" json:"introduction"` + IsSetting int32 `protobuf:"varint,6,opt,name=isSetting,proto3" json:"isSetting"` +} + +func (x *Management) Reset() { + *x = Management{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Management) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Management) ProtoMessage() {} + +func (x *Management) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[10] + 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 Management.ProtoReflect.Descriptor instead. +func (*Management) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{10} +} + +func (x *Management) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Management) GetImage() string { + if x != nil { + return x.Image + } + return "" +} + +func (x *Management) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *Management) GetBrief() string { + if x != nil { + return x.Brief + } + return "" +} + +func (x *Management) GetIntroduction() string { + if x != nil { + return x.Introduction + } + return "" +} + +func (x *Management) GetIsSetting() int32 { + if x != nil { + return x.IsSetting + } + return 0 +} + +type EditManagementReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` + Image string `protobuf:"bytes,3,opt,name=image,proto3" json:"image"` + Status int32 `protobuf:"varint,4,opt,name=status,proto3" json:"status"` + Brief string `protobuf:"bytes,5,opt,name=brief,proto3" json:"brief"` + Introduction string `protobuf:"bytes,6,opt,name=introduction,proto3" json:"introduction"` + IsSetting int32 `protobuf:"varint,7,opt,name=isSetting,proto3" json:"isSetting"` + Operator string `protobuf:"bytes,8,opt,name=operator,proto3" json:"operator"` + OperatorId int32 `protobuf:"varint,9,opt,name=operatorId,proto3" json:"operatorId"` +} + +func (x *EditManagementReq) Reset() { + *x = EditManagementReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EditManagementReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EditManagementReq) ProtoMessage() {} + +func (x *EditManagementReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[11] + 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 EditManagementReq.ProtoReflect.Descriptor instead. +func (*EditManagementReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{11} +} + +func (x *EditManagementReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *EditManagementReq) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *EditManagementReq) GetImage() string { + if x != nil { + return x.Image + } + return "" +} + +func (x *EditManagementReq) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *EditManagementReq) GetBrief() string { + if x != nil { + return x.Brief + } + return "" +} + +func (x *EditManagementReq) GetIntroduction() string { + if x != nil { + return x.Introduction + } + return "" +} + +func (x *EditManagementReq) GetIsSetting() int32 { + if x != nil { + return x.IsSetting + } + return 0 +} + +func (x *EditManagementReq) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *EditManagementReq) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type EditManagementResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *EditManagementResp) Reset() { + *x = EditManagementResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EditManagementResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EditManagementResp) ProtoMessage() {} + +func (x *EditManagementResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[12] + 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 EditManagementResp.ProtoReflect.Descriptor instead. +func (*EditManagementResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{12} +} + +func (x *EditManagementResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +// ==================================董事会信息管理====================================== +type BoardOfDirectors struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` + Brief string `protobuf:"bytes,3,opt,name=brief,proto3" json:"brief"` + Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"` + IsSetting int32 `protobuf:"varint,5,opt,name=isSetting,proto3" json:"isSetting"` +} + +func (x *BoardOfDirectors) Reset() { + *x = BoardOfDirectors{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BoardOfDirectors) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BoardOfDirectors) ProtoMessage() {} + +func (x *BoardOfDirectors) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[13] + 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 BoardOfDirectors.ProtoReflect.Descriptor instead. +func (*BoardOfDirectors) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{13} +} + +func (x *BoardOfDirectors) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *BoardOfDirectors) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *BoardOfDirectors) GetBrief() string { + if x != nil { + return x.Brief + } + return "" +} + +func (x *BoardOfDirectors) GetIntroduction() string { + if x != nil { + return x.Introduction + } + return "" +} + +func (x *BoardOfDirectors) GetIsSetting() int32 { + if x != nil { + return x.IsSetting + } + return 0 +} + +type EditBoardOfDirectorsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` + Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status"` + Brief string `protobuf:"bytes,4,opt,name=brief,proto3" json:"brief"` + Introduction string `protobuf:"bytes,5,opt,name=introduction,proto3" json:"introduction"` + IsSetting int32 `protobuf:"varint,6,opt,name=isSetting,proto3" json:"isSetting"` + Operator string `protobuf:"bytes,7,opt,name=operator,proto3" json:"operator"` + OperatorId int32 `protobuf:"varint,8,opt,name=operatorId,proto3" json:"operatorId"` +} + +func (x *EditBoardOfDirectorsReq) Reset() { + *x = EditBoardOfDirectorsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EditBoardOfDirectorsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EditBoardOfDirectorsReq) ProtoMessage() {} + +func (x *EditBoardOfDirectorsReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[14] + 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 EditBoardOfDirectorsReq.ProtoReflect.Descriptor instead. +func (*EditBoardOfDirectorsReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{14} +} + +func (x *EditBoardOfDirectorsReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *EditBoardOfDirectorsReq) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *EditBoardOfDirectorsReq) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *EditBoardOfDirectorsReq) GetBrief() string { + if x != nil { + return x.Brief + } + return "" +} + +func (x *EditBoardOfDirectorsReq) GetIntroduction() string { + if x != nil { + return x.Introduction + } + return "" +} + +func (x *EditBoardOfDirectorsReq) GetIsSetting() int32 { + if x != nil { + return x.IsSetting + } + return 0 +} + +func (x *EditBoardOfDirectorsReq) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *EditBoardOfDirectorsReq) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type EditBoardOfDirectorsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *EditBoardOfDirectorsResp) Reset() { + *x = EditBoardOfDirectorsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EditBoardOfDirectorsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EditBoardOfDirectorsResp) ProtoMessage() {} + +func (x *EditBoardOfDirectorsResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[15] + 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 EditBoardOfDirectorsResp.ProtoReflect.Descriptor instead. +func (*EditBoardOfDirectorsResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{15} +} + +func (x *EditBoardOfDirectorsResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +// ==================================委员会任命管理====================================== +type CommitteeAppointments struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` + AuditCommittee string `protobuf:"bytes,3,opt,name=auditCommittee,proto3" json:"auditCommittee"` + CompensationCommittee string `protobuf:"bytes,4,opt,name=compensationCommittee,proto3" json:"compensationCommittee"` + NominatingCommittee string `protobuf:"bytes,5,opt,name=nominatingCommittee,proto3" json:"nominatingCommittee"` + IsSetting int32 `protobuf:"varint,6,opt,name=isSetting,proto3" json:"isSetting"` +} + +func (x *CommitteeAppointments) Reset() { + *x = CommitteeAppointments{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommitteeAppointments) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommitteeAppointments) ProtoMessage() {} + +func (x *CommitteeAppointments) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[16] + 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 CommitteeAppointments.ProtoReflect.Descriptor instead. +func (*CommitteeAppointments) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{16} +} + +func (x *CommitteeAppointments) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CommitteeAppointments) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *CommitteeAppointments) GetAuditCommittee() string { + if x != nil { + return x.AuditCommittee + } + return "" +} + +func (x *CommitteeAppointments) GetCompensationCommittee() string { + if x != nil { + return x.CompensationCommittee + } + return "" +} + +func (x *CommitteeAppointments) GetNominatingCommittee() string { + if x != nil { + return x.NominatingCommittee + } + return "" +} + +func (x *CommitteeAppointments) GetIsSetting() int32 { + if x != nil { + return x.IsSetting + } + return 0 +} + +type EditCommitteeAppointmentsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` + Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status"` + AuditCommittee string `protobuf:"bytes,4,opt,name=auditCommittee,proto3" json:"auditCommittee"` + CompensationCommittee string `protobuf:"bytes,5,opt,name=compensationCommittee,proto3" json:"compensationCommittee"` + NominatingCommittee string `protobuf:"bytes,6,opt,name=nominatingCommittee,proto3" json:"nominatingCommittee"` + IsSetting int32 `protobuf:"varint,7,opt,name=isSetting,proto3" json:"isSetting"` + Operator string `protobuf:"bytes,8,opt,name=operator,proto3" json:"operator"` + OperatorId int32 `protobuf:"varint,9,opt,name=operatorId,proto3" json:"operatorId"` +} + +func (x *EditCommitteeAppointmentsReq) Reset() { + *x = EditCommitteeAppointmentsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EditCommitteeAppointmentsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EditCommitteeAppointmentsReq) ProtoMessage() {} + +func (x *EditCommitteeAppointmentsReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[17] + 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 EditCommitteeAppointmentsReq.ProtoReflect.Descriptor instead. +func (*EditCommitteeAppointmentsReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{17} +} + +func (x *EditCommitteeAppointmentsReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *EditCommitteeAppointmentsReq) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *EditCommitteeAppointmentsReq) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *EditCommitteeAppointmentsReq) GetAuditCommittee() string { + if x != nil { + return x.AuditCommittee + } + return "" +} + +func (x *EditCommitteeAppointmentsReq) GetCompensationCommittee() string { + if x != nil { + return x.CompensationCommittee + } + return "" +} + +func (x *EditCommitteeAppointmentsReq) GetNominatingCommittee() string { + if x != nil { + return x.NominatingCommittee + } + return "" +} + +func (x *EditCommitteeAppointmentsReq) GetIsSetting() int32 { + if x != nil { + return x.IsSetting + } + return 0 +} + +func (x *EditCommitteeAppointmentsReq) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *EditCommitteeAppointmentsReq) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type EditCommitteeAppointmentsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *EditCommitteeAppointmentsResp) Reset() { + *x = EditCommitteeAppointmentsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EditCommitteeAppointmentsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EditCommitteeAppointmentsResp) ProtoMessage() {} + +func (x *EditCommitteeAppointmentsResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[18] + 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 EditCommitteeAppointmentsResp.ProtoReflect.Descriptor instead. +func (*EditCommitteeAppointmentsResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{18} +} + +func (x *EditCommitteeAppointmentsResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +var File_api_members_members_proto protoreflect.FileDescriptor + +var file_api_members_members_proto_rawDesc = []byte{ + 0x0a, 0x19, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x22, 0xac, 0x01, 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, + 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, + 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x49, 0x64, 0x22, 0x21, 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xc1, 0x01, 0x0a, 0x0d, 0x45, 0x64, 0x69, 0x74, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, + 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, + 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x22, 0x0a, 0x0e, 0x45, 0x64, + 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, + 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x25, + 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x24, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x1e, 0x0a, 0x08, 0x46, + 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x73, 0x0a, 0x10, 0x47, + 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, + 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, + 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, + 0x2f, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x46, 0x69, 0x6c, + 0x74, 0x72, 0x61, 0x74, 0x65, 0x52, 0x09, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x22, 0x90, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x23, + 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x22, 0xf6, 0x02, 0x0a, 0x06, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, + 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, + 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, + 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x33, 0x0a, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x10, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, + 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, + 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x10, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x54, 0x0a, 0x15, + 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, + 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x15, 0x63, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xa6, 0x01, 0x0a, + 0x0a, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, + 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, + 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xfd, 0x01, 0x0a, 0x11, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, + 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, + 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, + 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, + 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x26, 0x0a, 0x12, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, + 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x96, 0x01, + 0x0a, 0x10, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 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, 0x14, + 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, + 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xed, 0x01, 0x0a, 0x17, 0x45, 0x64, 0x69, 0x74, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, + 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, + 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x18, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6d, 0x73, 0x67, 0x22, 0xf1, 0x01, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 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, 0x26, 0x0a, 0x0e, 0x61, 0x75, + 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, + 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xc8, 0x02, 0x0a, 0x1c, 0x45, 0x64, 0x69, + 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, + 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, + 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, + 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x1d, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x32, 0xa5, 0x04, 0x0a, 0x07, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, + 0x15, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, + 0x0a, 0x0a, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, 0x2e, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, + 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, + 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x2e, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, + 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, + 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x49, 0x0a, 0x0e, 0x45, 0x64, + 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5b, 0x0a, 0x14, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, + 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x20, 0x2e, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, + 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, + 0x21, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x6a, 0x0a, 0x19, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, + 0x25, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, + 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_api_members_members_proto_rawDescOnce sync.Once + file_api_members_members_proto_rawDescData = file_api_members_members_proto_rawDesc +) + +func file_api_members_members_proto_rawDescGZIP() []byte { + file_api_members_members_proto_rawDescOnce.Do(func() { + file_api_members_members_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_members_members_proto_rawDescData) + }) + return file_api_members_members_proto_rawDescData +} + +var file_api_members_members_proto_msgTypes = make([]protoimpl.MessageInfo, 19) +var file_api_members_members_proto_goTypes = []interface{}{ + (*AddMemberReq)(nil), // 0: members.AddMemberReq + (*AddMemberResp)(nil), // 1: members.AddMemberResp + (*EditMemberReq)(nil), // 2: members.EditMemberReq + (*EditMemberResp)(nil), // 3: members.EditMemberResp + (*DeleteMemberReq)(nil), // 4: members.DeleteMemberReq + (*DeleteMemberResp)(nil), // 5: members.DeleteMemberResp + (*Filtrate)(nil), // 6: members.Filtrate + (*GetMemberListReq)(nil), // 7: members.GetMemberListReq + (*GetMemberListResp)(nil), // 8: members.GetMemberListResp + (*Member)(nil), // 9: members.Member + (*Management)(nil), // 10: members.Management + (*EditManagementReq)(nil), // 11: members.EditManagementReq + (*EditManagementResp)(nil), // 12: members.EditManagementResp + (*BoardOfDirectors)(nil), // 13: members.BoardOfDirectors + (*EditBoardOfDirectorsReq)(nil), // 14: members.EditBoardOfDirectorsReq + (*EditBoardOfDirectorsResp)(nil), // 15: members.EditBoardOfDirectorsResp + (*CommitteeAppointments)(nil), // 16: members.CommitteeAppointments + (*EditCommitteeAppointmentsReq)(nil), // 17: members.EditCommitteeAppointmentsReq + (*EditCommitteeAppointmentsResp)(nil), // 18: members.EditCommitteeAppointmentsResp +} +var file_api_members_members_proto_depIdxs = []int32{ + 6, // 0: members.GetMemberListReq.filterate:type_name -> members.Filtrate + 9, // 1: members.GetMemberListResp.data:type_name -> members.Member + 10, // 2: members.Member.management:type_name -> members.Management + 13, // 3: members.Member.boardOfDirectors:type_name -> members.BoardOfDirectors + 16, // 4: members.Member.committeeAppointments:type_name -> members.CommitteeAppointments + 0, // 5: members.Members.AddMember:input_type -> members.AddMemberReq + 2, // 6: members.Members.EditMember:input_type -> members.EditMemberReq + 4, // 7: members.Members.DeleteMember:input_type -> members.DeleteMemberReq + 7, // 8: members.Members.GetMemberList:input_type -> members.GetMemberListReq + 11, // 9: members.Members.EditManagement:input_type -> members.EditManagementReq + 14, // 10: members.Members.EditBoardOfDirectors:input_type -> members.EditBoardOfDirectorsReq + 17, // 11: members.Members.EditCommitteeAppointments:input_type -> members.EditCommitteeAppointmentsReq + 1, // 12: members.Members.AddMember:output_type -> members.AddMemberResp + 3, // 13: members.Members.EditMember:output_type -> members.EditMemberResp + 5, // 14: members.Members.DeleteMember:output_type -> members.DeleteMemberResp + 8, // 15: members.Members.GetMemberList:output_type -> members.GetMemberListResp + 12, // 16: members.Members.EditManagement:output_type -> members.EditManagementResp + 15, // 17: members.Members.EditBoardOfDirectors:output_type -> members.EditBoardOfDirectorsResp + 18, // 18: members.Members.EditCommitteeAppointments:output_type -> members.EditCommitteeAppointmentsResp + 12, // [12:19] is the sub-list for method output_type + 5, // [5:12] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { file_api_members_members_proto_init() } +func file_api_members_members_proto_init() { + if File_api_members_members_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_api_members_members_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddMemberReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddMemberResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditMemberReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditMemberResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteMemberReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteMemberResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Filtrate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMemberListReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMemberListResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Member); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Management); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditManagementReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditManagementResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BoardOfDirectors); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditBoardOfDirectorsReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditBoardOfDirectorsResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommitteeAppointments); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditCommitteeAppointmentsReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditCommitteeAppointmentsResp); 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_api_members_members_proto_rawDesc, + NumEnums: 0, + NumMessages: 19, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_api_members_members_proto_goTypes, + DependencyIndexes: file_api_members_members_proto_depIdxs, + MessageInfos: file_api_members_members_proto_msgTypes, + }.Build() + File_api_members_members_proto = out.File + file_api_members_members_proto_rawDesc = nil + file_api_members_members_proto_goTypes = nil + file_api_members_members_proto_depIdxs = nil +} diff --git a/api/members/members.validator.pb.go b/api/members/members.validator.pb.go new file mode 100644 index 0000000..0114f5e --- /dev/null +++ b/api/members/members.validator.pb.go @@ -0,0 +1,101 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: api/members/members.proto + +package members + +import ( + fmt "fmt" + math "math" + proto "github.com/golang/protobuf/proto" + github_com_mwitkow_go_proto_validators "github.com/mwitkow/go-proto-validators" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +func (this *AddMemberReq) Validate() error { + return nil +} +func (this *AddMemberResp) Validate() error { + return nil +} +func (this *EditMemberReq) Validate() error { + return nil +} +func (this *EditMemberResp) Validate() error { + return nil +} +func (this *DeleteMemberReq) Validate() error { + return nil +} +func (this *DeleteMemberResp) Validate() error { + return nil +} +func (this *Filtrate) Validate() error { + return nil +} +func (this *GetMemberListReq) Validate() error { + if this.Filterate != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Filterate); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Filterate", err) + } + } + return nil +} +func (this *GetMemberListResp) Validate() error { + for _, item := range this.Data { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Data", err) + } + } + } + return nil +} +func (this *Member) Validate() error { + if this.Management != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Management); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Management", err) + } + } + if this.BoardOfDirectors != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.BoardOfDirectors); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("BoardOfDirectors", err) + } + } + if this.CommitteeAppointments != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.CommitteeAppointments); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("CommitteeAppointments", err) + } + } + return nil +} +func (this *Management) Validate() error { + return nil +} +func (this *EditManagementReq) Validate() error { + return nil +} +func (this *EditManagementResp) Validate() error { + return nil +} +func (this *BoardOfDirectors) Validate() error { + return nil +} +func (this *EditBoardOfDirectorsReq) Validate() error { + return nil +} +func (this *EditBoardOfDirectorsResp) Validate() error { + return nil +} +func (this *CommitteeAppointments) Validate() error { + return nil +} +func (this *EditCommitteeAppointmentsReq) Validate() error { + return nil +} +func (this *EditCommitteeAppointmentsResp) Validate() error { + return nil +} diff --git a/api/members/members_triple.pb.go b/api/members/members_triple.pb.go new file mode 100644 index 0000000..476954a --- /dev/null +++ b/api/members/members_triple.pb.go @@ -0,0 +1,425 @@ +// Code generated by protoc-gen-go-triple. DO NOT EDIT. +// versions: +// - protoc-gen-go-triple v1.0.5 +// - protoc v5.26.0 +// source: api/members/members.proto + +package members + +import ( + context "context" + protocol "dubbo.apache.org/dubbo-go/v3/protocol" + dubbo3 "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3" + invocation "dubbo.apache.org/dubbo-go/v3/protocol/invocation" + grpc_go "github.com/dubbogo/grpc-go" + codes "github.com/dubbogo/grpc-go/codes" + metadata "github.com/dubbogo/grpc-go/metadata" + status "github.com/dubbogo/grpc-go/status" + common "github.com/dubbogo/triple/pkg/common" + constant "github.com/dubbogo/triple/pkg/common/constant" + triple "github.com/dubbogo/triple/pkg/triple" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc_go.SupportPackageIsVersion7 + +// MembersClient is the client API for Members 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 MembersClient interface { + // ==================================成员管理====================================== + AddMember(ctx context.Context, in *AddMemberReq, opts ...grpc_go.CallOption) (*AddMemberResp, common.ErrorWithAttachment) + EditMember(ctx context.Context, in *EditMemberReq, opts ...grpc_go.CallOption) (*EditMemberResp, common.ErrorWithAttachment) + DeleteMember(ctx context.Context, in *DeleteMemberReq, opts ...grpc_go.CallOption) (*DeleteMemberResp, common.ErrorWithAttachment) + GetMemberList(ctx context.Context, in *GetMemberListReq, opts ...grpc_go.CallOption) (*GetMemberListResp, common.ErrorWithAttachment) + // ===================================成员信息管理======================================= + EditManagement(ctx context.Context, in *EditManagementReq, opts ...grpc_go.CallOption) (*EditManagementResp, common.ErrorWithAttachment) + // ===================================董事会信息管理======================================= + EditBoardOfDirectors(ctx context.Context, in *EditBoardOfDirectorsReq, opts ...grpc_go.CallOption) (*EditBoardOfDirectorsResp, common.ErrorWithAttachment) + // ==================================委员会任命管理====================================== + EditCommitteeAppointments(ctx context.Context, in *EditCommitteeAppointmentsReq, opts ...grpc_go.CallOption) (*EditCommitteeAppointmentsResp, common.ErrorWithAttachment) +} + +type membersClient struct { + cc *triple.TripleConn +} + +type MembersClientImpl struct { + AddMember func(ctx context.Context, in *AddMemberReq) (*AddMemberResp, error) + EditMember func(ctx context.Context, in *EditMemberReq) (*EditMemberResp, error) + DeleteMember func(ctx context.Context, in *DeleteMemberReq) (*DeleteMemberResp, error) + GetMemberList func(ctx context.Context, in *GetMemberListReq) (*GetMemberListResp, error) + EditManagement func(ctx context.Context, in *EditManagementReq) (*EditManagementResp, error) + EditBoardOfDirectors func(ctx context.Context, in *EditBoardOfDirectorsReq) (*EditBoardOfDirectorsResp, error) + EditCommitteeAppointments func(ctx context.Context, in *EditCommitteeAppointmentsReq) (*EditCommitteeAppointmentsResp, error) +} + +func (c *MembersClientImpl) GetDubboStub(cc *triple.TripleConn) MembersClient { + return NewMembersClient(cc) +} + +func (c *MembersClientImpl) XXX_InterfaceName() string { + return "members.Members" +} + +func NewMembersClient(cc *triple.TripleConn) MembersClient { + return &membersClient{cc} +} + +func (c *membersClient) AddMember(ctx context.Context, in *AddMemberReq, opts ...grpc_go.CallOption) (*AddMemberResp, common.ErrorWithAttachment) { + out := new(AddMemberResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AddMember", in, out) +} + +func (c *membersClient) EditMember(ctx context.Context, in *EditMemberReq, opts ...grpc_go.CallOption) (*EditMemberResp, common.ErrorWithAttachment) { + out := new(EditMemberResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/EditMember", in, out) +} + +func (c *membersClient) DeleteMember(ctx context.Context, in *DeleteMemberReq, opts ...grpc_go.CallOption) (*DeleteMemberResp, common.ErrorWithAttachment) { + out := new(DeleteMemberResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DeleteMember", in, out) +} + +func (c *membersClient) GetMemberList(ctx context.Context, in *GetMemberListReq, opts ...grpc_go.CallOption) (*GetMemberListResp, common.ErrorWithAttachment) { + out := new(GetMemberListResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetMemberList", in, out) +} + +func (c *membersClient) EditManagement(ctx context.Context, in *EditManagementReq, opts ...grpc_go.CallOption) (*EditManagementResp, common.ErrorWithAttachment) { + out := new(EditManagementResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/EditManagement", in, out) +} + +func (c *membersClient) EditBoardOfDirectors(ctx context.Context, in *EditBoardOfDirectorsReq, opts ...grpc_go.CallOption) (*EditBoardOfDirectorsResp, common.ErrorWithAttachment) { + out := new(EditBoardOfDirectorsResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/EditBoardOfDirectors", in, out) +} + +func (c *membersClient) EditCommitteeAppointments(ctx context.Context, in *EditCommitteeAppointmentsReq, opts ...grpc_go.CallOption) (*EditCommitteeAppointmentsResp, common.ErrorWithAttachment) { + out := new(EditCommitteeAppointmentsResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/EditCommitteeAppointments", in, out) +} + +// MembersServer is the server API for Members service. +// All implementations must embed UnimplementedMembersServer +// for forward compatibility +type MembersServer interface { + // ==================================成员管理====================================== + AddMember(context.Context, *AddMemberReq) (*AddMemberResp, error) + EditMember(context.Context, *EditMemberReq) (*EditMemberResp, error) + DeleteMember(context.Context, *DeleteMemberReq) (*DeleteMemberResp, error) + GetMemberList(context.Context, *GetMemberListReq) (*GetMemberListResp, error) + // ===================================成员信息管理======================================= + EditManagement(context.Context, *EditManagementReq) (*EditManagementResp, error) + // ===================================董事会信息管理======================================= + EditBoardOfDirectors(context.Context, *EditBoardOfDirectorsReq) (*EditBoardOfDirectorsResp, error) + // ==================================委员会任命管理====================================== + EditCommitteeAppointments(context.Context, *EditCommitteeAppointmentsReq) (*EditCommitteeAppointmentsResp, error) + mustEmbedUnimplementedMembersServer() +} + +// UnimplementedMembersServer must be embedded to have forward compatible implementations. +type UnimplementedMembersServer struct { + proxyImpl protocol.Invoker +} + +func (UnimplementedMembersServer) AddMember(context.Context, *AddMemberReq) (*AddMemberResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddMember not implemented") +} +func (UnimplementedMembersServer) EditMember(context.Context, *EditMemberReq) (*EditMemberResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method EditMember not implemented") +} +func (UnimplementedMembersServer) DeleteMember(context.Context, *DeleteMemberReq) (*DeleteMemberResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteMember not implemented") +} +func (UnimplementedMembersServer) GetMemberList(context.Context, *GetMemberListReq) (*GetMemberListResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetMemberList not implemented") +} +func (UnimplementedMembersServer) EditManagement(context.Context, *EditManagementReq) (*EditManagementResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method EditManagement not implemented") +} +func (UnimplementedMembersServer) EditBoardOfDirectors(context.Context, *EditBoardOfDirectorsReq) (*EditBoardOfDirectorsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method EditBoardOfDirectors not implemented") +} +func (UnimplementedMembersServer) EditCommitteeAppointments(context.Context, *EditCommitteeAppointmentsReq) (*EditCommitteeAppointmentsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method EditCommitteeAppointments not implemented") +} +func (s *UnimplementedMembersServer) XXX_SetProxyImpl(impl protocol.Invoker) { + s.proxyImpl = impl +} + +func (s *UnimplementedMembersServer) XXX_GetProxyImpl() protocol.Invoker { + return s.proxyImpl +} + +func (s *UnimplementedMembersServer) XXX_ServiceDesc() *grpc_go.ServiceDesc { + return &Members_ServiceDesc +} +func (s *UnimplementedMembersServer) XXX_InterfaceName() string { + return "members.Members" +} + +func (UnimplementedMembersServer) mustEmbedUnimplementedMembersServer() {} + +// UnsafeMembersServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to MembersServer will +// result in compilation errors. +type UnsafeMembersServer interface { + mustEmbedUnimplementedMembersServer() +} + +func RegisterMembersServer(s grpc_go.ServiceRegistrar, srv MembersServer) { + s.RegisterService(&Members_ServiceDesc, srv) +} + +func _Members_AddMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AddMemberReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("AddMember", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Members_EditMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(EditMemberReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("EditMember", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Members_DeleteMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteMemberReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("DeleteMember", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Members_GetMemberList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetMemberListReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetMemberList", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Members_EditManagement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(EditManagementReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("EditManagement", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Members_EditBoardOfDirectors_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(EditBoardOfDirectorsReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("EditBoardOfDirectors", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Members_EditCommitteeAppointments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(EditCommitteeAppointmentsReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("EditCommitteeAppointments", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +// Members_ServiceDesc is the grpc_go.ServiceDesc for Members service. +// It's only intended for direct use with grpc_go.RegisterService, +// and not to be introspected or modified (even as a copy) +var Members_ServiceDesc = grpc_go.ServiceDesc{ + ServiceName: "members.Members", + HandlerType: (*MembersServer)(nil), + Methods: []grpc_go.MethodDesc{ + { + MethodName: "AddMember", + Handler: _Members_AddMember_Handler, + }, + { + MethodName: "EditMember", + Handler: _Members_EditMember_Handler, + }, + { + MethodName: "DeleteMember", + Handler: _Members_DeleteMember_Handler, + }, + { + MethodName: "GetMemberList", + Handler: _Members_GetMemberList_Handler, + }, + { + MethodName: "EditManagement", + Handler: _Members_EditManagement_Handler, + }, + { + MethodName: "EditBoardOfDirectors", + Handler: _Members_EditBoardOfDirectors_Handler, + }, + { + MethodName: "EditCommitteeAppointments", + Handler: _Members_EditCommitteeAppointments_Handler, + }, + }, + Streams: []grpc_go.StreamDesc{}, + Metadata: "api/members/members.proto", +} diff --git a/pkg/router/router.go b/pkg/router/router.go index 83d1ced..d375847 100644 --- a/pkg/router/router.go +++ b/pkg/router/router.go @@ -12,6 +12,7 @@ import ( "fonchain-fiee/pkg/service/governance" imports "fonchain-fiee/pkg/service/import" "fonchain-fiee/pkg/service/lang" + "fonchain-fiee/pkg/service/members" "fonchain-fiee/pkg/service/pressreleases" "fonchain-fiee/pkg/service/qr" "fonchain-fiee/pkg/service/redirect" @@ -212,6 +213,22 @@ func NewRouter() *gin.Engine { emailAlertsRoute.POST("/submit", emailAlert.EmailAlertSubmit) emailAlertsRouteLogin.POST("/list", emailAlert.GetEmailInformationList) } + { + // 成员管理 + membersRoute := v1.Group("/members") + membersRouteLogin := membersRoute.Group("", middleware.CheckWebLogin(service.AccountProvider)) + + membersRouteLogin.POST("/add", members.AddMember) + membersRouteLogin.POST("/list", members.GetMemberList) + membersRouteLogin.POST("/edit", members.EditMember) + membersRouteLogin.POST("/delete", members.DeleteMember) + // 成员信息管理 + membersRouteLogin.POST("/management/edit", members.EditManagement) + // 董事会信息管理 + membersRouteLogin.POST("/boardofdirectors/edit", members.EditBoardOfDirectors) + // 委员会任命管理 + membersRouteLogin.POST("/committeeappointments/edit", members.EditCommitteeAppointments) + } { importRoute := v1.Group("/import") importRoute.Use(middleware.CheckWebLogin(service.AccountProvider)) diff --git a/pkg/service/init.go b/pkg/service/init.go index 90b679a..f28467b 100644 --- a/pkg/service/init.go +++ b/pkg/service/init.go @@ -9,6 +9,7 @@ import ( "fonchain-fiee/api/emailAlerts" "fonchain-fiee/api/files" "fonchain-fiee/api/governance" + "fonchain-fiee/api/members" "fonchain-fiee/api/order" "fonchain-fiee/api/payment" "fonchain-fiee/api/pressreleases" @@ -35,6 +36,7 @@ var PressReleasesProvider = new(pressreleases.PressReleasesClientImpl) var SecFilingProvider = new(secFilings.SecFilingsClientImpl) var ReportsProvider = new(reports.ReportsClientImpl) var EmailAlertsProvider = new(emailAlerts.EmailAlertsClientImpl) +var MembersProvider = new(members.MembersClientImpl) func init() { config.SetConsumerService(BundleProvider) @@ -49,6 +51,7 @@ func init() { config.SetConsumerService(SecFilingProvider) config.SetConsumerService(ReportsProvider) config.SetConsumerService(EmailAlertsProvider) + config.SetConsumerService(MembersProvider) if err := config.Load(); err != nil { panic(err) diff --git a/pkg/service/members/members.go b/pkg/service/members/members.go new file mode 100644 index 0000000..4e801ba --- /dev/null +++ b/pkg/service/members/members.go @@ -0,0 +1,122 @@ +package members + +import ( + "fonchain-fiee/api/members" + "fonchain-fiee/pkg/model/login" + "fonchain-fiee/pkg/service" + + "github.com/gin-gonic/gin" +) + +func AddMember(ctx *gin.Context) { + var req members.AddMemberReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + user := login.GetUserInfoFromC(ctx) + req.Operator = user.Name + req.OperatorId = int32(user.ID) + resp, err := service.MembersProvider.AddMember(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} + +func GetMemberList(ctx *gin.Context) { + var req members.GetMemberListReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.MembersProvider.GetMemberList(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} + +func EditMember(ctx *gin.Context) { + var req members.EditMemberReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + user := login.GetUserInfoFromC(ctx) + req.Operator = user.Name + req.OperatorId = int32(user.ID) + resp, err := service.MembersProvider.EditMember(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} + +func DeleteMember(ctx *gin.Context) { + var req members.DeleteMemberReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.MembersProvider.DeleteMember(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} + +func EditManagement(ctx *gin.Context) { + var req members.EditManagementReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + user := login.GetUserInfoFromC(ctx) + req.Operator = user.Name + req.OperatorId = int32(user.ID) + resp, err := service.MembersProvider.EditManagement(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} + +func EditBoardOfDirectors(ctx *gin.Context) { + var req members.EditBoardOfDirectorsReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + user := login.GetUserInfoFromC(ctx) + req.Operator = user.Name + req.OperatorId = int32(user.ID) + resp, err := service.MembersProvider.EditBoardOfDirectors(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} + +func EditCommitteeAppointments(ctx *gin.Context) { + var req members.EditCommitteeAppointmentsReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + user := login.GetUserInfoFromC(ctx) + req.Operator = user.Name + req.OperatorId = int32(user.ID) + resp, err := service.MembersProvider.EditCommitteeAppointments(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} From 98c14769443af3f1f16b10a0773aeb3b7a5d3a0c Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Sun, 28 Sep 2025 13:54:02 +0800 Subject: [PATCH 09/38] =?UTF-8?q?Updata=EF=BC=9A=E6=9B=B4=E6=96=B0pb?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/members/members.pb.go | 48 +++++++++++++++++++-------------------- pkg/router/router.go | 2 +- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/api/members/members.pb.go b/api/members/members.pb.go index 55967da..2c2765e 100644 --- a/api/members/members.pb.go +++ b/api/members/members.pb.go @@ -1175,9 +1175,9 @@ type CommitteeAppointments struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` - AuditCommittee string `protobuf:"bytes,3,opt,name=auditCommittee,proto3" json:"auditCommittee"` - CompensationCommittee string `protobuf:"bytes,4,opt,name=compensationCommittee,proto3" json:"compensationCommittee"` - NominatingCommittee string `protobuf:"bytes,5,opt,name=nominatingCommittee,proto3" json:"nominatingCommittee"` + AuditCommittee int32 `protobuf:"varint,3,opt,name=auditCommittee,proto3" json:"auditCommittee"` + CompensationCommittee int32 `protobuf:"varint,4,opt,name=compensationCommittee,proto3" json:"compensationCommittee"` + NominatingCommittee int32 `protobuf:"varint,5,opt,name=nominatingCommittee,proto3" json:"nominatingCommittee"` IsSetting int32 `protobuf:"varint,6,opt,name=isSetting,proto3" json:"isSetting"` } @@ -1227,25 +1227,25 @@ func (x *CommitteeAppointments) GetStatus() int32 { return 0 } -func (x *CommitteeAppointments) GetAuditCommittee() string { +func (x *CommitteeAppointments) GetAuditCommittee() int32 { if x != nil { return x.AuditCommittee } - return "" + return 0 } -func (x *CommitteeAppointments) GetCompensationCommittee() string { +func (x *CommitteeAppointments) GetCompensationCommittee() int32 { if x != nil { return x.CompensationCommittee } - return "" + return 0 } -func (x *CommitteeAppointments) GetNominatingCommittee() string { +func (x *CommitteeAppointments) GetNominatingCommittee() int32 { if x != nil { return x.NominatingCommittee } - return "" + return 0 } func (x *CommitteeAppointments) GetIsSetting() int32 { @@ -1263,9 +1263,9 @@ type EditCommitteeAppointmentsReq struct { Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status"` - AuditCommittee string `protobuf:"bytes,4,opt,name=auditCommittee,proto3" json:"auditCommittee"` - CompensationCommittee string `protobuf:"bytes,5,opt,name=compensationCommittee,proto3" json:"compensationCommittee"` - NominatingCommittee string `protobuf:"bytes,6,opt,name=nominatingCommittee,proto3" json:"nominatingCommittee"` + AuditCommittee int32 `protobuf:"varint,4,opt,name=auditCommittee,proto3" json:"auditCommittee"` + CompensationCommittee int32 `protobuf:"varint,5,opt,name=compensationCommittee,proto3" json:"compensationCommittee"` + NominatingCommittee int32 `protobuf:"varint,6,opt,name=nominatingCommittee,proto3" json:"nominatingCommittee"` IsSetting int32 `protobuf:"varint,7,opt,name=isSetting,proto3" json:"isSetting"` Operator string `protobuf:"bytes,8,opt,name=operator,proto3" json:"operator"` OperatorId int32 `protobuf:"varint,9,opt,name=operatorId,proto3" json:"operatorId"` @@ -1324,25 +1324,25 @@ func (x *EditCommitteeAppointmentsReq) GetStatus() int32 { return 0 } -func (x *EditCommitteeAppointmentsReq) GetAuditCommittee() string { +func (x *EditCommitteeAppointmentsReq) GetAuditCommittee() int32 { if x != nil { return x.AuditCommittee } - return "" + return 0 } -func (x *EditCommitteeAppointmentsReq) GetCompensationCommittee() string { +func (x *EditCommitteeAppointmentsReq) GetCompensationCommittee() int32 { if x != nil { return x.CompensationCommittee } - return "" + return 0 } -func (x *EditCommitteeAppointmentsReq) GetNominatingCommittee() string { +func (x *EditCommitteeAppointmentsReq) GetNominatingCommittee() int32 { if x != nil { return x.NominatingCommittee } - return "" + return 0 } func (x *EditCommitteeAppointmentsReq) GetIsSetting() int32 { @@ -1555,13 +1555,13 @@ var file_api_members_members_proto_rawDesc = []byte{ 0x6d, 0x65, 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, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xc8, 0x02, 0x0a, 0x1c, 0x45, 0x64, 0x69, @@ -1572,13 +1572,13 @@ var file_api_members_members_proto_rawDesc = []byte{ 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, + 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, diff --git a/pkg/router/router.go b/pkg/router/router.go index d375847..c9120d0 100644 --- a/pkg/router/router.go +++ b/pkg/router/router.go @@ -222,7 +222,7 @@ func NewRouter() *gin.Engine { membersRouteLogin.POST("/list", members.GetMemberList) membersRouteLogin.POST("/edit", members.EditMember) membersRouteLogin.POST("/delete", members.DeleteMember) - // 成员信息管理 + // 成员部门信息管理 membersRouteLogin.POST("/management/edit", members.EditManagement) // 董事会信息管理 membersRouteLogin.POST("/boardofdirectors/edit", members.EditBoardOfDirectors) From c3cfc2b6e0aef42f5c42fe599f76212209d1e320 Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Sun, 28 Sep 2025 16:31:44 +0800 Subject: [PATCH 10/38] =?UTF-8?q?Updata=EF=BC=9A=E8=B7=9F=E6=96=B0pb?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/members/members.pb.go | 327 +++++++++++++++++++++----------------- 1 file changed, 177 insertions(+), 150 deletions(-) diff --git a/api/members/members.pb.go b/api/members/members.pb.go index 2c2765e..82ab21c 100644 --- a/api/members/members.pb.go +++ b/api/members/members.pb.go @@ -697,12 +697,13 @@ type Management struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` - Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image"` - Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` + Image string `protobuf:"bytes,3,opt,name=image,proto3" json:"image"` Brief string `protobuf:"bytes,4,opt,name=brief,proto3" json:"brief"` Introduction string `protobuf:"bytes,5,opt,name=introduction,proto3" json:"introduction"` - IsSetting int32 `protobuf:"varint,6,opt,name=isSetting,proto3" json:"isSetting"` + Status int32 `protobuf:"varint,6,opt,name=status,proto3" json:"status"` + IsSetting int32 `protobuf:"varint,7,opt,name=isSetting,proto3" json:"isSetting"` } func (x *Management) Reset() { @@ -737,6 +738,13 @@ func (*Management) Descriptor() ([]byte, []int) { return file_api_members_members_proto_rawDescGZIP(), []int{10} } +func (x *Management) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + func (x *Management) GetName() string { if x != nil { return x.Name @@ -751,13 +759,6 @@ func (x *Management) GetImage() string { return "" } -func (x *Management) GetStatus() int32 { - if x != nil { - return x.Status - } - return 0 -} - func (x *Management) GetBrief() string { if x != nil { return x.Brief @@ -772,6 +773,13 @@ func (x *Management) GetIntroduction() string { return "" } +func (x *Management) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + func (x *Management) GetIsSetting() int32 { if x != nil { return x.IsSetting @@ -943,11 +951,12 @@ type BoardOfDirectors struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` - Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` - Brief string `protobuf:"bytes,3,opt,name=brief,proto3" json:"brief"` - Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"` - IsSetting int32 `protobuf:"varint,5,opt,name=isSetting,proto3" json:"isSetting"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` + Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status"` + Brief string `protobuf:"bytes,4,opt,name=brief,proto3" json:"brief"` + Introduction string `protobuf:"bytes,5,opt,name=introduction,proto3" json:"introduction"` + IsSetting int32 `protobuf:"varint,6,opt,name=isSetting,proto3" json:"isSetting"` } func (x *BoardOfDirectors) Reset() { @@ -982,6 +991,13 @@ func (*BoardOfDirectors) Descriptor() ([]byte, []int) { return file_api_members_members_proto_rawDescGZIP(), []int{13} } +func (x *BoardOfDirectors) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + func (x *BoardOfDirectors) GetName() string { if x != nil { return x.Name @@ -1173,12 +1189,13 @@ type CommitteeAppointments struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` - Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` - AuditCommittee int32 `protobuf:"varint,3,opt,name=auditCommittee,proto3" json:"auditCommittee"` - CompensationCommittee int32 `protobuf:"varint,4,opt,name=compensationCommittee,proto3" json:"compensationCommittee"` - NominatingCommittee int32 `protobuf:"varint,5,opt,name=nominatingCommittee,proto3" json:"nominatingCommittee"` - IsSetting int32 `protobuf:"varint,6,opt,name=isSetting,proto3" json:"isSetting"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` + Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status"` + AuditCommittee int32 `protobuf:"varint,4,opt,name=auditCommittee,proto3" json:"auditCommittee"` + CompensationCommittee int32 `protobuf:"varint,5,opt,name=compensationCommittee,proto3" json:"compensationCommittee"` + NominatingCommittee int32 `protobuf:"varint,6,opt,name=nominatingCommittee,proto3" json:"nominatingCommittee"` + IsSetting int32 `protobuf:"varint,7,opt,name=isSetting,proto3" json:"isSetting"` } func (x *CommitteeAppointments) Reset() { @@ -1213,6 +1230,13 @@ func (*CommitteeAppointments) Descriptor() ([]byte, []int) { return file_api_members_members_proto_rawDescGZIP(), []int{16} } +func (x *CommitteeAppointments) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + func (x *CommitteeAppointments) GetName() string { if x != nil { return x.Name @@ -1492,139 +1516,142 @@ var file_api_members_members_proto_rawDesc = []byte{ 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xa6, 0x01, 0x0a, - 0x0a, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, - 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, - 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, - 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xfd, 0x01, 0x0a, 0x11, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, + 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xba, 0x01, 0x0a, + 0x0a, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, - 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, - 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, + 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, + 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, + 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, - 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x26, 0x0a, 0x12, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, - 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x96, 0x01, - 0x0a, 0x10, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 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, 0x14, - 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, - 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xed, 0x01, 0x0a, 0x17, 0x45, 0x64, 0x69, 0x74, 0x42, - 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, - 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, - 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x18, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6d, 0x73, 0x67, 0x22, 0xf1, 0x01, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 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, 0x26, 0x0a, 0x0e, 0x61, 0x75, - 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, - 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xc8, 0x02, 0x0a, 0x1c, 0x45, 0x64, 0x69, - 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, - 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, - 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, - 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x1d, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x32, 0xa5, 0x04, 0x0a, 0x07, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, - 0x15, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, - 0x0a, 0x0a, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, 0x2e, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, - 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, - 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x2e, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, - 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x49, 0x0a, 0x0e, 0x45, 0x64, - 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xfd, 0x01, 0x0a, 0x11, 0x45, 0x64, + 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, + 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, + 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, + 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, + 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x26, 0x0a, 0x12, 0x45, 0x64, 0x69, + 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, + 0x67, 0x22, 0xaa, 0x01, 0x0a, 0x10, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, + 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xed, + 0x01, 0x0a, 0x17, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, + 0x69, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, + 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, + 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2c, + 0x0a, 0x18, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x85, 0x02, 0x0a, + 0x15, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, + 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, + 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, + 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x22, 0xc8, 0x02, 0x0a, 0x1c, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, + 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, + 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, + 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, + 0x31, 0x0a, 0x1d, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, + 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, + 0x73, 0x67, 0x32, 0xa5, 0x04, 0x0a, 0x07, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x3a, + 0x0a, 0x09, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x15, 0x2e, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x0a, 0x45, 0x64, + 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x1a, 0x17, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x0c, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x2e, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, + 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x49, 0x0a, 0x0e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5b, 0x0a, 0x14, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, - 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x20, 0x2e, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, - 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, - 0x21, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x6a, 0x0a, 0x19, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, - 0x25, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, - 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, + 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x5b, 0x0a, 0x14, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, + 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x20, 0x2e, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, + 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6a, + 0x0a, 0x19, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, + 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, + 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, + 0x3b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( From 94732f1fb4d7407e7d9b79bc0200b1d3f8ade28a Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Sun, 28 Sep 2025 16:41:00 +0800 Subject: [PATCH 11/38] =?UTF-8?q?Updata=EF=BC=9A=E6=9B=B4=E6=96=B0pb?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/members/members.pb.go | 115 +++++++++++++++++++++++--------------- 1 file changed, 71 insertions(+), 44 deletions(-) diff --git a/api/members/members.pb.go b/api/members/members.pb.go index 82ab21c..b237cc2 100644 --- a/api/members/members.pb.go +++ b/api/members/members.pb.go @@ -697,13 +697,14 @@ type Management struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` - Image string `protobuf:"bytes,3,opt,name=image,proto3" json:"image"` - Brief string `protobuf:"bytes,4,opt,name=brief,proto3" json:"brief"` - Introduction string `protobuf:"bytes,5,opt,name=introduction,proto3" json:"introduction"` - Status int32 `protobuf:"varint,6,opt,name=status,proto3" json:"status"` - IsSetting int32 `protobuf:"varint,7,opt,name=isSetting,proto3" json:"isSetting"` + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` + Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name"` + Image string `protobuf:"bytes,4,opt,name=image,proto3" json:"image"` + Brief string `protobuf:"bytes,5,opt,name=brief,proto3" json:"brief"` + Introduction string `protobuf:"bytes,6,opt,name=introduction,proto3" json:"introduction"` + Status int32 `protobuf:"varint,7,opt,name=status,proto3" json:"status"` + IsSetting int32 `protobuf:"varint,8,opt,name=isSetting,proto3" json:"isSetting"` } func (x *Management) Reset() { @@ -738,6 +739,13 @@ func (*Management) Descriptor() ([]byte, []int) { return file_api_members_members_proto_rawDescGZIP(), []int{10} } +func (x *Management) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + func (x *Management) GetUuid() string { if x != nil { return x.Uuid @@ -951,12 +959,13 @@ type BoardOfDirectors struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` - Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status"` - Brief string `protobuf:"bytes,4,opt,name=brief,proto3" json:"brief"` - Introduction string `protobuf:"bytes,5,opt,name=introduction,proto3" json:"introduction"` - IsSetting int32 `protobuf:"varint,6,opt,name=isSetting,proto3" json:"isSetting"` + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` + Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name"` + Status int32 `protobuf:"varint,4,opt,name=status,proto3" json:"status"` + Brief string `protobuf:"bytes,5,opt,name=brief,proto3" json:"brief"` + Introduction string `protobuf:"bytes,6,opt,name=introduction,proto3" json:"introduction"` + IsSetting int32 `protobuf:"varint,7,opt,name=isSetting,proto3" json:"isSetting"` } func (x *BoardOfDirectors) Reset() { @@ -991,6 +1000,13 @@ func (*BoardOfDirectors) Descriptor() ([]byte, []int) { return file_api_members_members_proto_rawDescGZIP(), []int{13} } +func (x *BoardOfDirectors) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + func (x *BoardOfDirectors) GetUuid() string { if x != nil { return x.Uuid @@ -1189,13 +1205,14 @@ type CommitteeAppointments struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` - Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status"` - AuditCommittee int32 `protobuf:"varint,4,opt,name=auditCommittee,proto3" json:"auditCommittee"` - CompensationCommittee int32 `protobuf:"varint,5,opt,name=compensationCommittee,proto3" json:"compensationCommittee"` - NominatingCommittee int32 `protobuf:"varint,6,opt,name=nominatingCommittee,proto3" json:"nominatingCommittee"` - IsSetting int32 `protobuf:"varint,7,opt,name=isSetting,proto3" json:"isSetting"` + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` + Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name"` + Status int32 `protobuf:"varint,4,opt,name=status,proto3" json:"status"` + AuditCommittee int32 `protobuf:"varint,5,opt,name=auditCommittee,proto3" json:"auditCommittee"` + CompensationCommittee int32 `protobuf:"varint,6,opt,name=compensationCommittee,proto3" json:"compensationCommittee"` + NominatingCommittee int32 `protobuf:"varint,7,opt,name=nominatingCommittee,proto3" json:"nominatingCommittee"` + IsSetting int32 `protobuf:"varint,8,opt,name=isSetting,proto3" json:"isSetting"` } func (x *CommitteeAppointments) Reset() { @@ -1230,6 +1247,13 @@ func (*CommitteeAppointments) Descriptor() ([]byte, []int) { return file_api_members_members_proto_rawDescGZIP(), []int{16} } +func (x *CommitteeAppointments) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + func (x *CommitteeAppointments) GetUuid() string { if x != nil { return x.Uuid @@ -1516,18 +1540,19 @@ var file_api_members_members_proto_rawDesc = []byte{ 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xba, 0x01, 0x0a, - 0x0a, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, - 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xca, 0x01, 0x0a, + 0x0a, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, + 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, - 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, + 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x69, - 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, + 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xfd, 0x01, 0x0a, 0x11, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, @@ -1547,16 +1572,17 @@ var file_api_members_members_proto_rawDesc = []byte{ 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x26, 0x0a, 0x12, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, - 0x67, 0x22, 0xaa, 0x01, 0x0a, 0x10, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, + 0x67, 0x22, 0xba, 0x01, 0x0a, 0x10, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, - 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, + 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, + 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xed, 0x01, 0x0a, 0x17, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, @@ -1575,23 +1601,24 @@ var file_api_members_members_proto_rawDesc = []byte{ 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x18, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, - 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x85, 0x02, 0x0a, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x95, 0x02, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, + 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xc8, 0x02, 0x0a, 0x1c, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, From 1bc900c6b1ceaa2188094b19909eb983f38673df Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Sun, 28 Sep 2025 16:59:22 +0800 Subject: [PATCH 12/38] =?UTF-8?q?Updata=EF=BC=9A=E6=9B=B4=E6=96=B0pb?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/members/members.pb.go | 348 ++++++++++++++++---------------------- 1 file changed, 147 insertions(+), 201 deletions(-) diff --git a/api/members/members.pb.go b/api/members/members.pb.go index b237cc2..34d8782 100644 --- a/api/members/members.pb.go +++ b/api/members/members.pb.go @@ -697,14 +697,12 @@ type Management struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` - Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name"` - Image string `protobuf:"bytes,4,opt,name=image,proto3" json:"image"` - Brief string `protobuf:"bytes,5,opt,name=brief,proto3" json:"brief"` - Introduction string `protobuf:"bytes,6,opt,name=introduction,proto3" json:"introduction"` - Status int32 `protobuf:"varint,7,opt,name=status,proto3" json:"status"` - IsSetting int32 `protobuf:"varint,8,opt,name=isSetting,proto3" json:"isSetting"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` + Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image"` + Brief string `protobuf:"bytes,3,opt,name=brief,proto3" json:"brief"` + Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"` + Status int32 `protobuf:"varint,5,opt,name=status,proto3" json:"status"` + IsSetting int32 `protobuf:"varint,6,opt,name=isSetting,proto3" json:"isSetting"` } func (x *Management) Reset() { @@ -739,20 +737,6 @@ func (*Management) Descriptor() ([]byte, []int) { return file_api_members_members_proto_rawDescGZIP(), []int{10} } -func (x *Management) GetId() int32 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *Management) GetUuid() string { - if x != nil { - return x.Uuid - } - return "" -} - func (x *Management) GetName() string { if x != nil { return x.Name @@ -959,13 +943,11 @@ type BoardOfDirectors struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` - Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name"` - Status int32 `protobuf:"varint,4,opt,name=status,proto3" json:"status"` - Brief string `protobuf:"bytes,5,opt,name=brief,proto3" json:"brief"` - Introduction string `protobuf:"bytes,6,opt,name=introduction,proto3" json:"introduction"` - IsSetting int32 `protobuf:"varint,7,opt,name=isSetting,proto3" json:"isSetting"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` + Brief string `protobuf:"bytes,3,opt,name=brief,proto3" json:"brief"` + Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"` + IsSetting int32 `protobuf:"varint,5,opt,name=isSetting,proto3" json:"isSetting"` } func (x *BoardOfDirectors) Reset() { @@ -1000,20 +982,6 @@ func (*BoardOfDirectors) Descriptor() ([]byte, []int) { return file_api_members_members_proto_rawDescGZIP(), []int{13} } -func (x *BoardOfDirectors) GetId() int32 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *BoardOfDirectors) GetUuid() string { - if x != nil { - return x.Uuid - } - return "" -} - func (x *BoardOfDirectors) GetName() string { if x != nil { return x.Name @@ -1205,14 +1173,12 @@ type CommitteeAppointments struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` - Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name"` - Status int32 `protobuf:"varint,4,opt,name=status,proto3" json:"status"` - AuditCommittee int32 `protobuf:"varint,5,opt,name=auditCommittee,proto3" json:"auditCommittee"` - CompensationCommittee int32 `protobuf:"varint,6,opt,name=compensationCommittee,proto3" json:"compensationCommittee"` - NominatingCommittee int32 `protobuf:"varint,7,opt,name=nominatingCommittee,proto3" json:"nominatingCommittee"` - IsSetting int32 `protobuf:"varint,8,opt,name=isSetting,proto3" json:"isSetting"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` + AuditCommittee int32 `protobuf:"varint,3,opt,name=auditCommittee,proto3" json:"auditCommittee"` + CompensationCommittee int32 `protobuf:"varint,4,opt,name=compensationCommittee,proto3" json:"compensationCommittee"` + NominatingCommittee int32 `protobuf:"varint,5,opt,name=nominatingCommittee,proto3" json:"nominatingCommittee"` + IsSetting int32 `protobuf:"varint,6,opt,name=isSetting,proto3" json:"isSetting"` } func (x *CommitteeAppointments) Reset() { @@ -1247,20 +1213,6 @@ func (*CommitteeAppointments) Descriptor() ([]byte, []int) { return file_api_members_members_proto_rawDescGZIP(), []int{16} } -func (x *CommitteeAppointments) GetId() int32 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *CommitteeAppointments) GetUuid() string { - if x != nil { - return x.Uuid - } - return "" -} - func (x *CommitteeAppointments) GetName() string { if x != nil { return x.Name @@ -1540,145 +1492,139 @@ var file_api_members_members_proto_rawDesc = []byte{ 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xca, 0x01, 0x0a, - 0x0a, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, - 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, - 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, - 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x69, - 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, - 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xfd, 0x01, 0x0a, 0x11, 0x45, 0x64, - 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, - 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, - 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x05, + 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xa6, 0x01, 0x0a, + 0x0a, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, - 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, - 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x26, 0x0a, 0x12, 0x45, 0x64, 0x69, - 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, - 0x67, 0x22, 0xba, 0x01, 0x0a, 0x10, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, - 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xed, - 0x01, 0x0a, 0x17, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, - 0x69, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, - 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, - 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2c, - 0x0a, 0x18, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, - 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x95, 0x02, 0x0a, - 0x15, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, - 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, - 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, - 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x22, 0xc8, 0x02, 0x0a, 0x1c, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, - 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, - 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, - 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, - 0x31, 0x0a, 0x1d, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, - 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, - 0x73, 0x67, 0x32, 0xa5, 0x04, 0x0a, 0x07, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x3a, - 0x0a, 0x09, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x15, 0x2e, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x0a, 0x45, 0x64, - 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x1a, 0x17, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x0c, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x2e, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, - 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x49, 0x0a, 0x0e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, - 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x5b, 0x0a, 0x14, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, - 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x20, 0x2e, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, - 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6a, - 0x0a, 0x19, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, - 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, + 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xfd, 0x01, 0x0a, 0x11, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, + 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, + 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, + 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, + 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x26, 0x0a, 0x12, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, + 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x96, 0x01, + 0x0a, 0x10, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 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, 0x14, + 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, + 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xed, 0x01, 0x0a, 0x17, 0x45, 0x64, 0x69, 0x74, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, + 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, + 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x18, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6d, 0x73, 0x67, 0x22, 0xf1, 0x01, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 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, 0x26, 0x0a, 0x0e, 0x61, 0x75, + 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, + 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xc8, 0x02, 0x0a, 0x1c, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, - 0x3b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, + 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, + 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, + 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x1d, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x32, 0xa5, 0x04, 0x0a, 0x07, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, + 0x15, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, + 0x0a, 0x0a, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, 0x2e, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, + 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, + 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x2e, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, + 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, + 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x49, 0x0a, 0x0e, 0x45, 0x64, + 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5b, 0x0a, 0x14, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, + 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x20, 0x2e, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, + 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, + 0x21, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x6a, 0x0a, 0x19, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, + 0x25, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, + 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( From 9d2cac4587e353d02ce0baf1fdd606fd9300cd2f Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Mon, 29 Sep 2025 10:12:02 +0800 Subject: [PATCH 13/38] =?UTF-8?q?Updata=EF=BC=9A=E6=9B=B4=E6=96=B0pb?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/members/members.pb.go | 305 ++++++++++++++++++++------------------ 1 file changed, 157 insertions(+), 148 deletions(-) diff --git a/api/members/members.pb.go b/api/members/members.pb.go index 34d8782..c87893f 100644 --- a/api/members/members.pb.go +++ b/api/members/members.pb.go @@ -589,11 +589,12 @@ type Member struct { Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` Brief string `protobuf:"bytes,3,opt,name=brief,proto3" json:"brief"` Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"` - Management *Management `protobuf:"bytes,5,opt,name=management,proto3" json:"management"` - BoardOfDirectors *BoardOfDirectors `protobuf:"bytes,6,opt,name=boardOfDirectors,proto3" json:"boardOfDirectors"` - CommitteeAppointments *CommitteeAppointments `protobuf:"bytes,7,opt,name=committeeAppointments,proto3" json:"committeeAppointments"` - UpdatedAt string `protobuf:"bytes,8,opt,name=updatedAt,proto3" json:"updatedAt"` - Operator string `protobuf:"bytes,9,opt,name=operator,proto3" json:"operator"` + Sort int32 `protobuf:"varint,5,opt,name=sort,proto3" json:"sort"` + Management *Management `protobuf:"bytes,6,opt,name=management,proto3" json:"management"` + BoardOfDirectors *BoardOfDirectors `protobuf:"bytes,7,opt,name=boardOfDirectors,proto3" json:"boardOfDirectors"` + CommitteeAppointments *CommitteeAppointments `protobuf:"bytes,8,opt,name=committeeAppointments,proto3" json:"committeeAppointments"` + UpdatedAt string `protobuf:"bytes,9,opt,name=updatedAt,proto3" json:"updatedAt"` + Operator string `protobuf:"bytes,10,opt,name=operator,proto3" json:"operator"` } func (x *Member) Reset() { @@ -656,6 +657,13 @@ func (x *Member) GetIntroduction() string { return "" } +func (x *Member) GetSort() int32 { + if x != nil { + return x.Sort + } + return 0 +} + func (x *Member) GetManagement() *Management { if x != nil { return x.Management @@ -1469,162 +1477,163 @@ var file_api_members_members_proto_rawDesc = []byte{ 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x23, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x22, 0xf6, 0x02, 0x0a, 0x06, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, + 0x61, 0x74, 0x61, 0x22, 0x8a, 0x03, 0x0a, 0x06, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x33, 0x0a, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x10, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, - 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, - 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x10, 0x62, 0x6f, 0x61, 0x72, - 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x54, 0x0a, 0x15, - 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, - 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x15, 0x63, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xa6, 0x01, 0x0a, - 0x0a, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x03, + 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, + 0x73, 0x6f, 0x72, 0x74, 0x12, 0x33, 0x0a, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x10, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x10, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, + 0x12, 0x54, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x22, 0xa6, 0x01, 0x0a, 0x0a, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, + 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, + 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x69, + 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, + 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xfd, 0x01, 0x0a, 0x11, 0x45, 0x64, + 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, + 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, + 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, - 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xfd, 0x01, 0x0a, 0x11, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, - 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, - 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, - 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, - 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, - 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x26, 0x0a, 0x12, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, - 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x96, 0x01, - 0x0a, 0x10, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 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, 0x14, - 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, - 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xed, 0x01, 0x0a, 0x17, 0x45, 0x64, 0x69, 0x74, 0x42, - 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, - 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, + 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x26, 0x0a, 0x12, 0x45, 0x64, 0x69, + 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, + 0x67, 0x22, 0x96, 0x01, 0x0a, 0x10, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, - 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x18, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6d, 0x73, 0x67, 0x22, 0xf1, 0x01, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 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, 0x26, 0x0a, 0x0e, 0x61, 0x75, - 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, - 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xc8, 0x02, 0x0a, 0x1c, 0x45, 0x64, 0x69, - 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, - 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, - 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, - 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x1d, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x32, 0xa5, 0x04, 0x0a, 0x07, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, - 0x15, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, - 0x0a, 0x0a, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, 0x2e, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, - 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, - 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x2e, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, - 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x49, 0x0a, 0x0e, 0x45, 0x64, - 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x6d, + 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xed, 0x01, 0x0a, 0x17, 0x45, + 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, + 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, + 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x18, 0x45, 0x64, + 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xf1, 0x01, 0x0a, 0x15, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 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, 0x26, + 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, + 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xc8, 0x02, 0x0a, + 0x1c, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, + 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, + 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x1d, 0x45, 0x64, 0x69, 0x74, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x32, 0xa5, 0x04, 0x0a, 0x07, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x12, 0x15, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, + 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x0a, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x12, 0x16, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x43, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x12, 0x18, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x49, + 0x0a, 0x0e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x12, 0x1a, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5b, 0x0a, 0x14, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, - 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x20, 0x2e, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, - 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, - 0x21, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x6a, 0x0a, 0x19, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, - 0x25, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5b, 0x0a, 0x14, 0x45, 0x64, 0x69, + 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x73, 0x12, 0x20, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, + 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, + 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, + 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6a, 0x0a, 0x19, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, - 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, + 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( From db1e91d888c0152f57f48f133ea6dd8e68cd1268 Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Mon, 29 Sep 2025 11:21:50 +0800 Subject: [PATCH 14/38] =?UTF-8?q?Updata=EF=BC=9A=E6=9B=B4=E6=96=B0pb?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/members/members.pb.go | 334 ++++++++++++++-------------- api/members/members.validator.pb.go | 6 +- 2 files changed, 170 insertions(+), 170 deletions(-) diff --git a/api/members/members.pb.go b/api/members/members.pb.go index c87893f..7eb86b7 100644 --- a/api/members/members.pb.go +++ b/api/members/members.pb.go @@ -443,9 +443,9 @@ type GetMemberListReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page"` - PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize"` - Filterate *Filtrate `protobuf:"bytes,3,opt,name=filterate,proto3" json:"filterate"` //筛选条件 + Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize"` + Filtrate *Filtrate `protobuf:"bytes,3,opt,name=filtrate,proto3" json:"filtrate"` //筛选条件 } func (x *GetMemberListReq) Reset() { @@ -494,9 +494,9 @@ func (x *GetMemberListReq) GetPageSize() int32 { return 0 } -func (x *GetMemberListReq) GetFilterate() *Filtrate { +func (x *GetMemberListReq) GetFiltrate() *Filtrate { if x != nil { - return x.Filterate + return x.Filtrate } return nil } @@ -1460,180 +1460,180 @@ var file_api_members_members_proto_rawDesc = []byte{ 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x1e, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x73, 0x0a, 0x10, 0x47, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x71, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, - 0x2f, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x46, 0x69, 0x6c, - 0x74, 0x72, 0x61, 0x74, 0x65, 0x52, 0x09, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x22, 0x90, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x23, - 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x22, 0x8a, 0x03, 0x0a, 0x06, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, - 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, - 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, - 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, - 0x73, 0x6f, 0x72, 0x74, 0x12, 0x33, 0x0a, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x10, 0x62, 0x6f, 0x61, - 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x10, - 0x62, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, - 0x12, 0x54, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, - 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x22, 0xa6, 0x01, 0x0a, 0x0a, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, - 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, - 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x69, - 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, - 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xfd, 0x01, 0x0a, 0x11, 0x45, 0x64, - 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, - 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, - 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, - 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, - 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x26, 0x0a, 0x12, 0x45, 0x64, 0x69, - 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, - 0x67, 0x22, 0x96, 0x01, 0x0a, 0x10, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 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, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, - 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xed, 0x01, 0x0a, 0x17, 0x45, - 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, - 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, - 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x18, 0x45, 0x64, - 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xf1, 0x01, 0x0a, 0x15, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 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, 0x26, - 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, - 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, - 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xc8, 0x02, 0x0a, - 0x1c, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, + 0x2d, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, + 0x72, 0x61, 0x74, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x22, 0x90, + 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x23, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x22, 0x8a, 0x03, 0x0a, 0x06, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, + 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, + 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, + 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, + 0x72, 0x74, 0x12, 0x33, 0x0a, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x10, 0x62, 0x6f, 0x61, 0x72, 0x64, + 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x42, 0x6f, 0x61, 0x72, + 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x10, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x54, + 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, + 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x15, 0x63, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xa6, + 0x01, 0x0a, 0x0a, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, + 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xfd, 0x01, 0x0a, 0x11, 0x45, 0x64, 0x69, 0x74, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, - 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, - 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x1c, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x1d, 0x45, 0x64, 0x69, 0x74, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x32, 0xa5, 0x04, 0x0a, 0x07, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x12, 0x15, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, - 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x0a, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x12, 0x16, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x43, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x12, 0x18, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x49, - 0x0a, 0x0e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x12, 0x1a, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5b, 0x0a, 0x14, 0x45, 0x64, 0x69, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x26, 0x0a, 0x12, 0x45, 0x64, 0x69, 0x74, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, + 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, + 0x96, 0x01, 0x0a, 0x10, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 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, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, + 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, + 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xed, 0x01, 0x0a, 0x17, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x73, 0x12, 0x20, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, + 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, + 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x18, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, - 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, - 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6a, 0x0a, 0x19, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, - 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xf1, 0x01, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 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, 0x26, 0x0a, 0x0e, + 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, + 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xc8, 0x02, 0x0a, 0x1c, 0x45, + 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, + 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x61, + 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, + 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, + 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x1d, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x32, 0xa5, 0x04, 0x0a, 0x07, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x12, 0x15, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x3d, 0x0a, 0x0a, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, + 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x43, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, + 0x18, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, + 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x1a, 0x1a, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x49, 0x0a, 0x0e, + 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, + 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5b, 0x0a, 0x14, 0x45, 0x64, 0x69, 0x74, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, + 0x20, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x1a, 0x21, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, + 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x6a, 0x0a, 0x19, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, + 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1671,7 +1671,7 @@ var file_api_members_members_proto_goTypes = []interface{}{ (*EditCommitteeAppointmentsResp)(nil), // 18: members.EditCommitteeAppointmentsResp } var file_api_members_members_proto_depIdxs = []int32{ - 6, // 0: members.GetMemberListReq.filterate:type_name -> members.Filtrate + 6, // 0: members.GetMemberListReq.filtrate:type_name -> members.Filtrate 9, // 1: members.GetMemberListResp.data:type_name -> members.Member 10, // 2: members.Member.management:type_name -> members.Management 13, // 3: members.Member.boardOfDirectors:type_name -> members.BoardOfDirectors diff --git a/api/members/members.validator.pb.go b/api/members/members.validator.pb.go index 0114f5e..27af7c4 100644 --- a/api/members/members.validator.pb.go +++ b/api/members/members.validator.pb.go @@ -37,9 +37,9 @@ func (this *Filtrate) Validate() error { return nil } func (this *GetMemberListReq) Validate() error { - if this.Filterate != nil { - if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Filterate); err != nil { - return github_com_mwitkow_go_proto_validators.FieldError("Filterate", err) + if this.Filtrate != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Filtrate); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Filtrate", err) } } return nil From dc28c258b9272e8d42cb506f95b5dda985fa0479 Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Fri, 10 Oct 2025 13:36:40 +0800 Subject: [PATCH 15/38] =?UTF-8?q?feat:=E5=A2=9E=E5=8A=A0Fiee=E5=AE=98?= =?UTF-8?q?=E7=BD=91=E6=88=90=E5=91=98=EF=BC=8C=E5=B9=B4=E5=BA=A6=E3=80=81?= =?UTF-8?q?=E5=AD=A3=E5=BA=A6=E6=8A=A5=E5=91=8A=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/members/members.pb.go | 974 ++++++++++++++++++++++----- api/members/members.validator.pb.go | 48 ++ api/members/members_triple.pb.go | 149 +++- api/reports/reports.pb.go | 663 ++++++++++++++---- api/reports/reports.validator.pb.go | 32 + api/reports/reports_triple.pb.go | 90 +++ pkg/router/router.go | 7 +- pkg/service/members/members.go | 42 ++ pkg/service/reports/annualReports.go | 28 + 9 files changed, 1749 insertions(+), 284 deletions(-) diff --git a/api/members/members.pb.go b/api/members/members.pb.go index 7eb86b7..f7d25af 100644 --- a/api/members/members.pb.go +++ b/api/members/members.pb.go @@ -945,6 +945,162 @@ func (x *EditManagementResp) GetMsg() string { return "" } +type DisplayManagementReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *DisplayManagementReq) Reset() { + *x = DisplayManagementReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisplayManagementReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisplayManagementReq) ProtoMessage() {} + +func (x *DisplayManagementReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[13] + 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 DisplayManagementReq.ProtoReflect.Descriptor instead. +func (*DisplayManagementReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{13} +} + +type DisplayManagementResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Item []*DisplayManagementItem `protobuf:"bytes,1,rep,name=item,proto3" json:"item"` +} + +func (x *DisplayManagementResp) Reset() { + *x = DisplayManagementResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisplayManagementResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisplayManagementResp) ProtoMessage() {} + +func (x *DisplayManagementResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[14] + 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 DisplayManagementResp.ProtoReflect.Descriptor instead. +func (*DisplayManagementResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{14} +} + +func (x *DisplayManagementResp) GetItem() []*DisplayManagementItem { + if x != nil { + return x.Item + } + return nil +} + +type DisplayManagementItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` + Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image"` + Brief string `protobuf:"bytes,3,opt,name=brief,proto3" json:"brief"` + Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"` +} + +func (x *DisplayManagementItem) Reset() { + *x = DisplayManagementItem{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisplayManagementItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisplayManagementItem) ProtoMessage() {} + +func (x *DisplayManagementItem) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[15] + 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 DisplayManagementItem.ProtoReflect.Descriptor instead. +func (*DisplayManagementItem) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{15} +} + +func (x *DisplayManagementItem) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DisplayManagementItem) GetImage() string { + if x != nil { + return x.Image + } + return "" +} + +func (x *DisplayManagementItem) GetBrief() string { + if x != nil { + return x.Brief + } + return "" +} + +func (x *DisplayManagementItem) GetIntroduction() string { + if x != nil { + return x.Introduction + } + return "" +} + // ==================================董事会信息管理====================================== type BoardOfDirectors struct { state protoimpl.MessageState @@ -961,7 +1117,7 @@ type BoardOfDirectors struct { func (x *BoardOfDirectors) Reset() { *x = BoardOfDirectors{} if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[13] + mi := &file_api_members_members_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -974,7 +1130,7 @@ func (x *BoardOfDirectors) String() string { func (*BoardOfDirectors) ProtoMessage() {} func (x *BoardOfDirectors) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[13] + mi := &file_api_members_members_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -987,7 +1143,7 @@ func (x *BoardOfDirectors) ProtoReflect() protoreflect.Message { // Deprecated: Use BoardOfDirectors.ProtoReflect.Descriptor instead. func (*BoardOfDirectors) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{13} + return file_api_members_members_proto_rawDescGZIP(), []int{16} } func (x *BoardOfDirectors) GetName() string { @@ -1043,7 +1199,7 @@ type EditBoardOfDirectorsReq struct { func (x *EditBoardOfDirectorsReq) Reset() { *x = EditBoardOfDirectorsReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[14] + mi := &file_api_members_members_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1056,7 +1212,7 @@ func (x *EditBoardOfDirectorsReq) String() string { func (*EditBoardOfDirectorsReq) ProtoMessage() {} func (x *EditBoardOfDirectorsReq) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[14] + mi := &file_api_members_members_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1069,7 +1225,7 @@ func (x *EditBoardOfDirectorsReq) ProtoReflect() protoreflect.Message { // Deprecated: Use EditBoardOfDirectorsReq.ProtoReflect.Descriptor instead. func (*EditBoardOfDirectorsReq) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{14} + return file_api_members_members_proto_rawDescGZIP(), []int{17} } func (x *EditBoardOfDirectorsReq) GetUuid() string { @@ -1139,7 +1295,7 @@ type EditBoardOfDirectorsResp struct { func (x *EditBoardOfDirectorsResp) Reset() { *x = EditBoardOfDirectorsResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[15] + mi := &file_api_members_members_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1152,7 +1308,7 @@ func (x *EditBoardOfDirectorsResp) String() string { func (*EditBoardOfDirectorsResp) ProtoMessage() {} func (x *EditBoardOfDirectorsResp) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[15] + mi := &file_api_members_members_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1165,7 +1321,7 @@ func (x *EditBoardOfDirectorsResp) ProtoReflect() protoreflect.Message { // Deprecated: Use EditBoardOfDirectorsResp.ProtoReflect.Descriptor instead. func (*EditBoardOfDirectorsResp) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{15} + return file_api_members_members_proto_rawDescGZIP(), []int{18} } func (x *EditBoardOfDirectorsResp) GetMsg() string { @@ -1175,6 +1331,154 @@ func (x *EditBoardOfDirectorsResp) GetMsg() string { return "" } +type DisplayBoardOfDirectorsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *DisplayBoardOfDirectorsReq) Reset() { + *x = DisplayBoardOfDirectorsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisplayBoardOfDirectorsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisplayBoardOfDirectorsReq) ProtoMessage() {} + +func (x *DisplayBoardOfDirectorsReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[19] + 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 DisplayBoardOfDirectorsReq.ProtoReflect.Descriptor instead. +func (*DisplayBoardOfDirectorsReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{19} +} + +type DisplayBoardOfDirectorsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Item []*DisplayBoardOfDirectorItem `protobuf:"bytes,1,rep,name=item,proto3" json:"item"` +} + +func (x *DisplayBoardOfDirectorsResp) Reset() { + *x = DisplayBoardOfDirectorsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisplayBoardOfDirectorsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisplayBoardOfDirectorsResp) ProtoMessage() {} + +func (x *DisplayBoardOfDirectorsResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[20] + 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 DisplayBoardOfDirectorsResp.ProtoReflect.Descriptor instead. +func (*DisplayBoardOfDirectorsResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{20} +} + +func (x *DisplayBoardOfDirectorsResp) GetItem() []*DisplayBoardOfDirectorItem { + if x != nil { + return x.Item + } + return nil +} + +type DisplayBoardOfDirectorItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` + Brief string `protobuf:"bytes,2,opt,name=brief,proto3" json:"brief"` + Introduction string `protobuf:"bytes,3,opt,name=introduction,proto3" json:"introduction"` +} + +func (x *DisplayBoardOfDirectorItem) Reset() { + *x = DisplayBoardOfDirectorItem{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisplayBoardOfDirectorItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisplayBoardOfDirectorItem) ProtoMessage() {} + +func (x *DisplayBoardOfDirectorItem) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[21] + 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 DisplayBoardOfDirectorItem.ProtoReflect.Descriptor instead. +func (*DisplayBoardOfDirectorItem) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{21} +} + +func (x *DisplayBoardOfDirectorItem) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DisplayBoardOfDirectorItem) GetBrief() string { + if x != nil { + return x.Brief + } + return "" +} + +func (x *DisplayBoardOfDirectorItem) GetIntroduction() string { + if x != nil { + return x.Introduction + } + return "" +} + // ==================================委员会任命管理====================================== type CommitteeAppointments struct { state protoimpl.MessageState @@ -1192,7 +1496,7 @@ type CommitteeAppointments struct { func (x *CommitteeAppointments) Reset() { *x = CommitteeAppointments{} if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[16] + mi := &file_api_members_members_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1205,7 +1509,7 @@ func (x *CommitteeAppointments) String() string { func (*CommitteeAppointments) ProtoMessage() {} func (x *CommitteeAppointments) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[16] + mi := &file_api_members_members_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1218,7 +1522,7 @@ func (x *CommitteeAppointments) ProtoReflect() protoreflect.Message { // Deprecated: Use CommitteeAppointments.ProtoReflect.Descriptor instead. func (*CommitteeAppointments) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{16} + return file_api_members_members_proto_rawDescGZIP(), []int{22} } func (x *CommitteeAppointments) GetName() string { @@ -1282,7 +1586,7 @@ type EditCommitteeAppointmentsReq struct { func (x *EditCommitteeAppointmentsReq) Reset() { *x = EditCommitteeAppointmentsReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[17] + mi := &file_api_members_members_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1295,7 +1599,7 @@ func (x *EditCommitteeAppointmentsReq) String() string { func (*EditCommitteeAppointmentsReq) ProtoMessage() {} func (x *EditCommitteeAppointmentsReq) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[17] + mi := &file_api_members_members_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1308,7 +1612,7 @@ func (x *EditCommitteeAppointmentsReq) ProtoReflect() protoreflect.Message { // Deprecated: Use EditCommitteeAppointmentsReq.ProtoReflect.Descriptor instead. func (*EditCommitteeAppointmentsReq) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{17} + return file_api_members_members_proto_rawDescGZIP(), []int{23} } func (x *EditCommitteeAppointmentsReq) GetUuid() string { @@ -1385,7 +1689,7 @@ type EditCommitteeAppointmentsResp struct { func (x *EditCommitteeAppointmentsResp) Reset() { *x = EditCommitteeAppointmentsResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[18] + mi := &file_api_members_members_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1398,7 +1702,7 @@ func (x *EditCommitteeAppointmentsResp) String() string { func (*EditCommitteeAppointmentsResp) ProtoMessage() {} func (x *EditCommitteeAppointmentsResp) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[18] + mi := &file_api_members_members_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1411,7 +1715,7 @@ func (x *EditCommitteeAppointmentsResp) ProtoReflect() protoreflect.Message { // Deprecated: Use EditCommitteeAppointmentsResp.ProtoReflect.Descriptor instead. func (*EditCommitteeAppointmentsResp) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{18} + return file_api_members_members_proto_rawDescGZIP(), []int{24} } func (x *EditCommitteeAppointmentsResp) GetMsg() string { @@ -1421,6 +1725,162 @@ func (x *EditCommitteeAppointmentsResp) GetMsg() string { return "" } +type DisplayCommitteeAppointmentsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *DisplayCommitteeAppointmentsReq) Reset() { + *x = DisplayCommitteeAppointmentsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisplayCommitteeAppointmentsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisplayCommitteeAppointmentsReq) ProtoMessage() {} + +func (x *DisplayCommitteeAppointmentsReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[25] + 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 DisplayCommitteeAppointmentsReq.ProtoReflect.Descriptor instead. +func (*DisplayCommitteeAppointmentsReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{25} +} + +type DisplayCommitteeAppointmentsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Item []*DisplayCommitteeAppointmentsItem `protobuf:"bytes,1,rep,name=item,proto3" json:"item"` +} + +func (x *DisplayCommitteeAppointmentsResp) Reset() { + *x = DisplayCommitteeAppointmentsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisplayCommitteeAppointmentsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisplayCommitteeAppointmentsResp) ProtoMessage() {} + +func (x *DisplayCommitteeAppointmentsResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[26] + 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 DisplayCommitteeAppointmentsResp.ProtoReflect.Descriptor instead. +func (*DisplayCommitteeAppointmentsResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{26} +} + +func (x *DisplayCommitteeAppointmentsResp) GetItem() []*DisplayCommitteeAppointmentsItem { + if x != nil { + return x.Item + } + return nil +} + +type DisplayCommitteeAppointmentsItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` + AuditCommittee int32 `protobuf:"varint,2,opt,name=auditCommittee,proto3" json:"auditCommittee"` + CompensationCommittee int32 `protobuf:"varint,3,opt,name=compensationCommittee,proto3" json:"compensationCommittee"` + NominatingCommittee int32 `protobuf:"varint,4,opt,name=nominatingCommittee,proto3" json:"nominatingCommittee"` +} + +func (x *DisplayCommitteeAppointmentsItem) Reset() { + *x = DisplayCommitteeAppointmentsItem{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisplayCommitteeAppointmentsItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisplayCommitteeAppointmentsItem) ProtoMessage() {} + +func (x *DisplayCommitteeAppointmentsItem) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[27] + 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 DisplayCommitteeAppointmentsItem.ProtoReflect.Descriptor instead. +func (*DisplayCommitteeAppointmentsItem) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{27} +} + +func (x *DisplayCommitteeAppointmentsItem) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DisplayCommitteeAppointmentsItem) GetAuditCommittee() int32 { + if x != nil { + return x.AuditCommittee + } + return 0 +} + +func (x *DisplayCommitteeAppointmentsItem) GetCompensationCommittee() int32 { + if x != nil { + return x.CompensationCommittee + } + return 0 +} + +func (x *DisplayCommitteeAppointmentsItem) GetNominatingCommittee() int32 { + if x != nil { + return x.NominatingCommittee + } + return 0 +} + var File_api_members_members_proto protoreflect.FileDescriptor var file_api_members_members_proto_rawDesc = []byte{ @@ -1531,109 +1991,177 @@ var file_api_members_members_proto_rawDesc = []byte{ 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x26, 0x0a, 0x12, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, - 0x96, 0x01, 0x0a, 0x10, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x16, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x22, 0x4b, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x32, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, + 0x69, 0x74, 0x65, 0x6d, 0x22, 0x7b, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, + 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x96, 0x01, 0x0a, 0x10, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 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, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, + 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xed, 0x01, 0x0a, 0x17, 0x45, + 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, + 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, + 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x18, 0x45, 0x64, + 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x1c, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x22, 0x56, 0x0a, 0x1b, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x37, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x6a, + 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, + 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, + 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf1, 0x01, 0x0a, 0x15, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 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, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, - 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, - 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xed, 0x01, 0x0a, 0x17, 0x45, 0x64, 0x69, - 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, - 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, - 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x18, 0x45, 0x64, 0x69, 0x74, - 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xf1, 0x01, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 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, 0x26, 0x0a, 0x0e, - 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, - 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xc8, 0x02, 0x0a, 0x1c, 0x45, - 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, - 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x61, - 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, + 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, + 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, + 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xc8, + 0x02, 0x0a, 0x1c, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, + 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, + 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, + 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, + 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, + 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, + 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x1d, 0x45, 0x64, 0x69, + 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x21, 0x0a, 0x1f, + 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, + 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x22, + 0x61, 0x0a, 0x20, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, + 0x65, 0x6d, 0x22, 0xc6, 0x01, 0x0a, 0x20, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, + 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, - 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, - 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x1d, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x32, 0xd4, 0x06, 0x0a, 0x07, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x12, 0x15, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, + 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x0a, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x12, 0x16, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x43, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x18, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, + 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x49, 0x0a, 0x0e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x1a, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, 0x44, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1e, + 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5b, + 0x0a, 0x14, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x20, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x64, 0x0a, 0x17, 0x44, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, + 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x6a, 0x0a, 0x19, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, + 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x32, 0xa5, 0x04, 0x0a, 0x07, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x12, 0x15, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x3d, 0x0a, 0x0a, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, - 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x43, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, - 0x18, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, - 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, - 0x1a, 0x1a, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x49, 0x0a, 0x0e, - 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, - 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5b, 0x0a, 0x14, 0x45, 0x64, 0x69, 0x74, 0x42, - 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, - 0x20, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, - 0x71, 0x1a, 0x21, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, - 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x6a, 0x0a, 0x19, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, - 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, + 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x73, 0x0a, + 0x1c, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, + 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x28, 0x2e, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1648,53 +2176,71 @@ func file_api_members_members_proto_rawDescGZIP() []byte { return file_api_members_members_proto_rawDescData } -var file_api_members_members_proto_msgTypes = make([]protoimpl.MessageInfo, 19) +var file_api_members_members_proto_msgTypes = make([]protoimpl.MessageInfo, 28) var file_api_members_members_proto_goTypes = []interface{}{ - (*AddMemberReq)(nil), // 0: members.AddMemberReq - (*AddMemberResp)(nil), // 1: members.AddMemberResp - (*EditMemberReq)(nil), // 2: members.EditMemberReq - (*EditMemberResp)(nil), // 3: members.EditMemberResp - (*DeleteMemberReq)(nil), // 4: members.DeleteMemberReq - (*DeleteMemberResp)(nil), // 5: members.DeleteMemberResp - (*Filtrate)(nil), // 6: members.Filtrate - (*GetMemberListReq)(nil), // 7: members.GetMemberListReq - (*GetMemberListResp)(nil), // 8: members.GetMemberListResp - (*Member)(nil), // 9: members.Member - (*Management)(nil), // 10: members.Management - (*EditManagementReq)(nil), // 11: members.EditManagementReq - (*EditManagementResp)(nil), // 12: members.EditManagementResp - (*BoardOfDirectors)(nil), // 13: members.BoardOfDirectors - (*EditBoardOfDirectorsReq)(nil), // 14: members.EditBoardOfDirectorsReq - (*EditBoardOfDirectorsResp)(nil), // 15: members.EditBoardOfDirectorsResp - (*CommitteeAppointments)(nil), // 16: members.CommitteeAppointments - (*EditCommitteeAppointmentsReq)(nil), // 17: members.EditCommitteeAppointmentsReq - (*EditCommitteeAppointmentsResp)(nil), // 18: members.EditCommitteeAppointmentsResp + (*AddMemberReq)(nil), // 0: members.AddMemberReq + (*AddMemberResp)(nil), // 1: members.AddMemberResp + (*EditMemberReq)(nil), // 2: members.EditMemberReq + (*EditMemberResp)(nil), // 3: members.EditMemberResp + (*DeleteMemberReq)(nil), // 4: members.DeleteMemberReq + (*DeleteMemberResp)(nil), // 5: members.DeleteMemberResp + (*Filtrate)(nil), // 6: members.Filtrate + (*GetMemberListReq)(nil), // 7: members.GetMemberListReq + (*GetMemberListResp)(nil), // 8: members.GetMemberListResp + (*Member)(nil), // 9: members.Member + (*Management)(nil), // 10: members.Management + (*EditManagementReq)(nil), // 11: members.EditManagementReq + (*EditManagementResp)(nil), // 12: members.EditManagementResp + (*DisplayManagementReq)(nil), // 13: members.DisplayManagementReq + (*DisplayManagementResp)(nil), // 14: members.DisplayManagementResp + (*DisplayManagementItem)(nil), // 15: members.DisplayManagementItem + (*BoardOfDirectors)(nil), // 16: members.BoardOfDirectors + (*EditBoardOfDirectorsReq)(nil), // 17: members.EditBoardOfDirectorsReq + (*EditBoardOfDirectorsResp)(nil), // 18: members.EditBoardOfDirectorsResp + (*DisplayBoardOfDirectorsReq)(nil), // 19: members.DisplayBoardOfDirectorsReq + (*DisplayBoardOfDirectorsResp)(nil), // 20: members.DisplayBoardOfDirectorsResp + (*DisplayBoardOfDirectorItem)(nil), // 21: members.DisplayBoardOfDirectorItem + (*CommitteeAppointments)(nil), // 22: members.CommitteeAppointments + (*EditCommitteeAppointmentsReq)(nil), // 23: members.EditCommitteeAppointmentsReq + (*EditCommitteeAppointmentsResp)(nil), // 24: members.EditCommitteeAppointmentsResp + (*DisplayCommitteeAppointmentsReq)(nil), // 25: members.DisplayCommitteeAppointmentsReq + (*DisplayCommitteeAppointmentsResp)(nil), // 26: members.DisplayCommitteeAppointmentsResp + (*DisplayCommitteeAppointmentsItem)(nil), // 27: members.DisplayCommitteeAppointmentsItem } var file_api_members_members_proto_depIdxs = []int32{ 6, // 0: members.GetMemberListReq.filtrate:type_name -> members.Filtrate 9, // 1: members.GetMemberListResp.data:type_name -> members.Member 10, // 2: members.Member.management:type_name -> members.Management - 13, // 3: members.Member.boardOfDirectors:type_name -> members.BoardOfDirectors - 16, // 4: members.Member.committeeAppointments:type_name -> members.CommitteeAppointments - 0, // 5: members.Members.AddMember:input_type -> members.AddMemberReq - 2, // 6: members.Members.EditMember:input_type -> members.EditMemberReq - 4, // 7: members.Members.DeleteMember:input_type -> members.DeleteMemberReq - 7, // 8: members.Members.GetMemberList:input_type -> members.GetMemberListReq - 11, // 9: members.Members.EditManagement:input_type -> members.EditManagementReq - 14, // 10: members.Members.EditBoardOfDirectors:input_type -> members.EditBoardOfDirectorsReq - 17, // 11: members.Members.EditCommitteeAppointments:input_type -> members.EditCommitteeAppointmentsReq - 1, // 12: members.Members.AddMember:output_type -> members.AddMemberResp - 3, // 13: members.Members.EditMember:output_type -> members.EditMemberResp - 5, // 14: members.Members.DeleteMember:output_type -> members.DeleteMemberResp - 8, // 15: members.Members.GetMemberList:output_type -> members.GetMemberListResp - 12, // 16: members.Members.EditManagement:output_type -> members.EditManagementResp - 15, // 17: members.Members.EditBoardOfDirectors:output_type -> members.EditBoardOfDirectorsResp - 18, // 18: members.Members.EditCommitteeAppointments:output_type -> members.EditCommitteeAppointmentsResp - 12, // [12:19] is the sub-list for method output_type - 5, // [5:12] is the sub-list for method input_type - 5, // [5:5] is the sub-list for extension type_name - 5, // [5:5] is the sub-list for extension extendee - 0, // [0:5] is the sub-list for field type_name + 16, // 3: members.Member.boardOfDirectors:type_name -> members.BoardOfDirectors + 22, // 4: members.Member.committeeAppointments:type_name -> members.CommitteeAppointments + 15, // 5: members.DisplayManagementResp.item:type_name -> members.DisplayManagementItem + 21, // 6: members.DisplayBoardOfDirectorsResp.item:type_name -> members.DisplayBoardOfDirectorItem + 27, // 7: members.DisplayCommitteeAppointmentsResp.item:type_name -> members.DisplayCommitteeAppointmentsItem + 0, // 8: members.Members.AddMember:input_type -> members.AddMemberReq + 2, // 9: members.Members.EditMember:input_type -> members.EditMemberReq + 4, // 10: members.Members.DeleteMember:input_type -> members.DeleteMemberReq + 7, // 11: members.Members.GetMemberList:input_type -> members.GetMemberListReq + 11, // 12: members.Members.EditManagement:input_type -> members.EditManagementReq + 13, // 13: members.Members.DisplayManagement:input_type -> members.DisplayManagementReq + 17, // 14: members.Members.EditBoardOfDirectors:input_type -> members.EditBoardOfDirectorsReq + 19, // 15: members.Members.DisplayBoardOfDirectors:input_type -> members.DisplayBoardOfDirectorsReq + 23, // 16: members.Members.EditCommitteeAppointments:input_type -> members.EditCommitteeAppointmentsReq + 25, // 17: members.Members.DisplayCommitteeAppointments:input_type -> members.DisplayCommitteeAppointmentsReq + 1, // 18: members.Members.AddMember:output_type -> members.AddMemberResp + 3, // 19: members.Members.EditMember:output_type -> members.EditMemberResp + 5, // 20: members.Members.DeleteMember:output_type -> members.DeleteMemberResp + 8, // 21: members.Members.GetMemberList:output_type -> members.GetMemberListResp + 12, // 22: members.Members.EditManagement:output_type -> members.EditManagementResp + 14, // 23: members.Members.DisplayManagement:output_type -> members.DisplayManagementResp + 18, // 24: members.Members.EditBoardOfDirectors:output_type -> members.EditBoardOfDirectorsResp + 20, // 25: members.Members.DisplayBoardOfDirectors:output_type -> members.DisplayBoardOfDirectorsResp + 24, // 26: members.Members.EditCommitteeAppointments:output_type -> members.EditCommitteeAppointmentsResp + 26, // 27: members.Members.DisplayCommitteeAppointments:output_type -> members.DisplayCommitteeAppointmentsResp + 18, // [18:28] is the sub-list for method output_type + 8, // [8:18] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name } func init() { file_api_members_members_proto_init() } @@ -1860,7 +2406,7 @@ func file_api_members_members_proto_init() { } } file_api_members_members_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BoardOfDirectors); i { + switch v := v.(*DisplayManagementReq); i { case 0: return &v.state case 1: @@ -1872,7 +2418,7 @@ func file_api_members_members_proto_init() { } } file_api_members_members_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EditBoardOfDirectorsReq); i { + switch v := v.(*DisplayManagementResp); i { case 0: return &v.state case 1: @@ -1884,7 +2430,7 @@ func file_api_members_members_proto_init() { } } file_api_members_members_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EditBoardOfDirectorsResp); i { + switch v := v.(*DisplayManagementItem); i { case 0: return &v.state case 1: @@ -1896,7 +2442,7 @@ func file_api_members_members_proto_init() { } } file_api_members_members_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommitteeAppointments); i { + switch v := v.(*BoardOfDirectors); i { case 0: return &v.state case 1: @@ -1908,7 +2454,7 @@ func file_api_members_members_proto_init() { } } file_api_members_members_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EditCommitteeAppointmentsReq); i { + switch v := v.(*EditBoardOfDirectorsReq); i { case 0: return &v.state case 1: @@ -1920,6 +2466,78 @@ func file_api_members_members_proto_init() { } } file_api_members_members_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditBoardOfDirectorsResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisplayBoardOfDirectorsReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisplayBoardOfDirectorsResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisplayBoardOfDirectorItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommitteeAppointments); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditCommitteeAppointmentsReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EditCommitteeAppointmentsResp); i { case 0: return &v.state @@ -1931,6 +2549,42 @@ func file_api_members_members_proto_init() { return nil } } + file_api_members_members_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisplayCommitteeAppointmentsReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisplayCommitteeAppointmentsResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisplayCommitteeAppointmentsItem); 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{ @@ -1938,7 +2592,7 @@ func file_api_members_members_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_api_members_members_proto_rawDesc, NumEnums: 0, - NumMessages: 19, + NumMessages: 28, NumExtensions: 0, NumServices: 1, }, diff --git a/api/members/members.validator.pb.go b/api/members/members.validator.pb.go index 27af7c4..d271860 100644 --- a/api/members/members.validator.pb.go +++ b/api/members/members.validator.pb.go @@ -81,6 +81,22 @@ func (this *EditManagementReq) Validate() error { func (this *EditManagementResp) Validate() error { return nil } +func (this *DisplayManagementReq) Validate() error { + return nil +} +func (this *DisplayManagementResp) Validate() error { + for _, item := range this.Item { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Item", err) + } + } + } + return nil +} +func (this *DisplayManagementItem) Validate() error { + return nil +} func (this *BoardOfDirectors) Validate() error { return nil } @@ -90,6 +106,22 @@ func (this *EditBoardOfDirectorsReq) Validate() error { func (this *EditBoardOfDirectorsResp) Validate() error { return nil } +func (this *DisplayBoardOfDirectorsReq) Validate() error { + return nil +} +func (this *DisplayBoardOfDirectorsResp) Validate() error { + for _, item := range this.Item { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Item", err) + } + } + } + return nil +} +func (this *DisplayBoardOfDirectorItem) Validate() error { + return nil +} func (this *CommitteeAppointments) Validate() error { return nil } @@ -99,3 +131,19 @@ func (this *EditCommitteeAppointmentsReq) Validate() error { func (this *EditCommitteeAppointmentsResp) Validate() error { return nil } +func (this *DisplayCommitteeAppointmentsReq) Validate() error { + return nil +} +func (this *DisplayCommitteeAppointmentsResp) Validate() error { + for _, item := range this.Item { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Item", err) + } + } + } + return nil +} +func (this *DisplayCommitteeAppointmentsItem) Validate() error { + return nil +} diff --git a/api/members/members_triple.pb.go b/api/members/members_triple.pb.go index 476954a..63ab9fe 100644 --- a/api/members/members_triple.pb.go +++ b/api/members/members_triple.pb.go @@ -35,10 +35,13 @@ type MembersClient interface { GetMemberList(ctx context.Context, in *GetMemberListReq, opts ...grpc_go.CallOption) (*GetMemberListResp, common.ErrorWithAttachment) // ===================================成员信息管理======================================= EditManagement(ctx context.Context, in *EditManagementReq, opts ...grpc_go.CallOption) (*EditManagementResp, common.ErrorWithAttachment) + DisplayManagement(ctx context.Context, in *DisplayManagementReq, opts ...grpc_go.CallOption) (*DisplayManagementResp, common.ErrorWithAttachment) // ===================================董事会信息管理======================================= EditBoardOfDirectors(ctx context.Context, in *EditBoardOfDirectorsReq, opts ...grpc_go.CallOption) (*EditBoardOfDirectorsResp, common.ErrorWithAttachment) + DisplayBoardOfDirectors(ctx context.Context, in *DisplayBoardOfDirectorsReq, opts ...grpc_go.CallOption) (*DisplayBoardOfDirectorsResp, common.ErrorWithAttachment) // ==================================委员会任命管理====================================== EditCommitteeAppointments(ctx context.Context, in *EditCommitteeAppointmentsReq, opts ...grpc_go.CallOption) (*EditCommitteeAppointmentsResp, common.ErrorWithAttachment) + DisplayCommitteeAppointments(ctx context.Context, in *DisplayCommitteeAppointmentsReq, opts ...grpc_go.CallOption) (*DisplayCommitteeAppointmentsResp, common.ErrorWithAttachment) } type membersClient struct { @@ -46,13 +49,16 @@ type membersClient struct { } type MembersClientImpl struct { - AddMember func(ctx context.Context, in *AddMemberReq) (*AddMemberResp, error) - EditMember func(ctx context.Context, in *EditMemberReq) (*EditMemberResp, error) - DeleteMember func(ctx context.Context, in *DeleteMemberReq) (*DeleteMemberResp, error) - GetMemberList func(ctx context.Context, in *GetMemberListReq) (*GetMemberListResp, error) - EditManagement func(ctx context.Context, in *EditManagementReq) (*EditManagementResp, error) - EditBoardOfDirectors func(ctx context.Context, in *EditBoardOfDirectorsReq) (*EditBoardOfDirectorsResp, error) - EditCommitteeAppointments func(ctx context.Context, in *EditCommitteeAppointmentsReq) (*EditCommitteeAppointmentsResp, error) + AddMember func(ctx context.Context, in *AddMemberReq) (*AddMemberResp, error) + EditMember func(ctx context.Context, in *EditMemberReq) (*EditMemberResp, error) + DeleteMember func(ctx context.Context, in *DeleteMemberReq) (*DeleteMemberResp, error) + GetMemberList func(ctx context.Context, in *GetMemberListReq) (*GetMemberListResp, error) + EditManagement func(ctx context.Context, in *EditManagementReq) (*EditManagementResp, error) + DisplayManagement func(ctx context.Context, in *DisplayManagementReq) (*DisplayManagementResp, error) + EditBoardOfDirectors func(ctx context.Context, in *EditBoardOfDirectorsReq) (*EditBoardOfDirectorsResp, error) + DisplayBoardOfDirectors func(ctx context.Context, in *DisplayBoardOfDirectorsReq) (*DisplayBoardOfDirectorsResp, error) + EditCommitteeAppointments func(ctx context.Context, in *EditCommitteeAppointmentsReq) (*EditCommitteeAppointmentsResp, error) + DisplayCommitteeAppointments func(ctx context.Context, in *DisplayCommitteeAppointmentsReq) (*DisplayCommitteeAppointmentsResp, error) } func (c *MembersClientImpl) GetDubboStub(cc *triple.TripleConn) MembersClient { @@ -97,18 +103,36 @@ func (c *membersClient) EditManagement(ctx context.Context, in *EditManagementRe return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/EditManagement", in, out) } +func (c *membersClient) DisplayManagement(ctx context.Context, in *DisplayManagementReq, opts ...grpc_go.CallOption) (*DisplayManagementResp, common.ErrorWithAttachment) { + out := new(DisplayManagementResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DisplayManagement", in, out) +} + func (c *membersClient) EditBoardOfDirectors(ctx context.Context, in *EditBoardOfDirectorsReq, opts ...grpc_go.CallOption) (*EditBoardOfDirectorsResp, common.ErrorWithAttachment) { out := new(EditBoardOfDirectorsResp) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/EditBoardOfDirectors", in, out) } +func (c *membersClient) DisplayBoardOfDirectors(ctx context.Context, in *DisplayBoardOfDirectorsReq, opts ...grpc_go.CallOption) (*DisplayBoardOfDirectorsResp, common.ErrorWithAttachment) { + out := new(DisplayBoardOfDirectorsResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DisplayBoardOfDirectors", in, out) +} + func (c *membersClient) EditCommitteeAppointments(ctx context.Context, in *EditCommitteeAppointmentsReq, opts ...grpc_go.CallOption) (*EditCommitteeAppointmentsResp, common.ErrorWithAttachment) { out := new(EditCommitteeAppointmentsResp) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/EditCommitteeAppointments", in, out) } +func (c *membersClient) DisplayCommitteeAppointments(ctx context.Context, in *DisplayCommitteeAppointmentsReq, opts ...grpc_go.CallOption) (*DisplayCommitteeAppointmentsResp, common.ErrorWithAttachment) { + out := new(DisplayCommitteeAppointmentsResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DisplayCommitteeAppointments", in, out) +} + // MembersServer is the server API for Members service. // All implementations must embed UnimplementedMembersServer // for forward compatibility @@ -120,10 +144,13 @@ type MembersServer interface { GetMemberList(context.Context, *GetMemberListReq) (*GetMemberListResp, error) // ===================================成员信息管理======================================= EditManagement(context.Context, *EditManagementReq) (*EditManagementResp, error) + DisplayManagement(context.Context, *DisplayManagementReq) (*DisplayManagementResp, error) // ===================================董事会信息管理======================================= EditBoardOfDirectors(context.Context, *EditBoardOfDirectorsReq) (*EditBoardOfDirectorsResp, error) + DisplayBoardOfDirectors(context.Context, *DisplayBoardOfDirectorsReq) (*DisplayBoardOfDirectorsResp, error) // ==================================委员会任命管理====================================== EditCommitteeAppointments(context.Context, *EditCommitteeAppointmentsReq) (*EditCommitteeAppointmentsResp, error) + DisplayCommitteeAppointments(context.Context, *DisplayCommitteeAppointmentsReq) (*DisplayCommitteeAppointmentsResp, error) mustEmbedUnimplementedMembersServer() } @@ -147,12 +174,21 @@ func (UnimplementedMembersServer) GetMemberList(context.Context, *GetMemberListR func (UnimplementedMembersServer) EditManagement(context.Context, *EditManagementReq) (*EditManagementResp, error) { return nil, status.Errorf(codes.Unimplemented, "method EditManagement not implemented") } +func (UnimplementedMembersServer) DisplayManagement(context.Context, *DisplayManagementReq) (*DisplayManagementResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DisplayManagement not implemented") +} func (UnimplementedMembersServer) EditBoardOfDirectors(context.Context, *EditBoardOfDirectorsReq) (*EditBoardOfDirectorsResp, error) { return nil, status.Errorf(codes.Unimplemented, "method EditBoardOfDirectors not implemented") } +func (UnimplementedMembersServer) DisplayBoardOfDirectors(context.Context, *DisplayBoardOfDirectorsReq) (*DisplayBoardOfDirectorsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DisplayBoardOfDirectors not implemented") +} func (UnimplementedMembersServer) EditCommitteeAppointments(context.Context, *EditCommitteeAppointmentsReq) (*EditCommitteeAppointmentsResp, error) { return nil, status.Errorf(codes.Unimplemented, "method EditCommitteeAppointments not implemented") } +func (UnimplementedMembersServer) DisplayCommitteeAppointments(context.Context, *DisplayCommitteeAppointmentsReq) (*DisplayCommitteeAppointmentsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DisplayCommitteeAppointments not implemented") +} func (s *UnimplementedMembersServer) XXX_SetProxyImpl(impl protocol.Invoker) { s.proxyImpl = impl } @@ -326,6 +362,35 @@ func _Members_EditManagement_Handler(srv interface{}, ctx context.Context, dec f return interceptor(ctx, in, info, handler) } +func _Members_DisplayManagement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(DisplayManagementReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("DisplayManagement", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + func _Members_EditBoardOfDirectors_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(EditBoardOfDirectorsReq) if err := dec(in); err != nil { @@ -355,6 +420,35 @@ func _Members_EditBoardOfDirectors_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } +func _Members_DisplayBoardOfDirectors_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(DisplayBoardOfDirectorsReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("DisplayBoardOfDirectors", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + func _Members_EditCommitteeAppointments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(EditCommitteeAppointmentsReq) if err := dec(in); err != nil { @@ -384,6 +478,35 @@ func _Members_EditCommitteeAppointments_Handler(srv interface{}, ctx context.Con return interceptor(ctx, in, info, handler) } +func _Members_DisplayCommitteeAppointments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(DisplayCommitteeAppointmentsReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("DisplayCommitteeAppointments", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + // Members_ServiceDesc is the grpc_go.ServiceDesc for Members service. // It's only intended for direct use with grpc_go.RegisterService, // and not to be introspected or modified (even as a copy) @@ -411,14 +534,26 @@ var Members_ServiceDesc = grpc_go.ServiceDesc{ MethodName: "EditManagement", Handler: _Members_EditManagement_Handler, }, + { + MethodName: "DisplayManagement", + Handler: _Members_DisplayManagement_Handler, + }, { MethodName: "EditBoardOfDirectors", Handler: _Members_EditBoardOfDirectors_Handler, }, + { + MethodName: "DisplayBoardOfDirectors", + Handler: _Members_DisplayBoardOfDirectors_Handler, + }, { MethodName: "EditCommitteeAppointments", Handler: _Members_EditCommitteeAppointments_Handler, }, + { + MethodName: "DisplayCommitteeAppointments", + Handler: _Members_DisplayCommitteeAppointments_Handler, + }, }, Streams: []grpc_go.StreamDesc{}, Metadata: "api/members/members.proto", diff --git a/api/reports/reports.pb.go b/api/reports/reports.pb.go index db5e130..e1f00e5 100644 --- a/api/reports/reports.pb.go +++ b/api/reports/reports.pb.go @@ -699,6 +699,154 @@ func (x *DeleteAnnualReportResp) GetMsg() string { return "" } +type DisplayAnnualReportReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *DisplayAnnualReportReq) Reset() { + *x = DisplayAnnualReportReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisplayAnnualReportReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisplayAnnualReportReq) ProtoMessage() {} + +func (x *DisplayAnnualReportReq) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[10] + 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 DisplayAnnualReportReq.ProtoReflect.Descriptor instead. +func (*DisplayAnnualReportReq) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{10} +} + +type DisplayAnnualReportResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Item []*DisplayAnnualReportItem `protobuf:"bytes,1,rep,name=Item,proto3" json:"Item"` +} + +func (x *DisplayAnnualReportResp) Reset() { + *x = DisplayAnnualReportResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisplayAnnualReportResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisplayAnnualReportResp) ProtoMessage() {} + +func (x *DisplayAnnualReportResp) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[11] + 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 DisplayAnnualReportResp.ProtoReflect.Descriptor instead. +func (*DisplayAnnualReportResp) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{11} +} + +func (x *DisplayAnnualReportResp) GetItem() []*DisplayAnnualReportItem { + if x != nil { + return x.Item + } + return nil +} + +type DisplayAnnualReportItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FileName string `protobuf:"bytes,1,opt,name=fileName,proto3" json:"fileName"` + Date int64 `protobuf:"varint,2,opt,name=date,proto3" json:"date"` + FileUrl string `protobuf:"bytes,3,opt,name=fileUrl,proto3" json:"fileUrl"` +} + +func (x *DisplayAnnualReportItem) Reset() { + *x = DisplayAnnualReportItem{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisplayAnnualReportItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisplayAnnualReportItem) ProtoMessage() {} + +func (x *DisplayAnnualReportItem) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[12] + 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 DisplayAnnualReportItem.ProtoReflect.Descriptor instead. +func (*DisplayAnnualReportItem) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{12} +} + +func (x *DisplayAnnualReportItem) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +func (x *DisplayAnnualReportItem) GetDate() int64 { + if x != nil { + return x.Date + } + return 0 +} + +func (x *DisplayAnnualReportItem) GetFileUrl() string { + if x != nil { + return x.FileUrl + } + return "" +} + // ==================================季度报告====================================== type GetQuarterlyReportListReq struct { state protoimpl.MessageState @@ -713,7 +861,7 @@ type GetQuarterlyReportListReq struct { func (x *GetQuarterlyReportListReq) Reset() { *x = GetQuarterlyReportListReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[10] + mi := &file_api_reports_reports_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -726,7 +874,7 @@ func (x *GetQuarterlyReportListReq) String() string { func (*GetQuarterlyReportListReq) ProtoMessage() {} func (x *GetQuarterlyReportListReq) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[10] + mi := &file_api_reports_reports_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -739,7 +887,7 @@ func (x *GetQuarterlyReportListReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetQuarterlyReportListReq.ProtoReflect.Descriptor instead. func (*GetQuarterlyReportListReq) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{10} + return file_api_reports_reports_proto_rawDescGZIP(), []int{13} } func (x *GetQuarterlyReportListReq) GetPage() int32 { @@ -778,7 +926,7 @@ type GetQuarterlyReportListResp struct { func (x *GetQuarterlyReportListResp) Reset() { *x = GetQuarterlyReportListResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[11] + mi := &file_api_reports_reports_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -791,7 +939,7 @@ func (x *GetQuarterlyReportListResp) String() string { func (*GetQuarterlyReportListResp) ProtoMessage() {} func (x *GetQuarterlyReportListResp) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[11] + mi := &file_api_reports_reports_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -804,7 +952,7 @@ func (x *GetQuarterlyReportListResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetQuarterlyReportListResp.ProtoReflect.Descriptor instead. func (*GetQuarterlyReportListResp) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{11} + return file_api_reports_reports_proto_rawDescGZIP(), []int{14} } func (x *GetQuarterlyReportListResp) GetMsg() string { @@ -862,7 +1010,7 @@ type QuarterlyReport struct { func (x *QuarterlyReport) Reset() { *x = QuarterlyReport{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[12] + mi := &file_api_reports_reports_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -875,7 +1023,7 @@ func (x *QuarterlyReport) String() string { func (*QuarterlyReport) ProtoMessage() {} func (x *QuarterlyReport) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[12] + mi := &file_api_reports_reports_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -888,7 +1036,7 @@ func (x *QuarterlyReport) ProtoReflect() protoreflect.Message { // Deprecated: Use QuarterlyReport.ProtoReflect.Descriptor instead. func (*QuarterlyReport) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{12} + return file_api_reports_reports_proto_rawDescGZIP(), []int{15} } func (x *QuarterlyReport) GetId() int32 { @@ -977,7 +1125,7 @@ type AddQuarterlyReportReq struct { func (x *AddQuarterlyReportReq) Reset() { *x = AddQuarterlyReportReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[13] + mi := &file_api_reports_reports_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -990,7 +1138,7 @@ func (x *AddQuarterlyReportReq) String() string { func (*AddQuarterlyReportReq) ProtoMessage() {} func (x *AddQuarterlyReportReq) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[13] + mi := &file_api_reports_reports_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1003,7 +1151,7 @@ func (x *AddQuarterlyReportReq) ProtoReflect() protoreflect.Message { // Deprecated: Use AddQuarterlyReportReq.ProtoReflect.Descriptor instead. func (*AddQuarterlyReportReq) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{13} + return file_api_reports_reports_proto_rawDescGZIP(), []int{16} } func (x *AddQuarterlyReportReq) GetFileName() string { @@ -1059,7 +1207,7 @@ type AddQuarterlyReportResp struct { func (x *AddQuarterlyReportResp) Reset() { *x = AddQuarterlyReportResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[14] + mi := &file_api_reports_reports_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1072,7 +1220,7 @@ func (x *AddQuarterlyReportResp) String() string { func (*AddQuarterlyReportResp) ProtoMessage() {} func (x *AddQuarterlyReportResp) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[14] + mi := &file_api_reports_reports_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1085,7 +1233,7 @@ func (x *AddQuarterlyReportResp) ProtoReflect() protoreflect.Message { // Deprecated: Use AddQuarterlyReportResp.ProtoReflect.Descriptor instead. func (*AddQuarterlyReportResp) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{14} + return file_api_reports_reports_proto_rawDescGZIP(), []int{17} } func (x *AddQuarterlyReportResp) GetMsg() string { @@ -1114,7 +1262,7 @@ type EditQuarterlyReportReq struct { func (x *EditQuarterlyReportReq) Reset() { *x = EditQuarterlyReportReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[15] + mi := &file_api_reports_reports_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1127,7 +1275,7 @@ func (x *EditQuarterlyReportReq) String() string { func (*EditQuarterlyReportReq) ProtoMessage() {} func (x *EditQuarterlyReportReq) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[15] + mi := &file_api_reports_reports_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1140,7 +1288,7 @@ func (x *EditQuarterlyReportReq) ProtoReflect() protoreflect.Message { // Deprecated: Use EditQuarterlyReportReq.ProtoReflect.Descriptor instead. func (*EditQuarterlyReportReq) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{15} + return file_api_reports_reports_proto_rawDescGZIP(), []int{18} } func (x *EditQuarterlyReportReq) GetId() int32 { @@ -1217,7 +1365,7 @@ type EditQuarterlyReportResp struct { func (x *EditQuarterlyReportResp) Reset() { *x = EditQuarterlyReportResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[16] + mi := &file_api_reports_reports_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1230,7 +1378,7 @@ func (x *EditQuarterlyReportResp) String() string { func (*EditQuarterlyReportResp) ProtoMessage() {} func (x *EditQuarterlyReportResp) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[16] + mi := &file_api_reports_reports_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1243,7 +1391,7 @@ func (x *EditQuarterlyReportResp) ProtoReflect() protoreflect.Message { // Deprecated: Use EditQuarterlyReportResp.ProtoReflect.Descriptor instead. func (*EditQuarterlyReportResp) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{16} + return file_api_reports_reports_proto_rawDescGZIP(), []int{19} } func (x *EditQuarterlyReportResp) GetMsg() string { @@ -1264,7 +1412,7 @@ type DeleteQuarterlyReportReq struct { func (x *DeleteQuarterlyReportReq) Reset() { *x = DeleteQuarterlyReportReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[17] + mi := &file_api_reports_reports_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1277,7 +1425,7 @@ func (x *DeleteQuarterlyReportReq) String() string { func (*DeleteQuarterlyReportReq) ProtoMessage() {} func (x *DeleteQuarterlyReportReq) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[17] + mi := &file_api_reports_reports_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1290,7 +1438,7 @@ func (x *DeleteQuarterlyReportReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteQuarterlyReportReq.ProtoReflect.Descriptor instead. func (*DeleteQuarterlyReportReq) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{17} + return file_api_reports_reports_proto_rawDescGZIP(), []int{20} } func (x *DeleteQuarterlyReportReq) GetId() int32 { @@ -1311,7 +1459,7 @@ type DeleteQuarterlyReportResp struct { func (x *DeleteQuarterlyReportResp) Reset() { *x = DeleteQuarterlyReportResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[18] + mi := &file_api_reports_reports_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1324,7 +1472,7 @@ func (x *DeleteQuarterlyReportResp) String() string { func (*DeleteQuarterlyReportResp) ProtoMessage() {} func (x *DeleteQuarterlyReportResp) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[18] + mi := &file_api_reports_reports_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1337,7 +1485,7 @@ func (x *DeleteQuarterlyReportResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteQuarterlyReportResp.ProtoReflect.Descriptor instead. func (*DeleteQuarterlyReportResp) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{18} + return file_api_reports_reports_proto_rawDescGZIP(), []int{21} } func (x *DeleteQuarterlyReportResp) GetMsg() string { @@ -1347,6 +1495,162 @@ func (x *DeleteQuarterlyReportResp) GetMsg() string { return "" } +type DisplayQuarterlyReportReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *DisplayQuarterlyReportReq) Reset() { + *x = DisplayQuarterlyReportReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisplayQuarterlyReportReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisplayQuarterlyReportReq) ProtoMessage() {} + +func (x *DisplayQuarterlyReportReq) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[22] + 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 DisplayQuarterlyReportReq.ProtoReflect.Descriptor instead. +func (*DisplayQuarterlyReportReq) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{22} +} + +type DisplayQuarterlyReportResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Item []*DisplayQuarterlyReportItem `protobuf:"bytes,1,rep,name=Item,proto3" json:"Item"` +} + +func (x *DisplayQuarterlyReportResp) Reset() { + *x = DisplayQuarterlyReportResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisplayQuarterlyReportResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisplayQuarterlyReportResp) ProtoMessage() {} + +func (x *DisplayQuarterlyReportResp) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[23] + 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 DisplayQuarterlyReportResp.ProtoReflect.Descriptor instead. +func (*DisplayQuarterlyReportResp) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{23} +} + +func (x *DisplayQuarterlyReportResp) GetItem() []*DisplayQuarterlyReportItem { + if x != nil { + return x.Item + } + return nil +} + +type DisplayQuarterlyReportItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FileName string `protobuf:"bytes,1,opt,name=fileName,proto3" json:"fileName"` + FileIntroduce string `protobuf:"bytes,2,opt,name=fileIntroduce,proto3" json:"fileIntroduce"` + Attachment string `protobuf:"bytes,3,opt,name=attachment,proto3" json:"attachment"` + AttachmentName string `protobuf:"bytes,4,opt,name=attachmentName,proto3" json:"attachmentName"` +} + +func (x *DisplayQuarterlyReportItem) Reset() { + *x = DisplayQuarterlyReportItem{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisplayQuarterlyReportItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisplayQuarterlyReportItem) ProtoMessage() {} + +func (x *DisplayQuarterlyReportItem) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[24] + 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 DisplayQuarterlyReportItem.ProtoReflect.Descriptor instead. +func (*DisplayQuarterlyReportItem) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{24} +} + +func (x *DisplayQuarterlyReportItem) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +func (x *DisplayQuarterlyReportItem) GetFileIntroduce() string { + if x != nil { + return x.FileIntroduce + } + return "" +} + +func (x *DisplayQuarterlyReportItem) GetAttachment() string { + if x != nil { + return x.Attachment + } + return "" +} + +func (x *DisplayQuarterlyReportItem) GetAttachmentName() string { + if x != nil { + return x.AttachmentName + } + return "" +} + var File_api_reports_reports_proto protoreflect.FileDescriptor var file_api_reports_reports_proto_rawDesc = []byte{ @@ -1422,7 +1726,20 @@ var file_api_reports_reports_proto_rawDesc = []byte{ 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x2a, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, - 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x7a, 0x0a, 0x19, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x18, 0x0a, 0x16, + 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x22, 0x4f, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x34, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, + 0x6d, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x63, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, + 0x65, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x64, 0x61, + 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x22, 0x7a, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, @@ -1503,53 +1820,83 @@ var file_api_reports_reports_proto_rawDesc = []byte{ 0x02, 0x69, 0x64, 0x22, 0x2d, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, - 0x73, 0x67, 0x32, 0xcd, 0x05, 0x0a, 0x07, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x58, - 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, - 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4c, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x41, - 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x2e, 0x72, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x73, 0x67, 0x22, 0x1b, 0x0a, 0x19, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, + 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x22, + 0x55, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, + 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x37, 0x0a, + 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, + 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, + 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x22, 0xa6, 0x01, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, + 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x32, + 0x8a, 0x07, 0x0a, 0x07, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x13, 0x47, + 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, + 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, + 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4c, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, + 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, - 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x2e, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x2e, - 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, - 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, - 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, - 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, - 0x0a, 0x16, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x72, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, - 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x55, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, - 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x73, 0x2e, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x73, 0x2e, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x45, 0x64, 0x69, 0x74, - 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, - 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, - 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, - 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x51, - 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x5e, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, - 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x21, 0x2e, 0x72, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, - 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, - 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, - 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, + 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, + 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, + 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, + 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x2e, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, + 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, + 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x44, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, + 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, + 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, + 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x51, + 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1e, + 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, + 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, + 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, + 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x58, 0x0a, 0x13, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x2e, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5e, 0x0a, 0x15, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x12, 0x21, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, 0x44, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, + 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, + 0x2e, 0x2f, 0x3b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -1564,7 +1911,7 @@ func file_api_reports_reports_proto_rawDescGZIP() []byte { return file_api_reports_reports_proto_rawDescData } -var file_api_reports_reports_proto_msgTypes = make([]protoimpl.MessageInfo, 19) +var file_api_reports_reports_proto_msgTypes = make([]protoimpl.MessageInfo, 25) var file_api_reports_reports_proto_goTypes = []interface{}{ (*Filtrate)(nil), // 0: reports.Filtrate (*GetAnnualReportListReq)(nil), // 1: reports.GetAnnualReportListReq @@ -1576,42 +1923,54 @@ var file_api_reports_reports_proto_goTypes = []interface{}{ (*EditAnnualReportResp)(nil), // 7: reports.EditAnnualReportResp (*DeleteAnnualReportReq)(nil), // 8: reports.DeleteAnnualReportReq (*DeleteAnnualReportResp)(nil), // 9: reports.DeleteAnnualReportResp - (*GetQuarterlyReportListReq)(nil), // 10: reports.GetQuarterlyReportListReq - (*GetQuarterlyReportListResp)(nil), // 11: reports.GetQuarterlyReportListResp - (*QuarterlyReport)(nil), // 12: reports.QuarterlyReport - (*AddQuarterlyReportReq)(nil), // 13: reports.AddQuarterlyReportReq - (*AddQuarterlyReportResp)(nil), // 14: reports.AddQuarterlyReportResp - (*EditQuarterlyReportReq)(nil), // 15: reports.EditQuarterlyReportReq - (*EditQuarterlyReportResp)(nil), // 16: reports.EditQuarterlyReportResp - (*DeleteQuarterlyReportReq)(nil), // 17: reports.DeleteQuarterlyReportReq - (*DeleteQuarterlyReportResp)(nil), // 18: reports.DeleteQuarterlyReportResp + (*DisplayAnnualReportReq)(nil), // 10: reports.DisplayAnnualReportReq + (*DisplayAnnualReportResp)(nil), // 11: reports.DisplayAnnualReportResp + (*DisplayAnnualReportItem)(nil), // 12: reports.DisplayAnnualReportItem + (*GetQuarterlyReportListReq)(nil), // 13: reports.GetQuarterlyReportListReq + (*GetQuarterlyReportListResp)(nil), // 14: reports.GetQuarterlyReportListResp + (*QuarterlyReport)(nil), // 15: reports.QuarterlyReport + (*AddQuarterlyReportReq)(nil), // 16: reports.AddQuarterlyReportReq + (*AddQuarterlyReportResp)(nil), // 17: reports.AddQuarterlyReportResp + (*EditQuarterlyReportReq)(nil), // 18: reports.EditQuarterlyReportReq + (*EditQuarterlyReportResp)(nil), // 19: reports.EditQuarterlyReportResp + (*DeleteQuarterlyReportReq)(nil), // 20: reports.DeleteQuarterlyReportReq + (*DeleteQuarterlyReportResp)(nil), // 21: reports.DeleteQuarterlyReportResp + (*DisplayQuarterlyReportReq)(nil), // 22: reports.DisplayQuarterlyReportReq + (*DisplayQuarterlyReportResp)(nil), // 23: reports.DisplayQuarterlyReportResp + (*DisplayQuarterlyReportItem)(nil), // 24: reports.DisplayQuarterlyReportItem } var file_api_reports_reports_proto_depIdxs = []int32{ 0, // 0: reports.GetAnnualReportListReq.filtrate:type_name -> reports.Filtrate 3, // 1: reports.GetAnnualReportListResp.data:type_name -> reports.AnnualReport - 0, // 2: reports.GetQuarterlyReportListReq.filtrate:type_name -> reports.Filtrate - 12, // 3: reports.GetQuarterlyReportListResp.data:type_name -> reports.QuarterlyReport - 1, // 4: reports.Reports.GetAnnualReportList:input_type -> reports.GetAnnualReportListReq - 4, // 5: reports.Reports.AddAnnualReport:input_type -> reports.AddAnnualReportReq - 6, // 6: reports.Reports.EditAnnualReport:input_type -> reports.EditAnnualReportReq - 8, // 7: reports.Reports.DeleteAnnualReport:input_type -> reports.DeleteAnnualReportReq - 10, // 8: reports.Reports.GetQuarterlyReportList:input_type -> reports.GetQuarterlyReportListReq - 13, // 9: reports.Reports.AddQuarterlyReport:input_type -> reports.AddQuarterlyReportReq - 15, // 10: reports.Reports.EditQuarterlyReport:input_type -> reports.EditQuarterlyReportReq - 17, // 11: reports.Reports.DeleteQuarterlyReport:input_type -> reports.DeleteQuarterlyReportReq - 2, // 12: reports.Reports.GetAnnualReportList:output_type -> reports.GetAnnualReportListResp - 5, // 13: reports.Reports.AddAnnualReport:output_type -> reports.AddAnnualReportResp - 7, // 14: reports.Reports.EditAnnualReport:output_type -> reports.EditAnnualReportResp - 9, // 15: reports.Reports.DeleteAnnualReport:output_type -> reports.DeleteAnnualReportResp - 11, // 16: reports.Reports.GetQuarterlyReportList:output_type -> reports.GetQuarterlyReportListResp - 14, // 17: reports.Reports.AddQuarterlyReport:output_type -> reports.AddQuarterlyReportResp - 16, // 18: reports.Reports.EditQuarterlyReport:output_type -> reports.EditQuarterlyReportResp - 18, // 19: reports.Reports.DeleteQuarterlyReport:output_type -> reports.DeleteQuarterlyReportResp - 12, // [12:20] is the sub-list for method output_type - 4, // [4:12] 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 + 12, // 2: reports.DisplayAnnualReportResp.Item:type_name -> reports.DisplayAnnualReportItem + 0, // 3: reports.GetQuarterlyReportListReq.filtrate:type_name -> reports.Filtrate + 15, // 4: reports.GetQuarterlyReportListResp.data:type_name -> reports.QuarterlyReport + 24, // 5: reports.DisplayQuarterlyReportResp.Item:type_name -> reports.DisplayQuarterlyReportItem + 1, // 6: reports.Reports.GetAnnualReportList:input_type -> reports.GetAnnualReportListReq + 4, // 7: reports.Reports.AddAnnualReport:input_type -> reports.AddAnnualReportReq + 6, // 8: reports.Reports.EditAnnualReport:input_type -> reports.EditAnnualReportReq + 8, // 9: reports.Reports.DeleteAnnualReport:input_type -> reports.DeleteAnnualReportReq + 10, // 10: reports.Reports.DisplayAnnualReport:input_type -> reports.DisplayAnnualReportReq + 13, // 11: reports.Reports.GetQuarterlyReportList:input_type -> reports.GetQuarterlyReportListReq + 16, // 12: reports.Reports.AddQuarterlyReport:input_type -> reports.AddQuarterlyReportReq + 18, // 13: reports.Reports.EditQuarterlyReport:input_type -> reports.EditQuarterlyReportReq + 20, // 14: reports.Reports.DeleteQuarterlyReport:input_type -> reports.DeleteQuarterlyReportReq + 22, // 15: reports.Reports.DisplayQuarterlyReport:input_type -> reports.DisplayQuarterlyReportReq + 2, // 16: reports.Reports.GetAnnualReportList:output_type -> reports.GetAnnualReportListResp + 5, // 17: reports.Reports.AddAnnualReport:output_type -> reports.AddAnnualReportResp + 7, // 18: reports.Reports.EditAnnualReport:output_type -> reports.EditAnnualReportResp + 9, // 19: reports.Reports.DeleteAnnualReport:output_type -> reports.DeleteAnnualReportResp + 11, // 20: reports.Reports.DisplayAnnualReport:output_type -> reports.DisplayAnnualReportResp + 14, // 21: reports.Reports.GetQuarterlyReportList:output_type -> reports.GetQuarterlyReportListResp + 17, // 22: reports.Reports.AddQuarterlyReport:output_type -> reports.AddQuarterlyReportResp + 19, // 23: reports.Reports.EditQuarterlyReport:output_type -> reports.EditQuarterlyReportResp + 21, // 24: reports.Reports.DeleteQuarterlyReport:output_type -> reports.DeleteQuarterlyReportResp + 23, // 25: reports.Reports.DisplayQuarterlyReport:output_type -> reports.DisplayQuarterlyReportResp + 16, // [16:26] is the sub-list for method output_type + 6, // [6:16] 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 } func init() { file_api_reports_reports_proto_init() } @@ -1741,7 +2100,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetQuarterlyReportListReq); i { + switch v := v.(*DisplayAnnualReportReq); i { case 0: return &v.state case 1: @@ -1753,7 +2112,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetQuarterlyReportListResp); i { + switch v := v.(*DisplayAnnualReportResp); i { case 0: return &v.state case 1: @@ -1765,7 +2124,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QuarterlyReport); i { + switch v := v.(*DisplayAnnualReportItem); i { case 0: return &v.state case 1: @@ -1777,7 +2136,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddQuarterlyReportReq); i { + switch v := v.(*GetQuarterlyReportListReq); i { case 0: return &v.state case 1: @@ -1789,7 +2148,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddQuarterlyReportResp); i { + switch v := v.(*GetQuarterlyReportListResp); i { case 0: return &v.state case 1: @@ -1801,7 +2160,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EditQuarterlyReportReq); i { + switch v := v.(*QuarterlyReport); i { case 0: return &v.state case 1: @@ -1813,7 +2172,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EditQuarterlyReportResp); i { + switch v := v.(*AddQuarterlyReportReq); i { case 0: return &v.state case 1: @@ -1825,7 +2184,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteQuarterlyReportReq); i { + switch v := v.(*AddQuarterlyReportResp); i { case 0: return &v.state case 1: @@ -1837,6 +2196,42 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditQuarterlyReportReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditQuarterlyReportResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteQuarterlyReportReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteQuarterlyReportResp); i { case 0: return &v.state @@ -1848,6 +2243,42 @@ func file_api_reports_reports_proto_init() { return nil } } + file_api_reports_reports_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisplayQuarterlyReportReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisplayQuarterlyReportResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisplayQuarterlyReportItem); 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{ @@ -1855,7 +2286,7 @@ func file_api_reports_reports_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_api_reports_reports_proto_rawDesc, NumEnums: 0, - NumMessages: 19, + NumMessages: 25, NumExtensions: 0, NumServices: 1, }, diff --git a/api/reports/reports.validator.pb.go b/api/reports/reports.validator.pb.go index 14c042b..510f8a5 100644 --- a/api/reports/reports.validator.pb.go +++ b/api/reports/reports.validator.pb.go @@ -57,6 +57,22 @@ func (this *DeleteAnnualReportReq) Validate() error { func (this *DeleteAnnualReportResp) Validate() error { return nil } +func (this *DisplayAnnualReportReq) Validate() error { + return nil +} +func (this *DisplayAnnualReportResp) Validate() error { + for _, item := range this.Item { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Item", err) + } + } + } + return nil +} +func (this *DisplayAnnualReportItem) Validate() error { + return nil +} func (this *GetQuarterlyReportListReq) Validate() error { if this.Filtrate != nil { if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Filtrate); err != nil { @@ -96,3 +112,19 @@ func (this *DeleteQuarterlyReportReq) Validate() error { func (this *DeleteQuarterlyReportResp) Validate() error { return nil } +func (this *DisplayQuarterlyReportReq) Validate() error { + return nil +} +func (this *DisplayQuarterlyReportResp) Validate() error { + for _, item := range this.Item { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Item", err) + } + } + } + return nil +} +func (this *DisplayQuarterlyReportItem) Validate() error { + return nil +} diff --git a/api/reports/reports_triple.pb.go b/api/reports/reports_triple.pb.go index 78c1f7c..8ed36a0 100644 --- a/api/reports/reports_triple.pb.go +++ b/api/reports/reports_triple.pb.go @@ -33,11 +33,13 @@ type ReportsClient interface { AddAnnualReport(ctx context.Context, in *AddAnnualReportReq, opts ...grpc_go.CallOption) (*AddAnnualReportResp, common.ErrorWithAttachment) EditAnnualReport(ctx context.Context, in *EditAnnualReportReq, opts ...grpc_go.CallOption) (*EditAnnualReportResp, common.ErrorWithAttachment) DeleteAnnualReport(ctx context.Context, in *DeleteAnnualReportReq, opts ...grpc_go.CallOption) (*DeleteAnnualReportResp, common.ErrorWithAttachment) + DisplayAnnualReport(ctx context.Context, in *DisplayAnnualReportReq, opts ...grpc_go.CallOption) (*DisplayAnnualReportResp, common.ErrorWithAttachment) // ==================================季度报告====================================== GetQuarterlyReportList(ctx context.Context, in *GetQuarterlyReportListReq, opts ...grpc_go.CallOption) (*GetQuarterlyReportListResp, common.ErrorWithAttachment) AddQuarterlyReport(ctx context.Context, in *AddQuarterlyReportReq, opts ...grpc_go.CallOption) (*AddQuarterlyReportResp, common.ErrorWithAttachment) EditQuarterlyReport(ctx context.Context, in *EditQuarterlyReportReq, opts ...grpc_go.CallOption) (*EditQuarterlyReportResp, common.ErrorWithAttachment) DeleteQuarterlyReport(ctx context.Context, in *DeleteQuarterlyReportReq, opts ...grpc_go.CallOption) (*DeleteQuarterlyReportResp, common.ErrorWithAttachment) + DisplayQuarterlyReport(ctx context.Context, in *DisplayQuarterlyReportReq, opts ...grpc_go.CallOption) (*DisplayQuarterlyReportResp, common.ErrorWithAttachment) } type reportsClient struct { @@ -49,10 +51,12 @@ type ReportsClientImpl struct { AddAnnualReport func(ctx context.Context, in *AddAnnualReportReq) (*AddAnnualReportResp, error) EditAnnualReport func(ctx context.Context, in *EditAnnualReportReq) (*EditAnnualReportResp, error) DeleteAnnualReport func(ctx context.Context, in *DeleteAnnualReportReq) (*DeleteAnnualReportResp, error) + DisplayAnnualReport func(ctx context.Context, in *DisplayAnnualReportReq) (*DisplayAnnualReportResp, error) GetQuarterlyReportList func(ctx context.Context, in *GetQuarterlyReportListReq) (*GetQuarterlyReportListResp, error) AddQuarterlyReport func(ctx context.Context, in *AddQuarterlyReportReq) (*AddQuarterlyReportResp, error) EditQuarterlyReport func(ctx context.Context, in *EditQuarterlyReportReq) (*EditQuarterlyReportResp, error) DeleteQuarterlyReport func(ctx context.Context, in *DeleteQuarterlyReportReq) (*DeleteQuarterlyReportResp, error) + DisplayQuarterlyReport func(ctx context.Context, in *DisplayQuarterlyReportReq) (*DisplayQuarterlyReportResp, error) } func (c *ReportsClientImpl) GetDubboStub(cc *triple.TripleConn) ReportsClient { @@ -91,6 +95,12 @@ func (c *reportsClient) DeleteAnnualReport(ctx context.Context, in *DeleteAnnual return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DeleteAnnualReport", in, out) } +func (c *reportsClient) DisplayAnnualReport(ctx context.Context, in *DisplayAnnualReportReq, opts ...grpc_go.CallOption) (*DisplayAnnualReportResp, common.ErrorWithAttachment) { + out := new(DisplayAnnualReportResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DisplayAnnualReport", in, out) +} + func (c *reportsClient) GetQuarterlyReportList(ctx context.Context, in *GetQuarterlyReportListReq, opts ...grpc_go.CallOption) (*GetQuarterlyReportListResp, common.ErrorWithAttachment) { out := new(GetQuarterlyReportListResp) interfaceKey := ctx.Value(constant.InterfaceKey).(string) @@ -115,6 +125,12 @@ func (c *reportsClient) DeleteQuarterlyReport(ctx context.Context, in *DeleteQua return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DeleteQuarterlyReport", in, out) } +func (c *reportsClient) DisplayQuarterlyReport(ctx context.Context, in *DisplayQuarterlyReportReq, opts ...grpc_go.CallOption) (*DisplayQuarterlyReportResp, common.ErrorWithAttachment) { + out := new(DisplayQuarterlyReportResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DisplayQuarterlyReport", in, out) +} + // ReportsServer is the server API for Reports service. // All implementations must embed UnimplementedReportsServer // for forward compatibility @@ -124,11 +140,13 @@ type ReportsServer interface { AddAnnualReport(context.Context, *AddAnnualReportReq) (*AddAnnualReportResp, error) EditAnnualReport(context.Context, *EditAnnualReportReq) (*EditAnnualReportResp, error) DeleteAnnualReport(context.Context, *DeleteAnnualReportReq) (*DeleteAnnualReportResp, error) + DisplayAnnualReport(context.Context, *DisplayAnnualReportReq) (*DisplayAnnualReportResp, error) // ==================================季度报告====================================== GetQuarterlyReportList(context.Context, *GetQuarterlyReportListReq) (*GetQuarterlyReportListResp, error) AddQuarterlyReport(context.Context, *AddQuarterlyReportReq) (*AddQuarterlyReportResp, error) EditQuarterlyReport(context.Context, *EditQuarterlyReportReq) (*EditQuarterlyReportResp, error) DeleteQuarterlyReport(context.Context, *DeleteQuarterlyReportReq) (*DeleteQuarterlyReportResp, error) + DisplayQuarterlyReport(context.Context, *DisplayQuarterlyReportReq) (*DisplayQuarterlyReportResp, error) mustEmbedUnimplementedReportsServer() } @@ -149,6 +167,9 @@ func (UnimplementedReportsServer) EditAnnualReport(context.Context, *EditAnnualR func (UnimplementedReportsServer) DeleteAnnualReport(context.Context, *DeleteAnnualReportReq) (*DeleteAnnualReportResp, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteAnnualReport not implemented") } +func (UnimplementedReportsServer) DisplayAnnualReport(context.Context, *DisplayAnnualReportReq) (*DisplayAnnualReportResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DisplayAnnualReport not implemented") +} func (UnimplementedReportsServer) GetQuarterlyReportList(context.Context, *GetQuarterlyReportListReq) (*GetQuarterlyReportListResp, error) { return nil, status.Errorf(codes.Unimplemented, "method GetQuarterlyReportList not implemented") } @@ -161,6 +182,9 @@ func (UnimplementedReportsServer) EditQuarterlyReport(context.Context, *EditQuar func (UnimplementedReportsServer) DeleteQuarterlyReport(context.Context, *DeleteQuarterlyReportReq) (*DeleteQuarterlyReportResp, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteQuarterlyReport not implemented") } +func (UnimplementedReportsServer) DisplayQuarterlyReport(context.Context, *DisplayQuarterlyReportReq) (*DisplayQuarterlyReportResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DisplayQuarterlyReport not implemented") +} func (s *UnimplementedReportsServer) XXX_SetProxyImpl(impl protocol.Invoker) { s.proxyImpl = impl } @@ -305,6 +329,35 @@ func _Reports_DeleteAnnualReport_Handler(srv interface{}, ctx context.Context, d return interceptor(ctx, in, info, handler) } +func _Reports_DisplayAnnualReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(DisplayAnnualReportReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("DisplayAnnualReport", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + func _Reports_GetQuarterlyReportList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(GetQuarterlyReportListReq) if err := dec(in); err != nil { @@ -421,6 +474,35 @@ func _Reports_DeleteQuarterlyReport_Handler(srv interface{}, ctx context.Context return interceptor(ctx, in, info, handler) } +func _Reports_DisplayQuarterlyReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(DisplayQuarterlyReportReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("DisplayQuarterlyReport", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + // Reports_ServiceDesc is the grpc_go.ServiceDesc for Reports service. // It's only intended for direct use with grpc_go.RegisterService, // and not to be introspected or modified (even as a copy) @@ -444,6 +526,10 @@ var Reports_ServiceDesc = grpc_go.ServiceDesc{ MethodName: "DeleteAnnualReport", Handler: _Reports_DeleteAnnualReport_Handler, }, + { + MethodName: "DisplayAnnualReport", + Handler: _Reports_DisplayAnnualReport_Handler, + }, { MethodName: "GetQuarterlyReportList", Handler: _Reports_GetQuarterlyReportList_Handler, @@ -460,6 +546,10 @@ var Reports_ServiceDesc = grpc_go.ServiceDesc{ MethodName: "DeleteQuarterlyReport", Handler: _Reports_DeleteQuarterlyReport_Handler, }, + { + MethodName: "DisplayQuarterlyReport", + Handler: _Reports_DisplayQuarterlyReport_Handler, + }, }, Streams: []grpc_go.StreamDesc{}, Metadata: "api/reports/reports.proto", diff --git a/pkg/router/router.go b/pkg/router/router.go index c9120d0..68b8e2a 100644 --- a/pkg/router/router.go +++ b/pkg/router/router.go @@ -195,11 +195,13 @@ func NewRouter() *gin.Engine { reportsRoute := v1.Group("/reports") reportsRouteLogin := reportsRoute.Group("", middleware.CheckWebLogin(service.AccountProvider)) // 年度报告 + reportsRoute.POST("/annual/display", middleware.Cors(), reports.AnnualReportDisplay) reportsRouteLogin.POST("/annual/create", reports.AnnualReportCreate) reportsRouteLogin.POST("/annual/list", reports.AnnualReportList) reportsRouteLogin.POST("/annual/delete", reports.AnnualReportDelete) reportsRouteLogin.POST("/annual/edit", reports.AnnualReportEdit) // 季度报告 + reportsRoute.POST("/quarterly/display", middleware.Cors(), reports.QuarterlyReportDisplay) reportsRouteLogin.POST("/quarterly/create", reports.QuarterlyReportCreate) reportsRouteLogin.POST("/quarterly/list", reports.QuarterlyReportList) reportsRouteLogin.POST("/quarterly/delete", reports.QuarterlyReportDelete) @@ -210,7 +212,7 @@ func NewRouter() *gin.Engine { emailAlertsRoute := v1.Group("/emailalerts") emailAlertsRouteLogin := emailAlertsRoute.Group("", middleware.CheckWebLogin(service.AccountProvider)) - emailAlertsRoute.POST("/submit", emailAlert.EmailAlertSubmit) + emailAlertsRoute.POST("/submit", middleware.Cors(), emailAlert.EmailAlertSubmit) emailAlertsRouteLogin.POST("/list", emailAlert.GetEmailInformationList) } { @@ -224,10 +226,13 @@ func NewRouter() *gin.Engine { membersRouteLogin.POST("/delete", members.DeleteMember) // 成员部门信息管理 membersRouteLogin.POST("/management/edit", members.EditManagement) + membersRoute.POST("/management/display", middleware.Cors(), members.DisplayManagement) // 董事会信息管理 membersRouteLogin.POST("/boardofdirectors/edit", members.EditBoardOfDirectors) + membersRoute.POST("/boardofdirectors/display", middleware.Cors(), members.DisplayBoardOfDirectors) // 委员会任命管理 membersRouteLogin.POST("/committeeappointments/edit", members.EditCommitteeAppointments) + membersRoute.POST("/committeeappointments/display", middleware.Cors(), members.DisplayCommitteeAppointments) } { importRoute := v1.Group("/import") diff --git a/pkg/service/members/members.go b/pkg/service/members/members.go index 4e801ba..846ea79 100644 --- a/pkg/service/members/members.go +++ b/pkg/service/members/members.go @@ -120,3 +120,45 @@ func EditCommitteeAppointments(ctx *gin.Context) { } service.Success(ctx, resp) } + +func DisplayCommitteeAppointments(ctx *gin.Context) { + var req members.DisplayCommitteeAppointmentsReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.MembersProvider.DisplayCommitteeAppointments(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} + +func DisplayBoardOfDirectors(ctx *gin.Context) { + var req members.DisplayBoardOfDirectorsReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.MembersProvider.DisplayBoardOfDirectors(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} + +func DisplayManagement(ctx *gin.Context) { + var req members.DisplayManagementReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.MembersProvider.DisplayManagement(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} diff --git a/pkg/service/reports/annualReports.go b/pkg/service/reports/annualReports.go index 18d1cc7..ed03697 100644 --- a/pkg/service/reports/annualReports.go +++ b/pkg/service/reports/annualReports.go @@ -70,3 +70,31 @@ func AnnualReportEdit(ctx *gin.Context) { } service.Success(ctx, resp) } + +func AnnualReportDisplay(ctx *gin.Context) { + var req reports.DisplayAnnualReportReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.ReportsProvider.DisplayAnnualReport(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} + +func QuarterlyReportDisplay(ctx *gin.Context) { + var req reports.DisplayQuarterlyReportReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.ReportsProvider.DisplayQuarterlyReport(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} From 51d79406db26bafc144d8a6c0ff216e8b6443c6a Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Fri, 10 Oct 2025 15:40:48 +0800 Subject: [PATCH 16/38] =?UTF-8?q?Updata=EF=BC=9A=E6=9B=B4=E6=96=B0db?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/reports/reports.pb.go | 933 ++++++++++++++++------------ api/reports/reports.validator.pb.go | 8 + 2 files changed, 560 insertions(+), 381 deletions(-) diff --git a/api/reports/reports.pb.go b/api/reports/reports.pb.go index e1f00e5..b64b420 100644 --- a/api/reports/reports.pb.go +++ b/api/reports/reports.pb.go @@ -25,8 +25,8 @@ type Filtrate struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - FileName string `protobuf:"bytes,3,opt,name=fileName,proto3" json:"fileName"` //文件名称 - Status int32 `protobuf:"varint,4,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) + FileName string `protobuf:"bytes,1,opt,name=fileName,proto3" json:"fileName"` //文件名称 + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) } func (x *Filtrate) Reset() { @@ -75,6 +75,53 @@ func (x *Filtrate) GetStatus() int32 { return 0 } +type FiltrateWeb struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FileName string `protobuf:"bytes,1,opt,name=fileName,proto3" json:"fileName"` //文件名称 +} + +func (x *FiltrateWeb) Reset() { + *x = FiltrateWeb{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FiltrateWeb) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FiltrateWeb) ProtoMessage() {} + +func (x *FiltrateWeb) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FiltrateWeb.ProtoReflect.Descriptor instead. +func (*FiltrateWeb) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{1} +} + +func (x *FiltrateWeb) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + // ==================================年度报告====================================== type GetAnnualReportListReq struct { state protoimpl.MessageState @@ -89,7 +136,7 @@ type GetAnnualReportListReq struct { func (x *GetAnnualReportListReq) Reset() { *x = GetAnnualReportListReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[1] + mi := &file_api_reports_reports_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -102,7 +149,7 @@ func (x *GetAnnualReportListReq) String() string { func (*GetAnnualReportListReq) ProtoMessage() {} func (x *GetAnnualReportListReq) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[1] + mi := &file_api_reports_reports_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -115,7 +162,7 @@ func (x *GetAnnualReportListReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAnnualReportListReq.ProtoReflect.Descriptor instead. func (*GetAnnualReportListReq) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{1} + return file_api_reports_reports_proto_rawDescGZIP(), []int{2} } func (x *GetAnnualReportListReq) GetPage() int32 { @@ -154,7 +201,7 @@ type GetAnnualReportListResp struct { func (x *GetAnnualReportListResp) Reset() { *x = GetAnnualReportListResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[2] + mi := &file_api_reports_reports_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -167,7 +214,7 @@ func (x *GetAnnualReportListResp) String() string { func (*GetAnnualReportListResp) ProtoMessage() {} func (x *GetAnnualReportListResp) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[2] + mi := &file_api_reports_reports_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -180,7 +227,7 @@ func (x *GetAnnualReportListResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAnnualReportListResp.ProtoReflect.Descriptor instead. func (*GetAnnualReportListResp) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{2} + return file_api_reports_reports_proto_rawDescGZIP(), []int{3} } func (x *GetAnnualReportListResp) GetMsg() string { @@ -237,7 +284,7 @@ type AnnualReport struct { func (x *AnnualReport) Reset() { *x = AnnualReport{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[3] + mi := &file_api_reports_reports_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -250,7 +297,7 @@ func (x *AnnualReport) String() string { func (*AnnualReport) ProtoMessage() {} func (x *AnnualReport) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[3] + mi := &file_api_reports_reports_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -263,7 +310,7 @@ func (x *AnnualReport) ProtoReflect() protoreflect.Message { // Deprecated: Use AnnualReport.ProtoReflect.Descriptor instead. func (*AnnualReport) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{3} + return file_api_reports_reports_proto_rawDescGZIP(), []int{4} } func (x *AnnualReport) GetId() int32 { @@ -344,7 +391,7 @@ type AddAnnualReportReq struct { func (x *AddAnnualReportReq) Reset() { *x = AddAnnualReportReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[4] + mi := &file_api_reports_reports_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -357,7 +404,7 @@ func (x *AddAnnualReportReq) String() string { func (*AddAnnualReportReq) ProtoMessage() {} func (x *AddAnnualReportReq) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[4] + mi := &file_api_reports_reports_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -370,7 +417,7 @@ func (x *AddAnnualReportReq) ProtoReflect() protoreflect.Message { // Deprecated: Use AddAnnualReportReq.ProtoReflect.Descriptor instead. func (*AddAnnualReportReq) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{4} + return file_api_reports_reports_proto_rawDescGZIP(), []int{5} } func (x *AddAnnualReportReq) GetFileName() string { @@ -419,7 +466,7 @@ type AddAnnualReportResp struct { func (x *AddAnnualReportResp) Reset() { *x = AddAnnualReportResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[5] + mi := &file_api_reports_reports_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -432,7 +479,7 @@ func (x *AddAnnualReportResp) String() string { func (*AddAnnualReportResp) ProtoMessage() {} func (x *AddAnnualReportResp) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[5] + mi := &file_api_reports_reports_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -445,7 +492,7 @@ func (x *AddAnnualReportResp) ProtoReflect() protoreflect.Message { // Deprecated: Use AddAnnualReportResp.ProtoReflect.Descriptor instead. func (*AddAnnualReportResp) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{5} + return file_api_reports_reports_proto_rawDescGZIP(), []int{6} } func (x *AddAnnualReportResp) GetMsg() string { @@ -473,7 +520,7 @@ type EditAnnualReportReq struct { func (x *EditAnnualReportReq) Reset() { *x = EditAnnualReportReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[6] + mi := &file_api_reports_reports_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -486,7 +533,7 @@ func (x *EditAnnualReportReq) String() string { func (*EditAnnualReportReq) ProtoMessage() {} func (x *EditAnnualReportReq) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[6] + mi := &file_api_reports_reports_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -499,7 +546,7 @@ func (x *EditAnnualReportReq) ProtoReflect() protoreflect.Message { // Deprecated: Use EditAnnualReportReq.ProtoReflect.Descriptor instead. func (*EditAnnualReportReq) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{6} + return file_api_reports_reports_proto_rawDescGZIP(), []int{7} } func (x *EditAnnualReportReq) GetId() int32 { @@ -569,7 +616,7 @@ type EditAnnualReportResp struct { func (x *EditAnnualReportResp) Reset() { *x = EditAnnualReportResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[7] + mi := &file_api_reports_reports_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -582,7 +629,7 @@ func (x *EditAnnualReportResp) String() string { func (*EditAnnualReportResp) ProtoMessage() {} func (x *EditAnnualReportResp) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[7] + mi := &file_api_reports_reports_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -595,7 +642,7 @@ func (x *EditAnnualReportResp) ProtoReflect() protoreflect.Message { // Deprecated: Use EditAnnualReportResp.ProtoReflect.Descriptor instead. func (*EditAnnualReportResp) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{7} + return file_api_reports_reports_proto_rawDescGZIP(), []int{8} } func (x *EditAnnualReportResp) GetMsg() string { @@ -616,7 +663,7 @@ type DeleteAnnualReportReq struct { func (x *DeleteAnnualReportReq) Reset() { *x = DeleteAnnualReportReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[8] + mi := &file_api_reports_reports_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -629,7 +676,7 @@ func (x *DeleteAnnualReportReq) String() string { func (*DeleteAnnualReportReq) ProtoMessage() {} func (x *DeleteAnnualReportReq) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[8] + mi := &file_api_reports_reports_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -642,7 +689,7 @@ func (x *DeleteAnnualReportReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteAnnualReportReq.ProtoReflect.Descriptor instead. func (*DeleteAnnualReportReq) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{8} + return file_api_reports_reports_proto_rawDescGZIP(), []int{9} } func (x *DeleteAnnualReportReq) GetId() int32 { @@ -663,7 +710,7 @@ type DeleteAnnualReportResp struct { func (x *DeleteAnnualReportResp) Reset() { *x = DeleteAnnualReportResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[9] + mi := &file_api_reports_reports_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -676,7 +723,7 @@ func (x *DeleteAnnualReportResp) String() string { func (*DeleteAnnualReportResp) ProtoMessage() {} func (x *DeleteAnnualReportResp) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[9] + mi := &file_api_reports_reports_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -689,7 +736,7 @@ func (x *DeleteAnnualReportResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteAnnualReportResp.ProtoReflect.Descriptor instead. func (*DeleteAnnualReportResp) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{9} + return file_api_reports_reports_proto_rawDescGZIP(), []int{10} } func (x *DeleteAnnualReportResp) GetMsg() string { @@ -703,12 +750,15 @@ type DisplayAnnualReportReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize"` } func (x *DisplayAnnualReportReq) Reset() { *x = DisplayAnnualReportReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[10] + mi := &file_api_reports_reports_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -721,7 +771,7 @@ func (x *DisplayAnnualReportReq) String() string { func (*DisplayAnnualReportReq) ProtoMessage() {} func (x *DisplayAnnualReportReq) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[10] + mi := &file_api_reports_reports_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -734,7 +784,21 @@ func (x *DisplayAnnualReportReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplayAnnualReportReq.ProtoReflect.Descriptor instead. func (*DisplayAnnualReportReq) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{10} + return file_api_reports_reports_proto_rawDescGZIP(), []int{11} +} + +func (x *DisplayAnnualReportReq) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *DisplayAnnualReportReq) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 } type DisplayAnnualReportResp struct { @@ -742,13 +806,16 @@ type DisplayAnnualReportResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Item []*DisplayAnnualReportItem `protobuf:"bytes,1,rep,name=Item,proto3" json:"Item"` + Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize"` + Total int32 `protobuf:"varint,3,opt,name=total,proto3" json:"total"` + Item []*DisplayAnnualReportItem `protobuf:"bytes,4,rep,name=Item,proto3" json:"Item"` } func (x *DisplayAnnualReportResp) Reset() { *x = DisplayAnnualReportResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[11] + mi := &file_api_reports_reports_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -761,7 +828,7 @@ func (x *DisplayAnnualReportResp) String() string { func (*DisplayAnnualReportResp) ProtoMessage() {} func (x *DisplayAnnualReportResp) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[11] + mi := &file_api_reports_reports_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -774,7 +841,28 @@ func (x *DisplayAnnualReportResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplayAnnualReportResp.ProtoReflect.Descriptor instead. func (*DisplayAnnualReportResp) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{11} + return file_api_reports_reports_proto_rawDescGZIP(), []int{12} +} + +func (x *DisplayAnnualReportResp) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *DisplayAnnualReportResp) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *DisplayAnnualReportResp) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 } func (x *DisplayAnnualReportResp) GetItem() []*DisplayAnnualReportItem { @@ -797,7 +885,7 @@ type DisplayAnnualReportItem struct { func (x *DisplayAnnualReportItem) Reset() { *x = DisplayAnnualReportItem{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[12] + mi := &file_api_reports_reports_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -810,7 +898,7 @@ func (x *DisplayAnnualReportItem) String() string { func (*DisplayAnnualReportItem) ProtoMessage() {} func (x *DisplayAnnualReportItem) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[12] + mi := &file_api_reports_reports_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -823,7 +911,7 @@ func (x *DisplayAnnualReportItem) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplayAnnualReportItem.ProtoReflect.Descriptor instead. func (*DisplayAnnualReportItem) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{12} + return file_api_reports_reports_proto_rawDescGZIP(), []int{13} } func (x *DisplayAnnualReportItem) GetFileName() string { @@ -861,7 +949,7 @@ type GetQuarterlyReportListReq struct { func (x *GetQuarterlyReportListReq) Reset() { *x = GetQuarterlyReportListReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[13] + mi := &file_api_reports_reports_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -874,7 +962,7 @@ func (x *GetQuarterlyReportListReq) String() string { func (*GetQuarterlyReportListReq) ProtoMessage() {} func (x *GetQuarterlyReportListReq) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[13] + mi := &file_api_reports_reports_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -887,7 +975,7 @@ func (x *GetQuarterlyReportListReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetQuarterlyReportListReq.ProtoReflect.Descriptor instead. func (*GetQuarterlyReportListReq) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{13} + return file_api_reports_reports_proto_rawDescGZIP(), []int{14} } func (x *GetQuarterlyReportListReq) GetPage() int32 { @@ -926,7 +1014,7 @@ type GetQuarterlyReportListResp struct { func (x *GetQuarterlyReportListResp) Reset() { *x = GetQuarterlyReportListResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[14] + mi := &file_api_reports_reports_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -939,7 +1027,7 @@ func (x *GetQuarterlyReportListResp) String() string { func (*GetQuarterlyReportListResp) ProtoMessage() {} func (x *GetQuarterlyReportListResp) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[14] + mi := &file_api_reports_reports_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -952,7 +1040,7 @@ func (x *GetQuarterlyReportListResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetQuarterlyReportListResp.ProtoReflect.Descriptor instead. func (*GetQuarterlyReportListResp) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{14} + return file_api_reports_reports_proto_rawDescGZIP(), []int{15} } func (x *GetQuarterlyReportListResp) GetMsg() string { @@ -1010,7 +1098,7 @@ type QuarterlyReport struct { func (x *QuarterlyReport) Reset() { *x = QuarterlyReport{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[15] + mi := &file_api_reports_reports_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1023,7 +1111,7 @@ func (x *QuarterlyReport) String() string { func (*QuarterlyReport) ProtoMessage() {} func (x *QuarterlyReport) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[15] + mi := &file_api_reports_reports_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1036,7 +1124,7 @@ func (x *QuarterlyReport) ProtoReflect() protoreflect.Message { // Deprecated: Use QuarterlyReport.ProtoReflect.Descriptor instead. func (*QuarterlyReport) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{15} + return file_api_reports_reports_proto_rawDescGZIP(), []int{16} } func (x *QuarterlyReport) GetId() int32 { @@ -1125,7 +1213,7 @@ type AddQuarterlyReportReq struct { func (x *AddQuarterlyReportReq) Reset() { *x = AddQuarterlyReportReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[16] + mi := &file_api_reports_reports_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1138,7 +1226,7 @@ func (x *AddQuarterlyReportReq) String() string { func (*AddQuarterlyReportReq) ProtoMessage() {} func (x *AddQuarterlyReportReq) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[16] + mi := &file_api_reports_reports_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1151,7 +1239,7 @@ func (x *AddQuarterlyReportReq) ProtoReflect() protoreflect.Message { // Deprecated: Use AddQuarterlyReportReq.ProtoReflect.Descriptor instead. func (*AddQuarterlyReportReq) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{16} + return file_api_reports_reports_proto_rawDescGZIP(), []int{17} } func (x *AddQuarterlyReportReq) GetFileName() string { @@ -1207,7 +1295,7 @@ type AddQuarterlyReportResp struct { func (x *AddQuarterlyReportResp) Reset() { *x = AddQuarterlyReportResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[17] + mi := &file_api_reports_reports_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1220,7 +1308,7 @@ func (x *AddQuarterlyReportResp) String() string { func (*AddQuarterlyReportResp) ProtoMessage() {} func (x *AddQuarterlyReportResp) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[17] + mi := &file_api_reports_reports_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1233,7 +1321,7 @@ func (x *AddQuarterlyReportResp) ProtoReflect() protoreflect.Message { // Deprecated: Use AddQuarterlyReportResp.ProtoReflect.Descriptor instead. func (*AddQuarterlyReportResp) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{17} + return file_api_reports_reports_proto_rawDescGZIP(), []int{18} } func (x *AddQuarterlyReportResp) GetMsg() string { @@ -1262,7 +1350,7 @@ type EditQuarterlyReportReq struct { func (x *EditQuarterlyReportReq) Reset() { *x = EditQuarterlyReportReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[18] + mi := &file_api_reports_reports_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1275,7 +1363,7 @@ func (x *EditQuarterlyReportReq) String() string { func (*EditQuarterlyReportReq) ProtoMessage() {} func (x *EditQuarterlyReportReq) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[18] + mi := &file_api_reports_reports_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1288,7 +1376,7 @@ func (x *EditQuarterlyReportReq) ProtoReflect() protoreflect.Message { // Deprecated: Use EditQuarterlyReportReq.ProtoReflect.Descriptor instead. func (*EditQuarterlyReportReq) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{18} + return file_api_reports_reports_proto_rawDescGZIP(), []int{19} } func (x *EditQuarterlyReportReq) GetId() int32 { @@ -1365,7 +1453,7 @@ type EditQuarterlyReportResp struct { func (x *EditQuarterlyReportResp) Reset() { *x = EditQuarterlyReportResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[19] + mi := &file_api_reports_reports_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1378,7 +1466,7 @@ func (x *EditQuarterlyReportResp) String() string { func (*EditQuarterlyReportResp) ProtoMessage() {} func (x *EditQuarterlyReportResp) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[19] + mi := &file_api_reports_reports_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1391,7 +1479,7 @@ func (x *EditQuarterlyReportResp) ProtoReflect() protoreflect.Message { // Deprecated: Use EditQuarterlyReportResp.ProtoReflect.Descriptor instead. func (*EditQuarterlyReportResp) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{19} + return file_api_reports_reports_proto_rawDescGZIP(), []int{20} } func (x *EditQuarterlyReportResp) GetMsg() string { @@ -1412,7 +1500,7 @@ type DeleteQuarterlyReportReq struct { func (x *DeleteQuarterlyReportReq) Reset() { *x = DeleteQuarterlyReportReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[20] + mi := &file_api_reports_reports_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1425,7 +1513,7 @@ func (x *DeleteQuarterlyReportReq) String() string { func (*DeleteQuarterlyReportReq) ProtoMessage() {} func (x *DeleteQuarterlyReportReq) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[20] + mi := &file_api_reports_reports_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1438,7 +1526,7 @@ func (x *DeleteQuarterlyReportReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteQuarterlyReportReq.ProtoReflect.Descriptor instead. func (*DeleteQuarterlyReportReq) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{20} + return file_api_reports_reports_proto_rawDescGZIP(), []int{21} } func (x *DeleteQuarterlyReportReq) GetId() int32 { @@ -1459,7 +1547,7 @@ type DeleteQuarterlyReportResp struct { func (x *DeleteQuarterlyReportResp) Reset() { *x = DeleteQuarterlyReportResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[21] + mi := &file_api_reports_reports_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1472,7 +1560,7 @@ func (x *DeleteQuarterlyReportResp) String() string { func (*DeleteQuarterlyReportResp) ProtoMessage() {} func (x *DeleteQuarterlyReportResp) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[21] + mi := &file_api_reports_reports_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1485,7 +1573,7 @@ func (x *DeleteQuarterlyReportResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteQuarterlyReportResp.ProtoReflect.Descriptor instead. func (*DeleteQuarterlyReportResp) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{21} + return file_api_reports_reports_proto_rawDescGZIP(), []int{22} } func (x *DeleteQuarterlyReportResp) GetMsg() string { @@ -1499,12 +1587,16 @@ type DisplayQuarterlyReportReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize"` + Filtrate *FiltrateWeb `protobuf:"bytes,3,opt,name=filtrate,proto3" json:"filtrate"` } func (x *DisplayQuarterlyReportReq) Reset() { *x = DisplayQuarterlyReportReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[22] + mi := &file_api_reports_reports_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1517,7 +1609,7 @@ func (x *DisplayQuarterlyReportReq) String() string { func (*DisplayQuarterlyReportReq) ProtoMessage() {} func (x *DisplayQuarterlyReportReq) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[22] + mi := &file_api_reports_reports_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1530,7 +1622,28 @@ func (x *DisplayQuarterlyReportReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplayQuarterlyReportReq.ProtoReflect.Descriptor instead. func (*DisplayQuarterlyReportReq) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{22} + return file_api_reports_reports_proto_rawDescGZIP(), []int{23} +} + +func (x *DisplayQuarterlyReportReq) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *DisplayQuarterlyReportReq) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *DisplayQuarterlyReportReq) GetFiltrate() *FiltrateWeb { + if x != nil { + return x.Filtrate + } + return nil } type DisplayQuarterlyReportResp struct { @@ -1538,13 +1651,16 @@ type DisplayQuarterlyReportResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Item []*DisplayQuarterlyReportItem `protobuf:"bytes,1,rep,name=Item,proto3" json:"Item"` + Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize"` + Total int32 `protobuf:"varint,3,opt,name=total,proto3" json:"total"` + Item []*DisplayQuarterlyReportItem `protobuf:"bytes,4,rep,name=Item,proto3" json:"Item"` } func (x *DisplayQuarterlyReportResp) Reset() { *x = DisplayQuarterlyReportResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[23] + mi := &file_api_reports_reports_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1557,7 +1673,7 @@ func (x *DisplayQuarterlyReportResp) String() string { func (*DisplayQuarterlyReportResp) ProtoMessage() {} func (x *DisplayQuarterlyReportResp) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[23] + mi := &file_api_reports_reports_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1570,7 +1686,28 @@ func (x *DisplayQuarterlyReportResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplayQuarterlyReportResp.ProtoReflect.Descriptor instead. func (*DisplayQuarterlyReportResp) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{23} + return file_api_reports_reports_proto_rawDescGZIP(), []int{24} +} + +func (x *DisplayQuarterlyReportResp) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *DisplayQuarterlyReportResp) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *DisplayQuarterlyReportResp) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 } func (x *DisplayQuarterlyReportResp) GetItem() []*DisplayQuarterlyReportItem { @@ -1594,7 +1731,7 @@ type DisplayQuarterlyReportItem struct { func (x *DisplayQuarterlyReportItem) Reset() { *x = DisplayQuarterlyReportItem{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[24] + mi := &file_api_reports_reports_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1607,7 +1744,7 @@ func (x *DisplayQuarterlyReportItem) String() string { func (*DisplayQuarterlyReportItem) ProtoMessage() {} func (x *DisplayQuarterlyReportItem) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[24] + mi := &file_api_reports_reports_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1620,7 +1757,7 @@ func (x *DisplayQuarterlyReportItem) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplayQuarterlyReportItem.ProtoReflect.Descriptor instead. func (*DisplayQuarterlyReportItem) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{24} + return file_api_reports_reports_proto_rawDescGZIP(), []int{25} } func (x *DisplayQuarterlyReportItem) GetFileName() string { @@ -1657,246 +1794,266 @@ var file_api_reports_reports_proto_rawDesc = []byte{ 0x0a, 0x19, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x22, 0x3e, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x22, 0x77, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, - 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, - 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, - 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, - 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x11, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x72, - 0x61, 0x74, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x22, 0x9c, 0x01, - 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, - 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x12, 0x29, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xee, 0x01, 0x0a, - 0x0c, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, - 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, - 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, - 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x9a, 0x01, - 0x0a, 0x12, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, - 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1a, - 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x27, 0x0a, 0x13, 0x41, 0x64, - 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6d, 0x73, 0x67, 0x22, 0xd7, 0x01, 0x0a, 0x13, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, - 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, - 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, - 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, - 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, - 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, - 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x28, 0x0a, - 0x14, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x27, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, - 0x22, 0x2a, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, - 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x18, 0x0a, 0x16, - 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x22, 0x4f, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x34, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, - 0x6d, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x63, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, - 0x65, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x64, 0x61, - 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x22, 0x7a, 0x0a, 0x19, - 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x22, 0x29, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, + 0x57, 0x65, 0x62, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, + 0x77, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x52, 0x08, - 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x22, 0xa2, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, - 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, - 0x2c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, - 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb1, 0x02, - 0x0a, 0x0f, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, - 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, - 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, - 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, - 0x64, 0x22, 0xdd, 0x01, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, - 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, - 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, - 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, - 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x1e, 0x0a, - 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, - 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, - 0x64, 0x22, 0x2a, 0x0a, 0x16, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, - 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, - 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x9a, 0x02, - 0x0a, 0x16, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x22, 0x9c, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, + 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x29, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xee, 0x01, 0x0a, 0x0c, 0x41, 0x6e, 0x6e, 0x75, + 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, - 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, - 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, - 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, - 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2b, 0x0a, 0x17, 0x45, 0x64, - 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x2a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x02, 0x69, 0x64, 0x22, 0x2d, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, - 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, + 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, + 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, + 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1c, + 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x9a, 0x01, 0x0a, 0x12, 0x41, 0x64, 0x64, + 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, + 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, + 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x27, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, + 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, + 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xd7, + 0x01, 0x0a, 0x13, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, + 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, + 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, + 0x73, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x28, 0x0a, 0x14, 0x45, 0x64, 0x69, 0x74, + 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, - 0x73, 0x67, 0x22, 0x1b, 0x0a, 0x19, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, - 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x22, - 0x55, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, - 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x37, 0x0a, - 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, - 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, - 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x22, 0xa6, 0x01, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, - 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, - 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, - 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, - 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x32, - 0x8a, 0x07, 0x0a, 0x07, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x13, 0x47, - 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, - 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, - 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4c, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, - 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, - 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, - 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, - 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, - 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x2e, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, - 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, - 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x44, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, + 0x73, 0x67, 0x22, 0x27, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, + 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x2a, 0x0a, 0x16, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x48, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, + 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x22, 0x95, 0x01, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, + 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, + 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x12, 0x34, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, + 0x74, 0x65, 0x6d, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x63, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, - 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, - 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, + 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, + 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x22, 0x7a, + 0x0a, 0x19, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, + 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x66, + 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, + 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x22, 0xa2, 0x01, 0x0a, 0x1a, 0x47, + 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, + 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x12, 0x2c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, + 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, + 0xb1, 0x02, 0x0a, 0x0f, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, + 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, + 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, + 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x49, 0x64, 0x22, 0xdd, 0x01, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, + 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, + 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, + 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, + 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, + 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, + 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x49, 0x64, 0x22, 0x2a, 0x0a, 0x16, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, + 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, + 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, + 0x9a, 0x02, 0x0a, 0x16, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, + 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, + 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, + 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, + 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, + 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2b, 0x0a, 0x17, + 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x2a, 0x0a, 0x18, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x2d, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, + 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6d, 0x73, 0x67, 0x22, 0x7d, 0x0a, 0x19, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, + 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, + 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x30, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x46, 0x69, + 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x57, 0x65, 0x62, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, + 0x61, 0x74, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, + 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x37, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, + 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x49, 0x74, 0x65, + 0x6d, 0x22, 0xa6, 0x01, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, + 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, + 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, + 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, + 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x32, 0x8a, 0x07, 0x0a, 0x07, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, + 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x2e, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, + 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x20, + 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, + 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x4c, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, + 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, + 0x1a, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x6e, + 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, + 0x0a, 0x10, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x12, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, + 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, + 0x1a, 0x1d, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x41, + 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x55, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1f, 0x2e, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, + 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x20, + 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x61, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, + 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x23, + 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, + 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, + 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x2e, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x45, 0x64, + 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, + 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x51, - 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1e, - 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, - 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, - 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, - 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x58, 0x0a, 0x13, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x2e, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5e, 0x0a, 0x15, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x12, 0x21, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, 0x44, 0x69, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x5e, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, + 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x21, 0x2e, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, + 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, + 0x1a, 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, + 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x22, + 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, - 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, - 0x2e, 0x2f, 0x3b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1911,66 +2068,68 @@ func file_api_reports_reports_proto_rawDescGZIP() []byte { return file_api_reports_reports_proto_rawDescData } -var file_api_reports_reports_proto_msgTypes = make([]protoimpl.MessageInfo, 25) +var file_api_reports_reports_proto_msgTypes = make([]protoimpl.MessageInfo, 26) var file_api_reports_reports_proto_goTypes = []interface{}{ (*Filtrate)(nil), // 0: reports.Filtrate - (*GetAnnualReportListReq)(nil), // 1: reports.GetAnnualReportListReq - (*GetAnnualReportListResp)(nil), // 2: reports.GetAnnualReportListResp - (*AnnualReport)(nil), // 3: reports.AnnualReport - (*AddAnnualReportReq)(nil), // 4: reports.AddAnnualReportReq - (*AddAnnualReportResp)(nil), // 5: reports.AddAnnualReportResp - (*EditAnnualReportReq)(nil), // 6: reports.EditAnnualReportReq - (*EditAnnualReportResp)(nil), // 7: reports.EditAnnualReportResp - (*DeleteAnnualReportReq)(nil), // 8: reports.DeleteAnnualReportReq - (*DeleteAnnualReportResp)(nil), // 9: reports.DeleteAnnualReportResp - (*DisplayAnnualReportReq)(nil), // 10: reports.DisplayAnnualReportReq - (*DisplayAnnualReportResp)(nil), // 11: reports.DisplayAnnualReportResp - (*DisplayAnnualReportItem)(nil), // 12: reports.DisplayAnnualReportItem - (*GetQuarterlyReportListReq)(nil), // 13: reports.GetQuarterlyReportListReq - (*GetQuarterlyReportListResp)(nil), // 14: reports.GetQuarterlyReportListResp - (*QuarterlyReport)(nil), // 15: reports.QuarterlyReport - (*AddQuarterlyReportReq)(nil), // 16: reports.AddQuarterlyReportReq - (*AddQuarterlyReportResp)(nil), // 17: reports.AddQuarterlyReportResp - (*EditQuarterlyReportReq)(nil), // 18: reports.EditQuarterlyReportReq - (*EditQuarterlyReportResp)(nil), // 19: reports.EditQuarterlyReportResp - (*DeleteQuarterlyReportReq)(nil), // 20: reports.DeleteQuarterlyReportReq - (*DeleteQuarterlyReportResp)(nil), // 21: reports.DeleteQuarterlyReportResp - (*DisplayQuarterlyReportReq)(nil), // 22: reports.DisplayQuarterlyReportReq - (*DisplayQuarterlyReportResp)(nil), // 23: reports.DisplayQuarterlyReportResp - (*DisplayQuarterlyReportItem)(nil), // 24: reports.DisplayQuarterlyReportItem + (*FiltrateWeb)(nil), // 1: reports.FiltrateWeb + (*GetAnnualReportListReq)(nil), // 2: reports.GetAnnualReportListReq + (*GetAnnualReportListResp)(nil), // 3: reports.GetAnnualReportListResp + (*AnnualReport)(nil), // 4: reports.AnnualReport + (*AddAnnualReportReq)(nil), // 5: reports.AddAnnualReportReq + (*AddAnnualReportResp)(nil), // 6: reports.AddAnnualReportResp + (*EditAnnualReportReq)(nil), // 7: reports.EditAnnualReportReq + (*EditAnnualReportResp)(nil), // 8: reports.EditAnnualReportResp + (*DeleteAnnualReportReq)(nil), // 9: reports.DeleteAnnualReportReq + (*DeleteAnnualReportResp)(nil), // 10: reports.DeleteAnnualReportResp + (*DisplayAnnualReportReq)(nil), // 11: reports.DisplayAnnualReportReq + (*DisplayAnnualReportResp)(nil), // 12: reports.DisplayAnnualReportResp + (*DisplayAnnualReportItem)(nil), // 13: reports.DisplayAnnualReportItem + (*GetQuarterlyReportListReq)(nil), // 14: reports.GetQuarterlyReportListReq + (*GetQuarterlyReportListResp)(nil), // 15: reports.GetQuarterlyReportListResp + (*QuarterlyReport)(nil), // 16: reports.QuarterlyReport + (*AddQuarterlyReportReq)(nil), // 17: reports.AddQuarterlyReportReq + (*AddQuarterlyReportResp)(nil), // 18: reports.AddQuarterlyReportResp + (*EditQuarterlyReportReq)(nil), // 19: reports.EditQuarterlyReportReq + (*EditQuarterlyReportResp)(nil), // 20: reports.EditQuarterlyReportResp + (*DeleteQuarterlyReportReq)(nil), // 21: reports.DeleteQuarterlyReportReq + (*DeleteQuarterlyReportResp)(nil), // 22: reports.DeleteQuarterlyReportResp + (*DisplayQuarterlyReportReq)(nil), // 23: reports.DisplayQuarterlyReportReq + (*DisplayQuarterlyReportResp)(nil), // 24: reports.DisplayQuarterlyReportResp + (*DisplayQuarterlyReportItem)(nil), // 25: reports.DisplayQuarterlyReportItem } var file_api_reports_reports_proto_depIdxs = []int32{ 0, // 0: reports.GetAnnualReportListReq.filtrate:type_name -> reports.Filtrate - 3, // 1: reports.GetAnnualReportListResp.data:type_name -> reports.AnnualReport - 12, // 2: reports.DisplayAnnualReportResp.Item:type_name -> reports.DisplayAnnualReportItem + 4, // 1: reports.GetAnnualReportListResp.data:type_name -> reports.AnnualReport + 13, // 2: reports.DisplayAnnualReportResp.Item:type_name -> reports.DisplayAnnualReportItem 0, // 3: reports.GetQuarterlyReportListReq.filtrate:type_name -> reports.Filtrate - 15, // 4: reports.GetQuarterlyReportListResp.data:type_name -> reports.QuarterlyReport - 24, // 5: reports.DisplayQuarterlyReportResp.Item:type_name -> reports.DisplayQuarterlyReportItem - 1, // 6: reports.Reports.GetAnnualReportList:input_type -> reports.GetAnnualReportListReq - 4, // 7: reports.Reports.AddAnnualReport:input_type -> reports.AddAnnualReportReq - 6, // 8: reports.Reports.EditAnnualReport:input_type -> reports.EditAnnualReportReq - 8, // 9: reports.Reports.DeleteAnnualReport:input_type -> reports.DeleteAnnualReportReq - 10, // 10: reports.Reports.DisplayAnnualReport:input_type -> reports.DisplayAnnualReportReq - 13, // 11: reports.Reports.GetQuarterlyReportList:input_type -> reports.GetQuarterlyReportListReq - 16, // 12: reports.Reports.AddQuarterlyReport:input_type -> reports.AddQuarterlyReportReq - 18, // 13: reports.Reports.EditQuarterlyReport:input_type -> reports.EditQuarterlyReportReq - 20, // 14: reports.Reports.DeleteQuarterlyReport:input_type -> reports.DeleteQuarterlyReportReq - 22, // 15: reports.Reports.DisplayQuarterlyReport:input_type -> reports.DisplayQuarterlyReportReq - 2, // 16: reports.Reports.GetAnnualReportList:output_type -> reports.GetAnnualReportListResp - 5, // 17: reports.Reports.AddAnnualReport:output_type -> reports.AddAnnualReportResp - 7, // 18: reports.Reports.EditAnnualReport:output_type -> reports.EditAnnualReportResp - 9, // 19: reports.Reports.DeleteAnnualReport:output_type -> reports.DeleteAnnualReportResp - 11, // 20: reports.Reports.DisplayAnnualReport:output_type -> reports.DisplayAnnualReportResp - 14, // 21: reports.Reports.GetQuarterlyReportList:output_type -> reports.GetQuarterlyReportListResp - 17, // 22: reports.Reports.AddQuarterlyReport:output_type -> reports.AddQuarterlyReportResp - 19, // 23: reports.Reports.EditQuarterlyReport:output_type -> reports.EditQuarterlyReportResp - 21, // 24: reports.Reports.DeleteQuarterlyReport:output_type -> reports.DeleteQuarterlyReportResp - 23, // 25: reports.Reports.DisplayQuarterlyReport:output_type -> reports.DisplayQuarterlyReportResp - 16, // [16:26] is the sub-list for method output_type - 6, // [6:16] 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 + 16, // 4: reports.GetQuarterlyReportListResp.data:type_name -> reports.QuarterlyReport + 1, // 5: reports.DisplayQuarterlyReportReq.filtrate:type_name -> reports.FiltrateWeb + 25, // 6: reports.DisplayQuarterlyReportResp.Item:type_name -> reports.DisplayQuarterlyReportItem + 2, // 7: reports.Reports.GetAnnualReportList:input_type -> reports.GetAnnualReportListReq + 5, // 8: reports.Reports.AddAnnualReport:input_type -> reports.AddAnnualReportReq + 7, // 9: reports.Reports.EditAnnualReport:input_type -> reports.EditAnnualReportReq + 9, // 10: reports.Reports.DeleteAnnualReport:input_type -> reports.DeleteAnnualReportReq + 11, // 11: reports.Reports.DisplayAnnualReport:input_type -> reports.DisplayAnnualReportReq + 14, // 12: reports.Reports.GetQuarterlyReportList:input_type -> reports.GetQuarterlyReportListReq + 17, // 13: reports.Reports.AddQuarterlyReport:input_type -> reports.AddQuarterlyReportReq + 19, // 14: reports.Reports.EditQuarterlyReport:input_type -> reports.EditQuarterlyReportReq + 21, // 15: reports.Reports.DeleteQuarterlyReport:input_type -> reports.DeleteQuarterlyReportReq + 23, // 16: reports.Reports.DisplayQuarterlyReport:input_type -> reports.DisplayQuarterlyReportReq + 3, // 17: reports.Reports.GetAnnualReportList:output_type -> reports.GetAnnualReportListResp + 6, // 18: reports.Reports.AddAnnualReport:output_type -> reports.AddAnnualReportResp + 8, // 19: reports.Reports.EditAnnualReport:output_type -> reports.EditAnnualReportResp + 10, // 20: reports.Reports.DeleteAnnualReport:output_type -> reports.DeleteAnnualReportResp + 12, // 21: reports.Reports.DisplayAnnualReport:output_type -> reports.DisplayAnnualReportResp + 15, // 22: reports.Reports.GetQuarterlyReportList:output_type -> reports.GetQuarterlyReportListResp + 18, // 23: reports.Reports.AddQuarterlyReport:output_type -> reports.AddQuarterlyReportResp + 20, // 24: reports.Reports.EditQuarterlyReport:output_type -> reports.EditQuarterlyReportResp + 22, // 25: reports.Reports.DeleteQuarterlyReport:output_type -> reports.DeleteQuarterlyReportResp + 24, // 26: reports.Reports.DisplayQuarterlyReport:output_type -> reports.DisplayQuarterlyReportResp + 17, // [17:27] is the sub-list for method output_type + 7, // [7:17] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name } func init() { file_api_reports_reports_proto_init() } @@ -1992,7 +2151,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAnnualReportListReq); i { + switch v := v.(*FiltrateWeb); i { case 0: return &v.state case 1: @@ -2004,7 +2163,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAnnualReportListResp); i { + switch v := v.(*GetAnnualReportListReq); i { case 0: return &v.state case 1: @@ -2016,7 +2175,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AnnualReport); i { + switch v := v.(*GetAnnualReportListResp); i { case 0: return &v.state case 1: @@ -2028,7 +2187,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddAnnualReportReq); i { + switch v := v.(*AnnualReport); i { case 0: return &v.state case 1: @@ -2040,7 +2199,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddAnnualReportResp); i { + switch v := v.(*AddAnnualReportReq); i { case 0: return &v.state case 1: @@ -2052,7 +2211,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EditAnnualReportReq); i { + switch v := v.(*AddAnnualReportResp); i { case 0: return &v.state case 1: @@ -2064,7 +2223,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EditAnnualReportResp); i { + switch v := v.(*EditAnnualReportReq); i { case 0: return &v.state case 1: @@ -2076,7 +2235,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteAnnualReportReq); i { + switch v := v.(*EditAnnualReportResp); i { case 0: return &v.state case 1: @@ -2088,7 +2247,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteAnnualReportResp); i { + switch v := v.(*DeleteAnnualReportReq); i { case 0: return &v.state case 1: @@ -2100,7 +2259,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisplayAnnualReportReq); i { + switch v := v.(*DeleteAnnualReportResp); i { case 0: return &v.state case 1: @@ -2112,7 +2271,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisplayAnnualReportResp); i { + switch v := v.(*DisplayAnnualReportReq); i { case 0: return &v.state case 1: @@ -2124,7 +2283,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisplayAnnualReportItem); i { + switch v := v.(*DisplayAnnualReportResp); i { case 0: return &v.state case 1: @@ -2136,7 +2295,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetQuarterlyReportListReq); i { + switch v := v.(*DisplayAnnualReportItem); i { case 0: return &v.state case 1: @@ -2148,7 +2307,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetQuarterlyReportListResp); i { + switch v := v.(*GetQuarterlyReportListReq); i { case 0: return &v.state case 1: @@ -2160,7 +2319,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QuarterlyReport); i { + switch v := v.(*GetQuarterlyReportListResp); i { case 0: return &v.state case 1: @@ -2172,7 +2331,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddQuarterlyReportReq); i { + switch v := v.(*QuarterlyReport); i { case 0: return &v.state case 1: @@ -2184,7 +2343,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddQuarterlyReportResp); i { + switch v := v.(*AddQuarterlyReportReq); i { case 0: return &v.state case 1: @@ -2196,7 +2355,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EditQuarterlyReportReq); i { + switch v := v.(*AddQuarterlyReportResp); i { case 0: return &v.state case 1: @@ -2208,7 +2367,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EditQuarterlyReportResp); i { + switch v := v.(*EditQuarterlyReportReq); i { case 0: return &v.state case 1: @@ -2220,7 +2379,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteQuarterlyReportReq); i { + switch v := v.(*EditQuarterlyReportResp); i { case 0: return &v.state case 1: @@ -2232,7 +2391,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteQuarterlyReportResp); i { + switch v := v.(*DeleteQuarterlyReportReq); i { case 0: return &v.state case 1: @@ -2244,7 +2403,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisplayQuarterlyReportReq); i { + switch v := v.(*DeleteQuarterlyReportResp); i { case 0: return &v.state case 1: @@ -2256,7 +2415,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisplayQuarterlyReportResp); i { + switch v := v.(*DisplayQuarterlyReportReq); i { case 0: return &v.state case 1: @@ -2268,6 +2427,18 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisplayQuarterlyReportResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DisplayQuarterlyReportItem); i { case 0: return &v.state @@ -2286,7 +2457,7 @@ func file_api_reports_reports_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_api_reports_reports_proto_rawDesc, NumEnums: 0, - NumMessages: 25, + NumMessages: 26, NumExtensions: 0, NumServices: 1, }, diff --git a/api/reports/reports.validator.pb.go b/api/reports/reports.validator.pb.go index 510f8a5..4318585 100644 --- a/api/reports/reports.validator.pb.go +++ b/api/reports/reports.validator.pb.go @@ -18,6 +18,9 @@ var _ = math.Inf func (this *Filtrate) Validate() error { return nil } +func (this *FiltrateWeb) Validate() error { + return nil +} func (this *GetAnnualReportListReq) Validate() error { if this.Filtrate != nil { if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Filtrate); err != nil { @@ -113,6 +116,11 @@ func (this *DeleteQuarterlyReportResp) Validate() error { return nil } func (this *DisplayQuarterlyReportReq) Validate() error { + if this.Filtrate != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Filtrate); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Filtrate", err) + } + } return nil } func (this *DisplayQuarterlyReportResp) Validate() error { From 4edbf3f58b09e8151e1d6fc8803b38eef339cd49 Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Sat, 11 Oct 2025 10:24:39 +0800 Subject: [PATCH 17/38] =?UTF-8?q?Updata=EF=BC=9A=E6=9B=B4=E6=96=B0pb?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/reports/reports.pb.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/reports/reports.pb.go b/api/reports/reports.pb.go index b64b420..fd47d85 100644 --- a/api/reports/reports.pb.go +++ b/api/reports/reports.pb.go @@ -26,7 +26,7 @@ type Filtrate struct { unknownFields protoimpl.UnknownFields FileName string `protobuf:"bytes,1,opt,name=fileName,proto3" json:"fileName"` //文件名称 - Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) } func (x *Filtrate) Reset() { From d8d840185f435eacc04596887b29e05bef578bdc Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Sat, 11 Oct 2025 10:50:26 +0800 Subject: [PATCH 18/38] =?UTF-8?q?Updata=EF=BC=9A=E6=9B=B4=E6=96=B0pb?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/reports/reports.pb.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/api/reports/reports.pb.go b/api/reports/reports.pb.go index fd47d85..789e9cb 100644 --- a/api/reports/reports.pb.go +++ b/api/reports/reports.pb.go @@ -25,8 +25,8 @@ type Filtrate struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - FileName string `protobuf:"bytes,1,opt,name=fileName,proto3" json:"fileName"` //文件名称 - Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) + FileName string `protobuf:"bytes,3,opt,name=fileName,proto3" json:"fileName"` //文件名称 + Status int32 `protobuf:"varint,4,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) } func (x *Filtrate) Reset() { @@ -1794,9 +1794,9 @@ var file_api_reports_reports_proto_rawDesc = []byte{ 0x0a, 0x19, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x22, 0x3e, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x29, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x57, 0x65, 0x62, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, From 540aeb23ea0bdc48caaeb1ebe7c1d04edd9ad3df Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Wed, 26 Nov 2025 13:46:12 +0800 Subject: [PATCH 19/38] =?UTF-8?q?Updata=EF=BC=9A=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=A4=9A=E8=AF=AD=E8=A8=80=E4=BF=A1=E6=81=AF=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/common/msg.go | 96 +++++++++++++++++++++++++ pkg/service/bundle/common/msg.go | 30 ++++++++ pkg/service/emailAlerts/emailAlerts.go | 6 +- pkg/service/members/members.go | 22 +++--- pkg/service/reports/annualReports.go | 14 ++-- pkg/service/reports/quarterlyReports.go | 10 +-- 6 files changed, 156 insertions(+), 22 deletions(-) diff --git a/pkg/common/msg.go b/pkg/common/msg.go index 96bc615..94a4b46 100644 --- a/pkg/common/msg.go +++ b/pkg/common/msg.go @@ -98,6 +98,30 @@ var EnMessages = map[string]string{ "实名审核中": "Real-name verification is underway", "实名审核失败": "The real-name verification failed", "未知实名状态": "Unknown real-name status", + + // Website report related messages + "创建官网报告失败": "Failed to create website report", + "删除官网报告失败": "Failed to delete website report", + "官网报告列表查询失败": "Failed to query website report list", + "编辑官网报告失败": "Failed to edit website report", + "显示官网报告失败": "Failed to display website report", + + // Website member management related messages + "创建官网成员失败": "Failed to create website member", + "删除官网成员失败": "Failed to delete website member", + "官网成员列表查询失败": "Failed to query website member list", + "编辑官网成员失败": "Failed to edit website member", + "显示官网成员失败": "Failed to display website member", + "编辑董事会成员失败": "Failed to edit board of directors member", + "编辑委员会成员失败": "Failed to edit committee member", + "显示委员会成员失败": "Failed to display committee member", + "编辑管理员失败": "Failed to edit administrator", + "显示管理员失败": "Failed to display administrator", + "显示董事会成员失败": "Failed to display board of directors member", + + // Website email alert related messages + "提交邮箱通知失败": "Failed to submit email alert", + "获取邮箱通知列表失败": "Failed to get email information list", } var DeDEMessages = map[string]string{ @@ -190,6 +214,30 @@ var DeDEMessages = map[string]string{ "实名审核中": "Contest läuft", "实名审核失败": "Die confirmation hat versagt", "未知实名状态": "Noch nicht registriert", + + // Website report related messages + "创建官网报告失败": "Fehler beim Erstellen des Website-Berichts", + "删除官网报告失败": "Fehler beim Löschen des Website-Berichts", + "官网报告列表查询失败": "Fehler beim Abfragen der Website-Berichtsliste", + "编辑官网报告失败": "Fehler beim Bearbeiten des Website-Berichts", + "显示官网报告失败": "Fehler beim Anzeigen des Website-Berichts", + + // Website member management related messages + "创建官网成员失败": "Fehler beim Erstellen des Website-Mitglieds", + "删除官网成员失败": "Fehler beim Löschen des Website-Mitglieds", + "官网成员列表查询失败": "Fehler beim Abfragen der Website-Mitgliederliste", + "编辑官网成员失败": "Fehler beim Bearbeiten des Website-Mitglieds", + "显示官网成员失败": "Fehler beim Anzeigen des Website-Mitglieds", + "编辑董事会成员失败": "Fehler beim Bearbeiten des Vorstandsmitglieds", + "编辑委员会成员失败": "Fehler beim Bearbeiten des Ausschussmitglieds", + "显示委员会成员失败": "Fehler beim Anzeigen des Ausschussmitglieds", + "编辑管理员失败": "Fehler beim Bearbeiten des Administrators", + "显示管理员失败": "Fehler beim Anzeigen des Administrators", + "显示董事会成员失败": "Fehler beim Anzeigen des Vorstandsmitglieds", + + // Website email alert related messages + "提交邮箱通知失败": "Fehler beim Senden der E-Mail-Benachrichtigung", + "获取邮箱通知列表失败": "Fehler beim Abrufen der E-Mail-Informationsliste", } var JaJPMessages = map[string]string{ @@ -283,6 +331,30 @@ var JaJPMessages = map[string]string{ "实名审核中": "実名審査中です", "实名审核失败": "実名検証失敗です", "未知实名状态": "未知の実名状態です", + + // Website report related messages + "创建官网报告失败": "ウェブサイトレポートの作成に失敗しました", + "删除官网报告失败": "ウェブサイトレポートの削除に失敗しました", + "官网报告列表查询失败": "ウェブサイトレポートリストの検索に失敗しました", + "编辑官网报告失败": "ウェブサイトレポートの編集に失敗しました", + "显示官网报告失败": "ウェブサイトレポートの表示に失敗しました", + + // Website member management related messages + "创建官网成员失败": "ウェブサイトメンバーの作成に失敗しました", + "删除官网成员失败": "ウェブサイトメンバーの削除に失敗しました", + "官网成员列表查询失败": "ウェブサイトメンバーリストの検索に失敗しました", + "编辑官网成员失败": "ウェブサイトメンバーの編集に失敗しました", + "显示官网成员失败": "ウェブサイトメンバーの表示に失敗しました", + "编辑董事会成员失败": "取締役会メンバーの編集に失敗しました", + "编辑委员会成员失败": "委員会メンバーの編集に失敗しました", + "显示委员会成员失败": "委員会メンバーの表示に失敗しました", + "编辑管理员失败": "管理者の編集に失敗しました", + "显示管理员失败": "管理者の表示に失敗しました", + "显示董事会成员失败": "取締役会メンバーの表示に失敗しました", + + // Website email alert related messages + "提交邮箱通知失败": "メール通知の送信に失敗しました", + "获取邮箱通知列表失败": "メール情報リストの取得に失敗しました", } var ZhTWMessages = map[string]string{ @@ -386,4 +458,28 @@ var ZhTWMessages = map[string]string{ "更新失败": "更新失敗", "删除失败": "刪除失敗", "更新状态失败": "更新狀態失敗", + + // Website report related messages + "创建官网报告失败": "創建官網報告失敗", + "删除官网报告失败": "刪除官網報告失敗", + "官网报告列表查询失败": "官網報告列表查詢失敗", + "编辑官网报告失败": "編輯官網報告失敗", + "显示官网报告失败": "顯示官網報告失敗", + + // Website member management related messages + "创建官网成员失败": "創建官網成員失敗", + "删除官网成员失败": "刪除官網成員失敗", + "官网成员列表查询失败": "官網成員列表查詢失敗", + "编辑官网成员失败": "編輯官網成員失敗", + "显示官网成员失败": "顯示官網成員失敗", + "编辑董事会成员失败": "編輯董事會成員失敗", + "编辑委员会成员失败": "編輯委員會成員失敗", + "显示委员会成员失败": "顯示委員會成員失敗", + "编辑管理员失败": "編輯管理員失敗", + "显示管理员失败": "顯示管理員失敗", + "显示董事会成员失败": "顯示董事會成員失敗", + + // Website email alert related messages + "提交邮箱通知失败": "提交郵箱通知失敗", + "获取邮箱通知列表失败": "獲取郵箱通知列表失敗", } diff --git a/pkg/service/bundle/common/msg.go b/pkg/service/bundle/common/msg.go index f3c4e85..d96db61 100644 --- a/pkg/service/bundle/common/msg.go +++ b/pkg/service/bundle/common/msg.go @@ -7,6 +7,36 @@ const ( ErrorInsertSignature = "插入签名失败" ) +//官网报告 +const ( + ErrorCreateReportFailed = "创建官网报告失败" + ErrorDeleteReportFailed = "删除官网报告失败" + ErrorListReportFailed = "官网报告列表查询失败" + ErrorEditReportFailed = "编辑官网报告失败" + ErrorDisplayReportFailed = "显示官网报告失败" +) + +//官网成员管理 +const ( + ErrorCreateMemberFailed = "创建官网成员失败" + ErrorDeleteMemberFailed = "删除官网成员失败" + ErrorListMemberFailed = "官网成员列表查询失败" + ErrorEditMemberFailed = "编辑官网成员失败" + ErrorDisplayMemberFailed = "显示官网成员失败" + ErrorEditBoardOfDirectorsFailed = "编辑董事会成员失败" + ErrorEditCommitteeAppointmentsFailed = "编辑委员会成员失败" + ErrorDisplayCommitteeAppointmentsFailed = "显示委员会成员失败" + ErrorEditManagementFailed = "编辑管理员失败" + ErrorDisplayManagementFailed = "显示管理员失败" + ErrorDisplayBoardOfDirectorsFailed = "显示董事会成员失败" +) + +//官网邮箱通知 +const ( + ErrorEmailAlertSubmitFailed = "提交邮箱通知失败" + ErrorGetEmailInformationListFailed = "获取邮箱通知列表失败" +) + // 订单 const ( MissOrderNo = "缺少订单号" diff --git a/pkg/service/emailAlerts/emailAlerts.go b/pkg/service/emailAlerts/emailAlerts.go index 2ef9756..7c3bc59 100644 --- a/pkg/service/emailAlerts/emailAlerts.go +++ b/pkg/service/emailAlerts/emailAlerts.go @@ -1,8 +1,10 @@ package emailalerts import ( + "errors" "fonchain-fiee/api/emailAlerts" "fonchain-fiee/pkg/service" + "fonchain-fiee/pkg/service/bundle/common" "github.com/gin-gonic/gin" ) @@ -15,7 +17,7 @@ func EmailAlertSubmit(ctx *gin.Context) { } resp, err := service.EmailAlertsProvider.EmailAlertsSubmit(ctx, &req) if err != nil { - service.Error(ctx, err) + service.Error(ctx, errors.New(common.ErrorEmailAlertSubmitFailed)) return } service.Success(ctx, resp) @@ -29,7 +31,7 @@ func GetEmailInformationList(ctx *gin.Context) { } resp, err := service.EmailAlertsProvider.GetEmailInformationList(ctx, &req) if err != nil { - service.Error(ctx, err) + service.Error(ctx, errors.New(common.ErrorGetEmailInformationListFailed)) return } service.Success(ctx, resp) diff --git a/pkg/service/members/members.go b/pkg/service/members/members.go index 846ea79..8d136d7 100644 --- a/pkg/service/members/members.go +++ b/pkg/service/members/members.go @@ -1,9 +1,11 @@ package members import ( + "errors" "fonchain-fiee/api/members" "fonchain-fiee/pkg/model/login" "fonchain-fiee/pkg/service" + "fonchain-fiee/pkg/service/bundle/common" "github.com/gin-gonic/gin" ) @@ -19,7 +21,7 @@ func AddMember(ctx *gin.Context) { req.OperatorId = int32(user.ID) resp, err := service.MembersProvider.AddMember(ctx, &req) if err != nil { - service.Error(ctx, err) + service.Error(ctx, errors.New(common.ErrorCreateMemberFailed)) return } service.Success(ctx, resp) @@ -33,7 +35,7 @@ func GetMemberList(ctx *gin.Context) { } resp, err := service.MembersProvider.GetMemberList(ctx, &req) if err != nil { - service.Error(ctx, err) + service.Error(ctx, errors.New(common.ErrorListMemberFailed)) return } service.Success(ctx, resp) @@ -50,7 +52,7 @@ func EditMember(ctx *gin.Context) { req.OperatorId = int32(user.ID) resp, err := service.MembersProvider.EditMember(ctx, &req) if err != nil { - service.Error(ctx, err) + service.Error(ctx, errors.New(common.ErrorEditMemberFailed)) return } service.Success(ctx, resp) @@ -64,7 +66,7 @@ func DeleteMember(ctx *gin.Context) { } resp, err := service.MembersProvider.DeleteMember(ctx, &req) if err != nil { - service.Error(ctx, err) + service.Error(ctx, errors.New(common.ErrorDeleteMemberFailed)) return } service.Success(ctx, resp) @@ -81,7 +83,7 @@ func EditManagement(ctx *gin.Context) { req.OperatorId = int32(user.ID) resp, err := service.MembersProvider.EditManagement(ctx, &req) if err != nil { - service.Error(ctx, err) + service.Error(ctx, errors.New(common.ErrorEditManagementFailed)) return } service.Success(ctx, resp) @@ -98,7 +100,7 @@ func EditBoardOfDirectors(ctx *gin.Context) { req.OperatorId = int32(user.ID) resp, err := service.MembersProvider.EditBoardOfDirectors(ctx, &req) if err != nil { - service.Error(ctx, err) + service.Error(ctx, errors.New(common.ErrorEditBoardOfDirectorsFailed)) return } service.Success(ctx, resp) @@ -115,7 +117,7 @@ func EditCommitteeAppointments(ctx *gin.Context) { req.OperatorId = int32(user.ID) resp, err := service.MembersProvider.EditCommitteeAppointments(ctx, &req) if err != nil { - service.Error(ctx, err) + service.Error(ctx, errors.New(common.ErrorEditCommitteeAppointmentsFailed)) return } service.Success(ctx, resp) @@ -129,7 +131,7 @@ func DisplayCommitteeAppointments(ctx *gin.Context) { } resp, err := service.MembersProvider.DisplayCommitteeAppointments(ctx, &req) if err != nil { - service.Error(ctx, err) + service.Error(ctx, errors.New(common.ErrorDisplayCommitteeAppointmentsFailed)) return } service.Success(ctx, resp) @@ -143,7 +145,7 @@ func DisplayBoardOfDirectors(ctx *gin.Context) { } resp, err := service.MembersProvider.DisplayBoardOfDirectors(ctx, &req) if err != nil { - service.Error(ctx, err) + service.Error(ctx, errors.New(common.ErrorDisplayBoardOfDirectorsFailed)) return } service.Success(ctx, resp) @@ -157,7 +159,7 @@ func DisplayManagement(ctx *gin.Context) { } resp, err := service.MembersProvider.DisplayManagement(ctx, &req) if err != nil { - service.Error(ctx, err) + service.Error(ctx, errors.New(common.ErrorDisplayManagementFailed)) return } service.Success(ctx, resp) diff --git a/pkg/service/reports/annualReports.go b/pkg/service/reports/annualReports.go index ed03697..0668c6e 100644 --- a/pkg/service/reports/annualReports.go +++ b/pkg/service/reports/annualReports.go @@ -1,9 +1,11 @@ package reports import ( + "errors" "fonchain-fiee/api/reports" "fonchain-fiee/pkg/model/login" "fonchain-fiee/pkg/service" + "fonchain-fiee/pkg/service/bundle/common" "github.com/gin-gonic/gin" ) @@ -19,7 +21,7 @@ func AnnualReportCreate(ctx *gin.Context) { req.OperatorId = int32(user.ID) resp, err := service.ReportsProvider.AddAnnualReport(ctx, &req) if err != nil { - service.Error(ctx, err) + service.Error(ctx, errors.New(common.ErrorCreateReportFailed)) return } service.Success(ctx, resp) @@ -34,7 +36,7 @@ func AnnualReportList(ctx *gin.Context) { } resp, err := service.ReportsProvider.GetAnnualReportList(ctx, &req) if err != nil { - service.Error(ctx, err) + service.Error(ctx, errors.New(common.ErrorListReportFailed)) return } service.Success(ctx, resp) @@ -48,7 +50,7 @@ func AnnualReportDelete(ctx *gin.Context) { } resp, err := service.ReportsProvider.DeleteAnnualReport(ctx, &req) if err != nil { - service.Error(ctx, err) + service.Error(ctx, errors.New(common.ErrorDeleteReportFailed)) return } service.Success(ctx, resp) @@ -65,7 +67,7 @@ func AnnualReportEdit(ctx *gin.Context) { req.OperatorId = int32(user.ID) resp, err := service.ReportsProvider.EditAnnualReport(ctx, &req) if err != nil { - service.Error(ctx, err) + service.Error(ctx, errors.New(common.ErrorEditReportFailed)) return } service.Success(ctx, resp) @@ -79,7 +81,7 @@ func AnnualReportDisplay(ctx *gin.Context) { } resp, err := service.ReportsProvider.DisplayAnnualReport(ctx, &req) if err != nil { - service.Error(ctx, err) + service.Error(ctx, errors.New(common.ErrorDisplayReportFailed)) return } service.Success(ctx, resp) @@ -93,7 +95,7 @@ func QuarterlyReportDisplay(ctx *gin.Context) { } resp, err := service.ReportsProvider.DisplayQuarterlyReport(ctx, &req) if err != nil { - service.Error(ctx, err) + service.Error(ctx, errors.New(common.ErrorDisplayReportFailed)) return } service.Success(ctx, resp) diff --git a/pkg/service/reports/quarterlyReports.go b/pkg/service/reports/quarterlyReports.go index 0f61b96..2224cc8 100644 --- a/pkg/service/reports/quarterlyReports.go +++ b/pkg/service/reports/quarterlyReports.go @@ -1,9 +1,11 @@ package reports import ( + "errors" "fonchain-fiee/api/reports" "fonchain-fiee/pkg/model/login" "fonchain-fiee/pkg/service" + "fonchain-fiee/pkg/service/bundle/common" "github.com/gin-gonic/gin" ) @@ -19,7 +21,7 @@ func QuarterlyReportCreate(ctx *gin.Context) { req.OperatorId = int32(user.ID) resp, err := service.ReportsProvider.AddQuarterlyReport(ctx, &req) if err != nil { - service.Error(ctx, err) + service.Error(ctx, errors.New(common.ErrorCreateReportFailed)) return } service.Success(ctx, resp) @@ -33,7 +35,7 @@ func QuarterlyReportList(ctx *gin.Context) { } resp, err := service.ReportsProvider.GetQuarterlyReportList(ctx, &req) if err != nil { - service.Error(ctx, err) + service.Error(ctx, errors.New(common.ErrorListReportFailed)) return } service.Success(ctx, resp) @@ -47,7 +49,7 @@ func QuarterlyReportDelete(ctx *gin.Context) { } resp, err := service.ReportsProvider.DeleteQuarterlyReport(ctx, &req) if err != nil { - service.Error(ctx, err) + service.Error(ctx, errors.New(common.ErrorDeleteReportFailed)) return } service.Success(ctx, resp) @@ -64,7 +66,7 @@ func QuarterlyReportEdit(ctx *gin.Context) { req.OperatorId = int32(user.ID) resp, err := service.ReportsProvider.EditQuarterlyReport(ctx, &req) if err != nil { - service.Error(ctx, err) + service.Error(ctx, errors.New(common.ErrorEditReportFailed)) return } service.Success(ctx, resp) From f7fcd96762c7756a06b45196bbddf0183725a1fa Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Mon, 8 Dec 2025 09:19:55 +0800 Subject: [PATCH 20/38] =?UTF-8?q?Updata=EF=BC=9A=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=B1=82=E3=80=81=E8=91=A3=E4=BA=8B=E4=BC=9A?= =?UTF-8?q?=E5=92=8C=E5=A7=94=E5=91=98=E4=BC=9A=E7=BB=84=E6=88=90=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/members/members.pb.go | 4724 ++++++++++++++++++++------- api/members/members.validator.pb.go | 278 +- api/members/members_triple.pb.go | 783 ++++- pkg/router/router.go | 20 +- pkg/service/members/members.go | 273 +- 5 files changed, 4722 insertions(+), 1356 deletions(-) diff --git a/api/members/members.pb.go b/api/members/members.pb.go index f7d25af..3acf1cb 100644 --- a/api/members/members.pb.go +++ b/api/members/members.pb.go @@ -20,389 +20,18 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -// ==================================成员管理====================================== -type AddMemberReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //姓名 - Brief string `protobuf:"bytes,3,opt,name=brief,proto3" json:"brief"` //简介 - Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"` //详细介绍 - Operator string `protobuf:"bytes,5,opt,name=operator,proto3" json:"operator"` //操作人 - OperatorId int32 `protobuf:"varint,6,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id -} - -func (x *AddMemberReq) Reset() { - *x = AddMemberReq{} - if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AddMemberReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AddMemberReq) ProtoMessage() {} - -func (x *AddMemberReq) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_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 AddMemberReq.ProtoReflect.Descriptor instead. -func (*AddMemberReq) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{0} -} - -func (x *AddMemberReq) GetUuid() string { - if x != nil { - return x.Uuid - } - return "" -} - -func (x *AddMemberReq) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *AddMemberReq) GetBrief() string { - if x != nil { - return x.Brief - } - return "" -} - -func (x *AddMemberReq) GetIntroduction() string { - if x != nil { - return x.Introduction - } - return "" -} - -func (x *AddMemberReq) GetOperator() string { - if x != nil { - return x.Operator - } - return "" -} - -func (x *AddMemberReq) GetOperatorId() int32 { - if x != nil { - return x.OperatorId - } - return 0 -} - -type AddMemberResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` -} - -func (x *AddMemberResp) Reset() { - *x = AddMemberResp{} - if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AddMemberResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AddMemberResp) ProtoMessage() {} - -func (x *AddMemberResp) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AddMemberResp.ProtoReflect.Descriptor instead. -func (*AddMemberResp) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{1} -} - -func (x *AddMemberResp) GetMsg() string { - if x != nil { - return x.Msg - } - return "" -} - -type EditMemberReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //姓名 - Brief string `protobuf:"bytes,3,opt,name=brief,proto3" json:"brief"` //简介 - Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"` //详细介绍 - Sort int32 `protobuf:"varint,5,opt,name=sort,proto3" json:"sort"` //排序 - Operator string `protobuf:"bytes,6,opt,name=operator,proto3" json:"operator"` //操作人 - OperatorId int32 `protobuf:"varint,7,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id -} - -func (x *EditMemberReq) Reset() { - *x = EditMemberReq{} - if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EditMemberReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EditMemberReq) ProtoMessage() {} - -func (x *EditMemberReq) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_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 EditMemberReq.ProtoReflect.Descriptor instead. -func (*EditMemberReq) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{2} -} - -func (x *EditMemberReq) GetUuid() string { - if x != nil { - return x.Uuid - } - return "" -} - -func (x *EditMemberReq) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *EditMemberReq) GetBrief() string { - if x != nil { - return x.Brief - } - return "" -} - -func (x *EditMemberReq) GetIntroduction() string { - if x != nil { - return x.Introduction - } - return "" -} - -func (x *EditMemberReq) GetSort() int32 { - if x != nil { - return x.Sort - } - return 0 -} - -func (x *EditMemberReq) GetOperator() string { - if x != nil { - return x.Operator - } - return "" -} - -func (x *EditMemberReq) GetOperatorId() int32 { - if x != nil { - return x.OperatorId - } - return 0 -} - -type EditMemberResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` -} - -func (x *EditMemberResp) Reset() { - *x = EditMemberResp{} - if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EditMemberResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EditMemberResp) ProtoMessage() {} - -func (x *EditMemberResp) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_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 EditMemberResp.ProtoReflect.Descriptor instead. -func (*EditMemberResp) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{3} -} - -func (x *EditMemberResp) GetMsg() string { - if x != nil { - return x.Msg - } - return "" -} - -type DeleteMemberReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid -} - -func (x *DeleteMemberReq) Reset() { - *x = DeleteMemberReq{} - if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteMemberReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteMemberReq) ProtoMessage() {} - -func (x *DeleteMemberReq) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_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 DeleteMemberReq.ProtoReflect.Descriptor instead. -func (*DeleteMemberReq) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{4} -} - -func (x *DeleteMemberReq) GetUuid() string { - if x != nil { - return x.Uuid - } - return "" -} - -type DeleteMemberResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` -} - -func (x *DeleteMemberResp) Reset() { - *x = DeleteMemberResp{} - if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteMemberResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteMemberResp) ProtoMessage() {} - -func (x *DeleteMemberResp) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[5] - 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 DeleteMemberResp.ProtoReflect.Descriptor instead. -func (*DeleteMemberResp) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{5} -} - -func (x *DeleteMemberResp) GetMsg() string { - if x != nil { - return x.Msg - } - return "" -} - type Filtrate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name"` //文件名称 + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` //姓名 } func (x *Filtrate) Reset() { *x = Filtrate{} if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[6] + mi := &file_api_members_members_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -415,7 +44,7 @@ func (x *Filtrate) String() string { func (*Filtrate) ProtoMessage() {} func (x *Filtrate) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[6] + mi := &file_api_members_members_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -428,7 +57,7 @@ func (x *Filtrate) ProtoReflect() protoreflect.Message { // Deprecated: Use Filtrate.ProtoReflect.Descriptor instead. func (*Filtrate) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{6} + return file_api_members_members_proto_rawDescGZIP(), []int{0} } func (x *Filtrate) GetName() string { @@ -438,33 +67,32 @@ func (x *Filtrate) GetName() string { return "" } -type GetMemberListReq struct { +type LangSetting struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page"` - PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize"` - Filtrate *Filtrate `protobuf:"bytes,3,opt,name=filtrate,proto3" json:"filtrate"` //筛选条件 + LangType string `protobuf:"bytes,1,opt,name=langType,proto3" json:"langType"` //语言类型 + IsSetting int32 `protobuf:"varint,2,opt,name=isSetting,proto3" json:"isSetting"` //是否设置 } -func (x *GetMemberListReq) Reset() { - *x = GetMemberListReq{} +func (x *LangSetting) Reset() { + *x = LangSetting{} if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[7] + mi := &file_api_members_members_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetMemberListReq) String() string { +func (x *LangSetting) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetMemberListReq) ProtoMessage() {} +func (*LangSetting) ProtoMessage() {} -func (x *GetMemberListReq) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[7] +func (x *LangSetting) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -475,145 +103,55 @@ func (x *GetMemberListReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetMemberListReq.ProtoReflect.Descriptor instead. -func (*GetMemberListReq) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{7} +// Deprecated: Use LangSetting.ProtoReflect.Descriptor instead. +func (*LangSetting) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{1} } -func (x *GetMemberListReq) GetPage() int32 { +func (x *LangSetting) GetLangType() string { if x != nil { - return x.Page - } - return 0 -} - -func (x *GetMemberListReq) GetPageSize() int32 { - if x != nil { - return x.PageSize - } - return 0 -} - -func (x *GetMemberListReq) GetFiltrate() *Filtrate { - if x != nil { - return x.Filtrate - } - return nil -} - -type GetMemberListResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` - Page int32 `protobuf:"varint,2,opt,name=page,proto3" json:"page"` - PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize"` - Total int32 `protobuf:"varint,4,opt,name=total,proto3" json:"total"` - Data []*Member `protobuf:"bytes,5,rep,name=data,proto3" json:"data"` -} - -func (x *GetMemberListResp) Reset() { - *x = GetMemberListResp{} - if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetMemberListResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMemberListResp) ProtoMessage() {} - -func (x *GetMemberListResp) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_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 GetMemberListResp.ProtoReflect.Descriptor instead. -func (*GetMemberListResp) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{8} -} - -func (x *GetMemberListResp) GetMsg() string { - if x != nil { - return x.Msg + return x.LangType } return "" } -func (x *GetMemberListResp) GetPage() int32 { +func (x *LangSetting) GetIsSetting() int32 { if x != nil { - return x.Page + return x.IsSetting } return 0 } -func (x *GetMemberListResp) GetPageSize() int32 { - if x != nil { - return x.PageSize - } - return 0 -} - -func (x *GetMemberListResp) GetTotal() int32 { - if x != nil { - return x.Total - } - return 0 -} - -func (x *GetMemberListResp) GetData() []*Member { - if x != nil { - return x.Data - } - return nil -} - -type Member struct { +// ===================================成员信息管理======================================= +type ManagementLangData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` - Brief string `protobuf:"bytes,3,opt,name=brief,proto3" json:"brief"` - Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"` - Sort int32 `protobuf:"varint,5,opt,name=sort,proto3" json:"sort"` - Management *Management `protobuf:"bytes,6,opt,name=management,proto3" json:"management"` - BoardOfDirectors *BoardOfDirectors `protobuf:"bytes,7,opt,name=boardOfDirectors,proto3" json:"boardOfDirectors"` - CommitteeAppointments *CommitteeAppointments `protobuf:"bytes,8,opt,name=committeeAppointments,proto3" json:"committeeAppointments"` - UpdatedAt string `protobuf:"bytes,9,opt,name=updatedAt,proto3" json:"updatedAt"` - Operator string `protobuf:"bytes,10,opt,name=operator,proto3" json:"operator"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //姓名 + Image string `protobuf:"bytes,3,opt,name=image,proto3" json:"image"` //头像 + Brief string `protobuf:"bytes,4,opt,name=brief,proto3" json:"brief"` //简介 + Introduction string `protobuf:"bytes,5,opt,name=introduction,proto3" json:"introduction"` //详细介绍 + IsSetting int32 `protobuf:"varint,6,opt,name=isSetting,proto3" json:"isSetting"` //是否设置 } -func (x *Member) Reset() { - *x = Member{} +func (x *ManagementLangData) Reset() { + *x = ManagementLangData{} if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[9] + mi := &file_api_members_members_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Member) String() string { +func (x *ManagementLangData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Member) ProtoMessage() {} +func (*ManagementLangData) ProtoMessage() {} -func (x *Member) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[9] +func (x *ManagementLangData) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -624,99 +162,123 @@ func (x *Member) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Member.ProtoReflect.Descriptor instead. -func (*Member) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{9} +// Deprecated: Use ManagementLangData.ProtoReflect.Descriptor instead. +func (*ManagementLangData) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{2} } -func (x *Member) GetUuid() string { - if x != nil { - return x.Uuid - } - return "" -} - -func (x *Member) GetName() string { +func (x *ManagementLangData) GetName() string { if x != nil { return x.Name } return "" } -func (x *Member) GetBrief() string { +func (x *ManagementLangData) GetImage() string { + if x != nil { + return x.Image + } + return "" +} + +func (x *ManagementLangData) GetBrief() string { if x != nil { return x.Brief } return "" } -func (x *Member) GetIntroduction() string { +func (x *ManagementLangData) GetIntroduction() string { if x != nil { return x.Introduction } return "" } -func (x *Member) GetSort() int32 { +func (x *ManagementLangData) GetIsSetting() int32 { if x != nil { - return x.Sort + return x.IsSetting } return 0 } -func (x *Member) GetManagement() *Management { - if x != nil { - return x.Management - } - return nil +type ManagementLang struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LangType string `protobuf:"bytes,1,opt,name=langType,proto3" json:"langType"` //语言类型 + Data *ManagementLangData `protobuf:"bytes,2,opt,name=data,proto3" json:"data"` //语言数据 } -func (x *Member) GetBoardOfDirectors() *BoardOfDirectors { - if x != nil { - return x.BoardOfDirectors +func (x *ManagementLang) Reset() { + *x = ManagementLang{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *Member) GetCommitteeAppointments() *CommitteeAppointments { - if x != nil { - return x.CommitteeAppointments - } - return nil +func (x *ManagementLang) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *Member) GetUpdatedAt() string { +func (*ManagementLang) ProtoMessage() {} + +func (x *ManagementLang) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_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 ManagementLang.ProtoReflect.Descriptor instead. +func (*ManagementLang) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{3} +} + +func (x *ManagementLang) GetLangType() string { if x != nil { - return x.UpdatedAt + return x.LangType } return "" } -func (x *Member) GetOperator() string { +func (x *ManagementLang) GetData() *ManagementLangData { if x != nil { - return x.Operator + return x.Data } - return "" + return nil } -// ===================================成员信息管理======================================= type Management struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` - Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image"` - Brief string `protobuf:"bytes,3,opt,name=brief,proto3" json:"brief"` - Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"` - Status int32 `protobuf:"varint,5,opt,name=status,proto3" json:"status"` - IsSetting int32 `protobuf:"varint,6,opt,name=isSetting,proto3" json:"isSetting"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //姓名 + Image string `protobuf:"bytes,3,opt,name=image,proto3" json:"image"` //头像 + Brief string `protobuf:"bytes,4,opt,name=brief,proto3" json:"brief"` //简介 + Introduction string `protobuf:"bytes,5,opt,name=introduction,proto3" json:"introduction"` //详细介绍 + LangSetting []*LangSetting `protobuf:"bytes,6,rep,name=langSetting,proto3" json:"langSetting"` + Status int32 `protobuf:"varint,7,opt,name=status,proto3" json:"status"` + Sort int32 `protobuf:"varint,8,opt,name=sort,proto3" json:"sort"` + UpdatedAt string `protobuf:"bytes,9,opt,name=updatedAt,proto3" json:"updatedAt"` + Operator string `protobuf:"bytes,10,opt,name=operator,proto3" json:"operator"` + OperatorId int32 `protobuf:"varint,11,opt,name=operatorId,proto3" json:"operatorId"` } func (x *Management) Reset() { *x = Management{} if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[10] + mi := &file_api_members_members_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -729,7 +291,7 @@ func (x *Management) String() string { func (*Management) ProtoMessage() {} func (x *Management) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[10] + mi := &file_api_members_members_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -742,7 +304,14 @@ func (x *Management) ProtoReflect() protoreflect.Message { // Deprecated: Use Management.ProtoReflect.Descriptor instead. func (*Management) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{10} + return file_api_members_members_proto_rawDescGZIP(), []int{4} +} + +func (x *Management) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" } func (x *Management) GetName() string { @@ -773,6 +342,13 @@ func (x *Management) GetIntroduction() string { return "" } +func (x *Management) GetLangSetting() []*LangSetting { + if x != nil { + return x.LangSetting + } + return nil +} + func (x *Management) GetStatus() int32 { if x != nil { return x.Status @@ -780,33 +356,311 @@ func (x *Management) GetStatus() int32 { return 0 } -func (x *Management) GetIsSetting() int32 { +func (x *Management) GetSort() int32 { if x != nil { - return x.IsSetting + return x.Sort } return 0 } +func (x *Management) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +func (x *Management) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *Management) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type AddManagementReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + DataByLang []*ManagementLang `protobuf:"bytes,2,rep,name=dataByLang,proto3" json:"dataByLang"` + Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status"` + Sort int32 `protobuf:"varint,4,opt,name=sort,proto3" json:"sort"` + Operator string `protobuf:"bytes,5,opt,name=operator,proto3" json:"operator"` + OperatorId int32 `protobuf:"varint,6,opt,name=operatorId,proto3" json:"operatorId"` +} + +func (x *AddManagementReq) Reset() { + *x = AddManagementReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddManagementReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddManagementReq) ProtoMessage() {} + +func (x *AddManagementReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[5] + 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 AddManagementReq.ProtoReflect.Descriptor instead. +func (*AddManagementReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{5} +} + +func (x *AddManagementReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *AddManagementReq) GetDataByLang() []*ManagementLang { + if x != nil { + return x.DataByLang + } + return nil +} + +func (x *AddManagementReq) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *AddManagementReq) GetSort() int32 { + if x != nil { + return x.Sort + } + return 0 +} + +func (x *AddManagementReq) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *AddManagementReq) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type AddManagementResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *AddManagementResp) Reset() { + *x = AddManagementResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddManagementResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddManagementResp) ProtoMessage() {} + +func (x *AddManagementResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[6] + 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 AddManagementResp.ProtoReflect.Descriptor instead. +func (*AddManagementResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{6} +} + +func (x *AddManagementResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type SortAndStatusManagementReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` + Sort int32 `protobuf:"varint,3,opt,name=sort,proto3" json:"sort"` + Operator string `protobuf:"bytes,4,opt,name=operator,proto3" json:"operator"` + OperatorId int32 `protobuf:"varint,5,opt,name=operatorId,proto3" json:"operatorId"` +} + +func (x *SortAndStatusManagementReq) Reset() { + *x = SortAndStatusManagementReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SortAndStatusManagementReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SortAndStatusManagementReq) ProtoMessage() {} + +func (x *SortAndStatusManagementReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[7] + 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 SortAndStatusManagementReq.ProtoReflect.Descriptor instead. +func (*SortAndStatusManagementReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{7} +} + +func (x *SortAndStatusManagementReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *SortAndStatusManagementReq) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *SortAndStatusManagementReq) GetSort() int32 { + if x != nil { + return x.Sort + } + return 0 +} + +func (x *SortAndStatusManagementReq) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *SortAndStatusManagementReq) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type SortAndStatusManagementResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *SortAndStatusManagementResp) Reset() { + *x = SortAndStatusManagementResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SortAndStatusManagementResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SortAndStatusManagementResp) ProtoMessage() {} + +func (x *SortAndStatusManagementResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_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 SortAndStatusManagementResp.ProtoReflect.Descriptor instead. +func (*SortAndStatusManagementResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{8} +} + +func (x *SortAndStatusManagementResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + type EditManagementReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` - Image string `protobuf:"bytes,3,opt,name=image,proto3" json:"image"` - Status int32 `protobuf:"varint,4,opt,name=status,proto3" json:"status"` - Brief string `protobuf:"bytes,5,opt,name=brief,proto3" json:"brief"` - Introduction string `protobuf:"bytes,6,opt,name=introduction,proto3" json:"introduction"` - IsSetting int32 `protobuf:"varint,7,opt,name=isSetting,proto3" json:"isSetting"` - Operator string `protobuf:"bytes,8,opt,name=operator,proto3" json:"operator"` - OperatorId int32 `protobuf:"varint,9,opt,name=operatorId,proto3" json:"operatorId"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + DataByLang []*ManagementLang `protobuf:"bytes,2,rep,name=dataByLang,proto3" json:"dataByLang"` + Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status"` + Sort int32 `protobuf:"varint,4,opt,name=sort,proto3" json:"sort"` + Operator string `protobuf:"bytes,5,opt,name=operator,proto3" json:"operator"` + OperatorId int32 `protobuf:"varint,6,opt,name=operatorId,proto3" json:"operatorId"` } func (x *EditManagementReq) Reset() { *x = EditManagementReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[11] + mi := &file_api_members_members_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -819,7 +673,7 @@ func (x *EditManagementReq) String() string { func (*EditManagementReq) ProtoMessage() {} func (x *EditManagementReq) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[11] + mi := &file_api_members_members_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -832,7 +686,7 @@ func (x *EditManagementReq) ProtoReflect() protoreflect.Message { // Deprecated: Use EditManagementReq.ProtoReflect.Descriptor instead. func (*EditManagementReq) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{11} + return file_api_members_members_proto_rawDescGZIP(), []int{9} } func (x *EditManagementReq) GetUuid() string { @@ -842,18 +696,11 @@ func (x *EditManagementReq) GetUuid() string { return "" } -func (x *EditManagementReq) GetName() string { +func (x *EditManagementReq) GetDataByLang() []*ManagementLang { if x != nil { - return x.Name + return x.DataByLang } - return "" -} - -func (x *EditManagementReq) GetImage() string { - if x != nil { - return x.Image - } - return "" + return nil } func (x *EditManagementReq) GetStatus() int32 { @@ -863,23 +710,9 @@ func (x *EditManagementReq) GetStatus() int32 { return 0 } -func (x *EditManagementReq) GetBrief() string { +func (x *EditManagementReq) GetSort() int32 { if x != nil { - return x.Brief - } - return "" -} - -func (x *EditManagementReq) GetIntroduction() string { - if x != nil { - return x.Introduction - } - return "" -} - -func (x *EditManagementReq) GetIsSetting() int32 { - if x != nil { - return x.IsSetting + return x.Sort } return 0 } @@ -909,7 +742,7 @@ type EditManagementResp struct { func (x *EditManagementResp) Reset() { *x = EditManagementResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[12] + mi := &file_api_members_members_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -922,7 +755,7 @@ func (x *EditManagementResp) String() string { func (*EditManagementResp) ProtoMessage() {} func (x *EditManagementResp) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[12] + mi := &file_api_members_members_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -935,7 +768,7 @@ func (x *EditManagementResp) ProtoReflect() protoreflect.Message { // Deprecated: Use EditManagementResp.ProtoReflect.Descriptor instead. func (*EditManagementResp) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{12} + return file_api_members_members_proto_rawDescGZIP(), []int{10} } func (x *EditManagementResp) GetMsg() string { @@ -945,16 +778,364 @@ func (x *EditManagementResp) GetMsg() string { return "" } +type DeleteManagementReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` +} + +func (x *DeleteManagementReq) Reset() { + *x = DeleteManagementReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteManagementReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteManagementReq) ProtoMessage() {} + +func (x *DeleteManagementReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[11] + 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 DeleteManagementReq.ProtoReflect.Descriptor instead. +func (*DeleteManagementReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{11} +} + +func (x *DeleteManagementReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +type DeleteManagementResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *DeleteManagementResp) Reset() { + *x = DeleteManagementResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteManagementResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteManagementResp) ProtoMessage() {} + +func (x *DeleteManagementResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[12] + 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 DeleteManagementResp.ProtoReflect.Descriptor instead. +func (*DeleteManagementResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{12} +} + +func (x *DeleteManagementResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type GetManagementListReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize"` + Filtrate *Filtrate `protobuf:"bytes,3,opt,name=filtrate,proto3" json:"filtrate"` +} + +func (x *GetManagementListReq) Reset() { + *x = GetManagementListReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetManagementListReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetManagementListReq) ProtoMessage() {} + +func (x *GetManagementListReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[13] + 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 GetManagementListReq.ProtoReflect.Descriptor instead. +func (*GetManagementListReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{13} +} + +func (x *GetManagementListReq) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *GetManagementListReq) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *GetManagementListReq) GetFiltrate() *Filtrate { + if x != nil { + return x.Filtrate + } + return nil +} + +type GetManagementListResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` + Page int32 `protobuf:"varint,2,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize"` + Total int32 `protobuf:"varint,4,opt,name=total,proto3" json:"total"` + Data []*Management `protobuf:"bytes,5,rep,name=data,proto3" json:"data"` +} + +func (x *GetManagementListResp) Reset() { + *x = GetManagementListResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetManagementListResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetManagementListResp) ProtoMessage() {} + +func (x *GetManagementListResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[14] + 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 GetManagementListResp.ProtoReflect.Descriptor instead. +func (*GetManagementListResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{14} +} + +func (x *GetManagementListResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *GetManagementListResp) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *GetManagementListResp) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *GetManagementListResp) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *GetManagementListResp) GetData() []*Management { + if x != nil { + return x.Data + } + return nil +} + +type GetManagementInfoReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` +} + +func (x *GetManagementInfoReq) Reset() { + *x = GetManagementInfoReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetManagementInfoReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetManagementInfoReq) ProtoMessage() {} + +func (x *GetManagementInfoReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[15] + 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 GetManagementInfoReq.ProtoReflect.Descriptor instead. +func (*GetManagementInfoReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{15} +} + +func (x *GetManagementInfoReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +type GetManagementInfoResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` + Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid"` + DataByLang []*ManagementLang `protobuf:"bytes,3,rep,name=dataByLang,proto3" json:"dataByLang"` +} + +func (x *GetManagementInfoResp) Reset() { + *x = GetManagementInfoResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetManagementInfoResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetManagementInfoResp) ProtoMessage() {} + +func (x *GetManagementInfoResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[16] + 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 GetManagementInfoResp.ProtoReflect.Descriptor instead. +func (*GetManagementInfoResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{16} +} + +func (x *GetManagementInfoResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *GetManagementInfoResp) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *GetManagementInfoResp) GetDataByLang() []*ManagementLang { + if x != nil { + return x.DataByLang + } + return nil +} + type DisplayManagementReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + LangType string `protobuf:"bytes,1,opt,name=langType,proto3" json:"langType"` //语言类型 } func (x *DisplayManagementReq) Reset() { *x = DisplayManagementReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[13] + mi := &file_api_members_members_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -967,7 +1148,7 @@ func (x *DisplayManagementReq) String() string { func (*DisplayManagementReq) ProtoMessage() {} func (x *DisplayManagementReq) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[13] + mi := &file_api_members_members_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -980,7 +1161,14 @@ func (x *DisplayManagementReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplayManagementReq.ProtoReflect.Descriptor instead. func (*DisplayManagementReq) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{13} + return file_api_members_members_proto_rawDescGZIP(), []int{17} +} + +func (x *DisplayManagementReq) GetLangType() string { + if x != nil { + return x.LangType + } + return "" } type DisplayManagementResp struct { @@ -994,7 +1182,7 @@ type DisplayManagementResp struct { func (x *DisplayManagementResp) Reset() { *x = DisplayManagementResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[14] + mi := &file_api_members_members_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1007,7 +1195,7 @@ func (x *DisplayManagementResp) String() string { func (*DisplayManagementResp) ProtoMessage() {} func (x *DisplayManagementResp) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[14] + mi := &file_api_members_members_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1020,7 +1208,7 @@ func (x *DisplayManagementResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplayManagementResp.ProtoReflect.Descriptor instead. func (*DisplayManagementResp) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{14} + return file_api_members_members_proto_rawDescGZIP(), []int{18} } func (x *DisplayManagementResp) GetItem() []*DisplayManagementItem { @@ -1044,7 +1232,7 @@ type DisplayManagementItem struct { func (x *DisplayManagementItem) Reset() { *x = DisplayManagementItem{} if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[15] + mi := &file_api_members_members_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1057,7 +1245,7 @@ func (x *DisplayManagementItem) String() string { func (*DisplayManagementItem) ProtoMessage() {} func (x *DisplayManagementItem) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[15] + mi := &file_api_members_members_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1070,7 +1258,7 @@ func (x *DisplayManagementItem) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplayManagementItem.ProtoReflect.Descriptor instead. func (*DisplayManagementItem) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{15} + return file_api_members_members_proto_rawDescGZIP(), []int{19} } func (x *DisplayManagementItem) GetName() string { @@ -1101,23 +1289,153 @@ func (x *DisplayManagementItem) GetIntroduction() string { return "" } -// ==================================董事会信息管理====================================== +type BoardOfDirectorsLang struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LangType string `protobuf:"bytes,1,opt,name=langType,proto3" json:"langType"` //语言类型 + Data *BoardOfDirectorsLangData `protobuf:"bytes,2,opt,name=data,proto3" json:"data"` //语言数据 +} + +func (x *BoardOfDirectorsLang) Reset() { + *x = BoardOfDirectorsLang{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BoardOfDirectorsLang) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BoardOfDirectorsLang) ProtoMessage() {} + +func (x *BoardOfDirectorsLang) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[20] + 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 BoardOfDirectorsLang.ProtoReflect.Descriptor instead. +func (*BoardOfDirectorsLang) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{20} +} + +func (x *BoardOfDirectorsLang) GetLangType() string { + if x != nil { + return x.LangType + } + return "" +} + +func (x *BoardOfDirectorsLang) GetData() *BoardOfDirectorsLangData { + if x != nil { + return x.Data + } + return nil +} + +type BoardOfDirectorsLangData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //姓名 + Brief string `protobuf:"bytes,3,opt,name=brief,proto3" json:"brief"` //简介 + Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"` //详细介绍 + IsSetting int32 `protobuf:"varint,5,opt,name=isSetting,proto3" json:"isSetting"` //是否设置 +} + +func (x *BoardOfDirectorsLangData) Reset() { + *x = BoardOfDirectorsLangData{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BoardOfDirectorsLangData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BoardOfDirectorsLangData) ProtoMessage() {} + +func (x *BoardOfDirectorsLangData) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[21] + 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 BoardOfDirectorsLangData.ProtoReflect.Descriptor instead. +func (*BoardOfDirectorsLangData) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{21} +} + +func (x *BoardOfDirectorsLangData) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *BoardOfDirectorsLangData) GetBrief() string { + if x != nil { + return x.Brief + } + return "" +} + +func (x *BoardOfDirectorsLangData) GetIntroduction() string { + if x != nil { + return x.Introduction + } + return "" +} + +func (x *BoardOfDirectorsLangData) GetIsSetting() int32 { + if x != nil { + return x.IsSetting + } + return 0 +} + type BoardOfDirectors struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` - Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` - Brief string `protobuf:"bytes,3,opt,name=brief,proto3" json:"brief"` - Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"` - IsSetting int32 `protobuf:"varint,5,opt,name=isSetting,proto3" json:"isSetting"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //姓名 + Brief string `protobuf:"bytes,3,opt,name=brief,proto3" json:"brief"` //简介 + Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"` //详细介绍 + LangSetting []*LangSetting `protobuf:"bytes,5,rep,name=langSetting,proto3" json:"langSetting"` + Status int32 `protobuf:"varint,6,opt,name=status,proto3" json:"status"` + Sort int32 `protobuf:"varint,7,opt,name=sort,proto3" json:"sort"` + UpdatedAt string `protobuf:"bytes,8,opt,name=updatedAt,proto3" json:"updatedAt"` + Operator string `protobuf:"bytes,9,opt,name=operator,proto3" json:"operator"` + OperatorId int32 `protobuf:"varint,10,opt,name=operatorId,proto3" json:"operatorId"` } func (x *BoardOfDirectors) Reset() { *x = BoardOfDirectors{} if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[16] + mi := &file_api_members_members_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1130,7 +1448,7 @@ func (x *BoardOfDirectors) String() string { func (*BoardOfDirectors) ProtoMessage() {} func (x *BoardOfDirectors) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[16] + mi := &file_api_members_members_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1143,7 +1461,14 @@ func (x *BoardOfDirectors) ProtoReflect() protoreflect.Message { // Deprecated: Use BoardOfDirectors.ProtoReflect.Descriptor instead. func (*BoardOfDirectors) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{16} + return file_api_members_members_proto_rawDescGZIP(), []int{22} +} + +func (x *BoardOfDirectors) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" } func (x *BoardOfDirectors) GetName() string { @@ -1153,13 +1478,6 @@ func (x *BoardOfDirectors) GetName() string { return "" } -func (x *BoardOfDirectors) GetStatus() int32 { - if x != nil { - return x.Status - } - return 0 -} - func (x *BoardOfDirectors) GetBrief() string { if x != nil { return x.Brief @@ -1174,32 +1492,326 @@ func (x *BoardOfDirectors) GetIntroduction() string { return "" } -func (x *BoardOfDirectors) GetIsSetting() int32 { +func (x *BoardOfDirectors) GetLangSetting() []*LangSetting { if x != nil { - return x.IsSetting + return x.LangSetting + } + return nil +} + +func (x *BoardOfDirectors) GetStatus() int32 { + if x != nil { + return x.Status } return 0 } +func (x *BoardOfDirectors) GetSort() int32 { + if x != nil { + return x.Sort + } + return 0 +} + +func (x *BoardOfDirectors) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +func (x *BoardOfDirectors) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *BoardOfDirectors) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type AddBoardOfDirectorsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + DataByLang []*BoardOfDirectorsLang `protobuf:"bytes,2,rep,name=dataByLang,proto3" json:"dataByLang"` + Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status"` + Sort int32 `protobuf:"varint,4,opt,name=sort,proto3" json:"sort"` + Operator string `protobuf:"bytes,5,opt,name=operator,proto3" json:"operator"` + OperatorId int32 `protobuf:"varint,6,opt,name=operatorId,proto3" json:"operatorId"` +} + +func (x *AddBoardOfDirectorsReq) Reset() { + *x = AddBoardOfDirectorsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddBoardOfDirectorsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddBoardOfDirectorsReq) ProtoMessage() {} + +func (x *AddBoardOfDirectorsReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[23] + 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 AddBoardOfDirectorsReq.ProtoReflect.Descriptor instead. +func (*AddBoardOfDirectorsReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{23} +} + +func (x *AddBoardOfDirectorsReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *AddBoardOfDirectorsReq) GetDataByLang() []*BoardOfDirectorsLang { + if x != nil { + return x.DataByLang + } + return nil +} + +func (x *AddBoardOfDirectorsReq) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *AddBoardOfDirectorsReq) GetSort() int32 { + if x != nil { + return x.Sort + } + return 0 +} + +func (x *AddBoardOfDirectorsReq) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *AddBoardOfDirectorsReq) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type AddBoardOfDirectorsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *AddBoardOfDirectorsResp) Reset() { + *x = AddBoardOfDirectorsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddBoardOfDirectorsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddBoardOfDirectorsResp) ProtoMessage() {} + +func (x *AddBoardOfDirectorsResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[24] + 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 AddBoardOfDirectorsResp.ProtoReflect.Descriptor instead. +func (*AddBoardOfDirectorsResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{24} +} + +func (x *AddBoardOfDirectorsResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type SortAndStatusBoardOfDirectorsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` + Sort int32 `protobuf:"varint,3,opt,name=sort,proto3" json:"sort"` + Operator string `protobuf:"bytes,4,opt,name=operator,proto3" json:"operator"` + OperatorId int32 `protobuf:"varint,5,opt,name=operatorId,proto3" json:"operatorId"` +} + +func (x *SortAndStatusBoardOfDirectorsReq) Reset() { + *x = SortAndStatusBoardOfDirectorsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SortAndStatusBoardOfDirectorsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SortAndStatusBoardOfDirectorsReq) ProtoMessage() {} + +func (x *SortAndStatusBoardOfDirectorsReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[25] + 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 SortAndStatusBoardOfDirectorsReq.ProtoReflect.Descriptor instead. +func (*SortAndStatusBoardOfDirectorsReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{25} +} + +func (x *SortAndStatusBoardOfDirectorsReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *SortAndStatusBoardOfDirectorsReq) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *SortAndStatusBoardOfDirectorsReq) GetSort() int32 { + if x != nil { + return x.Sort + } + return 0 +} + +func (x *SortAndStatusBoardOfDirectorsReq) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *SortAndStatusBoardOfDirectorsReq) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type SortAndStatusBoardOfDirectorsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *SortAndStatusBoardOfDirectorsResp) Reset() { + *x = SortAndStatusBoardOfDirectorsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SortAndStatusBoardOfDirectorsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SortAndStatusBoardOfDirectorsResp) ProtoMessage() {} + +func (x *SortAndStatusBoardOfDirectorsResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[26] + 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 SortAndStatusBoardOfDirectorsResp.ProtoReflect.Descriptor instead. +func (*SortAndStatusBoardOfDirectorsResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{26} +} + +func (x *SortAndStatusBoardOfDirectorsResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + type EditBoardOfDirectorsReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` - Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status"` - Brief string `protobuf:"bytes,4,opt,name=brief,proto3" json:"brief"` - Introduction string `protobuf:"bytes,5,opt,name=introduction,proto3" json:"introduction"` - IsSetting int32 `protobuf:"varint,6,opt,name=isSetting,proto3" json:"isSetting"` - Operator string `protobuf:"bytes,7,opt,name=operator,proto3" json:"operator"` - OperatorId int32 `protobuf:"varint,8,opt,name=operatorId,proto3" json:"operatorId"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + DataByLang []*BoardOfDirectorsLang `protobuf:"bytes,2,rep,name=dataByLang,proto3" json:"dataByLang"` + Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status"` + Sort int32 `protobuf:"varint,4,opt,name=sort,proto3" json:"sort"` + UpdatedAt string `protobuf:"bytes,5,opt,name=updatedAt,proto3" json:"updatedAt"` + Operator string `protobuf:"bytes,6,opt,name=operator,proto3" json:"operator"` + OperatorId int32 `protobuf:"varint,7,opt,name=operatorId,proto3" json:"operatorId"` } func (x *EditBoardOfDirectorsReq) Reset() { *x = EditBoardOfDirectorsReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[17] + mi := &file_api_members_members_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1212,7 +1824,7 @@ func (x *EditBoardOfDirectorsReq) String() string { func (*EditBoardOfDirectorsReq) ProtoMessage() {} func (x *EditBoardOfDirectorsReq) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[17] + mi := &file_api_members_members_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1225,7 +1837,7 @@ func (x *EditBoardOfDirectorsReq) ProtoReflect() protoreflect.Message { // Deprecated: Use EditBoardOfDirectorsReq.ProtoReflect.Descriptor instead. func (*EditBoardOfDirectorsReq) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{17} + return file_api_members_members_proto_rawDescGZIP(), []int{27} } func (x *EditBoardOfDirectorsReq) GetUuid() string { @@ -1235,11 +1847,11 @@ func (x *EditBoardOfDirectorsReq) GetUuid() string { return "" } -func (x *EditBoardOfDirectorsReq) GetName() string { +func (x *EditBoardOfDirectorsReq) GetDataByLang() []*BoardOfDirectorsLang { if x != nil { - return x.Name + return x.DataByLang } - return "" + return nil } func (x *EditBoardOfDirectorsReq) GetStatus() int32 { @@ -1249,27 +1861,20 @@ func (x *EditBoardOfDirectorsReq) GetStatus() int32 { return 0 } -func (x *EditBoardOfDirectorsReq) GetBrief() string { +func (x *EditBoardOfDirectorsReq) GetSort() int32 { if x != nil { - return x.Brief - } - return "" -} - -func (x *EditBoardOfDirectorsReq) GetIntroduction() string { - if x != nil { - return x.Introduction - } - return "" -} - -func (x *EditBoardOfDirectorsReq) GetIsSetting() int32 { - if x != nil { - return x.IsSetting + return x.Sort } return 0 } +func (x *EditBoardOfDirectorsReq) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + func (x *EditBoardOfDirectorsReq) GetOperator() string { if x != nil { return x.Operator @@ -1295,7 +1900,7 @@ type EditBoardOfDirectorsResp struct { func (x *EditBoardOfDirectorsResp) Reset() { *x = EditBoardOfDirectorsResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[18] + mi := &file_api_members_members_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1308,7 +1913,7 @@ func (x *EditBoardOfDirectorsResp) String() string { func (*EditBoardOfDirectorsResp) ProtoMessage() {} func (x *EditBoardOfDirectorsResp) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[18] + mi := &file_api_members_members_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1321,7 +1926,7 @@ func (x *EditBoardOfDirectorsResp) ProtoReflect() protoreflect.Message { // Deprecated: Use EditBoardOfDirectorsResp.ProtoReflect.Descriptor instead. func (*EditBoardOfDirectorsResp) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{18} + return file_api_members_members_proto_rawDescGZIP(), []int{28} } func (x *EditBoardOfDirectorsResp) GetMsg() string { @@ -1331,16 +1936,364 @@ func (x *EditBoardOfDirectorsResp) GetMsg() string { return "" } +type DeleteBoardOfDirectorsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` +} + +func (x *DeleteBoardOfDirectorsReq) Reset() { + *x = DeleteBoardOfDirectorsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteBoardOfDirectorsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteBoardOfDirectorsReq) ProtoMessage() {} + +func (x *DeleteBoardOfDirectorsReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[29] + 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 DeleteBoardOfDirectorsReq.ProtoReflect.Descriptor instead. +func (*DeleteBoardOfDirectorsReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{29} +} + +func (x *DeleteBoardOfDirectorsReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +type DeleteBoardOfDirectorsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *DeleteBoardOfDirectorsResp) Reset() { + *x = DeleteBoardOfDirectorsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteBoardOfDirectorsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteBoardOfDirectorsResp) ProtoMessage() {} + +func (x *DeleteBoardOfDirectorsResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[30] + 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 DeleteBoardOfDirectorsResp.ProtoReflect.Descriptor instead. +func (*DeleteBoardOfDirectorsResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{30} +} + +func (x *DeleteBoardOfDirectorsResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type GetBoardOfDirectorsListReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize"` + Filtrate *Filtrate `protobuf:"bytes,3,opt,name=filtrate,proto3" json:"filtrate"` +} + +func (x *GetBoardOfDirectorsListReq) Reset() { + *x = GetBoardOfDirectorsListReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetBoardOfDirectorsListReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetBoardOfDirectorsListReq) ProtoMessage() {} + +func (x *GetBoardOfDirectorsListReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[31] + 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 GetBoardOfDirectorsListReq.ProtoReflect.Descriptor instead. +func (*GetBoardOfDirectorsListReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{31} +} + +func (x *GetBoardOfDirectorsListReq) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *GetBoardOfDirectorsListReq) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *GetBoardOfDirectorsListReq) GetFiltrate() *Filtrate { + if x != nil { + return x.Filtrate + } + return nil +} + +type GetBoardOfDirectorsListResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` + Page int32 `protobuf:"varint,2,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize"` + Total int32 `protobuf:"varint,4,opt,name=total,proto3" json:"total"` + Data []*BoardOfDirectors `protobuf:"bytes,5,rep,name=data,proto3" json:"data"` +} + +func (x *GetBoardOfDirectorsListResp) Reset() { + *x = GetBoardOfDirectorsListResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetBoardOfDirectorsListResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetBoardOfDirectorsListResp) ProtoMessage() {} + +func (x *GetBoardOfDirectorsListResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[32] + 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 GetBoardOfDirectorsListResp.ProtoReflect.Descriptor instead. +func (*GetBoardOfDirectorsListResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{32} +} + +func (x *GetBoardOfDirectorsListResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *GetBoardOfDirectorsListResp) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *GetBoardOfDirectorsListResp) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *GetBoardOfDirectorsListResp) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *GetBoardOfDirectorsListResp) GetData() []*BoardOfDirectors { + if x != nil { + return x.Data + } + return nil +} + +type GetBoardOfDirectorsInfoReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` +} + +func (x *GetBoardOfDirectorsInfoReq) Reset() { + *x = GetBoardOfDirectorsInfoReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetBoardOfDirectorsInfoReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetBoardOfDirectorsInfoReq) ProtoMessage() {} + +func (x *GetBoardOfDirectorsInfoReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[33] + 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 GetBoardOfDirectorsInfoReq.ProtoReflect.Descriptor instead. +func (*GetBoardOfDirectorsInfoReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{33} +} + +func (x *GetBoardOfDirectorsInfoReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +type GetBoardOfDirectorsInfoResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` + Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid"` + DataByLang []*BoardOfDirectorsLang `protobuf:"bytes,3,rep,name=dataByLang,proto3" json:"dataByLang"` +} + +func (x *GetBoardOfDirectorsInfoResp) Reset() { + *x = GetBoardOfDirectorsInfoResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetBoardOfDirectorsInfoResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetBoardOfDirectorsInfoResp) ProtoMessage() {} + +func (x *GetBoardOfDirectorsInfoResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[34] + 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 GetBoardOfDirectorsInfoResp.ProtoReflect.Descriptor instead. +func (*GetBoardOfDirectorsInfoResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{34} +} + +func (x *GetBoardOfDirectorsInfoResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *GetBoardOfDirectorsInfoResp) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *GetBoardOfDirectorsInfoResp) GetDataByLang() []*BoardOfDirectorsLang { + if x != nil { + return x.DataByLang + } + return nil +} + type DisplayBoardOfDirectorsReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + LangType string `protobuf:"bytes,1,opt,name=langType,proto3" json:"langType"` //语言类型 } func (x *DisplayBoardOfDirectorsReq) Reset() { *x = DisplayBoardOfDirectorsReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[19] + mi := &file_api_members_members_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1353,7 +2306,7 @@ func (x *DisplayBoardOfDirectorsReq) String() string { func (*DisplayBoardOfDirectorsReq) ProtoMessage() {} func (x *DisplayBoardOfDirectorsReq) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[19] + mi := &file_api_members_members_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1366,7 +2319,14 @@ func (x *DisplayBoardOfDirectorsReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplayBoardOfDirectorsReq.ProtoReflect.Descriptor instead. func (*DisplayBoardOfDirectorsReq) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{19} + return file_api_members_members_proto_rawDescGZIP(), []int{35} +} + +func (x *DisplayBoardOfDirectorsReq) GetLangType() string { + if x != nil { + return x.LangType + } + return "" } type DisplayBoardOfDirectorsResp struct { @@ -1380,7 +2340,7 @@ type DisplayBoardOfDirectorsResp struct { func (x *DisplayBoardOfDirectorsResp) Reset() { *x = DisplayBoardOfDirectorsResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[20] + mi := &file_api_members_members_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1393,7 +2353,7 @@ func (x *DisplayBoardOfDirectorsResp) String() string { func (*DisplayBoardOfDirectorsResp) ProtoMessage() {} func (x *DisplayBoardOfDirectorsResp) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[20] + mi := &file_api_members_members_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1406,7 +2366,7 @@ func (x *DisplayBoardOfDirectorsResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplayBoardOfDirectorsResp.ProtoReflect.Descriptor instead. func (*DisplayBoardOfDirectorsResp) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{20} + return file_api_members_members_proto_rawDescGZIP(), []int{36} } func (x *DisplayBoardOfDirectorsResp) GetItem() []*DisplayBoardOfDirectorItem { @@ -1429,7 +2389,7 @@ type DisplayBoardOfDirectorItem struct { func (x *DisplayBoardOfDirectorItem) Reset() { *x = DisplayBoardOfDirectorItem{} if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[21] + mi := &file_api_members_members_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1442,7 +2402,7 @@ func (x *DisplayBoardOfDirectorItem) String() string { func (*DisplayBoardOfDirectorItem) ProtoMessage() {} func (x *DisplayBoardOfDirectorItem) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[21] + mi := &file_api_members_members_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1455,7 +2415,7 @@ func (x *DisplayBoardOfDirectorItem) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplayBoardOfDirectorItem.ProtoReflect.Descriptor instead. func (*DisplayBoardOfDirectorItem) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{21} + return file_api_members_members_proto_rawDescGZIP(), []int{37} } func (x *DisplayBoardOfDirectorItem) GetName() string { @@ -1485,18 +2445,22 @@ type CommitteeAppointments struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` - Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` - AuditCommittee int32 `protobuf:"varint,3,opt,name=auditCommittee,proto3" json:"auditCommittee"` - CompensationCommittee int32 `protobuf:"varint,4,opt,name=compensationCommittee,proto3" json:"compensationCommittee"` - NominatingCommittee int32 `protobuf:"varint,5,opt,name=nominatingCommittee,proto3" json:"nominatingCommittee"` - IsSetting int32 `protobuf:"varint,6,opt,name=isSetting,proto3" json:"isSetting"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + AuditCommittee int32 `protobuf:"varint,2,opt,name=auditCommittee,proto3" json:"auditCommittee"` //审计委员会(1:Member 2:Chair) + CompensationCommittee int32 `protobuf:"varint,3,opt,name=compensationCommittee,proto3" json:"compensationCommittee"` //薪酬委员会(1:Member 2:Chair) + NominatingCommittee int32 `protobuf:"varint,4,opt,name=nominatingCommittee,proto3" json:"nominatingCommittee"` //提名委员会(1:Member 2:Chair) + LangSetting []*LangSetting `protobuf:"bytes,5,rep,name=langSetting,proto3" json:"langSetting"` //语言数据 + Status int32 `protobuf:"varint,6,opt,name=status,proto3" json:"status"` //状态 + Sort int32 `protobuf:"varint,7,opt,name=sort,proto3" json:"sort"` //排序 + UpdatedAt string `protobuf:"bytes,8,opt,name=updatedAt,proto3" json:"updatedAt"` //更新时间 + Operator string `protobuf:"bytes,9,opt,name=operator,proto3" json:"operator"` //操作人 + OperatorId int32 `protobuf:"varint,10,opt,name=operatorId,proto3" json:"operatorId"` //操作人ID } func (x *CommitteeAppointments) Reset() { *x = CommitteeAppointments{} if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[22] + mi := &file_api_members_members_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1509,7 +2473,7 @@ func (x *CommitteeAppointments) String() string { func (*CommitteeAppointments) ProtoMessage() {} func (x *CommitteeAppointments) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[22] + mi := &file_api_members_members_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1522,23 +2486,16 @@ func (x *CommitteeAppointments) ProtoReflect() protoreflect.Message { // Deprecated: Use CommitteeAppointments.ProtoReflect.Descriptor instead. func (*CommitteeAppointments) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{22} + return file_api_members_members_proto_rawDescGZIP(), []int{38} } -func (x *CommitteeAppointments) GetName() string { +func (x *CommitteeAppointments) GetUuid() string { if x != nil { - return x.Name + return x.Uuid } return "" } -func (x *CommitteeAppointments) GetStatus() int32 { - if x != nil { - return x.Status - } - return 0 -} - func (x *CommitteeAppointments) GetAuditCommittee() int32 { if x != nil { return x.AuditCommittee @@ -1560,33 +2517,487 @@ func (x *CommitteeAppointments) GetNominatingCommittee() int32 { return 0 } -func (x *CommitteeAppointments) GetIsSetting() int32 { +func (x *CommitteeAppointments) GetLangSetting() []*LangSetting { + if x != nil { + return x.LangSetting + } + return nil +} + +func (x *CommitteeAppointments) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *CommitteeAppointments) GetSort() int32 { + if x != nil { + return x.Sort + } + return 0 +} + +func (x *CommitteeAppointments) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +func (x *CommitteeAppointments) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *CommitteeAppointments) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type CommitteeAppointmentsLang struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LangType string `protobuf:"bytes,1,opt,name=langType,proto3" json:"langType"` //语言类型 + Data *CommitteeAppointmentsLangData `protobuf:"bytes,2,opt,name=data,proto3" json:"data"` //语言数据 +} + +func (x *CommitteeAppointmentsLang) Reset() { + *x = CommitteeAppointmentsLang{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommitteeAppointmentsLang) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommitteeAppointmentsLang) ProtoMessage() {} + +func (x *CommitteeAppointmentsLang) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[39] + 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 CommitteeAppointmentsLang.ProtoReflect.Descriptor instead. +func (*CommitteeAppointmentsLang) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{39} +} + +func (x *CommitteeAppointmentsLang) GetLangType() string { + if x != nil { + return x.LangType + } + return "" +} + +func (x *CommitteeAppointmentsLang) GetData() *CommitteeAppointmentsLangData { + if x != nil { + return x.Data + } + return nil +} + +type CommitteeAppointmentsLangData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` //姓名 + AuditCommittee int32 `protobuf:"varint,2,opt,name=auditCommittee,proto3" json:"auditCommittee"` //审计委员会(1:Member 2:Chair) + CompensationCommittee int32 `protobuf:"varint,3,opt,name=compensationCommittee,proto3" json:"compensationCommittee"` //薪酬委员会(1:Member 2:Chair) + NominatingCommittee int32 `protobuf:"varint,4,opt,name=nominatingCommittee,proto3" json:"nominatingCommittee"` //提名委员会(1:Member 2:Chair) + IsSetting int32 `protobuf:"varint,5,opt,name=isSetting,proto3" json:"isSetting"` //是否设置 +} + +func (x *CommitteeAppointmentsLangData) Reset() { + *x = CommitteeAppointmentsLangData{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommitteeAppointmentsLangData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommitteeAppointmentsLangData) ProtoMessage() {} + +func (x *CommitteeAppointmentsLangData) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[40] + 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 CommitteeAppointmentsLangData.ProtoReflect.Descriptor instead. +func (*CommitteeAppointmentsLangData) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{40} +} + +func (x *CommitteeAppointmentsLangData) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CommitteeAppointmentsLangData) GetAuditCommittee() int32 { + if x != nil { + return x.AuditCommittee + } + return 0 +} + +func (x *CommitteeAppointmentsLangData) GetCompensationCommittee() int32 { + if x != nil { + return x.CompensationCommittee + } + return 0 +} + +func (x *CommitteeAppointmentsLangData) GetNominatingCommittee() int32 { + if x != nil { + return x.NominatingCommittee + } + return 0 +} + +func (x *CommitteeAppointmentsLangData) GetIsSetting() int32 { if x != nil { return x.IsSetting } return 0 } +type AddCommitteeAppointmentsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + AuditCommittee int32 `protobuf:"varint,2,opt,name=auditCommittee,proto3" json:"auditCommittee"` //审计委员会(1:Member 2:Chair) + CompensationCommittee int32 `protobuf:"varint,3,opt,name=compensationCommittee,proto3" json:"compensationCommittee"` //薪酬委员会(1:Member 2:Chair) + NominatingCommittee int32 `protobuf:"varint,4,opt,name=nominatingCommittee,proto3" json:"nominatingCommittee"` //提名委员会(1:Member 2:Chair) + DataByLang []*CommitteeAppointmentsLang `protobuf:"bytes,5,rep,name=dataByLang,proto3" json:"dataByLang"` //语言数据 + Status int32 `protobuf:"varint,6,opt,name=status,proto3" json:"status"` //状态 + Sort int32 `protobuf:"varint,7,opt,name=sort,proto3" json:"sort"` //排序 + Operator string `protobuf:"bytes,8,opt,name=operator,proto3" json:"operator"` //操作人 + OperatorId int32 `protobuf:"varint,9,opt,name=operatorId,proto3" json:"operatorId"` //操作人ID +} + +func (x *AddCommitteeAppointmentsReq) Reset() { + *x = AddCommitteeAppointmentsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddCommitteeAppointmentsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddCommitteeAppointmentsReq) ProtoMessage() {} + +func (x *AddCommitteeAppointmentsReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[41] + 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 AddCommitteeAppointmentsReq.ProtoReflect.Descriptor instead. +func (*AddCommitteeAppointmentsReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{41} +} + +func (x *AddCommitteeAppointmentsReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *AddCommitteeAppointmentsReq) GetAuditCommittee() int32 { + if x != nil { + return x.AuditCommittee + } + return 0 +} + +func (x *AddCommitteeAppointmentsReq) GetCompensationCommittee() int32 { + if x != nil { + return x.CompensationCommittee + } + return 0 +} + +func (x *AddCommitteeAppointmentsReq) GetNominatingCommittee() int32 { + if x != nil { + return x.NominatingCommittee + } + return 0 +} + +func (x *AddCommitteeAppointmentsReq) GetDataByLang() []*CommitteeAppointmentsLang { + if x != nil { + return x.DataByLang + } + return nil +} + +func (x *AddCommitteeAppointmentsReq) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *AddCommitteeAppointmentsReq) GetSort() int32 { + if x != nil { + return x.Sort + } + return 0 +} + +func (x *AddCommitteeAppointmentsReq) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *AddCommitteeAppointmentsReq) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type AddCommitteeAppointmentsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *AddCommitteeAppointmentsResp) Reset() { + *x = AddCommitteeAppointmentsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddCommitteeAppointmentsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddCommitteeAppointmentsResp) ProtoMessage() {} + +func (x *AddCommitteeAppointmentsResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[42] + 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 AddCommitteeAppointmentsResp.ProtoReflect.Descriptor instead. +func (*AddCommitteeAppointmentsResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{42} +} + +func (x *AddCommitteeAppointmentsResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type SortAndStatusCommitteeAppointmentsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` //状态 + Sort int32 `protobuf:"varint,3,opt,name=sort,proto3" json:"sort"` //排序 + Operator string `protobuf:"bytes,4,opt,name=operator,proto3" json:"operator"` //操作人 + OperatorId int32 `protobuf:"varint,5,opt,name=operatorId,proto3" json:"operatorId"` //操作人ID +} + +func (x *SortAndStatusCommitteeAppointmentsReq) Reset() { + *x = SortAndStatusCommitteeAppointmentsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SortAndStatusCommitteeAppointmentsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SortAndStatusCommitteeAppointmentsReq) ProtoMessage() {} + +func (x *SortAndStatusCommitteeAppointmentsReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[43] + 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 SortAndStatusCommitteeAppointmentsReq.ProtoReflect.Descriptor instead. +func (*SortAndStatusCommitteeAppointmentsReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{43} +} + +func (x *SortAndStatusCommitteeAppointmentsReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *SortAndStatusCommitteeAppointmentsReq) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *SortAndStatusCommitteeAppointmentsReq) GetSort() int32 { + if x != nil { + return x.Sort + } + return 0 +} + +func (x *SortAndStatusCommitteeAppointmentsReq) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *SortAndStatusCommitteeAppointmentsReq) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type SortAndStatusCommitteeAppointmentsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *SortAndStatusCommitteeAppointmentsResp) Reset() { + *x = SortAndStatusCommitteeAppointmentsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SortAndStatusCommitteeAppointmentsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SortAndStatusCommitteeAppointmentsResp) ProtoMessage() {} + +func (x *SortAndStatusCommitteeAppointmentsResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[44] + 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 SortAndStatusCommitteeAppointmentsResp.ProtoReflect.Descriptor instead. +func (*SortAndStatusCommitteeAppointmentsResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{44} +} + +func (x *SortAndStatusCommitteeAppointmentsResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + type EditCommitteeAppointmentsReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` - Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status"` - AuditCommittee int32 `protobuf:"varint,4,opt,name=auditCommittee,proto3" json:"auditCommittee"` - CompensationCommittee int32 `protobuf:"varint,5,opt,name=compensationCommittee,proto3" json:"compensationCommittee"` - NominatingCommittee int32 `protobuf:"varint,6,opt,name=nominatingCommittee,proto3" json:"nominatingCommittee"` - IsSetting int32 `protobuf:"varint,7,opt,name=isSetting,proto3" json:"isSetting"` - Operator string `protobuf:"bytes,8,opt,name=operator,proto3" json:"operator"` - OperatorId int32 `protobuf:"varint,9,opt,name=operatorId,proto3" json:"operatorId"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + AuditCommittee int32 `protobuf:"varint,2,opt,name=auditCommittee,proto3" json:"auditCommittee"` //审计委员会(1:Member 2:Chair) + CompensationCommittee int32 `protobuf:"varint,3,opt,name=compensationCommittee,proto3" json:"compensationCommittee"` //薪酬委员会(1:Member 2:Chair) + NominatingCommittee int32 `protobuf:"varint,4,opt,name=nominatingCommittee,proto3" json:"nominatingCommittee"` //提名委员会(1:Member 2:Chair) + DataByLang []*CommitteeAppointmentsLang `protobuf:"bytes,5,rep,name=dataByLang,proto3" json:"dataByLang"` //语言数据 + Status int32 `protobuf:"varint,6,opt,name=status,proto3" json:"status"` //状态 + Sort int32 `protobuf:"varint,7,opt,name=sort,proto3" json:"sort"` //排序 + UpdatedAt string `protobuf:"bytes,8,opt,name=updatedAt,proto3" json:"updatedAt"` //更新时间 + Operator string `protobuf:"bytes,9,opt,name=operator,proto3" json:"operator"` //操作人 + OperatorId int32 `protobuf:"varint,10,opt,name=operatorId,proto3" json:"operatorId"` //操作人ID } func (x *EditCommitteeAppointmentsReq) Reset() { *x = EditCommitteeAppointmentsReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[23] + mi := &file_api_members_members_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1599,7 +3010,7 @@ func (x *EditCommitteeAppointmentsReq) String() string { func (*EditCommitteeAppointmentsReq) ProtoMessage() {} func (x *EditCommitteeAppointmentsReq) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[23] + mi := &file_api_members_members_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1612,7 +3023,7 @@ func (x *EditCommitteeAppointmentsReq) ProtoReflect() protoreflect.Message { // Deprecated: Use EditCommitteeAppointmentsReq.ProtoReflect.Descriptor instead. func (*EditCommitteeAppointmentsReq) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{23} + return file_api_members_members_proto_rawDescGZIP(), []int{45} } func (x *EditCommitteeAppointmentsReq) GetUuid() string { @@ -1622,20 +3033,6 @@ func (x *EditCommitteeAppointmentsReq) GetUuid() string { return "" } -func (x *EditCommitteeAppointmentsReq) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *EditCommitteeAppointmentsReq) GetStatus() int32 { - if x != nil { - return x.Status - } - return 0 -} - func (x *EditCommitteeAppointmentsReq) GetAuditCommittee() int32 { if x != nil { return x.AuditCommittee @@ -1657,13 +3054,34 @@ func (x *EditCommitteeAppointmentsReq) GetNominatingCommittee() int32 { return 0 } -func (x *EditCommitteeAppointmentsReq) GetIsSetting() int32 { +func (x *EditCommitteeAppointmentsReq) GetDataByLang() []*CommitteeAppointmentsLang { if x != nil { - return x.IsSetting + return x.DataByLang + } + return nil +} + +func (x *EditCommitteeAppointmentsReq) GetStatus() int32 { + if x != nil { + return x.Status } return 0 } +func (x *EditCommitteeAppointmentsReq) GetSort() int32 { + if x != nil { + return x.Sort + } + return 0 +} + +func (x *EditCommitteeAppointmentsReq) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + func (x *EditCommitteeAppointmentsReq) GetOperator() string { if x != nil { return x.Operator @@ -1689,7 +3107,7 @@ type EditCommitteeAppointmentsResp struct { func (x *EditCommitteeAppointmentsResp) Reset() { *x = EditCommitteeAppointmentsResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[24] + mi := &file_api_members_members_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1702,7 +3120,7 @@ func (x *EditCommitteeAppointmentsResp) String() string { func (*EditCommitteeAppointmentsResp) ProtoMessage() {} func (x *EditCommitteeAppointmentsResp) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[24] + mi := &file_api_members_members_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1715,7 +3133,7 @@ func (x *EditCommitteeAppointmentsResp) ProtoReflect() protoreflect.Message { // Deprecated: Use EditCommitteeAppointmentsResp.ProtoReflect.Descriptor instead. func (*EditCommitteeAppointmentsResp) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{24} + return file_api_members_members_proto_rawDescGZIP(), []int{46} } func (x *EditCommitteeAppointmentsResp) GetMsg() string { @@ -1725,16 +3143,364 @@ func (x *EditCommitteeAppointmentsResp) GetMsg() string { return "" } +type DeleteCommitteeAppointmentsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` +} + +func (x *DeleteCommitteeAppointmentsReq) Reset() { + *x = DeleteCommitteeAppointmentsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteCommitteeAppointmentsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteCommitteeAppointmentsReq) ProtoMessage() {} + +func (x *DeleteCommitteeAppointmentsReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[47] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteCommitteeAppointmentsReq.ProtoReflect.Descriptor instead. +func (*DeleteCommitteeAppointmentsReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{47} +} + +func (x *DeleteCommitteeAppointmentsReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +type DeleteCommitteeAppointmentsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *DeleteCommitteeAppointmentsResp) Reset() { + *x = DeleteCommitteeAppointmentsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteCommitteeAppointmentsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteCommitteeAppointmentsResp) ProtoMessage() {} + +func (x *DeleteCommitteeAppointmentsResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[48] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteCommitteeAppointmentsResp.ProtoReflect.Descriptor instead. +func (*DeleteCommitteeAppointmentsResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{48} +} + +func (x *DeleteCommitteeAppointmentsResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type GetCommitteeAppointmentsListReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize"` + Filtrate *Filtrate `protobuf:"bytes,3,opt,name=filtrate,proto3" json:"filtrate"` +} + +func (x *GetCommitteeAppointmentsListReq) Reset() { + *x = GetCommitteeAppointmentsListReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetCommitteeAppointmentsListReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetCommitteeAppointmentsListReq) ProtoMessage() {} + +func (x *GetCommitteeAppointmentsListReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[49] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetCommitteeAppointmentsListReq.ProtoReflect.Descriptor instead. +func (*GetCommitteeAppointmentsListReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{49} +} + +func (x *GetCommitteeAppointmentsListReq) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *GetCommitteeAppointmentsListReq) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *GetCommitteeAppointmentsListReq) GetFiltrate() *Filtrate { + if x != nil { + return x.Filtrate + } + return nil +} + +type GetCommitteeAppointmentsListResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` + Page int32 `protobuf:"varint,2,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize"` + Total int32 `protobuf:"varint,4,opt,name=total,proto3" json:"total"` + Data []*CommitteeAppointments `protobuf:"bytes,5,rep,name=data,proto3" json:"data"` +} + +func (x *GetCommitteeAppointmentsListResp) Reset() { + *x = GetCommitteeAppointmentsListResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetCommitteeAppointmentsListResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetCommitteeAppointmentsListResp) ProtoMessage() {} + +func (x *GetCommitteeAppointmentsListResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[50] + 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 GetCommitteeAppointmentsListResp.ProtoReflect.Descriptor instead. +func (*GetCommitteeAppointmentsListResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{50} +} + +func (x *GetCommitteeAppointmentsListResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *GetCommitteeAppointmentsListResp) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *GetCommitteeAppointmentsListResp) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *GetCommitteeAppointmentsListResp) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *GetCommitteeAppointmentsListResp) GetData() []*CommitteeAppointments { + if x != nil { + return x.Data + } + return nil +} + +type GetCommitteeAppointmentsInfoReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` +} + +func (x *GetCommitteeAppointmentsInfoReq) Reset() { + *x = GetCommitteeAppointmentsInfoReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetCommitteeAppointmentsInfoReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetCommitteeAppointmentsInfoReq) ProtoMessage() {} + +func (x *GetCommitteeAppointmentsInfoReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[51] + 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 GetCommitteeAppointmentsInfoReq.ProtoReflect.Descriptor instead. +func (*GetCommitteeAppointmentsInfoReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{51} +} + +func (x *GetCommitteeAppointmentsInfoReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +type GetCommitteeAppointmentsInfoResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` + Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid"` + DataByLang []*CommitteeAppointmentsLang `protobuf:"bytes,3,rep,name=dataByLang,proto3" json:"dataByLang"` +} + +func (x *GetCommitteeAppointmentsInfoResp) Reset() { + *x = GetCommitteeAppointmentsInfoResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetCommitteeAppointmentsInfoResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetCommitteeAppointmentsInfoResp) ProtoMessage() {} + +func (x *GetCommitteeAppointmentsInfoResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[52] + 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 GetCommitteeAppointmentsInfoResp.ProtoReflect.Descriptor instead. +func (*GetCommitteeAppointmentsInfoResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{52} +} + +func (x *GetCommitteeAppointmentsInfoResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *GetCommitteeAppointmentsInfoResp) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *GetCommitteeAppointmentsInfoResp) GetDataByLang() []*CommitteeAppointmentsLang { + if x != nil { + return x.DataByLang + } + return nil +} + type DisplayCommitteeAppointmentsReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + LangType string `protobuf:"bytes,1,opt,name=langType,proto3" json:"langType"` //语言类型 } func (x *DisplayCommitteeAppointmentsReq) Reset() { *x = DisplayCommitteeAppointmentsReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[25] + mi := &file_api_members_members_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1747,7 +3513,7 @@ func (x *DisplayCommitteeAppointmentsReq) String() string { func (*DisplayCommitteeAppointmentsReq) ProtoMessage() {} func (x *DisplayCommitteeAppointmentsReq) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[25] + mi := &file_api_members_members_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1760,7 +3526,14 @@ func (x *DisplayCommitteeAppointmentsReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplayCommitteeAppointmentsReq.ProtoReflect.Descriptor instead. func (*DisplayCommitteeAppointmentsReq) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{25} + return file_api_members_members_proto_rawDescGZIP(), []int{53} +} + +func (x *DisplayCommitteeAppointmentsReq) GetLangType() string { + if x != nil { + return x.LangType + } + return "" } type DisplayCommitteeAppointmentsResp struct { @@ -1774,7 +3547,7 @@ type DisplayCommitteeAppointmentsResp struct { func (x *DisplayCommitteeAppointmentsResp) Reset() { *x = DisplayCommitteeAppointmentsResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[26] + mi := &file_api_members_members_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1787,7 +3560,7 @@ func (x *DisplayCommitteeAppointmentsResp) String() string { func (*DisplayCommitteeAppointmentsResp) ProtoMessage() {} func (x *DisplayCommitteeAppointmentsResp) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[26] + mi := &file_api_members_members_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1800,7 +3573,7 @@ func (x *DisplayCommitteeAppointmentsResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplayCommitteeAppointmentsResp.ProtoReflect.Descriptor instead. func (*DisplayCommitteeAppointmentsResp) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{26} + return file_api_members_members_proto_rawDescGZIP(), []int{54} } func (x *DisplayCommitteeAppointmentsResp) GetItem() []*DisplayCommitteeAppointmentsItem { @@ -1824,7 +3597,7 @@ type DisplayCommitteeAppointmentsItem struct { func (x *DisplayCommitteeAppointmentsItem) Reset() { *x = DisplayCommitteeAppointmentsItem{} if protoimpl.UnsafeEnabled { - mi := &file_api_members_members_proto_msgTypes[27] + mi := &file_api_members_members_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1837,7 +3610,7 @@ func (x *DisplayCommitteeAppointmentsItem) String() string { func (*DisplayCommitteeAppointmentsItem) ProtoMessage() {} func (x *DisplayCommitteeAppointmentsItem) ProtoReflect() protoreflect.Message { - mi := &file_api_members_members_proto_msgTypes[27] + mi := &file_api_members_members_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1850,7 +3623,7 @@ func (x *DisplayCommitteeAppointmentsItem) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplayCommitteeAppointmentsItem.ProtoReflect.Descriptor instead. func (*DisplayCommitteeAppointmentsItem) Descriptor() ([]byte, []int) { - return file_api_members_members_proto_rawDescGZIP(), []int{27} + return file_api_members_members_proto_rawDescGZIP(), []int{55} } func (x *DisplayCommitteeAppointmentsItem) GetName() string { @@ -1886,217 +3659,308 @@ var File_api_members_members_proto protoreflect.FileDescriptor var file_api_members_members_proto_rawDesc = []byte{ 0x0a, 0x19, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x22, 0xac, 0x01, 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, - 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, - 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, - 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x49, 0x64, 0x22, 0x21, 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xc1, 0x01, 0x0a, 0x0d, 0x45, 0x64, 0x69, 0x74, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, - 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, - 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, - 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x62, 0x65, 0x72, 0x73, 0x22, 0x1e, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x47, 0x0a, 0x0b, 0x4c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x96, 0x01, + 0x0a, 0x12, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x6e, 0x67, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, + 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x5d, 0x0a, 0x0e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, + 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x2f, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc2, 0x02, 0x0a, 0x0a, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x0b, + 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x4c, 0x61, 0x6e, 0x67, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, + 0x73, 0x6f, 0x72, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x22, 0x0a, 0x0e, 0x45, 0x64, - 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, - 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x25, - 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0xc7, 0x01, 0x0a, 0x10, 0x41, + 0x64, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, + 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, + 0x75, 0x69, 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, + 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x6e, 0x67, + 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x49, 0x64, 0x22, 0x25, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x98, 0x01, 0x0a, 0x1a, + 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 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, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2f, 0x0a, 0x1b, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, + 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xc8, 0x01, 0x0a, 0x11, 0x45, 0x64, 0x69, 0x74, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, + 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x49, 0x64, 0x22, 0x26, 0x0a, 0x12, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x29, 0x0a, 0x13, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x24, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x1e, 0x0a, 0x08, 0x46, - 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x71, 0x0a, 0x10, 0x47, - 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, - 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, - 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, - 0x2d, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, - 0x72, 0x61, 0x74, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x22, 0x90, - 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, - 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, - 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x23, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x22, 0x8a, 0x03, 0x0a, 0x06, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x28, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, + 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, + 0x75, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, + 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x52, 0x08, 0x66, 0x69, + 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x22, 0x98, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, + 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x27, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x22, 0x2a, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x76, 0x0a, + 0x15, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x37, 0x0a, 0x0a, + 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, + 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x22, 0x32, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, + 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x4b, 0x0a, 0x15, 0x44, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x32, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, + 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x7b, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, + 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, + 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x69, 0x0a, 0x14, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6c, + 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, + 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, + 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, + 0x4c, 0x61, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x86, + 0x01, 0x0a, 0x18, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xb2, 0x02, 0x0a, 0x10, 0x42, 0x6f, 0x61, 0x72, + 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, - 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, - 0x72, 0x74, 0x12, 0x33, 0x0a, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x10, 0x62, 0x6f, 0x61, 0x72, 0x64, - 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x42, 0x6f, 0x61, 0x72, - 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x10, 0x62, 0x6f, - 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x54, - 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, - 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x15, 0x63, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xa6, - 0x01, 0x0a, 0x0a, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, - 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xfd, 0x01, 0x0a, 0x11, 0x45, 0x64, 0x69, 0x74, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, - 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, - 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x26, 0x0a, 0x12, 0x45, 0x64, 0x69, 0x74, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, + 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, + 0x0a, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x4c, 0x61, + 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, + 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0xd3, 0x01, 0x0a, + 0x16, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x3d, 0x0a, 0x0a, 0x64, + 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, + 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, + 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x49, 0x64, 0x22, 0x2b, 0x0a, 0x17, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, + 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, - 0x16, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x22, 0x4b, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x32, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, - 0x69, 0x74, 0x65, 0x6d, 0x22, 0x7b, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, - 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x96, 0x01, 0x0a, 0x10, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 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, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, - 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xed, 0x01, 0x0a, 0x17, 0x45, - 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, - 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, - 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x18, 0x45, 0x64, - 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x1c, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x22, 0x56, 0x0a, 0x1b, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x37, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x6a, - 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, - 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, - 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf1, 0x01, 0x0a, 0x15, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x9e, 0x01, 0x0a, 0x20, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 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, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, - 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, - 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xc8, - 0x02, 0x0a, 0x1c, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, - 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, - 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, - 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, + 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, + 0x22, 0x35, 0x0a, 0x21, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xf2, 0x01, 0x0a, 0x17, 0x45, 0x64, 0x69, 0x74, + 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, + 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x3d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, + 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, + 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, + 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x18, + 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x2f, 0x0a, 0x19, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x2e, 0x0a, 0x1a, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x7b, 0x0a, 0x1a, 0x47, + 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x66, 0x69, 0x6c, + 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x52, 0x08, + 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, + 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, + 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x12, 0x2d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, + 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, + 0x30, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x22, 0x82, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, + 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x3d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, + 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, + 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x22, 0x38, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x73, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, + 0x22, 0x56, 0x0a, 0x1b, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, + 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x37, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x74, + 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x6a, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, + 0x69, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, + 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf9, 0x02, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, + 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, + 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, + 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, - 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x74, 0x65, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, - 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x1d, 0x45, 0x64, 0x69, - 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, - 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x21, 0x0a, 0x1f, - 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, - 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x22, - 0x61, 0x0a, 0x20, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, - 0x65, 0x6d, 0x22, 0xc6, 0x01, 0x0a, 0x20, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, + 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x6c, + 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, + 0x22, 0x73, 0x0a, 0x19, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1a, 0x0a, + 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe1, 0x01, 0x0a, 0x1d, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, + 0x61, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, @@ -2106,62 +3970,272 @@ var file_api_members_members_proto_rawDesc = []byte{ 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x32, 0xd4, 0x06, 0x0a, 0x07, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x12, 0x15, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, - 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x0a, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x12, 0x16, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x43, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x12, 0x18, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x49, 0x0a, 0x0e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x12, 0x1a, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, 0x44, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1e, - 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5b, - 0x0a, 0x14, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x20, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x64, 0x0a, 0x17, 0x44, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, - 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x6a, 0x0a, 0x19, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, - 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, + 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, + 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, + 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xed, 0x02, 0x0a, 0x1b, 0x41, 0x64, + 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x26, 0x0a, + 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, + 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x42, 0x0a, + 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, + 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, + 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x30, 0x0a, 0x1c, 0x41, 0x64, 0x64, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xa3, 0x01, 0x0a, 0x25, + 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 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, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, + 0x64, 0x22, 0x3a, 0x0a, 0x26, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, + 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x8c, 0x03, + 0x0a, 0x1c, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, + 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, + 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, + 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, + 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, + 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, + 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, + 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, + 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, + 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, + 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x1d, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x73, 0x0a, - 0x1c, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, - 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x28, 0x2e, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, + 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, + 0x34, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x33, 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x80, 0x01, 0x0a, 0x1f, 0x47, + 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, + 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, + 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, + 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x11, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x72, + 0x61, 0x74, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x22, 0xae, 0x01, + 0x0a, 0x20, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, + 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, + 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x32, 0x0a, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x35, + 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x8c, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, + 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, + 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, + 0x4c, 0x61, 0x6e, 0x67, 0x22, 0x3d, 0x0a, 0x1f, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, + 0x79, 0x70, 0x65, 0x22, 0x61, 0x0a, 0x20, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, + 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, + 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x74, 0x65, 0x6d, + 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0xc6, 0x01, 0x0a, 0x20, 0x44, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, + 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, + 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x32, + 0xc1, 0x10, 0x0a, 0x07, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x46, 0x0a, 0x0d, 0x41, + 0x64, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x2e, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x64, 0x0a, 0x17, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x23, + 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x6f, + 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x49, 0x0a, 0x0e, 0x45, 0x64, 0x69, + 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, 0x47, 0x65, 0x74, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, + 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, + 0x11, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x1a, 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x58, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1f, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x76, 0x0a, 0x1d, 0x53, + 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x6f, 0x61, 0x72, + 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x29, 0x2e, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x2a, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x5b, 0x0a, 0x14, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, + 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x20, 0x2e, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, + 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, + 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x61, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, + 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x22, 0x2e, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x61, 0x72, 0x64, + 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x23, + 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x64, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, + 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23, + 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, + 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, + 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x64, 0x0a, 0x17, 0x47, 0x65, 0x74, + 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, + 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x64, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, + 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, 0x72, + 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, + 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x67, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x85, + 0x01, 0x0a, 0x22, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, + 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x2f, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, + 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6a, 0x0a, 0x19, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, + 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x70, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x27, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x28, 0x2e, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x73, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, + 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x29, + 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x73, 0x0a, 0x1c, 0x47, 0x65, 0x74, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x2e, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, + 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, + 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x73, + 0x0a, 0x1c, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x28, + 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2176,71 +4250,137 @@ func file_api_members_members_proto_rawDescGZIP() []byte { return file_api_members_members_proto_rawDescData } -var file_api_members_members_proto_msgTypes = make([]protoimpl.MessageInfo, 28) +var file_api_members_members_proto_msgTypes = make([]protoimpl.MessageInfo, 56) var file_api_members_members_proto_goTypes = []interface{}{ - (*AddMemberReq)(nil), // 0: members.AddMemberReq - (*AddMemberResp)(nil), // 1: members.AddMemberResp - (*EditMemberReq)(nil), // 2: members.EditMemberReq - (*EditMemberResp)(nil), // 3: members.EditMemberResp - (*DeleteMemberReq)(nil), // 4: members.DeleteMemberReq - (*DeleteMemberResp)(nil), // 5: members.DeleteMemberResp - (*Filtrate)(nil), // 6: members.Filtrate - (*GetMemberListReq)(nil), // 7: members.GetMemberListReq - (*GetMemberListResp)(nil), // 8: members.GetMemberListResp - (*Member)(nil), // 9: members.Member - (*Management)(nil), // 10: members.Management - (*EditManagementReq)(nil), // 11: members.EditManagementReq - (*EditManagementResp)(nil), // 12: members.EditManagementResp - (*DisplayManagementReq)(nil), // 13: members.DisplayManagementReq - (*DisplayManagementResp)(nil), // 14: members.DisplayManagementResp - (*DisplayManagementItem)(nil), // 15: members.DisplayManagementItem - (*BoardOfDirectors)(nil), // 16: members.BoardOfDirectors - (*EditBoardOfDirectorsReq)(nil), // 17: members.EditBoardOfDirectorsReq - (*EditBoardOfDirectorsResp)(nil), // 18: members.EditBoardOfDirectorsResp - (*DisplayBoardOfDirectorsReq)(nil), // 19: members.DisplayBoardOfDirectorsReq - (*DisplayBoardOfDirectorsResp)(nil), // 20: members.DisplayBoardOfDirectorsResp - (*DisplayBoardOfDirectorItem)(nil), // 21: members.DisplayBoardOfDirectorItem - (*CommitteeAppointments)(nil), // 22: members.CommitteeAppointments - (*EditCommitteeAppointmentsReq)(nil), // 23: members.EditCommitteeAppointmentsReq - (*EditCommitteeAppointmentsResp)(nil), // 24: members.EditCommitteeAppointmentsResp - (*DisplayCommitteeAppointmentsReq)(nil), // 25: members.DisplayCommitteeAppointmentsReq - (*DisplayCommitteeAppointmentsResp)(nil), // 26: members.DisplayCommitteeAppointmentsResp - (*DisplayCommitteeAppointmentsItem)(nil), // 27: members.DisplayCommitteeAppointmentsItem + (*Filtrate)(nil), // 0: members.Filtrate + (*LangSetting)(nil), // 1: members.LangSetting + (*ManagementLangData)(nil), // 2: members.ManagementLangData + (*ManagementLang)(nil), // 3: members.ManagementLang + (*Management)(nil), // 4: members.Management + (*AddManagementReq)(nil), // 5: members.AddManagementReq + (*AddManagementResp)(nil), // 6: members.AddManagementResp + (*SortAndStatusManagementReq)(nil), // 7: members.SortAndStatusManagementReq + (*SortAndStatusManagementResp)(nil), // 8: members.SortAndStatusManagementResp + (*EditManagementReq)(nil), // 9: members.EditManagementReq + (*EditManagementResp)(nil), // 10: members.EditManagementResp + (*DeleteManagementReq)(nil), // 11: members.DeleteManagementReq + (*DeleteManagementResp)(nil), // 12: members.DeleteManagementResp + (*GetManagementListReq)(nil), // 13: members.GetManagementListReq + (*GetManagementListResp)(nil), // 14: members.GetManagementListResp + (*GetManagementInfoReq)(nil), // 15: members.GetManagementInfoReq + (*GetManagementInfoResp)(nil), // 16: members.GetManagementInfoResp + (*DisplayManagementReq)(nil), // 17: members.DisplayManagementReq + (*DisplayManagementResp)(nil), // 18: members.DisplayManagementResp + (*DisplayManagementItem)(nil), // 19: members.DisplayManagementItem + (*BoardOfDirectorsLang)(nil), // 20: members.BoardOfDirectorsLang + (*BoardOfDirectorsLangData)(nil), // 21: members.BoardOfDirectorsLangData + (*BoardOfDirectors)(nil), // 22: members.BoardOfDirectors + (*AddBoardOfDirectorsReq)(nil), // 23: members.AddBoardOfDirectorsReq + (*AddBoardOfDirectorsResp)(nil), // 24: members.AddBoardOfDirectorsResp + (*SortAndStatusBoardOfDirectorsReq)(nil), // 25: members.SortAndStatusBoardOfDirectorsReq + (*SortAndStatusBoardOfDirectorsResp)(nil), // 26: members.SortAndStatusBoardOfDirectorsResp + (*EditBoardOfDirectorsReq)(nil), // 27: members.EditBoardOfDirectorsReq + (*EditBoardOfDirectorsResp)(nil), // 28: members.EditBoardOfDirectorsResp + (*DeleteBoardOfDirectorsReq)(nil), // 29: members.DeleteBoardOfDirectorsReq + (*DeleteBoardOfDirectorsResp)(nil), // 30: members.DeleteBoardOfDirectorsResp + (*GetBoardOfDirectorsListReq)(nil), // 31: members.GetBoardOfDirectorsListReq + (*GetBoardOfDirectorsListResp)(nil), // 32: members.GetBoardOfDirectorsListResp + (*GetBoardOfDirectorsInfoReq)(nil), // 33: members.GetBoardOfDirectorsInfoReq + (*GetBoardOfDirectorsInfoResp)(nil), // 34: members.GetBoardOfDirectorsInfoResp + (*DisplayBoardOfDirectorsReq)(nil), // 35: members.DisplayBoardOfDirectorsReq + (*DisplayBoardOfDirectorsResp)(nil), // 36: members.DisplayBoardOfDirectorsResp + (*DisplayBoardOfDirectorItem)(nil), // 37: members.DisplayBoardOfDirectorItem + (*CommitteeAppointments)(nil), // 38: members.CommitteeAppointments + (*CommitteeAppointmentsLang)(nil), // 39: members.CommitteeAppointmentsLang + (*CommitteeAppointmentsLangData)(nil), // 40: members.CommitteeAppointmentsLangData + (*AddCommitteeAppointmentsReq)(nil), // 41: members.AddCommitteeAppointmentsReq + (*AddCommitteeAppointmentsResp)(nil), // 42: members.AddCommitteeAppointmentsResp + (*SortAndStatusCommitteeAppointmentsReq)(nil), // 43: members.SortAndStatusCommitteeAppointmentsReq + (*SortAndStatusCommitteeAppointmentsResp)(nil), // 44: members.SortAndStatusCommitteeAppointmentsResp + (*EditCommitteeAppointmentsReq)(nil), // 45: members.EditCommitteeAppointmentsReq + (*EditCommitteeAppointmentsResp)(nil), // 46: members.EditCommitteeAppointmentsResp + (*DeleteCommitteeAppointmentsReq)(nil), // 47: members.DeleteCommitteeAppointmentsReq + (*DeleteCommitteeAppointmentsResp)(nil), // 48: members.DeleteCommitteeAppointmentsResp + (*GetCommitteeAppointmentsListReq)(nil), // 49: members.GetCommitteeAppointmentsListReq + (*GetCommitteeAppointmentsListResp)(nil), // 50: members.GetCommitteeAppointmentsListResp + (*GetCommitteeAppointmentsInfoReq)(nil), // 51: members.GetCommitteeAppointmentsInfoReq + (*GetCommitteeAppointmentsInfoResp)(nil), // 52: members.GetCommitteeAppointmentsInfoResp + (*DisplayCommitteeAppointmentsReq)(nil), // 53: members.DisplayCommitteeAppointmentsReq + (*DisplayCommitteeAppointmentsResp)(nil), // 54: members.DisplayCommitteeAppointmentsResp + (*DisplayCommitteeAppointmentsItem)(nil), // 55: members.DisplayCommitteeAppointmentsItem } var file_api_members_members_proto_depIdxs = []int32{ - 6, // 0: members.GetMemberListReq.filtrate:type_name -> members.Filtrate - 9, // 1: members.GetMemberListResp.data:type_name -> members.Member - 10, // 2: members.Member.management:type_name -> members.Management - 16, // 3: members.Member.boardOfDirectors:type_name -> members.BoardOfDirectors - 22, // 4: members.Member.committeeAppointments:type_name -> members.CommitteeAppointments - 15, // 5: members.DisplayManagementResp.item:type_name -> members.DisplayManagementItem - 21, // 6: members.DisplayBoardOfDirectorsResp.item:type_name -> members.DisplayBoardOfDirectorItem - 27, // 7: members.DisplayCommitteeAppointmentsResp.item:type_name -> members.DisplayCommitteeAppointmentsItem - 0, // 8: members.Members.AddMember:input_type -> members.AddMemberReq - 2, // 9: members.Members.EditMember:input_type -> members.EditMemberReq - 4, // 10: members.Members.DeleteMember:input_type -> members.DeleteMemberReq - 7, // 11: members.Members.GetMemberList:input_type -> members.GetMemberListReq - 11, // 12: members.Members.EditManagement:input_type -> members.EditManagementReq - 13, // 13: members.Members.DisplayManagement:input_type -> members.DisplayManagementReq - 17, // 14: members.Members.EditBoardOfDirectors:input_type -> members.EditBoardOfDirectorsReq - 19, // 15: members.Members.DisplayBoardOfDirectors:input_type -> members.DisplayBoardOfDirectorsReq - 23, // 16: members.Members.EditCommitteeAppointments:input_type -> members.EditCommitteeAppointmentsReq - 25, // 17: members.Members.DisplayCommitteeAppointments:input_type -> members.DisplayCommitteeAppointmentsReq - 1, // 18: members.Members.AddMember:output_type -> members.AddMemberResp - 3, // 19: members.Members.EditMember:output_type -> members.EditMemberResp - 5, // 20: members.Members.DeleteMember:output_type -> members.DeleteMemberResp - 8, // 21: members.Members.GetMemberList:output_type -> members.GetMemberListResp - 12, // 22: members.Members.EditManagement:output_type -> members.EditManagementResp - 14, // 23: members.Members.DisplayManagement:output_type -> members.DisplayManagementResp - 18, // 24: members.Members.EditBoardOfDirectors:output_type -> members.EditBoardOfDirectorsResp - 20, // 25: members.Members.DisplayBoardOfDirectors:output_type -> members.DisplayBoardOfDirectorsResp - 24, // 26: members.Members.EditCommitteeAppointments:output_type -> members.EditCommitteeAppointmentsResp - 26, // 27: members.Members.DisplayCommitteeAppointments:output_type -> members.DisplayCommitteeAppointmentsResp - 18, // [18:28] is the sub-list for method output_type - 8, // [8:18] is the sub-list for method input_type - 8, // [8:8] is the sub-list for extension type_name - 8, // [8:8] is the sub-list for extension extendee - 0, // [0:8] is the sub-list for field type_name + 2, // 0: members.ManagementLang.data:type_name -> members.ManagementLangData + 1, // 1: members.Management.langSetting:type_name -> members.LangSetting + 3, // 2: members.AddManagementReq.dataByLang:type_name -> members.ManagementLang + 3, // 3: members.EditManagementReq.dataByLang:type_name -> members.ManagementLang + 0, // 4: members.GetManagementListReq.filtrate:type_name -> members.Filtrate + 4, // 5: members.GetManagementListResp.data:type_name -> members.Management + 3, // 6: members.GetManagementInfoResp.dataByLang:type_name -> members.ManagementLang + 19, // 7: members.DisplayManagementResp.item:type_name -> members.DisplayManagementItem + 21, // 8: members.BoardOfDirectorsLang.data:type_name -> members.BoardOfDirectorsLangData + 1, // 9: members.BoardOfDirectors.langSetting:type_name -> members.LangSetting + 20, // 10: members.AddBoardOfDirectorsReq.dataByLang:type_name -> members.BoardOfDirectorsLang + 20, // 11: members.EditBoardOfDirectorsReq.dataByLang:type_name -> members.BoardOfDirectorsLang + 0, // 12: members.GetBoardOfDirectorsListReq.filtrate:type_name -> members.Filtrate + 22, // 13: members.GetBoardOfDirectorsListResp.data:type_name -> members.BoardOfDirectors + 20, // 14: members.GetBoardOfDirectorsInfoResp.dataByLang:type_name -> members.BoardOfDirectorsLang + 37, // 15: members.DisplayBoardOfDirectorsResp.item:type_name -> members.DisplayBoardOfDirectorItem + 1, // 16: members.CommitteeAppointments.langSetting:type_name -> members.LangSetting + 40, // 17: members.CommitteeAppointmentsLang.data:type_name -> members.CommitteeAppointmentsLangData + 39, // 18: members.AddCommitteeAppointmentsReq.dataByLang:type_name -> members.CommitteeAppointmentsLang + 39, // 19: members.EditCommitteeAppointmentsReq.dataByLang:type_name -> members.CommitteeAppointmentsLang + 0, // 20: members.GetCommitteeAppointmentsListReq.filtrate:type_name -> members.Filtrate + 38, // 21: members.GetCommitteeAppointmentsListResp.data:type_name -> members.CommitteeAppointments + 39, // 22: members.GetCommitteeAppointmentsInfoResp.dataByLang:type_name -> members.CommitteeAppointmentsLang + 55, // 23: members.DisplayCommitteeAppointmentsResp.item:type_name -> members.DisplayCommitteeAppointmentsItem + 5, // 24: members.Members.AddManagement:input_type -> members.AddManagementReq + 7, // 25: members.Members.SortAndStatusManagement:input_type -> members.SortAndStatusManagementReq + 9, // 26: members.Members.EditManagement:input_type -> members.EditManagementReq + 11, // 27: members.Members.DeleteManagement:input_type -> members.DeleteManagementReq + 13, // 28: members.Members.GetManagementList:input_type -> members.GetManagementListReq + 15, // 29: members.Members.GetManagementInfo:input_type -> members.GetManagementInfoReq + 17, // 30: members.Members.DisplayManagement:input_type -> members.DisplayManagementReq + 23, // 31: members.Members.AddBoardOfDirectors:input_type -> members.AddBoardOfDirectorsReq + 25, // 32: members.Members.SortAndStatusBoardOfDirectors:input_type -> members.SortAndStatusBoardOfDirectorsReq + 27, // 33: members.Members.EditBoardOfDirectors:input_type -> members.EditBoardOfDirectorsReq + 29, // 34: members.Members.DeleteBoardOfDirectors:input_type -> members.DeleteBoardOfDirectorsReq + 31, // 35: members.Members.GetBoardOfDirectorsList:input_type -> members.GetBoardOfDirectorsListReq + 33, // 36: members.Members.GetBoardOfDirectorsInfo:input_type -> members.GetBoardOfDirectorsInfoReq + 35, // 37: members.Members.DisplayBoardOfDirectors:input_type -> members.DisplayBoardOfDirectorsReq + 41, // 38: members.Members.AddCommitteeAppointments:input_type -> members.AddCommitteeAppointmentsReq + 43, // 39: members.Members.SortAndStatusCommitteeAppointments:input_type -> members.SortAndStatusCommitteeAppointmentsReq + 45, // 40: members.Members.EditCommitteeAppointments:input_type -> members.EditCommitteeAppointmentsReq + 47, // 41: members.Members.DeleteCommitteeAppointments:input_type -> members.DeleteCommitteeAppointmentsReq + 49, // 42: members.Members.GetCommitteeAppointmentsList:input_type -> members.GetCommitteeAppointmentsListReq + 51, // 43: members.Members.GetCommitteeAppointmentsInfo:input_type -> members.GetCommitteeAppointmentsInfoReq + 53, // 44: members.Members.DisplayCommitteeAppointments:input_type -> members.DisplayCommitteeAppointmentsReq + 6, // 45: members.Members.AddManagement:output_type -> members.AddManagementResp + 8, // 46: members.Members.SortAndStatusManagement:output_type -> members.SortAndStatusManagementResp + 10, // 47: members.Members.EditManagement:output_type -> members.EditManagementResp + 12, // 48: members.Members.DeleteManagement:output_type -> members.DeleteManagementResp + 14, // 49: members.Members.GetManagementList:output_type -> members.GetManagementListResp + 16, // 50: members.Members.GetManagementInfo:output_type -> members.GetManagementInfoResp + 18, // 51: members.Members.DisplayManagement:output_type -> members.DisplayManagementResp + 24, // 52: members.Members.AddBoardOfDirectors:output_type -> members.AddBoardOfDirectorsResp + 26, // 53: members.Members.SortAndStatusBoardOfDirectors:output_type -> members.SortAndStatusBoardOfDirectorsResp + 28, // 54: members.Members.EditBoardOfDirectors:output_type -> members.EditBoardOfDirectorsResp + 30, // 55: members.Members.DeleteBoardOfDirectors:output_type -> members.DeleteBoardOfDirectorsResp + 32, // 56: members.Members.GetBoardOfDirectorsList:output_type -> members.GetBoardOfDirectorsListResp + 34, // 57: members.Members.GetBoardOfDirectorsInfo:output_type -> members.GetBoardOfDirectorsInfoResp + 36, // 58: members.Members.DisplayBoardOfDirectors:output_type -> members.DisplayBoardOfDirectorsResp + 42, // 59: members.Members.AddCommitteeAppointments:output_type -> members.AddCommitteeAppointmentsResp + 44, // 60: members.Members.SortAndStatusCommitteeAppointments:output_type -> members.SortAndStatusCommitteeAppointmentsResp + 46, // 61: members.Members.EditCommitteeAppointments:output_type -> members.EditCommitteeAppointmentsResp + 48, // 62: members.Members.DeleteCommitteeAppointments:output_type -> members.DeleteCommitteeAppointmentsResp + 50, // 63: members.Members.GetCommitteeAppointmentsList:output_type -> members.GetCommitteeAppointmentsListResp + 52, // 64: members.Members.GetCommitteeAppointmentsInfo:output_type -> members.GetCommitteeAppointmentsInfoResp + 54, // 65: members.Members.DisplayCommitteeAppointments:output_type -> members.DisplayCommitteeAppointmentsResp + 45, // [45:66] is the sub-list for method output_type + 24, // [24:45] is the sub-list for method input_type + 24, // [24:24] is the sub-list for extension type_name + 24, // [24:24] is the sub-list for extension extendee + 0, // [0:24] is the sub-list for field type_name } func init() { file_api_members_members_proto_init() } @@ -2250,78 +4390,6 @@ func file_api_members_members_proto_init() { } if !protoimpl.UnsafeEnabled { file_api_members_members_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddMemberReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_members_members_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddMemberResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_members_members_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EditMemberReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_members_members_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EditMemberResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_members_members_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteMemberReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_members_members_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteMemberResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_members_members_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Filtrate); i { case 0: return &v.state @@ -2333,8 +4401,8 @@ func file_api_members_members_proto_init() { return nil } } - file_api_members_members_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMemberListReq); i { + file_api_members_members_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LangSetting); i { case 0: return &v.state case 1: @@ -2345,8 +4413,8 @@ func file_api_members_members_proto_init() { return nil } } - file_api_members_members_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMemberListResp); i { + file_api_members_members_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ManagementLangData); i { case 0: return &v.state case 1: @@ -2357,8 +4425,8 @@ func file_api_members_members_proto_init() { return nil } } - file_api_members_members_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Member); i { + file_api_members_members_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ManagementLang); i { case 0: return &v.state case 1: @@ -2369,7 +4437,7 @@ func file_api_members_members_proto_init() { return nil } } - file_api_members_members_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_api_members_members_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Management); i { case 0: return &v.state @@ -2381,7 +4449,55 @@ func file_api_members_members_proto_init() { return nil } } - file_api_members_members_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_api_members_members_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddManagementReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddManagementResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SortAndStatusManagementReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SortAndStatusManagementResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EditManagementReq); i { case 0: return &v.state @@ -2393,7 +4509,7 @@ func file_api_members_members_proto_init() { return nil } } - file_api_members_members_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_api_members_members_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EditManagementResp); i { case 0: return &v.state @@ -2405,8 +4521,32 @@ func file_api_members_members_proto_init() { return nil } } + file_api_members_members_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteManagementReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteManagementResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } file_api_members_members_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisplayManagementReq); i { + switch v := v.(*GetManagementListReq); i { case 0: return &v.state case 1: @@ -2418,7 +4558,7 @@ func file_api_members_members_proto_init() { } } file_api_members_members_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisplayManagementResp); i { + switch v := v.(*GetManagementListResp); i { case 0: return &v.state case 1: @@ -2430,7 +4570,7 @@ func file_api_members_members_proto_init() { } } file_api_members_members_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisplayManagementItem); i { + switch v := v.(*GetManagementInfoReq); i { case 0: return &v.state case 1: @@ -2442,7 +4582,7 @@ func file_api_members_members_proto_init() { } } file_api_members_members_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BoardOfDirectors); i { + switch v := v.(*GetManagementInfoResp); i { case 0: return &v.state case 1: @@ -2454,7 +4594,7 @@ func file_api_members_members_proto_init() { } } file_api_members_members_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EditBoardOfDirectorsReq); i { + switch v := v.(*DisplayManagementReq); i { case 0: return &v.state case 1: @@ -2466,7 +4606,7 @@ func file_api_members_members_proto_init() { } } file_api_members_members_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EditBoardOfDirectorsResp); i { + switch v := v.(*DisplayManagementResp); i { case 0: return &v.state case 1: @@ -2478,7 +4618,7 @@ func file_api_members_members_proto_init() { } } file_api_members_members_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisplayBoardOfDirectorsReq); i { + switch v := v.(*DisplayManagementItem); i { case 0: return &v.state case 1: @@ -2490,7 +4630,7 @@ func file_api_members_members_proto_init() { } } file_api_members_members_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisplayBoardOfDirectorsResp); i { + switch v := v.(*BoardOfDirectorsLang); i { case 0: return &v.state case 1: @@ -2502,7 +4642,7 @@ func file_api_members_members_proto_init() { } } file_api_members_members_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisplayBoardOfDirectorItem); i { + switch v := v.(*BoardOfDirectorsLangData); i { case 0: return &v.state case 1: @@ -2514,7 +4654,7 @@ func file_api_members_members_proto_init() { } } file_api_members_members_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommitteeAppointments); i { + switch v := v.(*BoardOfDirectors); i { case 0: return &v.state case 1: @@ -2526,7 +4666,7 @@ func file_api_members_members_proto_init() { } } file_api_members_members_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EditCommitteeAppointmentsReq); i { + switch v := v.(*AddBoardOfDirectorsReq); i { case 0: return &v.state case 1: @@ -2538,7 +4678,7 @@ func file_api_members_members_proto_init() { } } file_api_members_members_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EditCommitteeAppointmentsResp); i { + switch v := v.(*AddBoardOfDirectorsResp); i { case 0: return &v.state case 1: @@ -2550,7 +4690,7 @@ func file_api_members_members_proto_init() { } } file_api_members_members_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisplayCommitteeAppointmentsReq); i { + switch v := v.(*SortAndStatusBoardOfDirectorsReq); i { case 0: return &v.state case 1: @@ -2562,7 +4702,7 @@ func file_api_members_members_proto_init() { } } file_api_members_members_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisplayCommitteeAppointmentsResp); i { + switch v := v.(*SortAndStatusBoardOfDirectorsResp); i { case 0: return &v.state case 1: @@ -2574,6 +4714,342 @@ func file_api_members_members_proto_init() { } } file_api_members_members_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditBoardOfDirectorsReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditBoardOfDirectorsResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteBoardOfDirectorsReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteBoardOfDirectorsResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetBoardOfDirectorsListReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetBoardOfDirectorsListResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetBoardOfDirectorsInfoReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetBoardOfDirectorsInfoResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisplayBoardOfDirectorsReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisplayBoardOfDirectorsResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisplayBoardOfDirectorItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommitteeAppointments); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommitteeAppointmentsLang); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommitteeAppointmentsLangData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddCommitteeAppointmentsReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddCommitteeAppointmentsResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SortAndStatusCommitteeAppointmentsReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SortAndStatusCommitteeAppointmentsResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditCommitteeAppointmentsReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditCommitteeAppointmentsResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteCommitteeAppointmentsReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteCommitteeAppointmentsResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetCommitteeAppointmentsListReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetCommitteeAppointmentsListResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetCommitteeAppointmentsInfoReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetCommitteeAppointmentsInfoResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisplayCommitteeAppointmentsReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisplayCommitteeAppointmentsResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DisplayCommitteeAppointmentsItem); i { case 0: return &v.state @@ -2592,7 +5068,7 @@ func file_api_members_members_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_api_members_members_proto_rawDesc, NumEnums: 0, - NumMessages: 28, + NumMessages: 56, NumExtensions: 0, NumServices: 1, }, diff --git a/api/members/members.validator.pb.go b/api/members/members.validator.pb.go index d271860..4e5e377 100644 --- a/api/members/members.validator.pb.go +++ b/api/members/members.validator.pb.go @@ -15,28 +15,72 @@ var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf -func (this *AddMemberReq) Validate() error { - return nil -} -func (this *AddMemberResp) Validate() error { - return nil -} -func (this *EditMemberReq) Validate() error { - return nil -} -func (this *EditMemberResp) Validate() error { - return nil -} -func (this *DeleteMemberReq) Validate() error { - return nil -} -func (this *DeleteMemberResp) Validate() error { - return nil -} func (this *Filtrate) Validate() error { return nil } -func (this *GetMemberListReq) Validate() error { +func (this *LangSetting) Validate() error { + return nil +} +func (this *ManagementLangData) Validate() error { + return nil +} +func (this *ManagementLang) Validate() error { + if this.Data != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Data); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Data", err) + } + } + return nil +} +func (this *Management) Validate() error { + for _, item := range this.LangSetting { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("LangSetting", err) + } + } + } + return nil +} +func (this *AddManagementReq) Validate() error { + for _, item := range this.DataByLang { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err) + } + } + } + return nil +} +func (this *AddManagementResp) Validate() error { + return nil +} +func (this *SortAndStatusManagementReq) Validate() error { + return nil +} +func (this *SortAndStatusManagementResp) Validate() error { + return nil +} +func (this *EditManagementReq) Validate() error { + for _, item := range this.DataByLang { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err) + } + } + } + return nil +} +func (this *EditManagementResp) Validate() error { + return nil +} +func (this *DeleteManagementReq) Validate() error { + return nil +} +func (this *DeleteManagementResp) Validate() error { + return nil +} +func (this *GetManagementListReq) Validate() error { if this.Filtrate != nil { if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Filtrate); err != nil { return github_com_mwitkow_go_proto_validators.FieldError("Filtrate", err) @@ -44,7 +88,7 @@ func (this *GetMemberListReq) Validate() error { } return nil } -func (this *GetMemberListResp) Validate() error { +func (this *GetManagementListResp) Validate() error { for _, item := range this.Data { if item != nil { if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { @@ -54,31 +98,17 @@ func (this *GetMemberListResp) Validate() error { } return nil } -func (this *Member) Validate() error { - if this.Management != nil { - if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Management); err != nil { - return github_com_mwitkow_go_proto_validators.FieldError("Management", err) - } - } - if this.BoardOfDirectors != nil { - if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.BoardOfDirectors); err != nil { - return github_com_mwitkow_go_proto_validators.FieldError("BoardOfDirectors", err) - } - } - if this.CommitteeAppointments != nil { - if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.CommitteeAppointments); err != nil { - return github_com_mwitkow_go_proto_validators.FieldError("CommitteeAppointments", err) - } - } +func (this *GetManagementInfoReq) Validate() error { return nil } -func (this *Management) Validate() error { - return nil -} -func (this *EditManagementReq) Validate() error { - return nil -} -func (this *EditManagementResp) Validate() error { +func (this *GetManagementInfoResp) Validate() error { + for _, item := range this.DataByLang { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err) + } + } + } return nil } func (this *DisplayManagementReq) Validate() error { @@ -97,15 +127,96 @@ func (this *DisplayManagementResp) Validate() error { func (this *DisplayManagementItem) Validate() error { return nil } +func (this *BoardOfDirectorsLang) Validate() error { + if this.Data != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Data); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Data", err) + } + } + return nil +} +func (this *BoardOfDirectorsLangData) Validate() error { + return nil +} func (this *BoardOfDirectors) Validate() error { + for _, item := range this.LangSetting { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("LangSetting", err) + } + } + } + return nil +} +func (this *AddBoardOfDirectorsReq) Validate() error { + for _, item := range this.DataByLang { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err) + } + } + } + return nil +} +func (this *AddBoardOfDirectorsResp) Validate() error { + return nil +} +func (this *SortAndStatusBoardOfDirectorsReq) Validate() error { + return nil +} +func (this *SortAndStatusBoardOfDirectorsResp) Validate() error { return nil } func (this *EditBoardOfDirectorsReq) Validate() error { + for _, item := range this.DataByLang { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err) + } + } + } return nil } func (this *EditBoardOfDirectorsResp) Validate() error { return nil } +func (this *DeleteBoardOfDirectorsReq) Validate() error { + return nil +} +func (this *DeleteBoardOfDirectorsResp) Validate() error { + return nil +} +func (this *GetBoardOfDirectorsListReq) Validate() error { + if this.Filtrate != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Filtrate); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Filtrate", err) + } + } + return nil +} +func (this *GetBoardOfDirectorsListResp) Validate() error { + for _, item := range this.Data { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Data", err) + } + } + } + return nil +} +func (this *GetBoardOfDirectorsInfoReq) Validate() error { + return nil +} +func (this *GetBoardOfDirectorsInfoResp) Validate() error { + for _, item := range this.DataByLang { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err) + } + } + } + return nil +} func (this *DisplayBoardOfDirectorsReq) Validate() error { return nil } @@ -123,14 +234,95 @@ func (this *DisplayBoardOfDirectorItem) Validate() error { return nil } func (this *CommitteeAppointments) Validate() error { + for _, item := range this.LangSetting { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("LangSetting", err) + } + } + } + return nil +} +func (this *CommitteeAppointmentsLang) Validate() error { + if this.Data != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Data); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Data", err) + } + } + return nil +} +func (this *CommitteeAppointmentsLangData) Validate() error { + return nil +} +func (this *AddCommitteeAppointmentsReq) Validate() error { + for _, item := range this.DataByLang { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err) + } + } + } + return nil +} +func (this *AddCommitteeAppointmentsResp) Validate() error { + return nil +} +func (this *SortAndStatusCommitteeAppointmentsReq) Validate() error { + return nil +} +func (this *SortAndStatusCommitteeAppointmentsResp) Validate() error { return nil } func (this *EditCommitteeAppointmentsReq) Validate() error { + for _, item := range this.DataByLang { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err) + } + } + } return nil } func (this *EditCommitteeAppointmentsResp) Validate() error { return nil } +func (this *DeleteCommitteeAppointmentsReq) Validate() error { + return nil +} +func (this *DeleteCommitteeAppointmentsResp) Validate() error { + return nil +} +func (this *GetCommitteeAppointmentsListReq) Validate() error { + if this.Filtrate != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Filtrate); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Filtrate", err) + } + } + return nil +} +func (this *GetCommitteeAppointmentsListResp) Validate() error { + for _, item := range this.Data { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Data", err) + } + } + } + return nil +} +func (this *GetCommitteeAppointmentsInfoReq) Validate() error { + return nil +} +func (this *GetCommitteeAppointmentsInfoResp) Validate() error { + for _, item := range this.DataByLang { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err) + } + } + } + return nil +} func (this *DisplayCommitteeAppointmentsReq) Validate() error { return nil } diff --git a/api/members/members_triple.pb.go b/api/members/members_triple.pb.go index 63ab9fe..512fb20 100644 --- a/api/members/members_triple.pb.go +++ b/api/members/members_triple.pb.go @@ -28,19 +28,50 @@ const _ = grpc_go.SupportPackageIsVersion7 // // 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 MembersClient interface { - // ==================================成员管理====================================== - AddMember(ctx context.Context, in *AddMemberReq, opts ...grpc_go.CallOption) (*AddMemberResp, common.ErrorWithAttachment) - EditMember(ctx context.Context, in *EditMemberReq, opts ...grpc_go.CallOption) (*EditMemberResp, common.ErrorWithAttachment) - DeleteMember(ctx context.Context, in *DeleteMemberReq, opts ...grpc_go.CallOption) (*DeleteMemberResp, common.ErrorWithAttachment) - GetMemberList(ctx context.Context, in *GetMemberListReq, opts ...grpc_go.CallOption) (*GetMemberListResp, common.ErrorWithAttachment) // ===================================成员信息管理======================================= + // 新增成员管理 + AddManagement(ctx context.Context, in *AddManagementReq, opts ...grpc_go.CallOption) (*AddManagementResp, common.ErrorWithAttachment) + // 排序和状态变更成员管理 + SortAndStatusManagement(ctx context.Context, in *SortAndStatusManagementReq, opts ...grpc_go.CallOption) (*SortAndStatusManagementResp, common.ErrorWithAttachment) + // 编辑成员管理 EditManagement(ctx context.Context, in *EditManagementReq, opts ...grpc_go.CallOption) (*EditManagementResp, common.ErrorWithAttachment) + // 删除成员管理 + DeleteManagement(ctx context.Context, in *DeleteManagementReq, opts ...grpc_go.CallOption) (*DeleteManagementResp, common.ErrorWithAttachment) + // 获取成员管理列表 + GetManagementList(ctx context.Context, in *GetManagementListReq, opts ...grpc_go.CallOption) (*GetManagementListResp, common.ErrorWithAttachment) + // 编辑成员管理信息 + GetManagementInfo(ctx context.Context, in *GetManagementInfoReq, opts ...grpc_go.CallOption) (*GetManagementInfoResp, common.ErrorWithAttachment) + // 展示成员管理列表 DisplayManagement(ctx context.Context, in *DisplayManagementReq, opts ...grpc_go.CallOption) (*DisplayManagementResp, common.ErrorWithAttachment) // ===================================董事会信息管理======================================= + // 新增董事会 + AddBoardOfDirectors(ctx context.Context, in *AddBoardOfDirectorsReq, opts ...grpc_go.CallOption) (*AddBoardOfDirectorsResp, common.ErrorWithAttachment) + // 排序和状态变更董事会 + SortAndStatusBoardOfDirectors(ctx context.Context, in *SortAndStatusBoardOfDirectorsReq, opts ...grpc_go.CallOption) (*SortAndStatusBoardOfDirectorsResp, common.ErrorWithAttachment) + // 编辑董事会 EditBoardOfDirectors(ctx context.Context, in *EditBoardOfDirectorsReq, opts ...grpc_go.CallOption) (*EditBoardOfDirectorsResp, common.ErrorWithAttachment) + // 删除董事会 + DeleteBoardOfDirectors(ctx context.Context, in *DeleteBoardOfDirectorsReq, opts ...grpc_go.CallOption) (*DeleteBoardOfDirectorsResp, common.ErrorWithAttachment) + // 获取董事会列表 + GetBoardOfDirectorsList(ctx context.Context, in *GetBoardOfDirectorsListReq, opts ...grpc_go.CallOption) (*GetBoardOfDirectorsListResp, common.ErrorWithAttachment) + // 获取董事会信息 + GetBoardOfDirectorsInfo(ctx context.Context, in *GetBoardOfDirectorsInfoReq, opts ...grpc_go.CallOption) (*GetBoardOfDirectorsInfoResp, common.ErrorWithAttachment) + // 展示董事会列表 DisplayBoardOfDirectors(ctx context.Context, in *DisplayBoardOfDirectorsReq, opts ...grpc_go.CallOption) (*DisplayBoardOfDirectorsResp, common.ErrorWithAttachment) // ==================================委员会任命管理====================================== + // 新增委员会任命 + AddCommitteeAppointments(ctx context.Context, in *AddCommitteeAppointmentsReq, opts ...grpc_go.CallOption) (*AddCommitteeAppointmentsResp, common.ErrorWithAttachment) + // 排序和状态变更委员会任命 + SortAndStatusCommitteeAppointments(ctx context.Context, in *SortAndStatusCommitteeAppointmentsReq, opts ...grpc_go.CallOption) (*SortAndStatusCommitteeAppointmentsResp, common.ErrorWithAttachment) + // 编辑委员会任命 EditCommitteeAppointments(ctx context.Context, in *EditCommitteeAppointmentsReq, opts ...grpc_go.CallOption) (*EditCommitteeAppointmentsResp, common.ErrorWithAttachment) + // 删除委员会任命 + DeleteCommitteeAppointments(ctx context.Context, in *DeleteCommitteeAppointmentsReq, opts ...grpc_go.CallOption) (*DeleteCommitteeAppointmentsResp, common.ErrorWithAttachment) + // 获取委员会任命列表 + GetCommitteeAppointmentsList(ctx context.Context, in *GetCommitteeAppointmentsListReq, opts ...grpc_go.CallOption) (*GetCommitteeAppointmentsListResp, common.ErrorWithAttachment) + // 获取委员会任命信息 + GetCommitteeAppointmentsInfo(ctx context.Context, in *GetCommitteeAppointmentsInfoReq, opts ...grpc_go.CallOption) (*GetCommitteeAppointmentsInfoResp, common.ErrorWithAttachment) + // 展示委员会任命列表 DisplayCommitteeAppointments(ctx context.Context, in *DisplayCommitteeAppointmentsReq, opts ...grpc_go.CallOption) (*DisplayCommitteeAppointmentsResp, common.ErrorWithAttachment) } @@ -49,16 +80,27 @@ type membersClient struct { } type MembersClientImpl struct { - AddMember func(ctx context.Context, in *AddMemberReq) (*AddMemberResp, error) - EditMember func(ctx context.Context, in *EditMemberReq) (*EditMemberResp, error) - DeleteMember func(ctx context.Context, in *DeleteMemberReq) (*DeleteMemberResp, error) - GetMemberList func(ctx context.Context, in *GetMemberListReq) (*GetMemberListResp, error) - EditManagement func(ctx context.Context, in *EditManagementReq) (*EditManagementResp, error) - DisplayManagement func(ctx context.Context, in *DisplayManagementReq) (*DisplayManagementResp, error) - EditBoardOfDirectors func(ctx context.Context, in *EditBoardOfDirectorsReq) (*EditBoardOfDirectorsResp, error) - DisplayBoardOfDirectors func(ctx context.Context, in *DisplayBoardOfDirectorsReq) (*DisplayBoardOfDirectorsResp, error) - EditCommitteeAppointments func(ctx context.Context, in *EditCommitteeAppointmentsReq) (*EditCommitteeAppointmentsResp, error) - DisplayCommitteeAppointments func(ctx context.Context, in *DisplayCommitteeAppointmentsReq) (*DisplayCommitteeAppointmentsResp, error) + AddManagement func(ctx context.Context, in *AddManagementReq) (*AddManagementResp, error) + SortAndStatusManagement func(ctx context.Context, in *SortAndStatusManagementReq) (*SortAndStatusManagementResp, error) + EditManagement func(ctx context.Context, in *EditManagementReq) (*EditManagementResp, error) + DeleteManagement func(ctx context.Context, in *DeleteManagementReq) (*DeleteManagementResp, error) + GetManagementList func(ctx context.Context, in *GetManagementListReq) (*GetManagementListResp, error) + GetManagementInfo func(ctx context.Context, in *GetManagementInfoReq) (*GetManagementInfoResp, error) + DisplayManagement func(ctx context.Context, in *DisplayManagementReq) (*DisplayManagementResp, error) + AddBoardOfDirectors func(ctx context.Context, in *AddBoardOfDirectorsReq) (*AddBoardOfDirectorsResp, error) + SortAndStatusBoardOfDirectors func(ctx context.Context, in *SortAndStatusBoardOfDirectorsReq) (*SortAndStatusBoardOfDirectorsResp, error) + EditBoardOfDirectors func(ctx context.Context, in *EditBoardOfDirectorsReq) (*EditBoardOfDirectorsResp, error) + DeleteBoardOfDirectors func(ctx context.Context, in *DeleteBoardOfDirectorsReq) (*DeleteBoardOfDirectorsResp, error) + GetBoardOfDirectorsList func(ctx context.Context, in *GetBoardOfDirectorsListReq) (*GetBoardOfDirectorsListResp, error) + GetBoardOfDirectorsInfo func(ctx context.Context, in *GetBoardOfDirectorsInfoReq) (*GetBoardOfDirectorsInfoResp, error) + DisplayBoardOfDirectors func(ctx context.Context, in *DisplayBoardOfDirectorsReq) (*DisplayBoardOfDirectorsResp, error) + AddCommitteeAppointments func(ctx context.Context, in *AddCommitteeAppointmentsReq) (*AddCommitteeAppointmentsResp, error) + SortAndStatusCommitteeAppointments func(ctx context.Context, in *SortAndStatusCommitteeAppointmentsReq) (*SortAndStatusCommitteeAppointmentsResp, error) + EditCommitteeAppointments func(ctx context.Context, in *EditCommitteeAppointmentsReq) (*EditCommitteeAppointmentsResp, error) + DeleteCommitteeAppointments func(ctx context.Context, in *DeleteCommitteeAppointmentsReq) (*DeleteCommitteeAppointmentsResp, error) + GetCommitteeAppointmentsList func(ctx context.Context, in *GetCommitteeAppointmentsListReq) (*GetCommitteeAppointmentsListResp, error) + GetCommitteeAppointmentsInfo func(ctx context.Context, in *GetCommitteeAppointmentsInfoReq) (*GetCommitteeAppointmentsInfoResp, error) + DisplayCommitteeAppointments func(ctx context.Context, in *DisplayCommitteeAppointmentsReq) (*DisplayCommitteeAppointmentsResp, error) } func (c *MembersClientImpl) GetDubboStub(cc *triple.TripleConn) MembersClient { @@ -73,28 +115,16 @@ func NewMembersClient(cc *triple.TripleConn) MembersClient { return &membersClient{cc} } -func (c *membersClient) AddMember(ctx context.Context, in *AddMemberReq, opts ...grpc_go.CallOption) (*AddMemberResp, common.ErrorWithAttachment) { - out := new(AddMemberResp) +func (c *membersClient) AddManagement(ctx context.Context, in *AddManagementReq, opts ...grpc_go.CallOption) (*AddManagementResp, common.ErrorWithAttachment) { + out := new(AddManagementResp) interfaceKey := ctx.Value(constant.InterfaceKey).(string) - return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AddMember", in, out) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AddManagement", in, out) } -func (c *membersClient) EditMember(ctx context.Context, in *EditMemberReq, opts ...grpc_go.CallOption) (*EditMemberResp, common.ErrorWithAttachment) { - out := new(EditMemberResp) +func (c *membersClient) SortAndStatusManagement(ctx context.Context, in *SortAndStatusManagementReq, opts ...grpc_go.CallOption) (*SortAndStatusManagementResp, common.ErrorWithAttachment) { + out := new(SortAndStatusManagementResp) interfaceKey := ctx.Value(constant.InterfaceKey).(string) - return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/EditMember", in, out) -} - -func (c *membersClient) DeleteMember(ctx context.Context, in *DeleteMemberReq, opts ...grpc_go.CallOption) (*DeleteMemberResp, common.ErrorWithAttachment) { - out := new(DeleteMemberResp) - interfaceKey := ctx.Value(constant.InterfaceKey).(string) - return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DeleteMember", in, out) -} - -func (c *membersClient) GetMemberList(ctx context.Context, in *GetMemberListReq, opts ...grpc_go.CallOption) (*GetMemberListResp, common.ErrorWithAttachment) { - out := new(GetMemberListResp) - interfaceKey := ctx.Value(constant.InterfaceKey).(string) - return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetMemberList", in, out) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SortAndStatusManagement", in, out) } func (c *membersClient) EditManagement(ctx context.Context, in *EditManagementReq, opts ...grpc_go.CallOption) (*EditManagementResp, common.ErrorWithAttachment) { @@ -103,30 +133,108 @@ func (c *membersClient) EditManagement(ctx context.Context, in *EditManagementRe return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/EditManagement", in, out) } +func (c *membersClient) DeleteManagement(ctx context.Context, in *DeleteManagementReq, opts ...grpc_go.CallOption) (*DeleteManagementResp, common.ErrorWithAttachment) { + out := new(DeleteManagementResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DeleteManagement", in, out) +} + +func (c *membersClient) GetManagementList(ctx context.Context, in *GetManagementListReq, opts ...grpc_go.CallOption) (*GetManagementListResp, common.ErrorWithAttachment) { + out := new(GetManagementListResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetManagementList", in, out) +} + +func (c *membersClient) GetManagementInfo(ctx context.Context, in *GetManagementInfoReq, opts ...grpc_go.CallOption) (*GetManagementInfoResp, common.ErrorWithAttachment) { + out := new(GetManagementInfoResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetManagementInfo", in, out) +} + func (c *membersClient) DisplayManagement(ctx context.Context, in *DisplayManagementReq, opts ...grpc_go.CallOption) (*DisplayManagementResp, common.ErrorWithAttachment) { out := new(DisplayManagementResp) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DisplayManagement", in, out) } +func (c *membersClient) AddBoardOfDirectors(ctx context.Context, in *AddBoardOfDirectorsReq, opts ...grpc_go.CallOption) (*AddBoardOfDirectorsResp, common.ErrorWithAttachment) { + out := new(AddBoardOfDirectorsResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AddBoardOfDirectors", in, out) +} + +func (c *membersClient) SortAndStatusBoardOfDirectors(ctx context.Context, in *SortAndStatusBoardOfDirectorsReq, opts ...grpc_go.CallOption) (*SortAndStatusBoardOfDirectorsResp, common.ErrorWithAttachment) { + out := new(SortAndStatusBoardOfDirectorsResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SortAndStatusBoardOfDirectors", in, out) +} + func (c *membersClient) EditBoardOfDirectors(ctx context.Context, in *EditBoardOfDirectorsReq, opts ...grpc_go.CallOption) (*EditBoardOfDirectorsResp, common.ErrorWithAttachment) { out := new(EditBoardOfDirectorsResp) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/EditBoardOfDirectors", in, out) } +func (c *membersClient) DeleteBoardOfDirectors(ctx context.Context, in *DeleteBoardOfDirectorsReq, opts ...grpc_go.CallOption) (*DeleteBoardOfDirectorsResp, common.ErrorWithAttachment) { + out := new(DeleteBoardOfDirectorsResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DeleteBoardOfDirectors", in, out) +} + +func (c *membersClient) GetBoardOfDirectorsList(ctx context.Context, in *GetBoardOfDirectorsListReq, opts ...grpc_go.CallOption) (*GetBoardOfDirectorsListResp, common.ErrorWithAttachment) { + out := new(GetBoardOfDirectorsListResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetBoardOfDirectorsList", in, out) +} + +func (c *membersClient) GetBoardOfDirectorsInfo(ctx context.Context, in *GetBoardOfDirectorsInfoReq, opts ...grpc_go.CallOption) (*GetBoardOfDirectorsInfoResp, common.ErrorWithAttachment) { + out := new(GetBoardOfDirectorsInfoResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetBoardOfDirectorsInfo", in, out) +} + func (c *membersClient) DisplayBoardOfDirectors(ctx context.Context, in *DisplayBoardOfDirectorsReq, opts ...grpc_go.CallOption) (*DisplayBoardOfDirectorsResp, common.ErrorWithAttachment) { out := new(DisplayBoardOfDirectorsResp) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DisplayBoardOfDirectors", in, out) } +func (c *membersClient) AddCommitteeAppointments(ctx context.Context, in *AddCommitteeAppointmentsReq, opts ...grpc_go.CallOption) (*AddCommitteeAppointmentsResp, common.ErrorWithAttachment) { + out := new(AddCommitteeAppointmentsResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AddCommitteeAppointments", in, out) +} + +func (c *membersClient) SortAndStatusCommitteeAppointments(ctx context.Context, in *SortAndStatusCommitteeAppointmentsReq, opts ...grpc_go.CallOption) (*SortAndStatusCommitteeAppointmentsResp, common.ErrorWithAttachment) { + out := new(SortAndStatusCommitteeAppointmentsResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SortAndStatusCommitteeAppointments", in, out) +} + func (c *membersClient) EditCommitteeAppointments(ctx context.Context, in *EditCommitteeAppointmentsReq, opts ...grpc_go.CallOption) (*EditCommitteeAppointmentsResp, common.ErrorWithAttachment) { out := new(EditCommitteeAppointmentsResp) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/EditCommitteeAppointments", in, out) } +func (c *membersClient) DeleteCommitteeAppointments(ctx context.Context, in *DeleteCommitteeAppointmentsReq, opts ...grpc_go.CallOption) (*DeleteCommitteeAppointmentsResp, common.ErrorWithAttachment) { + out := new(DeleteCommitteeAppointmentsResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DeleteCommitteeAppointments", in, out) +} + +func (c *membersClient) GetCommitteeAppointmentsList(ctx context.Context, in *GetCommitteeAppointmentsListReq, opts ...grpc_go.CallOption) (*GetCommitteeAppointmentsListResp, common.ErrorWithAttachment) { + out := new(GetCommitteeAppointmentsListResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetCommitteeAppointmentsList", in, out) +} + +func (c *membersClient) GetCommitteeAppointmentsInfo(ctx context.Context, in *GetCommitteeAppointmentsInfoReq, opts ...grpc_go.CallOption) (*GetCommitteeAppointmentsInfoResp, common.ErrorWithAttachment) { + out := new(GetCommitteeAppointmentsInfoResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetCommitteeAppointmentsInfo", in, out) +} + func (c *membersClient) DisplayCommitteeAppointments(ctx context.Context, in *DisplayCommitteeAppointmentsReq, opts ...grpc_go.CallOption) (*DisplayCommitteeAppointmentsResp, common.ErrorWithAttachment) { out := new(DisplayCommitteeAppointmentsResp) interfaceKey := ctx.Value(constant.InterfaceKey).(string) @@ -137,19 +245,50 @@ func (c *membersClient) DisplayCommitteeAppointments(ctx context.Context, in *Di // All implementations must embed UnimplementedMembersServer // for forward compatibility type MembersServer interface { - // ==================================成员管理====================================== - AddMember(context.Context, *AddMemberReq) (*AddMemberResp, error) - EditMember(context.Context, *EditMemberReq) (*EditMemberResp, error) - DeleteMember(context.Context, *DeleteMemberReq) (*DeleteMemberResp, error) - GetMemberList(context.Context, *GetMemberListReq) (*GetMemberListResp, error) // ===================================成员信息管理======================================= + // 新增成员管理 + AddManagement(context.Context, *AddManagementReq) (*AddManagementResp, error) + // 排序和状态变更成员管理 + SortAndStatusManagement(context.Context, *SortAndStatusManagementReq) (*SortAndStatusManagementResp, error) + // 编辑成员管理 EditManagement(context.Context, *EditManagementReq) (*EditManagementResp, error) + // 删除成员管理 + DeleteManagement(context.Context, *DeleteManagementReq) (*DeleteManagementResp, error) + // 获取成员管理列表 + GetManagementList(context.Context, *GetManagementListReq) (*GetManagementListResp, error) + // 编辑成员管理信息 + GetManagementInfo(context.Context, *GetManagementInfoReq) (*GetManagementInfoResp, error) + // 展示成员管理列表 DisplayManagement(context.Context, *DisplayManagementReq) (*DisplayManagementResp, error) // ===================================董事会信息管理======================================= + // 新增董事会 + AddBoardOfDirectors(context.Context, *AddBoardOfDirectorsReq) (*AddBoardOfDirectorsResp, error) + // 排序和状态变更董事会 + SortAndStatusBoardOfDirectors(context.Context, *SortAndStatusBoardOfDirectorsReq) (*SortAndStatusBoardOfDirectorsResp, error) + // 编辑董事会 EditBoardOfDirectors(context.Context, *EditBoardOfDirectorsReq) (*EditBoardOfDirectorsResp, error) + // 删除董事会 + DeleteBoardOfDirectors(context.Context, *DeleteBoardOfDirectorsReq) (*DeleteBoardOfDirectorsResp, error) + // 获取董事会列表 + GetBoardOfDirectorsList(context.Context, *GetBoardOfDirectorsListReq) (*GetBoardOfDirectorsListResp, error) + // 获取董事会信息 + GetBoardOfDirectorsInfo(context.Context, *GetBoardOfDirectorsInfoReq) (*GetBoardOfDirectorsInfoResp, error) + // 展示董事会列表 DisplayBoardOfDirectors(context.Context, *DisplayBoardOfDirectorsReq) (*DisplayBoardOfDirectorsResp, error) // ==================================委员会任命管理====================================== + // 新增委员会任命 + AddCommitteeAppointments(context.Context, *AddCommitteeAppointmentsReq) (*AddCommitteeAppointmentsResp, error) + // 排序和状态变更委员会任命 + SortAndStatusCommitteeAppointments(context.Context, *SortAndStatusCommitteeAppointmentsReq) (*SortAndStatusCommitteeAppointmentsResp, error) + // 编辑委员会任命 EditCommitteeAppointments(context.Context, *EditCommitteeAppointmentsReq) (*EditCommitteeAppointmentsResp, error) + // 删除委员会任命 + DeleteCommitteeAppointments(context.Context, *DeleteCommitteeAppointmentsReq) (*DeleteCommitteeAppointmentsResp, error) + // 获取委员会任命列表 + GetCommitteeAppointmentsList(context.Context, *GetCommitteeAppointmentsListReq) (*GetCommitteeAppointmentsListResp, error) + // 获取委员会任命信息 + GetCommitteeAppointmentsInfo(context.Context, *GetCommitteeAppointmentsInfoReq) (*GetCommitteeAppointmentsInfoResp, error) + // 展示委员会任命列表 DisplayCommitteeAppointments(context.Context, *DisplayCommitteeAppointmentsReq) (*DisplayCommitteeAppointmentsResp, error) mustEmbedUnimplementedMembersServer() } @@ -159,33 +298,66 @@ type UnimplementedMembersServer struct { proxyImpl protocol.Invoker } -func (UnimplementedMembersServer) AddMember(context.Context, *AddMemberReq) (*AddMemberResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddMember not implemented") +func (UnimplementedMembersServer) AddManagement(context.Context, *AddManagementReq) (*AddManagementResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddManagement not implemented") } -func (UnimplementedMembersServer) EditMember(context.Context, *EditMemberReq) (*EditMemberResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method EditMember not implemented") -} -func (UnimplementedMembersServer) DeleteMember(context.Context, *DeleteMemberReq) (*DeleteMemberResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteMember not implemented") -} -func (UnimplementedMembersServer) GetMemberList(context.Context, *GetMemberListReq) (*GetMemberListResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetMemberList not implemented") +func (UnimplementedMembersServer) SortAndStatusManagement(context.Context, *SortAndStatusManagementReq) (*SortAndStatusManagementResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method SortAndStatusManagement not implemented") } func (UnimplementedMembersServer) EditManagement(context.Context, *EditManagementReq) (*EditManagementResp, error) { return nil, status.Errorf(codes.Unimplemented, "method EditManagement not implemented") } +func (UnimplementedMembersServer) DeleteManagement(context.Context, *DeleteManagementReq) (*DeleteManagementResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteManagement not implemented") +} +func (UnimplementedMembersServer) GetManagementList(context.Context, *GetManagementListReq) (*GetManagementListResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetManagementList not implemented") +} +func (UnimplementedMembersServer) GetManagementInfo(context.Context, *GetManagementInfoReq) (*GetManagementInfoResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetManagementInfo not implemented") +} func (UnimplementedMembersServer) DisplayManagement(context.Context, *DisplayManagementReq) (*DisplayManagementResp, error) { return nil, status.Errorf(codes.Unimplemented, "method DisplayManagement not implemented") } +func (UnimplementedMembersServer) AddBoardOfDirectors(context.Context, *AddBoardOfDirectorsReq) (*AddBoardOfDirectorsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddBoardOfDirectors not implemented") +} +func (UnimplementedMembersServer) SortAndStatusBoardOfDirectors(context.Context, *SortAndStatusBoardOfDirectorsReq) (*SortAndStatusBoardOfDirectorsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method SortAndStatusBoardOfDirectors not implemented") +} func (UnimplementedMembersServer) EditBoardOfDirectors(context.Context, *EditBoardOfDirectorsReq) (*EditBoardOfDirectorsResp, error) { return nil, status.Errorf(codes.Unimplemented, "method EditBoardOfDirectors not implemented") } +func (UnimplementedMembersServer) DeleteBoardOfDirectors(context.Context, *DeleteBoardOfDirectorsReq) (*DeleteBoardOfDirectorsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteBoardOfDirectors not implemented") +} +func (UnimplementedMembersServer) GetBoardOfDirectorsList(context.Context, *GetBoardOfDirectorsListReq) (*GetBoardOfDirectorsListResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetBoardOfDirectorsList not implemented") +} +func (UnimplementedMembersServer) GetBoardOfDirectorsInfo(context.Context, *GetBoardOfDirectorsInfoReq) (*GetBoardOfDirectorsInfoResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetBoardOfDirectorsInfo not implemented") +} func (UnimplementedMembersServer) DisplayBoardOfDirectors(context.Context, *DisplayBoardOfDirectorsReq) (*DisplayBoardOfDirectorsResp, error) { return nil, status.Errorf(codes.Unimplemented, "method DisplayBoardOfDirectors not implemented") } +func (UnimplementedMembersServer) AddCommitteeAppointments(context.Context, *AddCommitteeAppointmentsReq) (*AddCommitteeAppointmentsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddCommitteeAppointments not implemented") +} +func (UnimplementedMembersServer) SortAndStatusCommitteeAppointments(context.Context, *SortAndStatusCommitteeAppointmentsReq) (*SortAndStatusCommitteeAppointmentsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method SortAndStatusCommitteeAppointments not implemented") +} func (UnimplementedMembersServer) EditCommitteeAppointments(context.Context, *EditCommitteeAppointmentsReq) (*EditCommitteeAppointmentsResp, error) { return nil, status.Errorf(codes.Unimplemented, "method EditCommitteeAppointments not implemented") } +func (UnimplementedMembersServer) DeleteCommitteeAppointments(context.Context, *DeleteCommitteeAppointmentsReq) (*DeleteCommitteeAppointmentsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteCommitteeAppointments not implemented") +} +func (UnimplementedMembersServer) GetCommitteeAppointmentsList(context.Context, *GetCommitteeAppointmentsListReq) (*GetCommitteeAppointmentsListResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetCommitteeAppointmentsList not implemented") +} +func (UnimplementedMembersServer) GetCommitteeAppointmentsInfo(context.Context, *GetCommitteeAppointmentsInfoReq) (*GetCommitteeAppointmentsInfoResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetCommitteeAppointmentsInfo not implemented") +} func (UnimplementedMembersServer) DisplayCommitteeAppointments(context.Context, *DisplayCommitteeAppointmentsReq) (*DisplayCommitteeAppointmentsResp, error) { return nil, status.Errorf(codes.Unimplemented, "method DisplayCommitteeAppointments not implemented") } @@ -217,8 +389,8 @@ func RegisterMembersServer(s grpc_go.ServiceRegistrar, srv MembersServer) { s.RegisterService(&Members_ServiceDesc, srv) } -func _Members_AddMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { - in := new(AddMemberReq) +func _Members_AddManagement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AddManagementReq) if err := dec(in); err != nil { return nil, err } @@ -230,7 +402,7 @@ func _Members_AddMember_Handler(srv interface{}, ctx context.Context, dec func(i for k, v := range md { invAttachment[k] = v } - invo := invocation.NewRPCInvocation("AddMember", args, invAttachment) + invo := invocation.NewRPCInvocation("AddManagement", args, invAttachment) if interceptor == nil { result := base.XXX_GetProxyImpl().Invoke(ctx, invo) return result, result.Error() @@ -246,8 +418,8 @@ func _Members_AddMember_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } -func _Members_EditMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { - in := new(EditMemberReq) +func _Members_SortAndStatusManagement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(SortAndStatusManagementReq) if err := dec(in); err != nil { return nil, err } @@ -259,65 +431,7 @@ func _Members_EditMember_Handler(srv interface{}, ctx context.Context, dec func( for k, v := range md { invAttachment[k] = v } - invo := invocation.NewRPCInvocation("EditMember", args, invAttachment) - if interceptor == nil { - result := base.XXX_GetProxyImpl().Invoke(ctx, invo) - return result, result.Error() - } - info := &grpc_go.UnaryServerInfo{ - Server: srv, - FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - result := base.XXX_GetProxyImpl().Invoke(ctx, invo) - return result, result.Error() - } - return interceptor(ctx, in, info, handler) -} - -func _Members_DeleteMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteMemberReq) - if err := dec(in); err != nil { - return nil, err - } - base := srv.(dubbo3.Dubbo3GrpcService) - args := []interface{}{} - args = append(args, in) - md, _ := metadata.FromIncomingContext(ctx) - invAttachment := make(map[string]interface{}, len(md)) - for k, v := range md { - invAttachment[k] = v - } - invo := invocation.NewRPCInvocation("DeleteMember", args, invAttachment) - if interceptor == nil { - result := base.XXX_GetProxyImpl().Invoke(ctx, invo) - return result, result.Error() - } - info := &grpc_go.UnaryServerInfo{ - Server: srv, - FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - result := base.XXX_GetProxyImpl().Invoke(ctx, invo) - return result, result.Error() - } - return interceptor(ctx, in, info, handler) -} - -func _Members_GetMemberList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { - in := new(GetMemberListReq) - if err := dec(in); err != nil { - return nil, err - } - base := srv.(dubbo3.Dubbo3GrpcService) - args := []interface{}{} - args = append(args, in) - md, _ := metadata.FromIncomingContext(ctx) - invAttachment := make(map[string]interface{}, len(md)) - for k, v := range md { - invAttachment[k] = v - } - invo := invocation.NewRPCInvocation("GetMemberList", args, invAttachment) + invo := invocation.NewRPCInvocation("SortAndStatusManagement", args, invAttachment) if interceptor == nil { result := base.XXX_GetProxyImpl().Invoke(ctx, invo) return result, result.Error() @@ -362,6 +476,93 @@ func _Members_EditManagement_Handler(srv interface{}, ctx context.Context, dec f return interceptor(ctx, in, info, handler) } +func _Members_DeleteManagement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteManagementReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("DeleteManagement", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Members_GetManagementList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetManagementListReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetManagementList", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Members_GetManagementInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetManagementInfoReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetManagementInfo", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + func _Members_DisplayManagement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(DisplayManagementReq) if err := dec(in); err != nil { @@ -391,6 +592,64 @@ func _Members_DisplayManagement_Handler(srv interface{}, ctx context.Context, de return interceptor(ctx, in, info, handler) } +func _Members_AddBoardOfDirectors_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AddBoardOfDirectorsReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("AddBoardOfDirectors", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Members_SortAndStatusBoardOfDirectors_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(SortAndStatusBoardOfDirectorsReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("SortAndStatusBoardOfDirectors", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + func _Members_EditBoardOfDirectors_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(EditBoardOfDirectorsReq) if err := dec(in); err != nil { @@ -420,6 +679,93 @@ func _Members_EditBoardOfDirectors_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } +func _Members_DeleteBoardOfDirectors_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteBoardOfDirectorsReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("DeleteBoardOfDirectors", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Members_GetBoardOfDirectorsList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetBoardOfDirectorsListReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetBoardOfDirectorsList", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Members_GetBoardOfDirectorsInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetBoardOfDirectorsInfoReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetBoardOfDirectorsInfo", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + func _Members_DisplayBoardOfDirectors_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(DisplayBoardOfDirectorsReq) if err := dec(in); err != nil { @@ -449,6 +795,64 @@ func _Members_DisplayBoardOfDirectors_Handler(srv interface{}, ctx context.Conte return interceptor(ctx, in, info, handler) } +func _Members_AddCommitteeAppointments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AddCommitteeAppointmentsReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("AddCommitteeAppointments", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Members_SortAndStatusCommitteeAppointments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(SortAndStatusCommitteeAppointmentsReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("SortAndStatusCommitteeAppointments", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + func _Members_EditCommitteeAppointments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(EditCommitteeAppointmentsReq) if err := dec(in); err != nil { @@ -478,6 +882,93 @@ func _Members_EditCommitteeAppointments_Handler(srv interface{}, ctx context.Con return interceptor(ctx, in, info, handler) } +func _Members_DeleteCommitteeAppointments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteCommitteeAppointmentsReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("DeleteCommitteeAppointments", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Members_GetCommitteeAppointmentsList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetCommitteeAppointmentsListReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetCommitteeAppointmentsList", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Members_GetCommitteeAppointmentsInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetCommitteeAppointmentsInfoReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetCommitteeAppointmentsInfo", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + func _Members_DisplayCommitteeAppointments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(DisplayCommitteeAppointmentsReq) if err := dec(in); err != nil { @@ -515,41 +1006,85 @@ var Members_ServiceDesc = grpc_go.ServiceDesc{ HandlerType: (*MembersServer)(nil), Methods: []grpc_go.MethodDesc{ { - MethodName: "AddMember", - Handler: _Members_AddMember_Handler, + MethodName: "AddManagement", + Handler: _Members_AddManagement_Handler, }, { - MethodName: "EditMember", - Handler: _Members_EditMember_Handler, - }, - { - MethodName: "DeleteMember", - Handler: _Members_DeleteMember_Handler, - }, - { - MethodName: "GetMemberList", - Handler: _Members_GetMemberList_Handler, + MethodName: "SortAndStatusManagement", + Handler: _Members_SortAndStatusManagement_Handler, }, { MethodName: "EditManagement", Handler: _Members_EditManagement_Handler, }, + { + MethodName: "DeleteManagement", + Handler: _Members_DeleteManagement_Handler, + }, + { + MethodName: "GetManagementList", + Handler: _Members_GetManagementList_Handler, + }, + { + MethodName: "GetManagementInfo", + Handler: _Members_GetManagementInfo_Handler, + }, { MethodName: "DisplayManagement", Handler: _Members_DisplayManagement_Handler, }, + { + MethodName: "AddBoardOfDirectors", + Handler: _Members_AddBoardOfDirectors_Handler, + }, + { + MethodName: "SortAndStatusBoardOfDirectors", + Handler: _Members_SortAndStatusBoardOfDirectors_Handler, + }, { MethodName: "EditBoardOfDirectors", Handler: _Members_EditBoardOfDirectors_Handler, }, + { + MethodName: "DeleteBoardOfDirectors", + Handler: _Members_DeleteBoardOfDirectors_Handler, + }, + { + MethodName: "GetBoardOfDirectorsList", + Handler: _Members_GetBoardOfDirectorsList_Handler, + }, + { + MethodName: "GetBoardOfDirectorsInfo", + Handler: _Members_GetBoardOfDirectorsInfo_Handler, + }, { MethodName: "DisplayBoardOfDirectors", Handler: _Members_DisplayBoardOfDirectors_Handler, }, + { + MethodName: "AddCommitteeAppointments", + Handler: _Members_AddCommitteeAppointments_Handler, + }, + { + MethodName: "SortAndStatusCommitteeAppointments", + Handler: _Members_SortAndStatusCommitteeAppointments_Handler, + }, { MethodName: "EditCommitteeAppointments", Handler: _Members_EditCommitteeAppointments_Handler, }, + { + MethodName: "DeleteCommitteeAppointments", + Handler: _Members_DeleteCommitteeAppointments_Handler, + }, + { + MethodName: "GetCommitteeAppointmentsList", + Handler: _Members_GetCommitteeAppointmentsList_Handler, + }, + { + MethodName: "GetCommitteeAppointmentsInfo", + Handler: _Members_GetCommitteeAppointmentsInfo_Handler, + }, { MethodName: "DisplayCommitteeAppointments", Handler: _Members_DisplayCommitteeAppointments_Handler, diff --git a/pkg/router/router.go b/pkg/router/router.go index 68b8e2a..68e581a 100644 --- a/pkg/router/router.go +++ b/pkg/router/router.go @@ -219,18 +219,28 @@ func NewRouter() *gin.Engine { // 成员管理 membersRoute := v1.Group("/members") membersRouteLogin := membersRoute.Group("", middleware.CheckWebLogin(service.AccountProvider)) - - membersRouteLogin.POST("/add", members.AddMember) - membersRouteLogin.POST("/list", members.GetMemberList) - membersRouteLogin.POST("/edit", members.EditMember) - membersRouteLogin.POST("/delete", members.DeleteMember) // 成员部门信息管理 + membersRouteLogin.POST("/management/add", members.AddManagement) + membersRouteLogin.POST("/management/list", members.GetManagementList) + membersRouteLogin.POST("/management/info", members.GetManagementInfo) + membersRouteLogin.POST("/management/delete", members.DeleteManagement) + membersRouteLogin.POST("/management/updata", members.UpdataManagement) membersRouteLogin.POST("/management/edit", members.EditManagement) membersRoute.POST("/management/display", middleware.Cors(), members.DisplayManagement) // 董事会信息管理 + membersRouteLogin.POST("/boardofdirectors/add", members.AddBoardOfDirectors) + membersRouteLogin.POST("/boardofdirectors/list", members.GetBoardOfDirectorsList) + membersRouteLogin.POST("/boardofdirectors/info", members.GetBoardOfDirectorsInfo) + membersRouteLogin.POST("/boardofdirectors/delete", members.DeleteBoardOfDirectors) + membersRouteLogin.POST("/boardofdirectors/updata", members.UpdataBoardOfDirectors) membersRouteLogin.POST("/boardofdirectors/edit", members.EditBoardOfDirectors) membersRoute.POST("/boardofdirectors/display", middleware.Cors(), members.DisplayBoardOfDirectors) // 委员会任命管理 + membersRouteLogin.POST("/committeeappointments/add", members.AddCommitteeAppointments) + membersRouteLogin.POST("/committeeappointments/list", members.GetCommitteeAppointmentsList) + membersRouteLogin.POST("/committeeappointments/info", members.GetCommitteeAppointmentsInfo) + membersRouteLogin.POST("/committeeappointments/delete", members.DeleteCommitteeAppointments) + membersRouteLogin.POST("/committeeappointments/updata", members.UpdataCommitteeAppointments) membersRouteLogin.POST("/committeeappointments/edit", members.EditCommitteeAppointments) membersRoute.POST("/committeeappointments/display", middleware.Cors(), members.DisplayCommitteeAppointments) } diff --git a/pkg/service/members/members.go b/pkg/service/members/members.go index 8d136d7..ee5c871 100644 --- a/pkg/service/members/members.go +++ b/pkg/service/members/members.go @@ -1,17 +1,16 @@ package members import ( - "errors" "fonchain-fiee/api/members" "fonchain-fiee/pkg/model/login" "fonchain-fiee/pkg/service" - "fonchain-fiee/pkg/service/bundle/common" "github.com/gin-gonic/gin" ) -func AddMember(ctx *gin.Context) { - var req members.AddMemberReq +// =======================成员管理============================== +func AddManagement(ctx *gin.Context) { + var req members.AddManagementReq if err := ctx.ShouldBindJSON(&req); err != nil { service.Error(ctx, err) return @@ -19,30 +18,55 @@ func AddMember(ctx *gin.Context) { user := login.GetUserInfoFromC(ctx) req.Operator = user.Name req.OperatorId = int32(user.ID) - resp, err := service.MembersProvider.AddMember(ctx, &req) + resp, err := service.MembersProvider.AddManagement(ctx, &req) if err != nil { - service.Error(ctx, errors.New(common.ErrorCreateMemberFailed)) + service.Error(ctx, err) return } service.Success(ctx, resp) } - -func GetMemberList(ctx *gin.Context) { - var req members.GetMemberListReq +func GetManagementList(ctx *gin.Context) { + var req members.GetManagementListReq if err := ctx.ShouldBindJSON(&req); err != nil { service.Error(ctx, err) return } - resp, err := service.MembersProvider.GetMemberList(ctx, &req) + resp, err := service.MembersProvider.GetManagementList(ctx, &req) if err != nil { - service.Error(ctx, errors.New(common.ErrorListMemberFailed)) + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} +func GetManagementInfo(ctx *gin.Context) { + var req members.GetManagementInfoReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.MembersProvider.GetManagementInfo(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} +func DeleteManagement(ctx *gin.Context) { + var req members.DeleteManagementReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.MembersProvider.DeleteManagement(ctx, &req) + if err != nil { + service.Error(ctx, err) return } service.Success(ctx, resp) } -func EditMember(ctx *gin.Context) { - var req members.EditMemberReq +func UpdataManagement(ctx *gin.Context) { + var req members.SortAndStatusManagementReq if err := ctx.ShouldBindJSON(&req); err != nil { service.Error(ctx, err) return @@ -50,28 +74,13 @@ func EditMember(ctx *gin.Context) { user := login.GetUserInfoFromC(ctx) req.Operator = user.Name req.OperatorId = int32(user.ID) - resp, err := service.MembersProvider.EditMember(ctx, &req) + resp, err := service.MembersProvider.SortAndStatusManagement(ctx, &req) if err != nil { - service.Error(ctx, errors.New(common.ErrorEditMemberFailed)) - return - } - service.Success(ctx, resp) -} - -func DeleteMember(ctx *gin.Context) { - var req members.DeleteMemberReq - if err := ctx.ShouldBindJSON(&req); err != nil { service.Error(ctx, err) return } - resp, err := service.MembersProvider.DeleteMember(ctx, &req) - if err != nil { - service.Error(ctx, errors.New(common.ErrorDeleteMemberFailed)) - return - } service.Success(ctx, resp) } - func EditManagement(ctx *gin.Context) { var req members.EditManagementReq if err := ctx.ShouldBindJSON(&req); err != nil { @@ -83,12 +92,99 @@ func EditManagement(ctx *gin.Context) { req.OperatorId = int32(user.ID) resp, err := service.MembersProvider.EditManagement(ctx, &req) if err != nil { - service.Error(ctx, errors.New(common.ErrorEditManagementFailed)) + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} +func DisplayManagement(ctx *gin.Context) { + var req members.DisplayManagementReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.MembersProvider.DisplayManagement(ctx, &req) + if err != nil { + service.Error(ctx, err) return } service.Success(ctx, resp) } +// ======================董事会管理=========================== +func AddBoardOfDirectors(ctx *gin.Context) { + var req members.AddBoardOfDirectorsReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + user := login.GetUserInfoFromC(ctx) + req.Operator = user.Name + req.OperatorId = int32(user.ID) + resp, err := service.MembersProvider.AddBoardOfDirectors(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} + +func GetBoardOfDirectorsList(ctx *gin.Context) { + var req members.GetBoardOfDirectorsListReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.MembersProvider.GetBoardOfDirectorsList(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} +func GetBoardOfDirectorsInfo(ctx *gin.Context) { + var req members.GetBoardOfDirectorsInfoReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.MembersProvider.GetBoardOfDirectorsInfo(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} +func DeleteBoardOfDirectors(ctx *gin.Context) { + var req members.DeleteBoardOfDirectorsReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.MembersProvider.DeleteBoardOfDirectors(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} + +func UpdataBoardOfDirectors(ctx *gin.Context) { + var req members.SortAndStatusBoardOfDirectorsReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + user := login.GetUserInfoFromC(ctx) + req.Operator = user.Name + req.OperatorId = int32(user.ID) + resp, err := service.MembersProvider.SortAndStatusBoardOfDirectors(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} func EditBoardOfDirectors(ctx *gin.Context) { var req members.EditBoardOfDirectorsReq if err := ctx.ShouldBindJSON(&req); err != nil { @@ -100,12 +196,97 @@ func EditBoardOfDirectors(ctx *gin.Context) { req.OperatorId = int32(user.ID) resp, err := service.MembersProvider.EditBoardOfDirectors(ctx, &req) if err != nil { - service.Error(ctx, errors.New(common.ErrorEditBoardOfDirectorsFailed)) + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} +func DisplayBoardOfDirectors(ctx *gin.Context) { + var req members.DisplayBoardOfDirectorsReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.MembersProvider.DisplayBoardOfDirectors(ctx, &req) + if err != nil { + service.Error(ctx, err) return } service.Success(ctx, resp) } +// ======================委员会任命管理=========================== +func AddCommitteeAppointments(ctx *gin.Context) { + var req members.AddCommitteeAppointmentsReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + user := login.GetUserInfoFromC(ctx) + req.Operator = user.Name + req.OperatorId = int32(user.ID) + resp, err := service.MembersProvider.AddCommitteeAppointments(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} +func GetCommitteeAppointmentsList(ctx *gin.Context) { + var req members.GetCommitteeAppointmentsListReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.MembersProvider.GetCommitteeAppointmentsList(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} +func GetCommitteeAppointmentsInfo(ctx *gin.Context) { + var req members.GetCommitteeAppointmentsInfoReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.MembersProvider.GetCommitteeAppointmentsInfo(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} +func DeleteCommitteeAppointments(ctx *gin.Context) { + var req members.DeleteCommitteeAppointmentsReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.MembersProvider.DeleteCommitteeAppointments(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} +func UpdataCommitteeAppointments(ctx *gin.Context) { + var req members.SortAndStatusCommitteeAppointmentsReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + user := login.GetUserInfoFromC(ctx) + req.Operator = user.Name + req.OperatorId = int32(user.ID) + resp, err := service.MembersProvider.SortAndStatusCommitteeAppointments(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} func EditCommitteeAppointments(ctx *gin.Context) { var req members.EditCommitteeAppointmentsReq if err := ctx.ShouldBindJSON(&req); err != nil { @@ -117,7 +298,7 @@ func EditCommitteeAppointments(ctx *gin.Context) { req.OperatorId = int32(user.ID) resp, err := service.MembersProvider.EditCommitteeAppointments(ctx, &req) if err != nil { - service.Error(ctx, errors.New(common.ErrorEditCommitteeAppointmentsFailed)) + service.Error(ctx, err) return } service.Success(ctx, resp) @@ -131,36 +312,8 @@ func DisplayCommitteeAppointments(ctx *gin.Context) { } resp, err := service.MembersProvider.DisplayCommitteeAppointments(ctx, &req) if err != nil { - service.Error(ctx, errors.New(common.ErrorDisplayCommitteeAppointmentsFailed)) - return - } - service.Success(ctx, resp) -} - -func DisplayBoardOfDirectors(ctx *gin.Context) { - var req members.DisplayBoardOfDirectorsReq - if err := ctx.ShouldBindJSON(&req); err != nil { service.Error(ctx, err) return } - resp, err := service.MembersProvider.DisplayBoardOfDirectors(ctx, &req) - if err != nil { - service.Error(ctx, errors.New(common.ErrorDisplayBoardOfDirectorsFailed)) - return - } - service.Success(ctx, resp) -} - -func DisplayManagement(ctx *gin.Context) { - var req members.DisplayManagementReq - if err := ctx.ShouldBindJSON(&req); err != nil { - service.Error(ctx, err) - return - } - resp, err := service.MembersProvider.DisplayManagement(ctx, &req) - if err != nil { - service.Error(ctx, errors.New(common.ErrorDisplayManagementFailed)) - return - } service.Success(ctx, resp) } From 41e7dc9d7555d09f5aef64acb567dcd377a0a776 Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Mon, 8 Dec 2025 14:33:42 +0800 Subject: [PATCH 21/38] =?UTF-8?q?Updata=EF=BC=9A=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E5=AD=A3=E5=BA=A6/=E5=B9=B4=E5=BA=A6=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/reports/reports.pb.go | 2452 ++++++++++++++++------- api/reports/reports.validator.pb.go | 93 +- api/reports/reports_triple.pb.go | 200 +- pkg/router/router.go | 4 + pkg/service/reports/annualReports.go | 30 + pkg/service/reports/quarterlyReports.go | 30 + 6 files changed, 2035 insertions(+), 774 deletions(-) diff --git a/api/reports/reports.pb.go b/api/reports/reports.pb.go index 789e9cb..b711ca4 100644 --- a/api/reports/reports.pb.go +++ b/api/reports/reports.pb.go @@ -122,6 +122,417 @@ func (x *FiltrateWeb) GetFileName() string { return "" } +type LangSetting struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LangType string `protobuf:"bytes,1,opt,name=langType,proto3" json:"langType"` //语言类型 + IsSetting int32 `protobuf:"varint,2,opt,name=isSetting,proto3" json:"isSetting"` //是否设置(0:否,1:是) +} + +func (x *LangSetting) Reset() { + *x = LangSetting{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LangSetting) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LangSetting) ProtoMessage() {} + +func (x *LangSetting) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_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 LangSetting.ProtoReflect.Descriptor instead. +func (*LangSetting) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{2} +} + +func (x *LangSetting) GetLangType() string { + if x != nil { + return x.LangType + } + return "" +} + +func (x *LangSetting) GetIsSetting() int32 { + if x != nil { + return x.IsSetting + } + return 0 +} + +type AnnualReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + FileUrl string `protobuf:"bytes,2,opt,name=fileUrl,proto3" json:"fileUrl"` + LangSetting []*LangSetting `protobuf:"bytes,3,rep,name=langSetting,proto3" json:"langSetting"` + Status int32 `protobuf:"varint,4,opt,name=status,proto3" json:"status"` + Sort int32 `protobuf:"varint,5,opt,name=sort,proto3" json:"sort"` + UpdatedAt string `protobuf:"bytes,6,opt,name=updatedAt,proto3" json:"updatedAt"` + Operator string `protobuf:"bytes,7,opt,name=operator,proto3" json:"operator"` + OperatorId int32 `protobuf:"varint,8,opt,name=operatorId,proto3" json:"operatorId"` +} + +func (x *AnnualReport) Reset() { + *x = AnnualReport{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnnualReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnnualReport) ProtoMessage() {} + +func (x *AnnualReport) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_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 AnnualReport.ProtoReflect.Descriptor instead. +func (*AnnualReport) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{3} +} + +func (x *AnnualReport) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *AnnualReport) GetFileUrl() string { + if x != nil { + return x.FileUrl + } + return "" +} + +func (x *AnnualReport) GetLangSetting() []*LangSetting { + if x != nil { + return x.LangSetting + } + return nil +} + +func (x *AnnualReport) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *AnnualReport) GetSort() int32 { + if x != nil { + return x.Sort + } + return 0 +} + +func (x *AnnualReport) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +func (x *AnnualReport) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *AnnualReport) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type AnnualReportLang struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LangType string `protobuf:"bytes,1,opt,name=langType,proto3" json:"langType"` //语言类型 + FileName string `protobuf:"bytes,2,opt,name=fileName,proto3" json:"fileName"` //文件名称 + Date int64 `protobuf:"varint,3,opt,name=date,proto3" json:"date"` //日期 + IsSetting int32 `protobuf:"varint,4,opt,name=isSetting,proto3" json:"isSetting"` //是否设置(0:否,1:是) +} + +func (x *AnnualReportLang) Reset() { + *x = AnnualReportLang{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnnualReportLang) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnnualReportLang) ProtoMessage() {} + +func (x *AnnualReportLang) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_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 AnnualReportLang.ProtoReflect.Descriptor instead. +func (*AnnualReportLang) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{4} +} + +func (x *AnnualReportLang) GetLangType() string { + if x != nil { + return x.LangType + } + return "" +} + +func (x *AnnualReportLang) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +func (x *AnnualReportLang) GetDate() int64 { + if x != nil { + return x.Date + } + return 0 +} + +func (x *AnnualReportLang) GetIsSetting() int32 { + if x != nil { + return x.IsSetting + } + return 0 +} + +type QuarterlyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + Attachment string `protobuf:"bytes,2,opt,name=attachment,proto3" json:"attachment"` + AttachmentName string `protobuf:"bytes,3,opt,name=attachmentName,proto3" json:"attachmentName"` + LangSetting []*LangSetting `protobuf:"bytes,4,rep,name=langSetting,proto3" json:"langSetting"` + Status int32 `protobuf:"varint,5,opt,name=status,proto3" json:"status"` + Sort int32 `protobuf:"varint,6,opt,name=sort,proto3" json:"sort"` + UpdatedAt string `protobuf:"bytes,7,opt,name=updatedAt,proto3" json:"updatedAt"` + Operator string `protobuf:"bytes,8,opt,name=operator,proto3" json:"operator"` + OperatorId int32 `protobuf:"varint,9,opt,name=operatorId,proto3" json:"operatorId"` +} + +func (x *QuarterlyReport) Reset() { + *x = QuarterlyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QuarterlyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QuarterlyReport) ProtoMessage() {} + +func (x *QuarterlyReport) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[5] + 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 QuarterlyReport.ProtoReflect.Descriptor instead. +func (*QuarterlyReport) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{5} +} + +func (x *QuarterlyReport) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *QuarterlyReport) GetAttachment() string { + if x != nil { + return x.Attachment + } + return "" +} + +func (x *QuarterlyReport) GetAttachmentName() string { + if x != nil { + return x.AttachmentName + } + return "" +} + +func (x *QuarterlyReport) GetLangSetting() []*LangSetting { + if x != nil { + return x.LangSetting + } + return nil +} + +func (x *QuarterlyReport) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *QuarterlyReport) GetSort() int32 { + if x != nil { + return x.Sort + } + return 0 +} + +func (x *QuarterlyReport) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +func (x *QuarterlyReport) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *QuarterlyReport) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type QuarterlyReportLang struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LangType string `protobuf:"bytes,1,opt,name=langType,proto3" json:"langType"` //语言类型 + FileName string `protobuf:"bytes,2,opt,name=fileName,proto3" json:"fileName"` //文件名称 + FileIntroduce string `protobuf:"bytes,3,opt,name=fileIntroduce,proto3" json:"fileIntroduce"` //文件介绍 + IsSetting int32 `protobuf:"varint,4,opt,name=isSetting,proto3" json:"isSetting"` //是否设置(0:否,1:是) +} + +func (x *QuarterlyReportLang) Reset() { + *x = QuarterlyReportLang{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QuarterlyReportLang) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QuarterlyReportLang) ProtoMessage() {} + +func (x *QuarterlyReportLang) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[6] + 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 QuarterlyReportLang.ProtoReflect.Descriptor instead. +func (*QuarterlyReportLang) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{6} +} + +func (x *QuarterlyReportLang) GetLangType() string { + if x != nil { + return x.LangType + } + return "" +} + +func (x *QuarterlyReportLang) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +func (x *QuarterlyReportLang) GetFileIntroduce() string { + if x != nil { + return x.FileIntroduce + } + return "" +} + +func (x *QuarterlyReportLang) GetIsSetting() int32 { + if x != nil { + return x.IsSetting + } + return 0 +} + // ==================================年度报告====================================== type GetAnnualReportListReq struct { state protoimpl.MessageState @@ -136,7 +547,7 @@ type GetAnnualReportListReq struct { func (x *GetAnnualReportListReq) Reset() { *x = GetAnnualReportListReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[2] + mi := &file_api_reports_reports_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -149,7 +560,7 @@ func (x *GetAnnualReportListReq) String() string { func (*GetAnnualReportListReq) ProtoMessage() {} func (x *GetAnnualReportListReq) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[2] + mi := &file_api_reports_reports_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -162,7 +573,7 @@ func (x *GetAnnualReportListReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAnnualReportListReq.ProtoReflect.Descriptor instead. func (*GetAnnualReportListReq) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{2} + return file_api_reports_reports_proto_rawDescGZIP(), []int{7} } func (x *GetAnnualReportListReq) GetPage() int32 { @@ -201,7 +612,7 @@ type GetAnnualReportListResp struct { func (x *GetAnnualReportListResp) Reset() { *x = GetAnnualReportListResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[3] + mi := &file_api_reports_reports_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -214,7 +625,7 @@ func (x *GetAnnualReportListResp) String() string { func (*GetAnnualReportListResp) ProtoMessage() {} func (x *GetAnnualReportListResp) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[3] + mi := &file_api_reports_reports_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -227,7 +638,7 @@ func (x *GetAnnualReportListResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAnnualReportListResp.ProtoReflect.Descriptor instead. func (*GetAnnualReportListResp) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{3} + return file_api_reports_reports_proto_rawDescGZIP(), []int{8} } func (x *GetAnnualReportListResp) GetMsg() string { @@ -265,39 +676,31 @@ func (x *GetAnnualReportListResp) GetData() []*AnnualReport { return nil } -type AnnualReport struct { +type GetAnnualReportInfoReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` //id - FileName string `protobuf:"bytes,2,opt,name=fileName,proto3" json:"fileName"` //文件名称 - Date int64 `protobuf:"varint,3,opt,name=date,proto3" json:"date"` //日期 - FileUrl string `protobuf:"bytes,4,opt,name=fileUrl,proto3" json:"fileUrl"` //访问地址 - Status int32 `protobuf:"varint,5,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) - Sort int32 `protobuf:"varint,6,opt,name=sort,proto3" json:"sort"` //排序 - UpdatedAt string `protobuf:"bytes,7,opt,name=updatedAt,proto3" json:"updatedAt"` //最近更新时间 - Operator string `protobuf:"bytes,8,opt,name=operator,proto3" json:"operator"` //操作人 - OperatorId int32 `protobuf:"varint,9,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid } -func (x *AnnualReport) Reset() { - *x = AnnualReport{} +func (x *GetAnnualReportInfoReq) Reset() { + *x = GetAnnualReportInfoReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[4] + mi := &file_api_reports_reports_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AnnualReport) String() string { +func (x *GetAnnualReportInfoReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AnnualReport) ProtoMessage() {} +func (*GetAnnualReportInfoReq) ProtoMessage() {} -func (x *AnnualReport) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[4] +func (x *GetAnnualReportInfoReq) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -308,90 +711,99 @@ func (x *AnnualReport) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AnnualReport.ProtoReflect.Descriptor instead. -func (*AnnualReport) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{4} +// Deprecated: Use GetAnnualReportInfoReq.ProtoReflect.Descriptor instead. +func (*GetAnnualReportInfoReq) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{9} } -func (x *AnnualReport) GetId() int32 { +func (x *GetAnnualReportInfoReq) GetUuid() string { if x != nil { - return x.Id - } - return 0 -} - -func (x *AnnualReport) GetFileName() string { - if x != nil { - return x.FileName + return x.Uuid } return "" } -func (x *AnnualReport) GetDate() int64 { - if x != nil { - return x.Date - } - return 0 +type GetAnnualReportInfoResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` + DataByLang []*AnnualReportLang `protobuf:"bytes,2,rep,name=dataByLang,proto3" json:"dataByLang"` //语言数据 + FileUrl string `protobuf:"bytes,3,opt,name=fileUrl,proto3" json:"fileUrl"` //访问地址 } -func (x *AnnualReport) GetFileUrl() string { +func (x *GetAnnualReportInfoResp) Reset() { + *x = GetAnnualReportInfoResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetAnnualReportInfoResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAnnualReportInfoResp) ProtoMessage() {} + +func (x *GetAnnualReportInfoResp) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[10] + 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 GetAnnualReportInfoResp.ProtoReflect.Descriptor instead. +func (*GetAnnualReportInfoResp) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{10} +} + +func (x *GetAnnualReportInfoResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *GetAnnualReportInfoResp) GetDataByLang() []*AnnualReportLang { + if x != nil { + return x.DataByLang + } + return nil +} + +func (x *GetAnnualReportInfoResp) GetFileUrl() string { if x != nil { return x.FileUrl } return "" } -func (x *AnnualReport) GetStatus() int32 { - if x != nil { - return x.Status - } - return 0 -} - -func (x *AnnualReport) GetSort() int32 { - if x != nil { - return x.Sort - } - return 0 -} - -func (x *AnnualReport) GetUpdatedAt() string { - if x != nil { - return x.UpdatedAt - } - return "" -} - -func (x *AnnualReport) GetOperator() string { - if x != nil { - return x.Operator - } - return "" -} - -func (x *AnnualReport) GetOperatorId() int32 { - if x != nil { - return x.OperatorId - } - return 0 -} - type AddAnnualReportReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - FileName string `protobuf:"bytes,1,opt,name=fileName,proto3" json:"fileName"` //文件名称 - Date int64 `protobuf:"varint,2,opt,name=date,proto3" json:"date"` //日期 - FileUrl string `protobuf:"bytes,3,opt,name=fileUrl,proto3" json:"fileUrl"` //访问地址 - Operator string `protobuf:"bytes,4,opt,name=operator,proto3" json:"operator"` //操作人 - OperatorId int32 `protobuf:"varint,5,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid + DataByLang []*AnnualReportLang `protobuf:"bytes,2,rep,name=dataByLang,proto3" json:"dataByLang"` //语言数据 + FileUrl string `protobuf:"bytes,3,opt,name=fileUrl,proto3" json:"fileUrl"` //访问地址 + Status int32 `protobuf:"varint,4,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) + Sort int32 `protobuf:"varint,5,opt,name=sort,proto3" json:"sort"` //排序 + Operator string `protobuf:"bytes,6,opt,name=operator,proto3" json:"operator"` //操作人 + OperatorId int32 `protobuf:"varint,7,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id } func (x *AddAnnualReportReq) Reset() { *x = AddAnnualReportReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[5] + mi := &file_api_reports_reports_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -404,7 +816,7 @@ func (x *AddAnnualReportReq) String() string { func (*AddAnnualReportReq) ProtoMessage() {} func (x *AddAnnualReportReq) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[5] + mi := &file_api_reports_reports_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -417,21 +829,21 @@ func (x *AddAnnualReportReq) ProtoReflect() protoreflect.Message { // Deprecated: Use AddAnnualReportReq.ProtoReflect.Descriptor instead. func (*AddAnnualReportReq) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{5} + return file_api_reports_reports_proto_rawDescGZIP(), []int{11} } -func (x *AddAnnualReportReq) GetFileName() string { +func (x *AddAnnualReportReq) GetUuid() string { if x != nil { - return x.FileName + return x.Uuid } return "" } -func (x *AddAnnualReportReq) GetDate() int64 { +func (x *AddAnnualReportReq) GetDataByLang() []*AnnualReportLang { if x != nil { - return x.Date + return x.DataByLang } - return 0 + return nil } func (x *AddAnnualReportReq) GetFileUrl() string { @@ -441,6 +853,20 @@ func (x *AddAnnualReportReq) GetFileUrl() string { return "" } +func (x *AddAnnualReportReq) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *AddAnnualReportReq) GetSort() int32 { + if x != nil { + return x.Sort + } + return 0 +} + func (x *AddAnnualReportReq) GetOperator() string { if x != nil { return x.Operator @@ -466,7 +892,7 @@ type AddAnnualReportResp struct { func (x *AddAnnualReportResp) Reset() { *x = AddAnnualReportResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[6] + mi := &file_api_reports_reports_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -479,7 +905,7 @@ func (x *AddAnnualReportResp) String() string { func (*AddAnnualReportResp) ProtoMessage() {} func (x *AddAnnualReportResp) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[6] + mi := &file_api_reports_reports_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -492,7 +918,7 @@ func (x *AddAnnualReportResp) ProtoReflect() protoreflect.Message { // Deprecated: Use AddAnnualReportResp.ProtoReflect.Descriptor instead. func (*AddAnnualReportResp) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{6} + return file_api_reports_reports_proto_rawDescGZIP(), []int{12} } func (x *AddAnnualReportResp) GetMsg() string { @@ -502,25 +928,148 @@ func (x *AddAnnualReportResp) GetMsg() string { return "" } +type SortAndStatusAnnualReportReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) + Sort int32 `protobuf:"varint,3,opt,name=sort,proto3" json:"sort"` //排序 + Operator string `protobuf:"bytes,4,opt,name=operator,proto3" json:"operator"` //操作人 + OperatorId int32 `protobuf:"varint,5,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id +} + +func (x *SortAndStatusAnnualReportReq) Reset() { + *x = SortAndStatusAnnualReportReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SortAndStatusAnnualReportReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SortAndStatusAnnualReportReq) ProtoMessage() {} + +func (x *SortAndStatusAnnualReportReq) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[13] + 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 SortAndStatusAnnualReportReq.ProtoReflect.Descriptor instead. +func (*SortAndStatusAnnualReportReq) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{13} +} + +func (x *SortAndStatusAnnualReportReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *SortAndStatusAnnualReportReq) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *SortAndStatusAnnualReportReq) GetSort() int32 { + if x != nil { + return x.Sort + } + return 0 +} + +func (x *SortAndStatusAnnualReportReq) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *SortAndStatusAnnualReportReq) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type SortAndStatusAnnualReportResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *SortAndStatusAnnualReportResp) Reset() { + *x = SortAndStatusAnnualReportResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SortAndStatusAnnualReportResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SortAndStatusAnnualReportResp) ProtoMessage() {} + +func (x *SortAndStatusAnnualReportResp) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[14] + 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 SortAndStatusAnnualReportResp.ProtoReflect.Descriptor instead. +func (*SortAndStatusAnnualReportResp) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{14} +} + +func (x *SortAndStatusAnnualReportResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + type EditAnnualReportReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` //id - FileName string `protobuf:"bytes,2,opt,name=fileName,proto3" json:"fileName"` //文件名称 - Date int64 `protobuf:"varint,3,opt,name=date,proto3" json:"date"` //日期 - FileUrl string `protobuf:"bytes,4,opt,name=fileUrl,proto3" json:"fileUrl"` //访问地址 - Sort int32 `protobuf:"varint,5,opt,name=sort,proto3" json:"sort"` //排序 - Status int32 `protobuf:"varint,6,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) - Operator string `protobuf:"bytes,7,opt,name=operator,proto3" json:"operator"` //操作人 - OperatorId int32 `protobuf:"varint,8,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid + DataByLang []*AnnualReportLang `protobuf:"bytes,2,rep,name=dataByLang,proto3" json:"dataByLang"` //语言数据 + FileUrl string `protobuf:"bytes,3,opt,name=fileUrl,proto3" json:"fileUrl"` //访问地址 + Operator string `protobuf:"bytes,4,opt,name=operator,proto3" json:"operator"` //操作人 + OperatorId int32 `protobuf:"varint,5,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id } func (x *EditAnnualReportReq) Reset() { *x = EditAnnualReportReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[7] + mi := &file_api_reports_reports_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -533,7 +1082,7 @@ func (x *EditAnnualReportReq) String() string { func (*EditAnnualReportReq) ProtoMessage() {} func (x *EditAnnualReportReq) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[7] + mi := &file_api_reports_reports_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -546,28 +1095,21 @@ func (x *EditAnnualReportReq) ProtoReflect() protoreflect.Message { // Deprecated: Use EditAnnualReportReq.ProtoReflect.Descriptor instead. func (*EditAnnualReportReq) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{7} + return file_api_reports_reports_proto_rawDescGZIP(), []int{15} } -func (x *EditAnnualReportReq) GetId() int32 { +func (x *EditAnnualReportReq) GetUuid() string { if x != nil { - return x.Id - } - return 0 -} - -func (x *EditAnnualReportReq) GetFileName() string { - if x != nil { - return x.FileName + return x.Uuid } return "" } -func (x *EditAnnualReportReq) GetDate() int64 { +func (x *EditAnnualReportReq) GetDataByLang() []*AnnualReportLang { if x != nil { - return x.Date + return x.DataByLang } - return 0 + return nil } func (x *EditAnnualReportReq) GetFileUrl() string { @@ -577,20 +1119,6 @@ func (x *EditAnnualReportReq) GetFileUrl() string { return "" } -func (x *EditAnnualReportReq) GetSort() int32 { - if x != nil { - return x.Sort - } - return 0 -} - -func (x *EditAnnualReportReq) GetStatus() int32 { - if x != nil { - return x.Status - } - return 0 -} - func (x *EditAnnualReportReq) GetOperator() string { if x != nil { return x.Operator @@ -616,7 +1144,7 @@ type EditAnnualReportResp struct { func (x *EditAnnualReportResp) Reset() { *x = EditAnnualReportResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[8] + mi := &file_api_reports_reports_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -629,7 +1157,7 @@ func (x *EditAnnualReportResp) String() string { func (*EditAnnualReportResp) ProtoMessage() {} func (x *EditAnnualReportResp) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[8] + mi := &file_api_reports_reports_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -642,7 +1170,7 @@ func (x *EditAnnualReportResp) ProtoReflect() protoreflect.Message { // Deprecated: Use EditAnnualReportResp.ProtoReflect.Descriptor instead. func (*EditAnnualReportResp) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{8} + return file_api_reports_reports_proto_rawDescGZIP(), []int{16} } func (x *EditAnnualReportResp) GetMsg() string { @@ -657,13 +1185,13 @@ type DeleteAnnualReportReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid } func (x *DeleteAnnualReportReq) Reset() { *x = DeleteAnnualReportReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[9] + mi := &file_api_reports_reports_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -676,7 +1204,7 @@ func (x *DeleteAnnualReportReq) String() string { func (*DeleteAnnualReportReq) ProtoMessage() {} func (x *DeleteAnnualReportReq) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[9] + mi := &file_api_reports_reports_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -689,14 +1217,14 @@ func (x *DeleteAnnualReportReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteAnnualReportReq.ProtoReflect.Descriptor instead. func (*DeleteAnnualReportReq) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{9} + return file_api_reports_reports_proto_rawDescGZIP(), []int{17} } -func (x *DeleteAnnualReportReq) GetId() int32 { +func (x *DeleteAnnualReportReq) GetUuid() string { if x != nil { - return x.Id + return x.Uuid } - return 0 + return "" } type DeleteAnnualReportResp struct { @@ -710,7 +1238,7 @@ type DeleteAnnualReportResp struct { func (x *DeleteAnnualReportResp) Reset() { *x = DeleteAnnualReportResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[10] + mi := &file_api_reports_reports_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -723,7 +1251,7 @@ func (x *DeleteAnnualReportResp) String() string { func (*DeleteAnnualReportResp) ProtoMessage() {} func (x *DeleteAnnualReportResp) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[10] + mi := &file_api_reports_reports_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -736,7 +1264,7 @@ func (x *DeleteAnnualReportResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteAnnualReportResp.ProtoReflect.Descriptor instead. func (*DeleteAnnualReportResp) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{10} + return file_api_reports_reports_proto_rawDescGZIP(), []int{18} } func (x *DeleteAnnualReportResp) GetMsg() string { @@ -751,14 +1279,15 @@ type DisplayAnnualReportReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page"` - PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize"` + Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize"` + LangType string `protobuf:"bytes,3,opt,name=langType,proto3" json:"langType"` //语言类型 } func (x *DisplayAnnualReportReq) Reset() { *x = DisplayAnnualReportReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[11] + mi := &file_api_reports_reports_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -771,7 +1300,7 @@ func (x *DisplayAnnualReportReq) String() string { func (*DisplayAnnualReportReq) ProtoMessage() {} func (x *DisplayAnnualReportReq) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[11] + mi := &file_api_reports_reports_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -784,7 +1313,7 @@ func (x *DisplayAnnualReportReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplayAnnualReportReq.ProtoReflect.Descriptor instead. func (*DisplayAnnualReportReq) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{11} + return file_api_reports_reports_proto_rawDescGZIP(), []int{19} } func (x *DisplayAnnualReportReq) GetPage() int32 { @@ -801,6 +1330,13 @@ func (x *DisplayAnnualReportReq) GetPageSize() int32 { return 0 } +func (x *DisplayAnnualReportReq) GetLangType() string { + if x != nil { + return x.LangType + } + return "" +} + type DisplayAnnualReportResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -815,7 +1351,7 @@ type DisplayAnnualReportResp struct { func (x *DisplayAnnualReportResp) Reset() { *x = DisplayAnnualReportResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[12] + mi := &file_api_reports_reports_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -828,7 +1364,7 @@ func (x *DisplayAnnualReportResp) String() string { func (*DisplayAnnualReportResp) ProtoMessage() {} func (x *DisplayAnnualReportResp) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[12] + mi := &file_api_reports_reports_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -841,7 +1377,7 @@ func (x *DisplayAnnualReportResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplayAnnualReportResp.ProtoReflect.Descriptor instead. func (*DisplayAnnualReportResp) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{12} + return file_api_reports_reports_proto_rawDescGZIP(), []int{20} } func (x *DisplayAnnualReportResp) GetPage() int32 { @@ -885,7 +1421,7 @@ type DisplayAnnualReportItem struct { func (x *DisplayAnnualReportItem) Reset() { *x = DisplayAnnualReportItem{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[13] + mi := &file_api_reports_reports_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -898,7 +1434,7 @@ func (x *DisplayAnnualReportItem) String() string { func (*DisplayAnnualReportItem) ProtoMessage() {} func (x *DisplayAnnualReportItem) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[13] + mi := &file_api_reports_reports_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -911,7 +1447,7 @@ func (x *DisplayAnnualReportItem) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplayAnnualReportItem.ProtoReflect.Descriptor instead. func (*DisplayAnnualReportItem) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{13} + return file_api_reports_reports_proto_rawDescGZIP(), []int{21} } func (x *DisplayAnnualReportItem) GetFileName() string { @@ -949,7 +1485,7 @@ type GetQuarterlyReportListReq struct { func (x *GetQuarterlyReportListReq) Reset() { *x = GetQuarterlyReportListReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[14] + mi := &file_api_reports_reports_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -962,7 +1498,7 @@ func (x *GetQuarterlyReportListReq) String() string { func (*GetQuarterlyReportListReq) ProtoMessage() {} func (x *GetQuarterlyReportListReq) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[14] + mi := &file_api_reports_reports_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -975,7 +1511,7 @@ func (x *GetQuarterlyReportListReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetQuarterlyReportListReq.ProtoReflect.Descriptor instead. func (*GetQuarterlyReportListReq) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{14} + return file_api_reports_reports_proto_rawDescGZIP(), []int{22} } func (x *GetQuarterlyReportListReq) GetPage() int32 { @@ -1014,7 +1550,7 @@ type GetQuarterlyReportListResp struct { func (x *GetQuarterlyReportListResp) Reset() { *x = GetQuarterlyReportListResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[15] + mi := &file_api_reports_reports_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1027,7 +1563,7 @@ func (x *GetQuarterlyReportListResp) String() string { func (*GetQuarterlyReportListResp) ProtoMessage() {} func (x *GetQuarterlyReportListResp) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[15] + mi := &file_api_reports_reports_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1040,7 +1576,7 @@ func (x *GetQuarterlyReportListResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetQuarterlyReportListResp.ProtoReflect.Descriptor instead. func (*GetQuarterlyReportListResp) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{15} + return file_api_reports_reports_proto_rawDescGZIP(), []int{23} } func (x *GetQuarterlyReportListResp) GetMsg() string { @@ -1078,40 +1614,31 @@ func (x *GetQuarterlyReportListResp) GetData() []*QuarterlyReport { return nil } -type QuarterlyReport struct { +type GetQuarterlyReportInfoReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` //id - FileName string `protobuf:"bytes,2,opt,name=fileName,proto3" json:"fileName"` //文件名称 - FileIntroduce string `protobuf:"bytes,3,opt,name=fileIntroduce,proto3" json:"fileIntroduce"` //文件介绍 - Attachment string `protobuf:"bytes,4,opt,name=attachment,proto3" json:"attachment"` //附件 - AttachmentName string `protobuf:"bytes,5,opt,name=attachmentName,proto3" json:"attachmentName"` //附件名称 - Sort int32 `protobuf:"varint,6,opt,name=sort,proto3" json:"sort"` //排序 - Status int32 `protobuf:"varint,7,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) - UpdatedAt string `protobuf:"bytes,8,opt,name=updatedAt,proto3" json:"updatedAt"` //最近更新时间 - Operator string `protobuf:"bytes,9,opt,name=operator,proto3" json:"operator"` //操作人 - OperatorId int32 `protobuf:"varint,10,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid } -func (x *QuarterlyReport) Reset() { - *x = QuarterlyReport{} +func (x *GetQuarterlyReportInfoReq) Reset() { + *x = GetQuarterlyReportInfoReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[16] + mi := &file_api_reports_reports_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QuarterlyReport) String() string { +func (x *GetQuarterlyReportInfoReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QuarterlyReport) ProtoMessage() {} +func (*GetQuarterlyReportInfoReq) ProtoMessage() {} -func (x *QuarterlyReport) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[16] +func (x *GetQuarterlyReportInfoReq) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1122,98 +1649,108 @@ func (x *QuarterlyReport) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use QuarterlyReport.ProtoReflect.Descriptor instead. -func (*QuarterlyReport) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{16} +// Deprecated: Use GetQuarterlyReportInfoReq.ProtoReflect.Descriptor instead. +func (*GetQuarterlyReportInfoReq) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{24} } -func (x *QuarterlyReport) GetId() int32 { +func (x *GetQuarterlyReportInfoReq) GetUuid() string { if x != nil { - return x.Id - } - return 0 -} - -func (x *QuarterlyReport) GetFileName() string { - if x != nil { - return x.FileName + return x.Uuid } return "" } -func (x *QuarterlyReport) GetFileIntroduce() string { +type GetQuarterlyReportInfoResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` + DataByLang []*QuarterlyReportLang `protobuf:"bytes,2,rep,name=dataByLang,proto3" json:"dataByLang"` //语言数据 + Attachment string `protobuf:"bytes,3,opt,name=attachment,proto3" json:"attachment"` //附件 + AttachmentName string `protobuf:"bytes,4,opt,name=attachmentName,proto3" json:"attachmentName"` //附件名称 +} + +func (x *GetQuarterlyReportInfoResp) Reset() { + *x = GetQuarterlyReportInfoResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetQuarterlyReportInfoResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetQuarterlyReportInfoResp) ProtoMessage() {} + +func (x *GetQuarterlyReportInfoResp) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[25] + 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 GetQuarterlyReportInfoResp.ProtoReflect.Descriptor instead. +func (*GetQuarterlyReportInfoResp) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{25} +} + +func (x *GetQuarterlyReportInfoResp) GetMsg() string { if x != nil { - return x.FileIntroduce + return x.Msg } return "" } -func (x *QuarterlyReport) GetAttachment() string { +func (x *GetQuarterlyReportInfoResp) GetDataByLang() []*QuarterlyReportLang { + if x != nil { + return x.DataByLang + } + return nil +} + +func (x *GetQuarterlyReportInfoResp) GetAttachment() string { if x != nil { return x.Attachment } return "" } -func (x *QuarterlyReport) GetAttachmentName() string { +func (x *GetQuarterlyReportInfoResp) GetAttachmentName() string { if x != nil { return x.AttachmentName } return "" } -func (x *QuarterlyReport) GetSort() int32 { - if x != nil { - return x.Sort - } - return 0 -} - -func (x *QuarterlyReport) GetStatus() int32 { - if x != nil { - return x.Status - } - return 0 -} - -func (x *QuarterlyReport) GetUpdatedAt() string { - if x != nil { - return x.UpdatedAt - } - return "" -} - -func (x *QuarterlyReport) GetOperator() string { - if x != nil { - return x.Operator - } - return "" -} - -func (x *QuarterlyReport) GetOperatorId() int32 { - if x != nil { - return x.OperatorId - } - return 0 -} - type AddQuarterlyReportReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - FileName string `protobuf:"bytes,1,opt,name=fileName,proto3" json:"fileName"` //文件名称 - FileIntroduce string `protobuf:"bytes,2,opt,name=fileIntroduce,proto3" json:"fileIntroduce"` //文件介绍 - Attachment string `protobuf:"bytes,3,opt,name=attachment,proto3" json:"attachment"` //附件 - AttachmentName string `protobuf:"bytes,4,opt,name=attachmentName,proto3" json:"attachmentName"` //附件名称 - Operator string `protobuf:"bytes,5,opt,name=operator,proto3" json:"operator"` //操作人 - OperatorId int32 `protobuf:"varint,6,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid + DataByLang []*QuarterlyReportLang `protobuf:"bytes,2,rep,name=dataByLang,proto3" json:"dataByLang"` //语言数据 + Attachment string `protobuf:"bytes,3,opt,name=attachment,proto3" json:"attachment"` //附件 + AttachmentName string `protobuf:"bytes,4,opt,name=attachmentName,proto3" json:"attachmentName"` //附件名称 + Status int32 `protobuf:"varint,5,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) + Sort int32 `protobuf:"varint,6,opt,name=sort,proto3" json:"sort"` //排序 + Operator string `protobuf:"bytes,7,opt,name=operator,proto3" json:"operator"` //操作人 + OperatorId int32 `protobuf:"varint,8,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id } func (x *AddQuarterlyReportReq) Reset() { *x = AddQuarterlyReportReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[17] + mi := &file_api_reports_reports_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1226,7 +1763,7 @@ func (x *AddQuarterlyReportReq) String() string { func (*AddQuarterlyReportReq) ProtoMessage() {} func (x *AddQuarterlyReportReq) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[17] + mi := &file_api_reports_reports_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1239,21 +1776,21 @@ func (x *AddQuarterlyReportReq) ProtoReflect() protoreflect.Message { // Deprecated: Use AddQuarterlyReportReq.ProtoReflect.Descriptor instead. func (*AddQuarterlyReportReq) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{17} + return file_api_reports_reports_proto_rawDescGZIP(), []int{26} } -func (x *AddQuarterlyReportReq) GetFileName() string { +func (x *AddQuarterlyReportReq) GetUuid() string { if x != nil { - return x.FileName + return x.Uuid } return "" } -func (x *AddQuarterlyReportReq) GetFileIntroduce() string { +func (x *AddQuarterlyReportReq) GetDataByLang() []*QuarterlyReportLang { if x != nil { - return x.FileIntroduce + return x.DataByLang } - return "" + return nil } func (x *AddQuarterlyReportReq) GetAttachment() string { @@ -1270,6 +1807,20 @@ func (x *AddQuarterlyReportReq) GetAttachmentName() string { return "" } +func (x *AddQuarterlyReportReq) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *AddQuarterlyReportReq) GetSort() int32 { + if x != nil { + return x.Sort + } + return 0 +} + func (x *AddQuarterlyReportReq) GetOperator() string { if x != nil { return x.Operator @@ -1295,7 +1846,7 @@ type AddQuarterlyReportResp struct { func (x *AddQuarterlyReportResp) Reset() { *x = AddQuarterlyReportResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[18] + mi := &file_api_reports_reports_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1308,7 +1859,7 @@ func (x *AddQuarterlyReportResp) String() string { func (*AddQuarterlyReportResp) ProtoMessage() {} func (x *AddQuarterlyReportResp) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[18] + mi := &file_api_reports_reports_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1321,7 +1872,7 @@ func (x *AddQuarterlyReportResp) ProtoReflect() protoreflect.Message { // Deprecated: Use AddQuarterlyReportResp.ProtoReflect.Descriptor instead. func (*AddQuarterlyReportResp) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{18} + return file_api_reports_reports_proto_rawDescGZIP(), []int{27} } func (x *AddQuarterlyReportResp) GetMsg() string { @@ -1331,26 +1882,149 @@ func (x *AddQuarterlyReportResp) GetMsg() string { return "" } +type SortAndStatusQuarterlyReportReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) + Sort int32 `protobuf:"varint,3,opt,name=sort,proto3" json:"sort"` //排序 + Operator string `protobuf:"bytes,4,opt,name=operator,proto3" json:"operator"` //操作人 + OperatorId int32 `protobuf:"varint,5,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id +} + +func (x *SortAndStatusQuarterlyReportReq) Reset() { + *x = SortAndStatusQuarterlyReportReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SortAndStatusQuarterlyReportReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SortAndStatusQuarterlyReportReq) ProtoMessage() {} + +func (x *SortAndStatusQuarterlyReportReq) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[28] + 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 SortAndStatusQuarterlyReportReq.ProtoReflect.Descriptor instead. +func (*SortAndStatusQuarterlyReportReq) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{28} +} + +func (x *SortAndStatusQuarterlyReportReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *SortAndStatusQuarterlyReportReq) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *SortAndStatusQuarterlyReportReq) GetSort() int32 { + if x != nil { + return x.Sort + } + return 0 +} + +func (x *SortAndStatusQuarterlyReportReq) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *SortAndStatusQuarterlyReportReq) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type SortAndStatusQuarterlyReportResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *SortAndStatusQuarterlyReportResp) Reset() { + *x = SortAndStatusQuarterlyReportResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_reports_reports_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SortAndStatusQuarterlyReportResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SortAndStatusQuarterlyReportResp) ProtoMessage() {} + +func (x *SortAndStatusQuarterlyReportResp) ProtoReflect() protoreflect.Message { + mi := &file_api_reports_reports_proto_msgTypes[29] + 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 SortAndStatusQuarterlyReportResp.ProtoReflect.Descriptor instead. +func (*SortAndStatusQuarterlyReportResp) Descriptor() ([]byte, []int) { + return file_api_reports_reports_proto_rawDescGZIP(), []int{29} +} + +func (x *SortAndStatusQuarterlyReportResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + type EditQuarterlyReportReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` //id - FileName string `protobuf:"bytes,2,opt,name=fileName,proto3" json:"fileName"` //文件名称 - FileIntroduce string `protobuf:"bytes,3,opt,name=fileIntroduce,proto3" json:"fileIntroduce"` //文件介绍 - Attachment string `protobuf:"bytes,4,opt,name=attachment,proto3" json:"attachment"` //附件 - AttachmentName string `protobuf:"bytes,5,opt,name=attachmentName,proto3" json:"attachmentName"` //附件名称 - Sort int32 `protobuf:"varint,6,opt,name=sort,proto3" json:"sort"` //排序 - Status int32 `protobuf:"varint,7,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) - Operator string `protobuf:"bytes,8,opt,name=operator,proto3" json:"operator"` //操作人 - OperatorId int32 `protobuf:"varint,9,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid + DataByLang []*QuarterlyReportLang `protobuf:"bytes,2,rep,name=dataByLang,proto3" json:"dataByLang"` //语言数据 + Attachment string `protobuf:"bytes,3,opt,name=attachment,proto3" json:"attachment"` //附件 + AttachmentName string `protobuf:"bytes,4,opt,name=attachmentName,proto3" json:"attachmentName"` //附件名称 + Operator string `protobuf:"bytes,5,opt,name=operator,proto3" json:"operator"` //操作人 + OperatorId int32 `protobuf:"varint,6,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id } func (x *EditQuarterlyReportReq) Reset() { *x = EditQuarterlyReportReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[19] + mi := &file_api_reports_reports_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1363,7 +2037,7 @@ func (x *EditQuarterlyReportReq) String() string { func (*EditQuarterlyReportReq) ProtoMessage() {} func (x *EditQuarterlyReportReq) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[19] + mi := &file_api_reports_reports_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1376,28 +2050,21 @@ func (x *EditQuarterlyReportReq) ProtoReflect() protoreflect.Message { // Deprecated: Use EditQuarterlyReportReq.ProtoReflect.Descriptor instead. func (*EditQuarterlyReportReq) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{19} + return file_api_reports_reports_proto_rawDescGZIP(), []int{30} } -func (x *EditQuarterlyReportReq) GetId() int32 { +func (x *EditQuarterlyReportReq) GetUuid() string { if x != nil { - return x.Id - } - return 0 -} - -func (x *EditQuarterlyReportReq) GetFileName() string { - if x != nil { - return x.FileName + return x.Uuid } return "" } -func (x *EditQuarterlyReportReq) GetFileIntroduce() string { +func (x *EditQuarterlyReportReq) GetDataByLang() []*QuarterlyReportLang { if x != nil { - return x.FileIntroduce + return x.DataByLang } - return "" + return nil } func (x *EditQuarterlyReportReq) GetAttachment() string { @@ -1414,20 +2081,6 @@ func (x *EditQuarterlyReportReq) GetAttachmentName() string { return "" } -func (x *EditQuarterlyReportReq) GetSort() int32 { - if x != nil { - return x.Sort - } - return 0 -} - -func (x *EditQuarterlyReportReq) GetStatus() int32 { - if x != nil { - return x.Status - } - return 0 -} - func (x *EditQuarterlyReportReq) GetOperator() string { if x != nil { return x.Operator @@ -1453,7 +2106,7 @@ type EditQuarterlyReportResp struct { func (x *EditQuarterlyReportResp) Reset() { *x = EditQuarterlyReportResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[20] + mi := &file_api_reports_reports_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1466,7 +2119,7 @@ func (x *EditQuarterlyReportResp) String() string { func (*EditQuarterlyReportResp) ProtoMessage() {} func (x *EditQuarterlyReportResp) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[20] + mi := &file_api_reports_reports_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1479,7 +2132,7 @@ func (x *EditQuarterlyReportResp) ProtoReflect() protoreflect.Message { // Deprecated: Use EditQuarterlyReportResp.ProtoReflect.Descriptor instead. func (*EditQuarterlyReportResp) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{20} + return file_api_reports_reports_proto_rawDescGZIP(), []int{31} } func (x *EditQuarterlyReportResp) GetMsg() string { @@ -1494,13 +2147,13 @@ type DeleteQuarterlyReportReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid } func (x *DeleteQuarterlyReportReq) Reset() { *x = DeleteQuarterlyReportReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[21] + mi := &file_api_reports_reports_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1513,7 +2166,7 @@ func (x *DeleteQuarterlyReportReq) String() string { func (*DeleteQuarterlyReportReq) ProtoMessage() {} func (x *DeleteQuarterlyReportReq) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[21] + mi := &file_api_reports_reports_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1526,14 +2179,14 @@ func (x *DeleteQuarterlyReportReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteQuarterlyReportReq.ProtoReflect.Descriptor instead. func (*DeleteQuarterlyReportReq) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{21} + return file_api_reports_reports_proto_rawDescGZIP(), []int{32} } -func (x *DeleteQuarterlyReportReq) GetId() int32 { +func (x *DeleteQuarterlyReportReq) GetUuid() string { if x != nil { - return x.Id + return x.Uuid } - return 0 + return "" } type DeleteQuarterlyReportResp struct { @@ -1547,7 +2200,7 @@ type DeleteQuarterlyReportResp struct { func (x *DeleteQuarterlyReportResp) Reset() { *x = DeleteQuarterlyReportResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[22] + mi := &file_api_reports_reports_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1560,7 +2213,7 @@ func (x *DeleteQuarterlyReportResp) String() string { func (*DeleteQuarterlyReportResp) ProtoMessage() {} func (x *DeleteQuarterlyReportResp) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[22] + mi := &file_api_reports_reports_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1573,7 +2226,7 @@ func (x *DeleteQuarterlyReportResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteQuarterlyReportResp.ProtoReflect.Descriptor instead. func (*DeleteQuarterlyReportResp) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{22} + return file_api_reports_reports_proto_rawDescGZIP(), []int{33} } func (x *DeleteQuarterlyReportResp) GetMsg() string { @@ -1591,12 +2244,13 @@ type DisplayQuarterlyReportReq struct { Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page"` PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize"` Filtrate *FiltrateWeb `protobuf:"bytes,3,opt,name=filtrate,proto3" json:"filtrate"` + LangType string `protobuf:"bytes,4,opt,name=langType,proto3" json:"langType"` //语言类型 } func (x *DisplayQuarterlyReportReq) Reset() { *x = DisplayQuarterlyReportReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[23] + mi := &file_api_reports_reports_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1609,7 +2263,7 @@ func (x *DisplayQuarterlyReportReq) String() string { func (*DisplayQuarterlyReportReq) ProtoMessage() {} func (x *DisplayQuarterlyReportReq) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[23] + mi := &file_api_reports_reports_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1622,7 +2276,7 @@ func (x *DisplayQuarterlyReportReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplayQuarterlyReportReq.ProtoReflect.Descriptor instead. func (*DisplayQuarterlyReportReq) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{23} + return file_api_reports_reports_proto_rawDescGZIP(), []int{34} } func (x *DisplayQuarterlyReportReq) GetPage() int32 { @@ -1646,6 +2300,13 @@ func (x *DisplayQuarterlyReportReq) GetFiltrate() *FiltrateWeb { return nil } +func (x *DisplayQuarterlyReportReq) GetLangType() string { + if x != nil { + return x.LangType + } + return "" +} + type DisplayQuarterlyReportResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1660,7 +2321,7 @@ type DisplayQuarterlyReportResp struct { func (x *DisplayQuarterlyReportResp) Reset() { *x = DisplayQuarterlyReportResp{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[24] + mi := &file_api_reports_reports_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1673,7 +2334,7 @@ func (x *DisplayQuarterlyReportResp) String() string { func (*DisplayQuarterlyReportResp) ProtoMessage() {} func (x *DisplayQuarterlyReportResp) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[24] + mi := &file_api_reports_reports_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1686,7 +2347,7 @@ func (x *DisplayQuarterlyReportResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplayQuarterlyReportResp.ProtoReflect.Descriptor instead. func (*DisplayQuarterlyReportResp) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{24} + return file_api_reports_reports_proto_rawDescGZIP(), []int{35} } func (x *DisplayQuarterlyReportResp) GetPage() int32 { @@ -1731,7 +2392,7 @@ type DisplayQuarterlyReportItem struct { func (x *DisplayQuarterlyReportItem) Reset() { *x = DisplayQuarterlyReportItem{} if protoimpl.UnsafeEnabled { - mi := &file_api_reports_reports_proto_msgTypes[25] + mi := &file_api_reports_reports_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1744,7 +2405,7 @@ func (x *DisplayQuarterlyReportItem) String() string { func (*DisplayQuarterlyReportItem) ProtoMessage() {} func (x *DisplayQuarterlyReportItem) ProtoReflect() protoreflect.Message { - mi := &file_api_reports_reports_proto_msgTypes[25] + mi := &file_api_reports_reports_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1757,7 +2418,7 @@ func (x *DisplayQuarterlyReportItem) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplayQuarterlyReportItem.ProtoReflect.Descriptor instead. func (*DisplayQuarterlyReportItem) Descriptor() ([]byte, []int) { - return file_api_reports_reports_proto_rawDescGZIP(), []int{25} + return file_api_reports_reports_proto_rawDescGZIP(), []int{36} } func (x *DisplayQuarterlyReportItem) GetFileName() string { @@ -1800,260 +2461,368 @@ var file_api_reports_reports_proto_rawDesc = []byte{ 0x61, 0x74, 0x75, 0x73, 0x22, 0x29, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x57, 0x65, 0x62, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, - 0x77, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, + 0x47, 0x0a, 0x0b, 0x4c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, + 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, + 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xfa, 0x01, 0x0a, 0x0c, 0x41, 0x6e, 0x6e, + 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x18, 0x0a, + 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x36, 0x0a, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x7c, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, + 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, + 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x22, 0xab, 0x02, 0x0a, 0x0f, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, + 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0b, + 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, + 0x64, 0x22, 0x91, 0x01, 0x0a, 0x13, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, + 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, + 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, + 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x77, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, + 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, + 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, + 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, + 0x2d, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x11, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, + 0x72, 0x61, 0x74, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x22, 0x9c, + 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, + 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x12, 0x29, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x6e, 0x6e, 0x75, 0x61, + 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x0a, + 0x16, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x80, 0x01, 0x0a, 0x17, + 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x39, 0x0a, 0x0a, 0x64, 0x61, 0x74, + 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, + 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x22, 0xe5, + 0x01, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x64, 0x61, 0x74, + 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, + 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x27, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, + 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, + 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, + 0x9a, 0x01, 0x0a, 0x1c, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, + 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x75, 0x75, 0x69, 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, 0x12, 0x0a, 0x04, + 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x1d, + 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x6e, 0x6e, + 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, + 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, + 0xba, 0x01, 0x0a, 0x13, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x64, + 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, + 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, + 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, + 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x28, 0x0a, 0x14, + 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x2b, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, + 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, + 0x75, 0x69, 0x64, 0x22, 0x2a, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, + 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, + 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, + 0x64, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x66, 0x69, 0x6c, - 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x72, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x52, 0x08, - 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x22, 0x9c, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, - 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, - 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, - 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x29, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xee, 0x01, 0x0a, 0x0c, 0x41, 0x6e, 0x6e, 0x75, - 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, + 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, + 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x95, 0x01, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x34, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, + 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x63, 0x0a, + 0x17, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, - 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, - 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, - 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1c, - 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x9a, 0x01, 0x0a, 0x12, 0x41, 0x64, 0x64, - 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, - 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, - 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x27, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, - 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, - 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xd7, - 0x01, 0x0a, 0x13, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, - 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, - 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, - 0x73, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x28, 0x0a, 0x14, 0x45, 0x64, 0x69, 0x74, - 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, - 0x73, 0x67, 0x22, 0x27, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, - 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x2a, 0x0a, 0x16, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x48, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, - 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x22, 0x95, 0x01, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, - 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, - 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x12, 0x34, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, - 0x74, 0x65, 0x6d, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x63, 0x0a, 0x17, 0x44, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, - 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x22, 0x7a, - 0x0a, 0x19, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, - 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x66, - 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, - 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, - 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x22, 0xa2, 0x01, 0x0a, 0x1a, 0x47, - 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, - 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x12, 0x2c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, - 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, - 0xb1, 0x02, 0x0a, 0x0f, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, - 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, - 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, - 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, - 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, - 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, + 0x72, 0x6c, 0x22, 0x7a, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, + 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, + 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, + 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, + 0x2d, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x11, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, + 0x72, 0x61, 0x74, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x22, 0xa2, + 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, + 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, + 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, + 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x51, 0x75, + 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x22, 0x2f, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, + 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, + 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x75, 0x75, 0x69, 0x64, 0x22, 0xb4, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, + 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x3c, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, + 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x2e, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, + 0x61, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x99, 0x02, 0x0a, 0x15, + 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x0a, 0x64, 0x61, 0x74, + 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, + 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, + 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2a, 0x0a, 0x16, 0x41, 0x64, 0x64, 0x51, 0x75, + 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6d, 0x73, 0x67, 0x22, 0x9d, 0x01, 0x0a, 0x1f, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 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, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, - 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x49, 0x64, 0x22, 0xdd, 0x01, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, - 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, - 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, - 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, - 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, - 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, - 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x49, 0x64, 0x22, 0x2a, 0x0a, 0x16, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, - 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, - 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, - 0x9a, 0x02, 0x0a, 0x16, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, - 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, - 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, - 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, - 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, - 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, - 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, - 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2b, 0x0a, 0x17, - 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x49, 0x64, 0x22, 0x34, 0x0a, 0x20, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x2a, 0x0a, 0x18, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x2d, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, - 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6d, 0x73, 0x67, 0x22, 0x7d, 0x0a, 0x19, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, - 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, - 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xee, 0x01, 0x0a, 0x16, 0x45, 0x64, + 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, + 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, + 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, + 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2b, 0x0a, 0x17, 0x45, 0x64, + 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x2e, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x2d, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x99, 0x01, 0x0a, 0x19, 0x44, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, + 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, + 0x53, 0x69, 0x7a, 0x65, 0x12, 0x30, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x57, 0x65, 0x62, 0x52, 0x08, 0x66, 0x69, + 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, + 0x70, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, + 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x30, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x46, 0x69, - 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x57, 0x65, 0x62, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, - 0x61, 0x74, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, - 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, - 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, - 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x37, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, - 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x49, 0x74, 0x65, - 0x6d, 0x22, 0xa6, 0x01, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, - 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, - 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, - 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, - 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x32, 0x8a, 0x07, 0x0a, 0x07, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, - 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x2e, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x37, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, + 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, + 0x22, 0xa6, 0x01, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, + 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, + 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, + 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x32, 0xa8, 0x0a, 0x0a, 0x07, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, + 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, - 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x20, - 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, - 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x4c, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, - 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, - 0x1a, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x6e, - 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, - 0x0a, 0x10, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x12, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, - 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, - 0x1a, 0x1d, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x41, - 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x55, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1f, 0x2e, - 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, - 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x20, - 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x61, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, - 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x23, - 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, - 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, - 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x2e, 0x72, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x45, 0x64, - 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, - 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, - 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, + 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x58, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4c, 0x0a, 0x0f, 0x41, 0x64, 0x64, + 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x2e, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6a, 0x0a, 0x19, 0x53, 0x6f, 0x72, 0x74, 0x41, + 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x53, + 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x6e, 0x6e, 0x75, + 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, + 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, + 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, + 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x2e, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, + 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, + 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x44, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, + 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, + 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x5e, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, - 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x21, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x51, + 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, + 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x41, + 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x12, 0x1e, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x51, + 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, + 0x71, 0x1a, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x51, + 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x73, 0x0a, 0x1c, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x6f, 0x72, + 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, + 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x45, 0x64, 0x69, 0x74, 0x51, + 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1f, + 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, + 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, + 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, + 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x5e, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, + 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x21, 0x2e, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, + 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, - 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, - 0x1a, 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, - 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x22, - 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, - 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x72, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x61, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, + 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x22, 0x2e, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, + 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, + 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2068,68 +2837,95 @@ func file_api_reports_reports_proto_rawDescGZIP() []byte { return file_api_reports_reports_proto_rawDescData } -var file_api_reports_reports_proto_msgTypes = make([]protoimpl.MessageInfo, 26) +var file_api_reports_reports_proto_msgTypes = make([]protoimpl.MessageInfo, 37) var file_api_reports_reports_proto_goTypes = []interface{}{ - (*Filtrate)(nil), // 0: reports.Filtrate - (*FiltrateWeb)(nil), // 1: reports.FiltrateWeb - (*GetAnnualReportListReq)(nil), // 2: reports.GetAnnualReportListReq - (*GetAnnualReportListResp)(nil), // 3: reports.GetAnnualReportListResp - (*AnnualReport)(nil), // 4: reports.AnnualReport - (*AddAnnualReportReq)(nil), // 5: reports.AddAnnualReportReq - (*AddAnnualReportResp)(nil), // 6: reports.AddAnnualReportResp - (*EditAnnualReportReq)(nil), // 7: reports.EditAnnualReportReq - (*EditAnnualReportResp)(nil), // 8: reports.EditAnnualReportResp - (*DeleteAnnualReportReq)(nil), // 9: reports.DeleteAnnualReportReq - (*DeleteAnnualReportResp)(nil), // 10: reports.DeleteAnnualReportResp - (*DisplayAnnualReportReq)(nil), // 11: reports.DisplayAnnualReportReq - (*DisplayAnnualReportResp)(nil), // 12: reports.DisplayAnnualReportResp - (*DisplayAnnualReportItem)(nil), // 13: reports.DisplayAnnualReportItem - (*GetQuarterlyReportListReq)(nil), // 14: reports.GetQuarterlyReportListReq - (*GetQuarterlyReportListResp)(nil), // 15: reports.GetQuarterlyReportListResp - (*QuarterlyReport)(nil), // 16: reports.QuarterlyReport - (*AddQuarterlyReportReq)(nil), // 17: reports.AddQuarterlyReportReq - (*AddQuarterlyReportResp)(nil), // 18: reports.AddQuarterlyReportResp - (*EditQuarterlyReportReq)(nil), // 19: reports.EditQuarterlyReportReq - (*EditQuarterlyReportResp)(nil), // 20: reports.EditQuarterlyReportResp - (*DeleteQuarterlyReportReq)(nil), // 21: reports.DeleteQuarterlyReportReq - (*DeleteQuarterlyReportResp)(nil), // 22: reports.DeleteQuarterlyReportResp - (*DisplayQuarterlyReportReq)(nil), // 23: reports.DisplayQuarterlyReportReq - (*DisplayQuarterlyReportResp)(nil), // 24: reports.DisplayQuarterlyReportResp - (*DisplayQuarterlyReportItem)(nil), // 25: reports.DisplayQuarterlyReportItem + (*Filtrate)(nil), // 0: reports.Filtrate + (*FiltrateWeb)(nil), // 1: reports.FiltrateWeb + (*LangSetting)(nil), // 2: reports.LangSetting + (*AnnualReport)(nil), // 3: reports.AnnualReport + (*AnnualReportLang)(nil), // 4: reports.AnnualReportLang + (*QuarterlyReport)(nil), // 5: reports.QuarterlyReport + (*QuarterlyReportLang)(nil), // 6: reports.QuarterlyReportLang + (*GetAnnualReportListReq)(nil), // 7: reports.GetAnnualReportListReq + (*GetAnnualReportListResp)(nil), // 8: reports.GetAnnualReportListResp + (*GetAnnualReportInfoReq)(nil), // 9: reports.GetAnnualReportInfoReq + (*GetAnnualReportInfoResp)(nil), // 10: reports.GetAnnualReportInfoResp + (*AddAnnualReportReq)(nil), // 11: reports.AddAnnualReportReq + (*AddAnnualReportResp)(nil), // 12: reports.AddAnnualReportResp + (*SortAndStatusAnnualReportReq)(nil), // 13: reports.SortAndStatusAnnualReportReq + (*SortAndStatusAnnualReportResp)(nil), // 14: reports.SortAndStatusAnnualReportResp + (*EditAnnualReportReq)(nil), // 15: reports.EditAnnualReportReq + (*EditAnnualReportResp)(nil), // 16: reports.EditAnnualReportResp + (*DeleteAnnualReportReq)(nil), // 17: reports.DeleteAnnualReportReq + (*DeleteAnnualReportResp)(nil), // 18: reports.DeleteAnnualReportResp + (*DisplayAnnualReportReq)(nil), // 19: reports.DisplayAnnualReportReq + (*DisplayAnnualReportResp)(nil), // 20: reports.DisplayAnnualReportResp + (*DisplayAnnualReportItem)(nil), // 21: reports.DisplayAnnualReportItem + (*GetQuarterlyReportListReq)(nil), // 22: reports.GetQuarterlyReportListReq + (*GetQuarterlyReportListResp)(nil), // 23: reports.GetQuarterlyReportListResp + (*GetQuarterlyReportInfoReq)(nil), // 24: reports.GetQuarterlyReportInfoReq + (*GetQuarterlyReportInfoResp)(nil), // 25: reports.GetQuarterlyReportInfoResp + (*AddQuarterlyReportReq)(nil), // 26: reports.AddQuarterlyReportReq + (*AddQuarterlyReportResp)(nil), // 27: reports.AddQuarterlyReportResp + (*SortAndStatusQuarterlyReportReq)(nil), // 28: reports.SortAndStatusQuarterlyReportReq + (*SortAndStatusQuarterlyReportResp)(nil), // 29: reports.SortAndStatusQuarterlyReportResp + (*EditQuarterlyReportReq)(nil), // 30: reports.EditQuarterlyReportReq + (*EditQuarterlyReportResp)(nil), // 31: reports.EditQuarterlyReportResp + (*DeleteQuarterlyReportReq)(nil), // 32: reports.DeleteQuarterlyReportReq + (*DeleteQuarterlyReportResp)(nil), // 33: reports.DeleteQuarterlyReportResp + (*DisplayQuarterlyReportReq)(nil), // 34: reports.DisplayQuarterlyReportReq + (*DisplayQuarterlyReportResp)(nil), // 35: reports.DisplayQuarterlyReportResp + (*DisplayQuarterlyReportItem)(nil), // 36: reports.DisplayQuarterlyReportItem } var file_api_reports_reports_proto_depIdxs = []int32{ - 0, // 0: reports.GetAnnualReportListReq.filtrate:type_name -> reports.Filtrate - 4, // 1: reports.GetAnnualReportListResp.data:type_name -> reports.AnnualReport - 13, // 2: reports.DisplayAnnualReportResp.Item:type_name -> reports.DisplayAnnualReportItem - 0, // 3: reports.GetQuarterlyReportListReq.filtrate:type_name -> reports.Filtrate - 16, // 4: reports.GetQuarterlyReportListResp.data:type_name -> reports.QuarterlyReport - 1, // 5: reports.DisplayQuarterlyReportReq.filtrate:type_name -> reports.FiltrateWeb - 25, // 6: reports.DisplayQuarterlyReportResp.Item:type_name -> reports.DisplayQuarterlyReportItem - 2, // 7: reports.Reports.GetAnnualReportList:input_type -> reports.GetAnnualReportListReq - 5, // 8: reports.Reports.AddAnnualReport:input_type -> reports.AddAnnualReportReq - 7, // 9: reports.Reports.EditAnnualReport:input_type -> reports.EditAnnualReportReq - 9, // 10: reports.Reports.DeleteAnnualReport:input_type -> reports.DeleteAnnualReportReq - 11, // 11: reports.Reports.DisplayAnnualReport:input_type -> reports.DisplayAnnualReportReq - 14, // 12: reports.Reports.GetQuarterlyReportList:input_type -> reports.GetQuarterlyReportListReq - 17, // 13: reports.Reports.AddQuarterlyReport:input_type -> reports.AddQuarterlyReportReq - 19, // 14: reports.Reports.EditQuarterlyReport:input_type -> reports.EditQuarterlyReportReq - 21, // 15: reports.Reports.DeleteQuarterlyReport:input_type -> reports.DeleteQuarterlyReportReq - 23, // 16: reports.Reports.DisplayQuarterlyReport:input_type -> reports.DisplayQuarterlyReportReq - 3, // 17: reports.Reports.GetAnnualReportList:output_type -> reports.GetAnnualReportListResp - 6, // 18: reports.Reports.AddAnnualReport:output_type -> reports.AddAnnualReportResp - 8, // 19: reports.Reports.EditAnnualReport:output_type -> reports.EditAnnualReportResp - 10, // 20: reports.Reports.DeleteAnnualReport:output_type -> reports.DeleteAnnualReportResp - 12, // 21: reports.Reports.DisplayAnnualReport:output_type -> reports.DisplayAnnualReportResp - 15, // 22: reports.Reports.GetQuarterlyReportList:output_type -> reports.GetQuarterlyReportListResp - 18, // 23: reports.Reports.AddQuarterlyReport:output_type -> reports.AddQuarterlyReportResp - 20, // 24: reports.Reports.EditQuarterlyReport:output_type -> reports.EditQuarterlyReportResp - 22, // 25: reports.Reports.DeleteQuarterlyReport:output_type -> reports.DeleteQuarterlyReportResp - 24, // 26: reports.Reports.DisplayQuarterlyReport:output_type -> reports.DisplayQuarterlyReportResp - 17, // [17:27] is the sub-list for method output_type - 7, // [7:17] is the sub-list for method input_type - 7, // [7:7] is the sub-list for extension type_name - 7, // [7:7] is the sub-list for extension extendee - 0, // [0:7] is the sub-list for field type_name + 2, // 0: reports.AnnualReport.langSetting:type_name -> reports.LangSetting + 2, // 1: reports.QuarterlyReport.langSetting:type_name -> reports.LangSetting + 0, // 2: reports.GetAnnualReportListReq.filtrate:type_name -> reports.Filtrate + 3, // 3: reports.GetAnnualReportListResp.data:type_name -> reports.AnnualReport + 4, // 4: reports.GetAnnualReportInfoResp.dataByLang:type_name -> reports.AnnualReportLang + 4, // 5: reports.AddAnnualReportReq.dataByLang:type_name -> reports.AnnualReportLang + 4, // 6: reports.EditAnnualReportReq.dataByLang:type_name -> reports.AnnualReportLang + 21, // 7: reports.DisplayAnnualReportResp.Item:type_name -> reports.DisplayAnnualReportItem + 0, // 8: reports.GetQuarterlyReportListReq.filtrate:type_name -> reports.Filtrate + 5, // 9: reports.GetQuarterlyReportListResp.data:type_name -> reports.QuarterlyReport + 6, // 10: reports.GetQuarterlyReportInfoResp.dataByLang:type_name -> reports.QuarterlyReportLang + 6, // 11: reports.AddQuarterlyReportReq.dataByLang:type_name -> reports.QuarterlyReportLang + 6, // 12: reports.EditQuarterlyReportReq.dataByLang:type_name -> reports.QuarterlyReportLang + 1, // 13: reports.DisplayQuarterlyReportReq.filtrate:type_name -> reports.FiltrateWeb + 36, // 14: reports.DisplayQuarterlyReportResp.Item:type_name -> reports.DisplayQuarterlyReportItem + 7, // 15: reports.Reports.GetAnnualReportList:input_type -> reports.GetAnnualReportListReq + 9, // 16: reports.Reports.GetAnnualReportInfo:input_type -> reports.GetAnnualReportInfoReq + 11, // 17: reports.Reports.AddAnnualReport:input_type -> reports.AddAnnualReportReq + 13, // 18: reports.Reports.SortAndStatusAnnualReport:input_type -> reports.SortAndStatusAnnualReportReq + 15, // 19: reports.Reports.EditAnnualReport:input_type -> reports.EditAnnualReportReq + 17, // 20: reports.Reports.DeleteAnnualReport:input_type -> reports.DeleteAnnualReportReq + 19, // 21: reports.Reports.DisplayAnnualReport:input_type -> reports.DisplayAnnualReportReq + 22, // 22: reports.Reports.GetQuarterlyReportList:input_type -> reports.GetQuarterlyReportListReq + 24, // 23: reports.Reports.GetQuarterlyReportInfo:input_type -> reports.GetQuarterlyReportInfoReq + 26, // 24: reports.Reports.AddQuarterlyReport:input_type -> reports.AddQuarterlyReportReq + 28, // 25: reports.Reports.SortAndStatusQuarterlyReport:input_type -> reports.SortAndStatusQuarterlyReportReq + 30, // 26: reports.Reports.EditQuarterlyReport:input_type -> reports.EditQuarterlyReportReq + 32, // 27: reports.Reports.DeleteQuarterlyReport:input_type -> reports.DeleteQuarterlyReportReq + 34, // 28: reports.Reports.DisplayQuarterlyReport:input_type -> reports.DisplayQuarterlyReportReq + 8, // 29: reports.Reports.GetAnnualReportList:output_type -> reports.GetAnnualReportListResp + 10, // 30: reports.Reports.GetAnnualReportInfo:output_type -> reports.GetAnnualReportInfoResp + 12, // 31: reports.Reports.AddAnnualReport:output_type -> reports.AddAnnualReportResp + 14, // 32: reports.Reports.SortAndStatusAnnualReport:output_type -> reports.SortAndStatusAnnualReportResp + 16, // 33: reports.Reports.EditAnnualReport:output_type -> reports.EditAnnualReportResp + 18, // 34: reports.Reports.DeleteAnnualReport:output_type -> reports.DeleteAnnualReportResp + 20, // 35: reports.Reports.DisplayAnnualReport:output_type -> reports.DisplayAnnualReportResp + 23, // 36: reports.Reports.GetQuarterlyReportList:output_type -> reports.GetQuarterlyReportListResp + 25, // 37: reports.Reports.GetQuarterlyReportInfo:output_type -> reports.GetQuarterlyReportInfoResp + 27, // 38: reports.Reports.AddQuarterlyReport:output_type -> reports.AddQuarterlyReportResp + 29, // 39: reports.Reports.SortAndStatusQuarterlyReport:output_type -> reports.SortAndStatusQuarterlyReportResp + 31, // 40: reports.Reports.EditQuarterlyReport:output_type -> reports.EditQuarterlyReportResp + 33, // 41: reports.Reports.DeleteQuarterlyReport:output_type -> reports.DeleteQuarterlyReportResp + 35, // 42: reports.Reports.DisplayQuarterlyReport:output_type -> reports.DisplayQuarterlyReportResp + 29, // [29:43] is the sub-list for method output_type + 15, // [15:29] 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_api_reports_reports_proto_init() } @@ -2163,7 +2959,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAnnualReportListReq); i { + switch v := v.(*LangSetting); i { case 0: return &v.state case 1: @@ -2175,18 +2971,6 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAnnualReportListResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_reports_reports_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AnnualReport); i { case 0: return &v.state @@ -2198,139 +2982,19 @@ func file_api_reports_reports_proto_init() { return nil } } + file_api_reports_reports_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnnualReportLang); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } file_api_reports_reports_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddAnnualReportReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_reports_reports_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddAnnualReportResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_reports_reports_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EditAnnualReportReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_reports_reports_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EditAnnualReportResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_reports_reports_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteAnnualReportReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_reports_reports_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteAnnualReportResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_reports_reports_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisplayAnnualReportReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_reports_reports_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisplayAnnualReportResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_reports_reports_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisplayAnnualReportItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_reports_reports_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetQuarterlyReportListReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_reports_reports_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetQuarterlyReportListResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_reports_reports_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuarterlyReport); i { case 0: return &v.state @@ -2342,8 +3006,140 @@ func file_api_reports_reports_proto_init() { return nil } } + file_api_reports_reports_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QuarterlyReportLang); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetAnnualReportListReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetAnnualReportListResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetAnnualReportInfoReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetAnnualReportInfoResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddAnnualReportReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddAnnualReportResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SortAndStatusAnnualReportReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SortAndStatusAnnualReportResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditAnnualReportReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditAnnualReportResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } file_api_reports_reports_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddQuarterlyReportReq); i { + switch v := v.(*DeleteAnnualReportReq); i { case 0: return &v.state case 1: @@ -2355,7 +3151,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddQuarterlyReportResp); i { + switch v := v.(*DeleteAnnualReportResp); i { case 0: return &v.state case 1: @@ -2367,7 +3163,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EditQuarterlyReportReq); i { + switch v := v.(*DisplayAnnualReportReq); i { case 0: return &v.state case 1: @@ -2379,7 +3175,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EditQuarterlyReportResp); i { + switch v := v.(*DisplayAnnualReportResp); i { case 0: return &v.state case 1: @@ -2391,7 +3187,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteQuarterlyReportReq); i { + switch v := v.(*DisplayAnnualReportItem); i { case 0: return &v.state case 1: @@ -2403,7 +3199,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteQuarterlyReportResp); i { + switch v := v.(*GetQuarterlyReportListReq); i { case 0: return &v.state case 1: @@ -2415,7 +3211,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisplayQuarterlyReportReq); i { + switch v := v.(*GetQuarterlyReportListResp); i { case 0: return &v.state case 1: @@ -2427,7 +3223,7 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisplayQuarterlyReportResp); i { + switch v := v.(*GetQuarterlyReportInfoReq); i { case 0: return &v.state case 1: @@ -2439,6 +3235,138 @@ func file_api_reports_reports_proto_init() { } } file_api_reports_reports_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetQuarterlyReportInfoResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddQuarterlyReportReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddQuarterlyReportResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SortAndStatusQuarterlyReportReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SortAndStatusQuarterlyReportResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditQuarterlyReportReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditQuarterlyReportResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteQuarterlyReportReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteQuarterlyReportResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisplayQuarterlyReportReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisplayQuarterlyReportResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_reports_reports_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DisplayQuarterlyReportItem); i { case 0: return &v.state @@ -2457,7 +3385,7 @@ func file_api_reports_reports_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_api_reports_reports_proto_rawDesc, NumEnums: 0, - NumMessages: 26, + NumMessages: 37, NumExtensions: 0, NumServices: 1, }, diff --git a/api/reports/reports.validator.pb.go b/api/reports/reports.validator.pb.go index 4318585..b888bae 100644 --- a/api/reports/reports.validator.pb.go +++ b/api/reports/reports.validator.pb.go @@ -21,6 +21,35 @@ func (this *Filtrate) Validate() error { func (this *FiltrateWeb) Validate() error { return nil } +func (this *LangSetting) Validate() error { + return nil +} +func (this *AnnualReport) Validate() error { + for _, item := range this.LangSetting { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("LangSetting", err) + } + } + } + return nil +} +func (this *AnnualReportLang) Validate() error { + return nil +} +func (this *QuarterlyReport) Validate() error { + for _, item := range this.LangSetting { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("LangSetting", err) + } + } + } + return nil +} +func (this *QuarterlyReportLang) Validate() error { + return nil +} func (this *GetAnnualReportListReq) Validate() error { if this.Filtrate != nil { if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Filtrate); err != nil { @@ -39,16 +68,46 @@ func (this *GetAnnualReportListResp) Validate() error { } return nil } -func (this *AnnualReport) Validate() error { +func (this *GetAnnualReportInfoReq) Validate() error { + return nil +} +func (this *GetAnnualReportInfoResp) Validate() error { + for _, item := range this.DataByLang { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err) + } + } + } return nil } func (this *AddAnnualReportReq) Validate() error { + for _, item := range this.DataByLang { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err) + } + } + } return nil } func (this *AddAnnualReportResp) Validate() error { return nil } +func (this *SortAndStatusAnnualReportReq) Validate() error { + return nil +} +func (this *SortAndStatusAnnualReportResp) Validate() error { + return nil +} func (this *EditAnnualReportReq) Validate() error { + for _, item := range this.DataByLang { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err) + } + } + } return nil } func (this *EditAnnualReportResp) Validate() error { @@ -94,16 +153,46 @@ func (this *GetQuarterlyReportListResp) Validate() error { } return nil } -func (this *QuarterlyReport) Validate() error { +func (this *GetQuarterlyReportInfoReq) Validate() error { + return nil +} +func (this *GetQuarterlyReportInfoResp) Validate() error { + for _, item := range this.DataByLang { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err) + } + } + } return nil } func (this *AddQuarterlyReportReq) Validate() error { + for _, item := range this.DataByLang { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err) + } + } + } return nil } func (this *AddQuarterlyReportResp) Validate() error { return nil } +func (this *SortAndStatusQuarterlyReportReq) Validate() error { + return nil +} +func (this *SortAndStatusQuarterlyReportResp) Validate() error { + return nil +} func (this *EditQuarterlyReportReq) Validate() error { + for _, item := range this.DataByLang { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err) + } + } + } return nil } func (this *EditQuarterlyReportResp) Validate() error { diff --git a/api/reports/reports_triple.pb.go b/api/reports/reports_triple.pb.go index 8ed36a0..5cee5e1 100644 --- a/api/reports/reports_triple.pb.go +++ b/api/reports/reports_triple.pb.go @@ -30,13 +30,17 @@ const _ = grpc_go.SupportPackageIsVersion7 type ReportsClient interface { // ==================================年度报告====================================== GetAnnualReportList(ctx context.Context, in *GetAnnualReportListReq, opts ...grpc_go.CallOption) (*GetAnnualReportListResp, common.ErrorWithAttachment) + GetAnnualReportInfo(ctx context.Context, in *GetAnnualReportInfoReq, opts ...grpc_go.CallOption) (*GetAnnualReportInfoResp, common.ErrorWithAttachment) AddAnnualReport(ctx context.Context, in *AddAnnualReportReq, opts ...grpc_go.CallOption) (*AddAnnualReportResp, common.ErrorWithAttachment) + SortAndStatusAnnualReport(ctx context.Context, in *SortAndStatusAnnualReportReq, opts ...grpc_go.CallOption) (*SortAndStatusAnnualReportResp, common.ErrorWithAttachment) EditAnnualReport(ctx context.Context, in *EditAnnualReportReq, opts ...grpc_go.CallOption) (*EditAnnualReportResp, common.ErrorWithAttachment) DeleteAnnualReport(ctx context.Context, in *DeleteAnnualReportReq, opts ...grpc_go.CallOption) (*DeleteAnnualReportResp, common.ErrorWithAttachment) DisplayAnnualReport(ctx context.Context, in *DisplayAnnualReportReq, opts ...grpc_go.CallOption) (*DisplayAnnualReportResp, common.ErrorWithAttachment) // ==================================季度报告====================================== GetQuarterlyReportList(ctx context.Context, in *GetQuarterlyReportListReq, opts ...grpc_go.CallOption) (*GetQuarterlyReportListResp, common.ErrorWithAttachment) + GetQuarterlyReportInfo(ctx context.Context, in *GetQuarterlyReportInfoReq, opts ...grpc_go.CallOption) (*GetQuarterlyReportInfoResp, common.ErrorWithAttachment) AddQuarterlyReport(ctx context.Context, in *AddQuarterlyReportReq, opts ...grpc_go.CallOption) (*AddQuarterlyReportResp, common.ErrorWithAttachment) + SortAndStatusQuarterlyReport(ctx context.Context, in *SortAndStatusQuarterlyReportReq, opts ...grpc_go.CallOption) (*SortAndStatusQuarterlyReportResp, common.ErrorWithAttachment) EditQuarterlyReport(ctx context.Context, in *EditQuarterlyReportReq, opts ...grpc_go.CallOption) (*EditQuarterlyReportResp, common.ErrorWithAttachment) DeleteQuarterlyReport(ctx context.Context, in *DeleteQuarterlyReportReq, opts ...grpc_go.CallOption) (*DeleteQuarterlyReportResp, common.ErrorWithAttachment) DisplayQuarterlyReport(ctx context.Context, in *DisplayQuarterlyReportReq, opts ...grpc_go.CallOption) (*DisplayQuarterlyReportResp, common.ErrorWithAttachment) @@ -47,16 +51,20 @@ type reportsClient struct { } type ReportsClientImpl struct { - GetAnnualReportList func(ctx context.Context, in *GetAnnualReportListReq) (*GetAnnualReportListResp, error) - AddAnnualReport func(ctx context.Context, in *AddAnnualReportReq) (*AddAnnualReportResp, error) - EditAnnualReport func(ctx context.Context, in *EditAnnualReportReq) (*EditAnnualReportResp, error) - DeleteAnnualReport func(ctx context.Context, in *DeleteAnnualReportReq) (*DeleteAnnualReportResp, error) - DisplayAnnualReport func(ctx context.Context, in *DisplayAnnualReportReq) (*DisplayAnnualReportResp, error) - GetQuarterlyReportList func(ctx context.Context, in *GetQuarterlyReportListReq) (*GetQuarterlyReportListResp, error) - AddQuarterlyReport func(ctx context.Context, in *AddQuarterlyReportReq) (*AddQuarterlyReportResp, error) - EditQuarterlyReport func(ctx context.Context, in *EditQuarterlyReportReq) (*EditQuarterlyReportResp, error) - DeleteQuarterlyReport func(ctx context.Context, in *DeleteQuarterlyReportReq) (*DeleteQuarterlyReportResp, error) - DisplayQuarterlyReport func(ctx context.Context, in *DisplayQuarterlyReportReq) (*DisplayQuarterlyReportResp, error) + GetAnnualReportList func(ctx context.Context, in *GetAnnualReportListReq) (*GetAnnualReportListResp, error) + GetAnnualReportInfo func(ctx context.Context, in *GetAnnualReportInfoReq) (*GetAnnualReportInfoResp, error) + AddAnnualReport func(ctx context.Context, in *AddAnnualReportReq) (*AddAnnualReportResp, error) + SortAndStatusAnnualReport func(ctx context.Context, in *SortAndStatusAnnualReportReq) (*SortAndStatusAnnualReportResp, error) + EditAnnualReport func(ctx context.Context, in *EditAnnualReportReq) (*EditAnnualReportResp, error) + DeleteAnnualReport func(ctx context.Context, in *DeleteAnnualReportReq) (*DeleteAnnualReportResp, error) + DisplayAnnualReport func(ctx context.Context, in *DisplayAnnualReportReq) (*DisplayAnnualReportResp, error) + GetQuarterlyReportList func(ctx context.Context, in *GetQuarterlyReportListReq) (*GetQuarterlyReportListResp, error) + GetQuarterlyReportInfo func(ctx context.Context, in *GetQuarterlyReportInfoReq) (*GetQuarterlyReportInfoResp, error) + AddQuarterlyReport func(ctx context.Context, in *AddQuarterlyReportReq) (*AddQuarterlyReportResp, error) + SortAndStatusQuarterlyReport func(ctx context.Context, in *SortAndStatusQuarterlyReportReq) (*SortAndStatusQuarterlyReportResp, error) + EditQuarterlyReport func(ctx context.Context, in *EditQuarterlyReportReq) (*EditQuarterlyReportResp, error) + DeleteQuarterlyReport func(ctx context.Context, in *DeleteQuarterlyReportReq) (*DeleteQuarterlyReportResp, error) + DisplayQuarterlyReport func(ctx context.Context, in *DisplayQuarterlyReportReq) (*DisplayQuarterlyReportResp, error) } func (c *ReportsClientImpl) GetDubboStub(cc *triple.TripleConn) ReportsClient { @@ -77,12 +85,24 @@ func (c *reportsClient) GetAnnualReportList(ctx context.Context, in *GetAnnualRe return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetAnnualReportList", in, out) } +func (c *reportsClient) GetAnnualReportInfo(ctx context.Context, in *GetAnnualReportInfoReq, opts ...grpc_go.CallOption) (*GetAnnualReportInfoResp, common.ErrorWithAttachment) { + out := new(GetAnnualReportInfoResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetAnnualReportInfo", in, out) +} + func (c *reportsClient) AddAnnualReport(ctx context.Context, in *AddAnnualReportReq, opts ...grpc_go.CallOption) (*AddAnnualReportResp, common.ErrorWithAttachment) { out := new(AddAnnualReportResp) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AddAnnualReport", in, out) } +func (c *reportsClient) SortAndStatusAnnualReport(ctx context.Context, in *SortAndStatusAnnualReportReq, opts ...grpc_go.CallOption) (*SortAndStatusAnnualReportResp, common.ErrorWithAttachment) { + out := new(SortAndStatusAnnualReportResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SortAndStatusAnnualReport", in, out) +} + func (c *reportsClient) EditAnnualReport(ctx context.Context, in *EditAnnualReportReq, opts ...grpc_go.CallOption) (*EditAnnualReportResp, common.ErrorWithAttachment) { out := new(EditAnnualReportResp) interfaceKey := ctx.Value(constant.InterfaceKey).(string) @@ -107,12 +127,24 @@ func (c *reportsClient) GetQuarterlyReportList(ctx context.Context, in *GetQuart return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetQuarterlyReportList", in, out) } +func (c *reportsClient) GetQuarterlyReportInfo(ctx context.Context, in *GetQuarterlyReportInfoReq, opts ...grpc_go.CallOption) (*GetQuarterlyReportInfoResp, common.ErrorWithAttachment) { + out := new(GetQuarterlyReportInfoResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetQuarterlyReportInfo", in, out) +} + func (c *reportsClient) AddQuarterlyReport(ctx context.Context, in *AddQuarterlyReportReq, opts ...grpc_go.CallOption) (*AddQuarterlyReportResp, common.ErrorWithAttachment) { out := new(AddQuarterlyReportResp) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AddQuarterlyReport", in, out) } +func (c *reportsClient) SortAndStatusQuarterlyReport(ctx context.Context, in *SortAndStatusQuarterlyReportReq, opts ...grpc_go.CallOption) (*SortAndStatusQuarterlyReportResp, common.ErrorWithAttachment) { + out := new(SortAndStatusQuarterlyReportResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SortAndStatusQuarterlyReport", in, out) +} + func (c *reportsClient) EditQuarterlyReport(ctx context.Context, in *EditQuarterlyReportReq, opts ...grpc_go.CallOption) (*EditQuarterlyReportResp, common.ErrorWithAttachment) { out := new(EditQuarterlyReportResp) interfaceKey := ctx.Value(constant.InterfaceKey).(string) @@ -137,13 +169,17 @@ func (c *reportsClient) DisplayQuarterlyReport(ctx context.Context, in *DisplayQ type ReportsServer interface { // ==================================年度报告====================================== GetAnnualReportList(context.Context, *GetAnnualReportListReq) (*GetAnnualReportListResp, error) + GetAnnualReportInfo(context.Context, *GetAnnualReportInfoReq) (*GetAnnualReportInfoResp, error) AddAnnualReport(context.Context, *AddAnnualReportReq) (*AddAnnualReportResp, error) + SortAndStatusAnnualReport(context.Context, *SortAndStatusAnnualReportReq) (*SortAndStatusAnnualReportResp, error) EditAnnualReport(context.Context, *EditAnnualReportReq) (*EditAnnualReportResp, error) DeleteAnnualReport(context.Context, *DeleteAnnualReportReq) (*DeleteAnnualReportResp, error) DisplayAnnualReport(context.Context, *DisplayAnnualReportReq) (*DisplayAnnualReportResp, error) // ==================================季度报告====================================== GetQuarterlyReportList(context.Context, *GetQuarterlyReportListReq) (*GetQuarterlyReportListResp, error) + GetQuarterlyReportInfo(context.Context, *GetQuarterlyReportInfoReq) (*GetQuarterlyReportInfoResp, error) AddQuarterlyReport(context.Context, *AddQuarterlyReportReq) (*AddQuarterlyReportResp, error) + SortAndStatusQuarterlyReport(context.Context, *SortAndStatusQuarterlyReportReq) (*SortAndStatusQuarterlyReportResp, error) EditQuarterlyReport(context.Context, *EditQuarterlyReportReq) (*EditQuarterlyReportResp, error) DeleteQuarterlyReport(context.Context, *DeleteQuarterlyReportReq) (*DeleteQuarterlyReportResp, error) DisplayQuarterlyReport(context.Context, *DisplayQuarterlyReportReq) (*DisplayQuarterlyReportResp, error) @@ -158,9 +194,15 @@ type UnimplementedReportsServer struct { func (UnimplementedReportsServer) GetAnnualReportList(context.Context, *GetAnnualReportListReq) (*GetAnnualReportListResp, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAnnualReportList not implemented") } +func (UnimplementedReportsServer) GetAnnualReportInfo(context.Context, *GetAnnualReportInfoReq) (*GetAnnualReportInfoResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAnnualReportInfo not implemented") +} func (UnimplementedReportsServer) AddAnnualReport(context.Context, *AddAnnualReportReq) (*AddAnnualReportResp, error) { return nil, status.Errorf(codes.Unimplemented, "method AddAnnualReport not implemented") } +func (UnimplementedReportsServer) SortAndStatusAnnualReport(context.Context, *SortAndStatusAnnualReportReq) (*SortAndStatusAnnualReportResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method SortAndStatusAnnualReport not implemented") +} func (UnimplementedReportsServer) EditAnnualReport(context.Context, *EditAnnualReportReq) (*EditAnnualReportResp, error) { return nil, status.Errorf(codes.Unimplemented, "method EditAnnualReport not implemented") } @@ -173,9 +215,15 @@ func (UnimplementedReportsServer) DisplayAnnualReport(context.Context, *DisplayA func (UnimplementedReportsServer) GetQuarterlyReportList(context.Context, *GetQuarterlyReportListReq) (*GetQuarterlyReportListResp, error) { return nil, status.Errorf(codes.Unimplemented, "method GetQuarterlyReportList not implemented") } +func (UnimplementedReportsServer) GetQuarterlyReportInfo(context.Context, *GetQuarterlyReportInfoReq) (*GetQuarterlyReportInfoResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetQuarterlyReportInfo not implemented") +} func (UnimplementedReportsServer) AddQuarterlyReport(context.Context, *AddQuarterlyReportReq) (*AddQuarterlyReportResp, error) { return nil, status.Errorf(codes.Unimplemented, "method AddQuarterlyReport not implemented") } +func (UnimplementedReportsServer) SortAndStatusQuarterlyReport(context.Context, *SortAndStatusQuarterlyReportReq) (*SortAndStatusQuarterlyReportResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method SortAndStatusQuarterlyReport not implemented") +} func (UnimplementedReportsServer) EditQuarterlyReport(context.Context, *EditQuarterlyReportReq) (*EditQuarterlyReportResp, error) { return nil, status.Errorf(codes.Unimplemented, "method EditQuarterlyReport not implemented") } @@ -242,6 +290,35 @@ func _Reports_GetAnnualReportList_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } +func _Reports_GetAnnualReportInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAnnualReportInfoReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetAnnualReportInfo", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + func _Reports_AddAnnualReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(AddAnnualReportReq) if err := dec(in); err != nil { @@ -271,6 +348,35 @@ func _Reports_AddAnnualReport_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _Reports_SortAndStatusAnnualReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(SortAndStatusAnnualReportReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("SortAndStatusAnnualReport", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + func _Reports_EditAnnualReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(EditAnnualReportReq) if err := dec(in); err != nil { @@ -387,6 +493,35 @@ func _Reports_GetQuarterlyReportList_Handler(srv interface{}, ctx context.Contex return interceptor(ctx, in, info, handler) } +func _Reports_GetQuarterlyReportInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetQuarterlyReportInfoReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetQuarterlyReportInfo", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + func _Reports_AddQuarterlyReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(AddQuarterlyReportReq) if err := dec(in); err != nil { @@ -416,6 +551,35 @@ func _Reports_AddQuarterlyReport_Handler(srv interface{}, ctx context.Context, d return interceptor(ctx, in, info, handler) } +func _Reports_SortAndStatusQuarterlyReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(SortAndStatusQuarterlyReportReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("SortAndStatusQuarterlyReport", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + func _Reports_EditQuarterlyReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(EditQuarterlyReportReq) if err := dec(in); err != nil { @@ -514,10 +678,18 @@ var Reports_ServiceDesc = grpc_go.ServiceDesc{ MethodName: "GetAnnualReportList", Handler: _Reports_GetAnnualReportList_Handler, }, + { + MethodName: "GetAnnualReportInfo", + Handler: _Reports_GetAnnualReportInfo_Handler, + }, { MethodName: "AddAnnualReport", Handler: _Reports_AddAnnualReport_Handler, }, + { + MethodName: "SortAndStatusAnnualReport", + Handler: _Reports_SortAndStatusAnnualReport_Handler, + }, { MethodName: "EditAnnualReport", Handler: _Reports_EditAnnualReport_Handler, @@ -534,10 +706,18 @@ var Reports_ServiceDesc = grpc_go.ServiceDesc{ MethodName: "GetQuarterlyReportList", Handler: _Reports_GetQuarterlyReportList_Handler, }, + { + MethodName: "GetQuarterlyReportInfo", + Handler: _Reports_GetQuarterlyReportInfo_Handler, + }, { MethodName: "AddQuarterlyReport", Handler: _Reports_AddQuarterlyReport_Handler, }, + { + MethodName: "SortAndStatusQuarterlyReport", + Handler: _Reports_SortAndStatusQuarterlyReport_Handler, + }, { MethodName: "EditQuarterlyReport", Handler: _Reports_EditQuarterlyReport_Handler, diff --git a/pkg/router/router.go b/pkg/router/router.go index 68e581a..580ee03 100644 --- a/pkg/router/router.go +++ b/pkg/router/router.go @@ -197,12 +197,16 @@ func NewRouter() *gin.Engine { // 年度报告 reportsRoute.POST("/annual/display", middleware.Cors(), reports.AnnualReportDisplay) reportsRouteLogin.POST("/annual/create", reports.AnnualReportCreate) + reportsRouteLogin.POST("/annual/sortAndStatus", reports.AnnualReportSortAndStatus) + reportsRouteLogin.POST("/annual/info", reports.AnnualReportInfo) reportsRouteLogin.POST("/annual/list", reports.AnnualReportList) reportsRouteLogin.POST("/annual/delete", reports.AnnualReportDelete) reportsRouteLogin.POST("/annual/edit", reports.AnnualReportEdit) // 季度报告 reportsRoute.POST("/quarterly/display", middleware.Cors(), reports.QuarterlyReportDisplay) reportsRouteLogin.POST("/quarterly/create", reports.QuarterlyReportCreate) + reportsRouteLogin.POST("/quarterly/sortAndStatus", reports.QuarterlyReportSortAndStatus) + reportsRouteLogin.POST("/quarterly/info", reports.QuarterlyReportInfo) reportsRouteLogin.POST("/quarterly/list", reports.QuarterlyReportList) reportsRouteLogin.POST("/quarterly/delete", reports.QuarterlyReportDelete) reportsRouteLogin.POST("/quarterly/edit", reports.QuarterlyReportEdit) diff --git a/pkg/service/reports/annualReports.go b/pkg/service/reports/annualReports.go index 0668c6e..c30a386 100644 --- a/pkg/service/reports/annualReports.go +++ b/pkg/service/reports/annualReports.go @@ -27,6 +27,36 @@ func AnnualReportCreate(ctx *gin.Context) { service.Success(ctx, resp) } +// 修改年度报告排序和状态 +func AnnualReportSortAndStatus(ctx *gin.Context) { + var req reports.SortAndStatusAnnualReportReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.ReportsProvider.SortAndStatusAnnualReport(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} + +// 获取年度报告信息 +func AnnualReportInfo(ctx *gin.Context) { + var req reports.GetAnnualReportInfoReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.ReportsProvider.GetAnnualReportInfo(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} + // 获取年度报告列表 func AnnualReportList(ctx *gin.Context) { var req reports.GetAnnualReportListReq diff --git a/pkg/service/reports/quarterlyReports.go b/pkg/service/reports/quarterlyReports.go index 2224cc8..fd100dd 100644 --- a/pkg/service/reports/quarterlyReports.go +++ b/pkg/service/reports/quarterlyReports.go @@ -27,6 +27,36 @@ func QuarterlyReportCreate(ctx *gin.Context) { service.Success(ctx, resp) } +// 修改季度报告排序和状态 +func QuarterlyReportSortAndStatus(ctx *gin.Context) { + var req reports.SortAndStatusQuarterlyReportReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.ReportsProvider.SortAndStatusQuarterlyReport(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} + +// 获取季度报告信息 +func QuarterlyReportInfo(ctx *gin.Context) { + var req reports.GetQuarterlyReportInfoReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.ReportsProvider.GetQuarterlyReportInfo(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} + func QuarterlyReportList(ctx *gin.Context) { var req reports.GetQuarterlyReportListReq if err := ctx.ShouldBindJSON(&req); err != nil { From 4db2456430d34e4c072fb5da6a18ebfe801b99c7 Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Mon, 8 Dec 2025 16:37:12 +0800 Subject: [PATCH 22/38] =?UTF-8?q?Updata=EF=BC=9A=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=88=90=E5=91=98=E7=AE=A1=E7=90=86pb=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/members/members.pb.go | 605 +++++++++++++++++++------------------- 1 file changed, 307 insertions(+), 298 deletions(-) diff --git a/api/members/members.pb.go b/api/members/members.pb.go index 3acf1cb..6193e69 100644 --- a/api/members/members.pb.go +++ b/api/members/members.pb.go @@ -2446,15 +2446,16 @@ type CommitteeAppointments struct { unknownFields protoimpl.UnknownFields Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` - AuditCommittee int32 `protobuf:"varint,2,opt,name=auditCommittee,proto3" json:"auditCommittee"` //审计委员会(1:Member 2:Chair) - CompensationCommittee int32 `protobuf:"varint,3,opt,name=compensationCommittee,proto3" json:"compensationCommittee"` //薪酬委员会(1:Member 2:Chair) - NominatingCommittee int32 `protobuf:"varint,4,opt,name=nominatingCommittee,proto3" json:"nominatingCommittee"` //提名委员会(1:Member 2:Chair) - LangSetting []*LangSetting `protobuf:"bytes,5,rep,name=langSetting,proto3" json:"langSetting"` //语言数据 - Status int32 `protobuf:"varint,6,opt,name=status,proto3" json:"status"` //状态 - Sort int32 `protobuf:"varint,7,opt,name=sort,proto3" json:"sort"` //排序 - UpdatedAt string `protobuf:"bytes,8,opt,name=updatedAt,proto3" json:"updatedAt"` //更新时间 - Operator string `protobuf:"bytes,9,opt,name=operator,proto3" json:"operator"` //操作人 - OperatorId int32 `protobuf:"varint,10,opt,name=operatorId,proto3" json:"operatorId"` //操作人ID + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //姓名 + AuditCommittee int32 `protobuf:"varint,3,opt,name=auditCommittee,proto3" json:"auditCommittee"` //审计委员会(1:Member 2:Chair) + CompensationCommittee int32 `protobuf:"varint,4,opt,name=compensationCommittee,proto3" json:"compensationCommittee"` //薪酬委员会(1:Member 2:Chair) + NominatingCommittee int32 `protobuf:"varint,5,opt,name=nominatingCommittee,proto3" json:"nominatingCommittee"` //提名委员会(1:Member 2:Chair) + LangSetting []*LangSetting `protobuf:"bytes,6,rep,name=langSetting,proto3" json:"langSetting"` //语言数据 + Status int32 `protobuf:"varint,7,opt,name=status,proto3" json:"status"` //状态 + Sort int32 `protobuf:"varint,8,opt,name=sort,proto3" json:"sort"` //排序 + UpdatedAt string `protobuf:"bytes,9,opt,name=updatedAt,proto3" json:"updatedAt"` //更新时间 + Operator string `protobuf:"bytes,10,opt,name=operator,proto3" json:"operator"` //操作人 + OperatorId int32 `protobuf:"varint,11,opt,name=operatorId,proto3" json:"operatorId"` //操作人ID } func (x *CommitteeAppointments) Reset() { @@ -2496,6 +2497,13 @@ func (x *CommitteeAppointments) GetUuid() string { return "" } +func (x *CommitteeAppointments) GetName() string { + if x != nil { + return x.Name + } + return "" +} + func (x *CommitteeAppointments) GetAuditCommittee() int32 { if x != nil { return x.AuditCommittee @@ -3927,171 +3935,41 @@ var file_api_members_members_proto_rawDesc = []byte{ 0x69, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf9, 0x02, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8d, 0x03, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, - 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x74, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, - 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, - 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, - 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, - 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, - 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x6c, - 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, - 0x22, 0x73, 0x0a, 0x19, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1a, 0x0a, - 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x52, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe1, 0x01, 0x0a, 0x1d, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, - 0x61, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, - 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, - 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, - 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xed, 0x02, 0x0a, 0x1b, 0x41, 0x64, - 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x26, 0x0a, - 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, - 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x42, 0x0a, - 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, - 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, - 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, - 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x30, 0x0a, 0x1c, 0x41, 0x64, 0x64, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xa3, 0x01, 0x0a, 0x25, - 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 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, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, - 0x64, 0x22, 0x3a, 0x0a, 0x26, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, - 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x8c, 0x03, - 0x0a, 0x1c, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, - 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, - 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, - 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x74, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, - 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, - 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, - 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, - 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, - 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, - 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, - 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, - 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x1d, - 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, - 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, - 0x34, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x33, 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x80, 0x01, 0x0a, 0x1f, 0x47, - 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, - 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, - 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, - 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x11, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x72, - 0x61, 0x74, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x22, 0xae, 0x01, - 0x0a, 0x20, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, - 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, - 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x32, 0x0a, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x35, - 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x8c, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, - 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, - 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, - 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, - 0x4c, 0x61, 0x6e, 0x67, 0x22, 0x3d, 0x0a, 0x1f, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, - 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, - 0x79, 0x70, 0x65, 0x22, 0x61, 0x0a, 0x20, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, + 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, + 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, + 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, + 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x52, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x49, 0x64, 0x22, 0x73, 0x0a, 0x19, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, + 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, + 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, + 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe1, 0x01, 0x0a, 0x1d, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, - 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, - 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x74, 0x65, 0x6d, - 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0xc6, 0x01, 0x0a, 0x20, 0x44, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, @@ -4101,141 +3979,272 @@ var file_api_members_members_proto_rawDesc = []byte{ 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x32, - 0xc1, 0x10, 0x0a, 0x07, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x46, 0x0a, 0x0d, 0x41, - 0x64, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x2e, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x64, 0x0a, 0x17, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x23, - 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x6f, - 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x49, 0x0a, 0x0e, 0x45, 0x64, 0x69, - 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x6d, 0x65, + 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xed, 0x02, + 0x0a, 0x1b, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, + 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, + 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, + 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, + 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, + 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, + 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x30, 0x0a, + 0x1c, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, + 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, + 0xa3, 0x01, 0x0a, 0x25, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 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, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x3a, 0x0a, 0x26, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, + 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, + 0x67, 0x22, 0x8c, 0x03, 0x0a, 0x1c, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, + 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, + 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, + 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, + 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, + 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, + 0x22, 0x31, 0x0a, 0x1d, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, + 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6d, 0x73, 0x67, 0x22, 0x34, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x33, 0x0a, 0x1f, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, + 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x80, + 0x01, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, + 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x46, + 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x22, 0xae, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x32, + 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, + 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x22, 0x35, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x8c, 0x01, 0x0a, 0x20, 0x47, 0x65, + 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, + 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, + 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x75, 0x75, 0x69, 0x64, 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, + 0x6e, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, + 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x22, 0x3d, 0x0a, 0x1f, 0x44, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6c, + 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, + 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x61, 0x0a, 0x20, 0x44, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x04, 0x69, + 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0xc6, 0x01, 0x0a, 0x20, 0x44, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, + 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, + 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, + 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, + 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, + 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, + 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x32, 0xc1, 0x10, 0x0a, 0x07, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, + 0x46, 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x12, 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x64, 0x0a, 0x17, 0x53, 0x6f, 0x72, 0x74, 0x41, + 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x6f, 0x72, + 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x49, 0x0a, + 0x0e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x1a, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, 0x47, 0x65, 0x74, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x2e, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, 0x47, 0x65, 0x74, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, - 0x11, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x71, 0x1a, 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x58, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1f, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x76, 0x0a, 0x1d, 0x53, - 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x6f, 0x61, 0x72, - 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x29, 0x2e, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x2a, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, - 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x5b, 0x0a, 0x14, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, - 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x20, 0x2e, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, - 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, - 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x61, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, - 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x22, 0x2e, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x61, 0x72, 0x64, - 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x23, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, + 0x11, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x71, 0x1a, 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x52, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, + 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x61, 0x72, + 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1f, 0x2e, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, + 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x61, 0x72, 0x64, + 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x76, 0x0a, 0x1d, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, + 0x12, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, + 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x2a, 0x2e, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5b, 0x0a, 0x14, 0x45, 0x64, 0x69, 0x74, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, + 0x20, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x1a, 0x21, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, + 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x22, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x64, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, - 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23, - 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, - 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, - 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x64, 0x0a, 0x17, 0x47, 0x65, 0x74, + 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x64, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, - 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x64, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, - 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, 0x72, - 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, - 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x67, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x12, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x85, - 0x01, 0x0a, 0x22, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, - 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x2f, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, - 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6a, 0x0a, 0x19, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, - 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x70, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x12, 0x27, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x28, 0x2e, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x73, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, - 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x29, - 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x73, 0x0a, 0x1c, 0x47, 0x65, 0x74, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x2e, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, - 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, - 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x73, - 0x0a, 0x1c, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x28, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x64, 0x0a, + 0x17, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, + 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x64, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, + 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x67, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, + 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x85, 0x01, 0x0a, 0x22, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x2f, 0x2e, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6a, 0x0a, 0x19, 0x45, 0x64, + 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, + 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x26, + 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x70, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x27, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, + 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x28, + 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x73, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, + 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x73, 0x0a, + 0x1c, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x2e, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x73, 0x0a, 0x1c, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x28, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( From da8c8a61d2061942284414056431e3a53f0476ba Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Mon, 8 Dec 2025 19:32:03 +0800 Subject: [PATCH 23/38] =?UTF-8?q?Updata=EF=BC=9A=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=96=B0=E9=97=BB=E7=A8=BFpb=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/pressreleases/press_releases.pb.go | 1521 +++++++++++------ api/pressreleases/press_releases.proto | 119 -- .../press_releases.validator.pb.go | 58 +- api/pressreleases/press_releases_triple.pb.go | 110 +- 4 files changed, 1201 insertions(+), 607 deletions(-) delete mode 100644 api/pressreleases/press_releases.proto diff --git a/api/pressreleases/press_releases.pb.go b/api/pressreleases/press_releases.pb.go index e9314f1..33ed560 100644 --- a/api/pressreleases/press_releases.pb.go +++ b/api/pressreleases/press_releases.pb.go @@ -1,8 +1,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.29.1 -// protoc v3.20.3 -// source: press_releases.proto +// protoc-gen-go v1.31.0 +// protoc v5.26.0 +// source: api/pressreleases/press_releases.proto package pressreleases @@ -20,43 +20,32 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -type Item struct { +type LangSetting struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` - CreatedAt uint64 `protobuf:"varint,3,opt,name=createdAt,proto3" json:"createdAt,omitempty"` - Sort uint32 `protobuf:"varint,4,opt,name=sort,proto3" json:"sort,omitempty"` - Content string `protobuf:"bytes,5,opt,name=content,proto3" json:"content,omitempty"` - Attachment string `protobuf:"bytes,6,opt,name=attachment,proto3" json:"attachment,omitempty"` - AttachmentName string `protobuf:"bytes,7,opt,name=attachmentName,proto3" json:"attachmentName,omitempty"` - UpdatedAt uint64 `protobuf:"varint,8,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` - Status uint32 `protobuf:"varint,9,opt,name=status,proto3" json:"status,omitempty"` - Display uint32 `protobuf:"varint,10,opt,name=display,proto3" json:"display,omitempty"` - Summary string `protobuf:"bytes,11,opt,name=summary,proto3" json:"summary,omitempty"` - Operator string `protobuf:"bytes,12,opt,name=operator,proto3" json:"operator,omitempty"` - OperatorId int32 `protobuf:"varint,13,opt,name=operatorId,proto3" json:"operatorId,omitempty"` + LangType string `protobuf:"bytes,1,opt,name=langType,proto3" json:"langType"` //语言类型 + IsSetting int32 `protobuf:"varint,2,opt,name=isSetting,proto3" json:"isSetting"` //是否设置(0:否,1:是) } -func (x *Item) Reset() { - *x = Item{} +func (x *LangSetting) Reset() { + *x = LangSetting{} if protoimpl.UnsafeEnabled { - mi := &file_press_releases_proto_msgTypes[0] + mi := &file_api_pressreleases_press_releases_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Item) String() string { +func (x *LangSetting) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Item) ProtoMessage() {} +func (*LangSetting) ProtoMessage() {} -func (x *Item) ProtoReflect() protoreflect.Message { - mi := &file_press_releases_proto_msgTypes[0] +func (x *LangSetting) ProtoReflect() protoreflect.Message { + mi := &file_api_pressreleases_press_releases_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -67,120 +56,360 @@ func (x *Item) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Item.ProtoReflect.Descriptor instead. -func (*Item) Descriptor() ([]byte, []int) { - return file_press_releases_proto_rawDescGZIP(), []int{0} +// Deprecated: Use LangSetting.ProtoReflect.Descriptor instead. +func (*LangSetting) Descriptor() ([]byte, []int) { + return file_api_pressreleases_press_releases_proto_rawDescGZIP(), []int{0} } -func (x *Item) GetId() uint32 { +func (x *LangSetting) GetLangType() string { if x != nil { - return x.Id + return x.LangType + } + return "" +} + +func (x *LangSetting) GetIsSetting() int32 { + if x != nil { + return x.IsSetting } return 0 } -func (x *Item) GetTitle() string { +type PressReleasesLang struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LangType string `protobuf:"bytes,1,opt,name=langType,proto3" json:"langType"` //语言类型 + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` //新闻标题 + Date string `protobuf:"bytes,3,opt,name=date,proto3" json:"date"` //日期 + Summary string `protobuf:"bytes,4,opt,name=summary,proto3" json:"summary"` //新闻描述 + Content string `protobuf:"bytes,5,opt,name=content,proto3" json:"content"` //新闻内容 + IsSetting int32 `protobuf:"varint,6,opt,name=isSetting,proto3" json:"isSetting"` //是否设置(0:否,1:是) +} + +func (x *PressReleasesLang) Reset() { + *x = PressReleasesLang{} + if protoimpl.UnsafeEnabled { + mi := &file_api_pressreleases_press_releases_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PressReleasesLang) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PressReleasesLang) ProtoMessage() {} + +func (x *PressReleasesLang) ProtoReflect() protoreflect.Message { + mi := &file_api_pressreleases_press_releases_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PressReleasesLang.ProtoReflect.Descriptor instead. +func (*PressReleasesLang) Descriptor() ([]byte, []int) { + return file_api_pressreleases_press_releases_proto_rawDescGZIP(), []int{1} +} + +func (x *PressReleasesLang) GetLangType() string { + if x != nil { + return x.LangType + } + return "" +} + +func (x *PressReleasesLang) GetTitle() string { if x != nil { return x.Title } return "" } -func (x *Item) GetCreatedAt() uint64 { +func (x *PressReleasesLang) GetDate() string { if x != nil { - return x.CreatedAt - } - return 0 -} - -func (x *Item) GetSort() uint32 { - if x != nil { - return x.Sort - } - return 0 -} - -func (x *Item) GetContent() string { - if x != nil { - return x.Content + return x.Date } return "" } -func (x *Item) GetAttachment() string { - if x != nil { - return x.Attachment - } - return "" -} - -func (x *Item) GetAttachmentName() string { - if x != nil { - return x.AttachmentName - } - return "" -} - -func (x *Item) GetUpdatedAt() uint64 { - if x != nil { - return x.UpdatedAt - } - return 0 -} - -func (x *Item) GetStatus() uint32 { - if x != nil { - return x.Status - } - return 0 -} - -func (x *Item) GetDisplay() uint32 { - if x != nil { - return x.Display - } - return 0 -} - -func (x *Item) GetSummary() string { +func (x *PressReleasesLang) GetSummary() string { if x != nil { return x.Summary } return "" } -func (x *Item) GetOperator() string { +func (x *PressReleasesLang) GetContent() string { + if x != nil { + return x.Content + } + return "" +} + +func (x *PressReleasesLang) GetIsSetting() int32 { + if x != nil { + return x.IsSetting + } + return 0 +} + +type PressReleasesData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid + LangSetting []*LangSetting `protobuf:"bytes,2,rep,name=langSetting,proto3" json:"langSetting"` //语言数据设置 + Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title"` //新闻标题 + Date string `protobuf:"bytes,4,opt,name=date,proto3" json:"date"` //日期 + Attachment string `protobuf:"bytes,5,opt,name=attachment,proto3" json:"attachment"` //附件链接 + AttachmentName string `protobuf:"bytes,6,opt,name=attachmentName,proto3" json:"attachmentName"` //附件文件名 + Status int32 `protobuf:"varint,7,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) + Sort int32 `protobuf:"varint,8,opt,name=sort,proto3" json:"sort"` //排序 + Display int32 `protobuf:"varint,9,opt,name=display,proto3" json:"display"` //展示(1:展示,2:不展示) + UpdatedAt uint64 `protobuf:"varint,10,opt,name=updatedAt,proto3" json:"updatedAt"` //更新时间 + Operator string `protobuf:"bytes,11,opt,name=operator,proto3" json:"operator"` //操作人 + OperatorId int32 `protobuf:"varint,12,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id +} + +func (x *PressReleasesData) Reset() { + *x = PressReleasesData{} + if protoimpl.UnsafeEnabled { + mi := &file_api_pressreleases_press_releases_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PressReleasesData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PressReleasesData) ProtoMessage() {} + +func (x *PressReleasesData) ProtoReflect() protoreflect.Message { + mi := &file_api_pressreleases_press_releases_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 PressReleasesData.ProtoReflect.Descriptor instead. +func (*PressReleasesData) Descriptor() ([]byte, []int) { + return file_api_pressreleases_press_releases_proto_rawDescGZIP(), []int{2} +} + +func (x *PressReleasesData) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *PressReleasesData) GetLangSetting() []*LangSetting { + if x != nil { + return x.LangSetting + } + return nil +} + +func (x *PressReleasesData) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *PressReleasesData) GetDate() string { + if x != nil { + return x.Date + } + return "" +} + +func (x *PressReleasesData) GetAttachment() string { + if x != nil { + return x.Attachment + } + return "" +} + +func (x *PressReleasesData) GetAttachmentName() string { + if x != nil { + return x.AttachmentName + } + return "" +} + +func (x *PressReleasesData) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *PressReleasesData) GetSort() int32 { + if x != nil { + return x.Sort + } + return 0 +} + +func (x *PressReleasesData) GetDisplay() int32 { + if x != nil { + return x.Display + } + return 0 +} + +func (x *PressReleasesData) GetUpdatedAt() uint64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *PressReleasesData) GetOperator() string { if x != nil { return x.Operator } return "" } -func (x *Item) GetOperatorId() int32 { +func (x *PressReleasesData) GetOperatorId() int32 { if x != nil { return x.OperatorId } return 0 } +type DisplayItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` //新闻标题 + Date string `protobuf:"bytes,3,opt,name=date,proto3" json:"date"` //日期 + Attachment string `protobuf:"bytes,4,opt,name=attachment,proto3" json:"attachment"` //附件链接 + AttachmentName string `protobuf:"bytes,5,opt,name=attachmentName,proto3" json:"attachmentName"` //附件文件名 + Summary string `protobuf:"bytes,6,opt,name=summary,proto3" json:"summary"` //新闻描述 + Content string `protobuf:"bytes,7,opt,name=content,proto3" json:"content"` //新闻内容 +} + +func (x *DisplayItem) Reset() { + *x = DisplayItem{} + if protoimpl.UnsafeEnabled { + mi := &file_api_pressreleases_press_releases_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisplayItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisplayItem) ProtoMessage() {} + +func (x *DisplayItem) ProtoReflect() protoreflect.Message { + mi := &file_api_pressreleases_press_releases_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 DisplayItem.ProtoReflect.Descriptor instead. +func (*DisplayItem) Descriptor() ([]byte, []int) { + return file_api_pressreleases_press_releases_proto_rawDescGZIP(), []int{3} +} + +func (x *DisplayItem) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *DisplayItem) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *DisplayItem) GetDate() string { + if x != nil { + return x.Date + } + return "" +} + +func (x *DisplayItem) GetAttachment() string { + if x != nil { + return x.Attachment + } + return "" +} + +func (x *DisplayItem) GetAttachmentName() string { + if x != nil { + return x.AttachmentName + } + return "" +} + +func (x *DisplayItem) GetSummary() string { + if x != nil { + return x.Summary + } + return "" +} + +func (x *DisplayItem) GetContent() string { + if x != nil { + return x.Content + } + return "" +} + type ListReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` - StartTime uint64 `protobuf:"varint,2,opt,name=startTime,proto3" json:"startTime,omitempty"` - EndTime uint64 `protobuf:"varint,3,opt,name=endTime,proto3" json:"endTime,omitempty"` - Status uint32 `protobuf:"varint,4,opt,name=status,proto3" json:"status,omitempty"` - Display uint32 `protobuf:"varint,5,opt,name=display,proto3" json:"display,omitempty"` - Page int32 `protobuf:"varint,6,opt,name=page,proto3" json:"page,omitempty"` - PageSize int32 `protobuf:"varint,7,opt,name=pageSize,proto3" json:"pageSize,omitempty"` + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title"` + StartTime uint64 `protobuf:"varint,2,opt,name=startTime,proto3" json:"startTime"` + EndTime uint64 `protobuf:"varint,3,opt,name=endTime,proto3" json:"endTime"` + Status uint32 `protobuf:"varint,4,opt,name=status,proto3" json:"status"` + Display uint32 `protobuf:"varint,5,opt,name=display,proto3" json:"display"` + Page int32 `protobuf:"varint,6,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,7,opt,name=pageSize,proto3" json:"pageSize"` } func (x *ListReq) Reset() { *x = ListReq{} if protoimpl.UnsafeEnabled { - mi := &file_press_releases_proto_msgTypes[1] + mi := &file_api_pressreleases_press_releases_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -193,7 +422,7 @@ func (x *ListReq) String() string { func (*ListReq) ProtoMessage() {} func (x *ListReq) ProtoReflect() protoreflect.Message { - mi := &file_press_releases_proto_msgTypes[1] + mi := &file_api_pressreleases_press_releases_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -206,7 +435,7 @@ func (x *ListReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ListReq.ProtoReflect.Descriptor instead. func (*ListReq) Descriptor() ([]byte, []int) { - return file_press_releases_proto_rawDescGZIP(), []int{1} + return file_api_pressreleases_press_releases_proto_rawDescGZIP(), []int{4} } func (x *ListReq) GetTitle() string { @@ -263,14 +492,14 @@ type ListResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Total uint64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"` - Data []*Item `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` + Total uint64 `protobuf:"varint,1,opt,name=total,proto3" json:"total"` + Data []*PressReleasesData `protobuf:"bytes,2,rep,name=data,proto3" json:"data"` } func (x *ListResp) Reset() { *x = ListResp{} if protoimpl.UnsafeEnabled { - mi := &file_press_releases_proto_msgTypes[2] + mi := &file_api_pressreleases_press_releases_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -283,7 +512,7 @@ func (x *ListResp) String() string { func (*ListResp) ProtoMessage() {} func (x *ListResp) ProtoReflect() protoreflect.Message { - mi := &file_press_releases_proto_msgTypes[2] + mi := &file_api_pressreleases_press_releases_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -296,7 +525,7 @@ func (x *ListResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ListResp.ProtoReflect.Descriptor instead. func (*ListResp) Descriptor() ([]byte, []int) { - return file_press_releases_proto_rawDescGZIP(), []int{2} + return file_api_pressreleases_press_releases_proto_rawDescGZIP(), []int{5} } func (x *ListResp) GetTotal() uint64 { @@ -306,30 +535,283 @@ func (x *ListResp) GetTotal() uint64 { return 0 } -func (x *ListResp) GetData() []*Item { +func (x *ListResp) GetData() []*PressReleasesData { if x != nil { return x.Data } return nil } +type SortAndStatusReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) + Sort int32 `protobuf:"varint,3,opt,name=sort,proto3" json:"sort"` //排序 + Display int32 `protobuf:"varint,4,opt,name=display,proto3" json:"display"` //展示(1:展示,2:不展示) + Operator string `protobuf:"bytes,5,opt,name=operator,proto3" json:"operator"` //操作人 + OperatorId int32 `protobuf:"varint,6,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id +} + +func (x *SortAndStatusReq) Reset() { + *x = SortAndStatusReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_pressreleases_press_releases_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SortAndStatusReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SortAndStatusReq) ProtoMessage() {} + +func (x *SortAndStatusReq) ProtoReflect() protoreflect.Message { + mi := &file_api_pressreleases_press_releases_proto_msgTypes[6] + 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 SortAndStatusReq.ProtoReflect.Descriptor instead. +func (*SortAndStatusReq) Descriptor() ([]byte, []int) { + return file_api_pressreleases_press_releases_proto_rawDescGZIP(), []int{6} +} + +func (x *SortAndStatusReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *SortAndStatusReq) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *SortAndStatusReq) GetSort() int32 { + if x != nil { + return x.Sort + } + return 0 +} + +func (x *SortAndStatusReq) GetDisplay() int32 { + if x != nil { + return x.Display + } + return 0 +} + +func (x *SortAndStatusReq) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *SortAndStatusReq) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type SortAndStatusResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` //消息 +} + +func (x *SortAndStatusResp) Reset() { + *x = SortAndStatusResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_pressreleases_press_releases_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SortAndStatusResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SortAndStatusResp) ProtoMessage() {} + +func (x *SortAndStatusResp) ProtoReflect() protoreflect.Message { + mi := &file_api_pressreleases_press_releases_proto_msgTypes[7] + 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 SortAndStatusResp.ProtoReflect.Descriptor instead. +func (*SortAndStatusResp) Descriptor() ([]byte, []int) { + return file_api_pressreleases_press_releases_proto_rawDescGZIP(), []int{7} +} + +func (x *SortAndStatusResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type InfoReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid +} + +func (x *InfoReq) Reset() { + *x = InfoReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_pressreleases_press_releases_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InfoReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InfoReq) ProtoMessage() {} + +func (x *InfoReq) ProtoReflect() protoreflect.Message { + mi := &file_api_pressreleases_press_releases_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 InfoReq.ProtoReflect.Descriptor instead. +func (*InfoReq) Descriptor() ([]byte, []int) { + return file_api_pressreleases_press_releases_proto_rawDescGZIP(), []int{8} +} + +func (x *InfoReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +type InfoResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid + DataByLang []*PressReleasesLang `protobuf:"bytes,2,rep,name=dataByLang,proto3" json:"dataByLang"` //语言数据 + Attachment string `protobuf:"bytes,3,opt,name=attachment,proto3" json:"attachment"` //附件链接 + AttachmentName string `protobuf:"bytes,4,opt,name=attachmentName,proto3" json:"attachmentName"` //附件文件名 +} + +func (x *InfoResp) Reset() { + *x = InfoResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_pressreleases_press_releases_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InfoResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InfoResp) ProtoMessage() {} + +func (x *InfoResp) ProtoReflect() protoreflect.Message { + mi := &file_api_pressreleases_press_releases_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 InfoResp.ProtoReflect.Descriptor instead. +func (*InfoResp) Descriptor() ([]byte, []int) { + return file_api_pressreleases_press_releases_proto_rawDescGZIP(), []int{9} +} + +func (x *InfoResp) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *InfoResp) GetDataByLang() []*PressReleasesLang { + if x != nil { + return x.DataByLang + } + return nil +} + +func (x *InfoResp) GetAttachment() string { + if x != nil { + return x.Attachment + } + return "" +} + +func (x *InfoResp) GetAttachmentName() string { + if x != nil { + return x.AttachmentName + } + return "" +} + type DisplayReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` - Page uint32 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"` - PageSize uint32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` - TimeStart int64 `protobuf:"varint,4,opt,name=timeStart,proto3" json:"timeStart,omitempty"` - TimeEnd int64 `protobuf:"varint,5,opt,name=timeEnd,proto3" json:"timeEnd,omitempty"` - Display int32 `protobuf:"varint,6,opt,name=display,proto3" json:"display,omitempty"` + Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query"` + Page uint32 `protobuf:"varint,2,opt,name=page,proto3" json:"page"` + PageSize uint32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize"` + TimeStart int64 `protobuf:"varint,4,opt,name=timeStart,proto3" json:"timeStart"` + TimeEnd int64 `protobuf:"varint,5,opt,name=timeEnd,proto3" json:"timeEnd"` + Display int32 `protobuf:"varint,6,opt,name=display,proto3" json:"display"` + LangType string `protobuf:"bytes,7,opt,name=langType,proto3" json:"langType"` //语言类型 } func (x *DisplayReq) Reset() { *x = DisplayReq{} if protoimpl.UnsafeEnabled { - mi := &file_press_releases_proto_msgTypes[3] + mi := &file_api_pressreleases_press_releases_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -342,7 +824,7 @@ func (x *DisplayReq) String() string { func (*DisplayReq) ProtoMessage() {} func (x *DisplayReq) ProtoReflect() protoreflect.Message { - mi := &file_press_releases_proto_msgTypes[3] + mi := &file_api_pressreleases_press_releases_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -355,7 +837,7 @@ func (x *DisplayReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplayReq.ProtoReflect.Descriptor instead. func (*DisplayReq) Descriptor() ([]byte, []int) { - return file_press_releases_proto_rawDescGZIP(), []int{3} + return file_api_pressreleases_press_releases_proto_rawDescGZIP(), []int{10} } func (x *DisplayReq) GetQuery() string { @@ -400,19 +882,26 @@ func (x *DisplayReq) GetDisplay() int32 { return 0 } +func (x *DisplayReq) GetLangType() string { + if x != nil { + return x.LangType + } + return "" +} + type DisplayResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"` - Data []*Item `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` + Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total"` + Data []*DisplayItem `protobuf:"bytes,2,rep,name=data,proto3" json:"data"` } func (x *DisplayResp) Reset() { *x = DisplayResp{} if protoimpl.UnsafeEnabled { - mi := &file_press_releases_proto_msgTypes[4] + mi := &file_api_pressreleases_press_releases_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -425,7 +914,7 @@ func (x *DisplayResp) String() string { func (*DisplayResp) ProtoMessage() {} func (x *DisplayResp) ProtoReflect() protoreflect.Message { - mi := &file_press_releases_proto_msgTypes[4] + mi := &file_api_pressreleases_press_releases_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -438,7 +927,7 @@ func (x *DisplayResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplayResp.ProtoReflect.Descriptor instead. func (*DisplayResp) Descriptor() ([]byte, []int) { - return file_press_releases_proto_rawDescGZIP(), []int{4} + return file_api_pressreleases_press_releases_proto_rawDescGZIP(), []int{11} } func (x *DisplayResp) GetTotal() int64 { @@ -448,7 +937,7 @@ func (x *DisplayResp) GetTotal() int64 { return 0 } -func (x *DisplayResp) GetData() []*Item { +func (x *DisplayResp) GetData() []*DisplayItem { if x != nil { return x.Data } @@ -460,24 +949,18 @@ type EditReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` - CreatedAt uint64 `protobuf:"varint,3,opt,name=createdAt,proto3" json:"createdAt,omitempty"` - Sort uint32 `protobuf:"varint,4,opt,name=sort,proto3" json:"sort,omitempty"` - Content string `protobuf:"bytes,5,opt,name=content,proto3" json:"content,omitempty"` - Attachment string `protobuf:"bytes,6,opt,name=attachment,proto3" json:"attachment,omitempty"` - AttachmentName string `protobuf:"bytes,7,opt,name=attachmentName,proto3" json:"attachmentName,omitempty"` - Status uint32 `protobuf:"varint,8,opt,name=status,proto3" json:"status,omitempty"` - Display uint32 `protobuf:"varint,9,opt,name=display,proto3" json:"display,omitempty"` - Summary string `protobuf:"bytes,10,opt,name=summary,proto3" json:"summary,omitempty"` - Operator string `protobuf:"bytes,11,opt,name=operator,proto3" json:"operator,omitempty"` - OperatorId int32 `protobuf:"varint,12,opt,name=operatorId,proto3" json:"operatorId,omitempty"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid + DataByLang []*PressReleasesLang `protobuf:"bytes,2,rep,name=dataByLang,proto3" json:"dataByLang"` //语言数据 + Attachment string `protobuf:"bytes,3,opt,name=attachment,proto3" json:"attachment"` //附件链接 + AttachmentName string `protobuf:"bytes,4,opt,name=attachmentName,proto3" json:"attachmentName"` //附件文件名 + Operator string `protobuf:"bytes,5,opt,name=operator,proto3" json:"operator"` //操作人 + OperatorId int32 `protobuf:"varint,6,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id } func (x *EditReq) Reset() { *x = EditReq{} if protoimpl.UnsafeEnabled { - mi := &file_press_releases_proto_msgTypes[5] + mi := &file_api_pressreleases_press_releases_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -490,7 +973,7 @@ func (x *EditReq) String() string { func (*EditReq) ProtoMessage() {} func (x *EditReq) ProtoReflect() protoreflect.Message { - mi := &file_press_releases_proto_msgTypes[5] + mi := &file_api_pressreleases_press_releases_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -503,42 +986,21 @@ func (x *EditReq) ProtoReflect() protoreflect.Message { // Deprecated: Use EditReq.ProtoReflect.Descriptor instead. func (*EditReq) Descriptor() ([]byte, []int) { - return file_press_releases_proto_rawDescGZIP(), []int{5} + return file_api_pressreleases_press_releases_proto_rawDescGZIP(), []int{12} } -func (x *EditReq) GetId() uint32 { +func (x *EditReq) GetUuid() string { if x != nil { - return x.Id - } - return 0 -} - -func (x *EditReq) GetTitle() string { - if x != nil { - return x.Title + return x.Uuid } return "" } -func (x *EditReq) GetCreatedAt() uint64 { +func (x *EditReq) GetDataByLang() []*PressReleasesLang { if x != nil { - return x.CreatedAt + return x.DataByLang } - return 0 -} - -func (x *EditReq) GetSort() uint32 { - if x != nil { - return x.Sort - } - return 0 -} - -func (x *EditReq) GetContent() string { - if x != nil { - return x.Content - } - return "" + return nil } func (x *EditReq) GetAttachment() string { @@ -555,27 +1017,6 @@ func (x *EditReq) GetAttachmentName() string { return "" } -func (x *EditReq) GetStatus() uint32 { - if x != nil { - return x.Status - } - return 0 -} - -func (x *EditReq) GetDisplay() uint32 { - if x != nil { - return x.Display - } - return 0 -} - -func (x *EditReq) GetSummary() string { - if x != nil { - return x.Summary - } - return "" -} - func (x *EditReq) GetOperator() string { if x != nil { return x.Operator @@ -594,12 +1035,14 @@ type EditResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` //消息 } func (x *EditResp) Reset() { *x = EditResp{} if protoimpl.UnsafeEnabled { - mi := &file_press_releases_proto_msgTypes[6] + mi := &file_api_pressreleases_press_releases_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -612,7 +1055,7 @@ func (x *EditResp) String() string { func (*EditResp) ProtoMessage() {} func (x *EditResp) ProtoReflect() protoreflect.Message { - mi := &file_press_releases_proto_msgTypes[6] + mi := &file_api_pressreleases_press_releases_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -625,7 +1068,14 @@ func (x *EditResp) ProtoReflect() protoreflect.Message { // Deprecated: Use EditResp.ProtoReflect.Descriptor instead. func (*EditResp) Descriptor() ([]byte, []int) { - return file_press_releases_proto_rawDescGZIP(), []int{6} + return file_api_pressreleases_press_releases_proto_rawDescGZIP(), []int{13} +} + +func (x *EditResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" } type CreateReq struct { @@ -633,23 +1083,21 @@ type CreateReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` - CreatedAt uint64 `protobuf:"varint,2,opt,name=createdAt,proto3" json:"createdAt,omitempty"` - Sort uint32 `protobuf:"varint,3,opt,name=sort,proto3" json:"sort,omitempty"` - Content string `protobuf:"bytes,4,opt,name=content,proto3" json:"content,omitempty"` - Attachment string `protobuf:"bytes,5,opt,name=attachment,proto3" json:"attachment,omitempty"` - AttachmentName string `protobuf:"bytes,6,opt,name=attachmentName,proto3" json:"attachmentName,omitempty"` - Status uint32 `protobuf:"varint,7,opt,name=status,proto3" json:"status,omitempty"` - Display uint32 `protobuf:"varint,8,opt,name=display,proto3" json:"display,omitempty"` - Summary string `protobuf:"bytes,9,opt,name=summary,proto3" json:"summary,omitempty"` - Operator string `protobuf:"bytes,10,opt,name=operator,proto3" json:"operator,omitempty"` - OperatorId int32 `protobuf:"varint,11,opt,name=operatorId,proto3" json:"operatorId,omitempty"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid + DataByLang []*PressReleasesLang `protobuf:"bytes,2,rep,name=dataByLang,proto3" json:"dataByLang"` //语言数据 + Attachment string `protobuf:"bytes,3,opt,name=attachment,proto3" json:"attachment"` //附件链接 + AttachmentName string `protobuf:"bytes,4,opt,name=attachmentName,proto3" json:"attachmentName"` //附件文件名 + Sort int32 `protobuf:"varint,5,opt,name=sort,proto3" json:"sort"` //排序 + Display int32 `protobuf:"varint,6,opt,name=display,proto3" json:"display"` //展示(1:展示,2:不展示) + Status int32 `protobuf:"varint,7,opt,name=status,proto3" json:"status"` //状态(1:下架,2:上架) + Operator string `protobuf:"bytes,8,opt,name=operator,proto3" json:"operator"` //操作人 + OperatorId int32 `protobuf:"varint,9,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id } func (x *CreateReq) Reset() { *x = CreateReq{} if protoimpl.UnsafeEnabled { - mi := &file_press_releases_proto_msgTypes[7] + mi := &file_api_pressreleases_press_releases_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -662,7 +1110,7 @@ func (x *CreateReq) String() string { func (*CreateReq) ProtoMessage() {} func (x *CreateReq) ProtoReflect() protoreflect.Message { - mi := &file_press_releases_proto_msgTypes[7] + mi := &file_api_pressreleases_press_releases_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -675,35 +1123,21 @@ func (x *CreateReq) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateReq.ProtoReflect.Descriptor instead. func (*CreateReq) Descriptor() ([]byte, []int) { - return file_press_releases_proto_rawDescGZIP(), []int{7} + return file_api_pressreleases_press_releases_proto_rawDescGZIP(), []int{14} } -func (x *CreateReq) GetTitle() string { +func (x *CreateReq) GetUuid() string { if x != nil { - return x.Title + return x.Uuid } return "" } -func (x *CreateReq) GetCreatedAt() uint64 { +func (x *CreateReq) GetDataByLang() []*PressReleasesLang { if x != nil { - return x.CreatedAt + return x.DataByLang } - return 0 -} - -func (x *CreateReq) GetSort() uint32 { - if x != nil { - return x.Sort - } - return 0 -} - -func (x *CreateReq) GetContent() string { - if x != nil { - return x.Content - } - return "" + return nil } func (x *CreateReq) GetAttachment() string { @@ -720,25 +1154,25 @@ func (x *CreateReq) GetAttachmentName() string { return "" } -func (x *CreateReq) GetStatus() uint32 { +func (x *CreateReq) GetSort() int32 { if x != nil { - return x.Status + return x.Sort } return 0 } -func (x *CreateReq) GetDisplay() uint32 { +func (x *CreateReq) GetDisplay() int32 { if x != nil { return x.Display } return 0 } -func (x *CreateReq) GetSummary() string { +func (x *CreateReq) GetStatus() int32 { if x != nil { - return x.Summary + return x.Status } - return "" + return 0 } func (x *CreateReq) GetOperator() string { @@ -759,12 +1193,14 @@ type CreateResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` //消息 } func (x *CreateResp) Reset() { *x = CreateResp{} if protoimpl.UnsafeEnabled { - mi := &file_press_releases_proto_msgTypes[8] + mi := &file_api_pressreleases_press_releases_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -777,7 +1213,7 @@ func (x *CreateResp) String() string { func (*CreateResp) ProtoMessage() {} func (x *CreateResp) ProtoReflect() protoreflect.Message { - mi := &file_press_releases_proto_msgTypes[8] + mi := &file_api_pressreleases_press_releases_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -790,7 +1226,14 @@ func (x *CreateResp) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateResp.ProtoReflect.Descriptor instead. func (*CreateResp) Descriptor() ([]byte, []int) { - return file_press_releases_proto_rawDescGZIP(), []int{8} + return file_api_pressreleases_press_releases_proto_rawDescGZIP(), []int{15} +} + +func (x *CreateResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" } type DeleteReq struct { @@ -798,13 +1241,13 @@ type DeleteReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid } func (x *DeleteReq) Reset() { *x = DeleteReq{} if protoimpl.UnsafeEnabled { - mi := &file_press_releases_proto_msgTypes[9] + mi := &file_api_pressreleases_press_releases_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -817,7 +1260,7 @@ func (x *DeleteReq) String() string { func (*DeleteReq) ProtoMessage() {} func (x *DeleteReq) ProtoReflect() protoreflect.Message { - mi := &file_press_releases_proto_msgTypes[9] + mi := &file_api_pressreleases_press_releases_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -830,26 +1273,28 @@ func (x *DeleteReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteReq.ProtoReflect.Descriptor instead. func (*DeleteReq) Descriptor() ([]byte, []int) { - return file_press_releases_proto_rawDescGZIP(), []int{9} + return file_api_pressreleases_press_releases_proto_rawDescGZIP(), []int{16} } -func (x *DeleteReq) GetId() uint32 { +func (x *DeleteReq) GetUuid() string { if x != nil { - return x.Id + return x.Uuid } - return 0 + return "" } type DeleteResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` //消息 } func (x *DeleteResp) Reset() { *x = DeleteResp{} if protoimpl.UnsafeEnabled { - mi := &file_press_releases_proto_msgTypes[10] + mi := &file_api_pressreleases_press_releases_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -862,7 +1307,7 @@ func (x *DeleteResp) String() string { func (*DeleteResp) ProtoMessage() {} func (x *DeleteResp) ProtoReflect() protoreflect.Message { - mi := &file_press_releases_proto_msgTypes[10] + mi := &file_api_pressreleases_press_releases_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -875,7 +1320,14 @@ func (x *DeleteResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteResp.ProtoReflect.Descriptor instead. func (*DeleteResp) Descriptor() ([]byte, []int) { - return file_press_releases_proto_rawDescGZIP(), []int{10} + return file_api_pressreleases_press_releases_proto_rawDescGZIP(), []int{17} +} + +func (x *DeleteResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" } type GetReq struct { @@ -883,13 +1335,14 @@ type GetReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid + LangType int32 `protobuf:"varint,2,opt,name=langType,proto3" json:"langType"` //语言类型 } func (x *GetReq) Reset() { *x = GetReq{} if protoimpl.UnsafeEnabled { - mi := &file_press_releases_proto_msgTypes[11] + mi := &file_api_pressreleases_press_releases_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -902,7 +1355,7 @@ func (x *GetReq) String() string { func (*GetReq) ProtoMessage() {} func (x *GetReq) ProtoReflect() protoreflect.Message { - mi := &file_press_releases_proto_msgTypes[11] + mi := &file_api_pressreleases_press_releases_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -915,12 +1368,19 @@ func (x *GetReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetReq.ProtoReflect.Descriptor instead. func (*GetReq) Descriptor() ([]byte, []int) { - return file_press_releases_proto_rawDescGZIP(), []int{11} + return file_api_pressreleases_press_releases_proto_rawDescGZIP(), []int{18} } -func (x *GetReq) GetId() int64 { +func (x *GetReq) GetUuid() string { if x != nil { - return x.Id + return x.Uuid + } + return "" +} + +func (x *GetReq) GetLangType() int32 { + if x != nil { + return x.LangType } return 0 } @@ -930,19 +1390,13 @@ type GetResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` - CreatedAt uint64 `protobuf:"varint,3,opt,name=createdAt,proto3" json:"createdAt,omitempty"` - Content string `protobuf:"bytes,4,opt,name=content,proto3" json:"content,omitempty"` - Attachment string `protobuf:"bytes,5,opt,name=attachment,proto3" json:"attachment,omitempty"` - AttachmentName string `protobuf:"bytes,6,opt,name=attachmentName,proto3" json:"attachmentName,omitempty"` - Summary string `protobuf:"bytes,7,opt,name=summary,proto3" json:"summary,omitempty"` + Data *DisplayItem `protobuf:"bytes,1,opt,name=data,proto3" json:"data"` } func (x *GetResp) Reset() { *x = GetResp{} if protoimpl.UnsafeEnabled { - mi := &file_press_releases_proto_msgTypes[12] + mi := &file_api_pressreleases_press_releases_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -955,7 +1409,7 @@ func (x *GetResp) String() string { func (*GetResp) ProtoMessage() {} func (x *GetResp) ProtoReflect() protoreflect.Message { - mi := &file_press_releases_proto_msgTypes[12] + mi := &file_api_pressreleases_press_releases_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -968,182 +1422,197 @@ func (x *GetResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetResp.ProtoReflect.Descriptor instead. func (*GetResp) Descriptor() ([]byte, []int) { - return file_press_releases_proto_rawDescGZIP(), []int{12} + return file_api_pressreleases_press_releases_proto_rawDescGZIP(), []int{19} } -func (x *GetResp) GetId() uint32 { +func (x *GetResp) GetData() *DisplayItem { if x != nil { - return x.Id + return x.Data } - return 0 + return nil } -func (x *GetResp) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} +var File_api_pressreleases_press_releases_proto protoreflect.FileDescriptor -func (x *GetResp) GetCreatedAt() uint64 { - if x != nil { - return x.CreatedAt - } - return 0 -} - -func (x *GetResp) GetContent() string { - if x != nil { - return x.Content - } - return "" -} - -func (x *GetResp) GetAttachment() string { - if x != nil { - return x.Attachment - } - return "" -} - -func (x *GetResp) GetAttachmentName() string { - if x != nil { - return x.AttachmentName - } - return "" -} - -func (x *GetResp) GetSummary() string { - if x != nil { - return x.Summary - } - return "" -} - -var File_press_releases_proto protoreflect.FileDescriptor - -var file_press_releases_proto_rawDesc = []byte{ - 0x0a, 0x14, 0x70, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, - 0x65, 0x61, 0x73, 0x65, 0x73, 0x22, 0xe6, 0x02, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, - 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, +var file_api_pressreleases_press_releases_proto_rawDesc = []byte{ + 0x0a, 0x26, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, + 0x73, 0x65, 0x73, 0x2f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, + 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x22, 0x47, 0x0a, 0x0b, 0x4c, 0x61, 0x6e, 0x67, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x22, 0xab, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, + 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, + 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xf7, + 0x02, 0x0a, 0x11, 0x50, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x0b, 0x6c, 0x61, 0x6e, 0x67, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x4c, 0x61, + 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, - 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, - 0x0a, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, - 0x61, 0x72, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, - 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, - 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0xb9, - 0x01, 0x0a, 0x07, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, - 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x18, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, - 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x49, 0x0a, 0x08, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x27, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa4, 0x01, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, - 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, - 0x45, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x45, - 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x22, 0x4c, 0x0a, 0x0b, - 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x12, 0x27, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x13, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, - 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xcb, 0x02, 0x0a, 0x07, 0x45, - 0x64, 0x69, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, - 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, - 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, - 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, - 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, + 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, + 0x73, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x1c, + 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x0a, 0x0a, 0x08, 0x45, 0x64, 0x69, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x22, 0xbd, 0x02, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, - 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, - 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, - 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, - 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0xc7, 0x01, 0x0a, 0x0b, 0x44, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, + 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, + 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, + 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x22, 0xb9, 0x01, 0x0a, 0x07, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x14, + 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x18, - 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x6f, 0x72, 0x49, 0x64, 0x22, 0x0c, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x22, 0x1b, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22, - 0x0c, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x18, 0x0a, - 0x06, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0xc9, 0x01, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, - 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, - 0x6d, 0x61, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, - 0x61, 0x72, 0x79, 0x32, 0x83, 0x03, 0x0a, 0x0d, 0x50, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x6c, - 0x65, 0x61, 0x73, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, - 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, + 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x12, + 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, + 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x56, + 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x12, 0x34, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x50, + 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa8, 0x01, 0x0a, 0x10, 0x53, 0x6f, 0x72, 0x74, 0x41, + 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, + 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 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, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, + 0x64, 0x22, 0x25, 0x0a, 0x11, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x1d, 0x0a, 0x07, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xa8, 0x01, 0x0a, 0x08, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x40, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, + 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x50, 0x72, 0x65, + 0x73, 0x73, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, + 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x22, 0xc0, 0x01, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, + 0x71, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x12, + 0x18, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, + 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, + 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x53, 0x0a, 0x0b, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe3, 0x01, 0x0a, 0x07, 0x45, + 0x64, 0x69, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x40, 0x0a, 0x0a, 0x64, 0x61, + 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x50, + 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x4c, 0x61, 0x6e, 0x67, + 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, + 0x22, 0x1c, 0x0a, 0x08, 0x45, 0x64, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, + 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xab, + 0x02, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, + 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, + 0x12, 0x40, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, + 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, + 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, + 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x1e, 0x0a, 0x0a, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x1f, 0x0a, 0x09, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x1e, 0x0a, + 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, + 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x38, 0x0a, + 0x06, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, + 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, + 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x39, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, + 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x32, 0x94, 0x04, 0x0a, 0x0d, 0x50, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, + 0x54, 0x0a, 0x0d, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x1f, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, + 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x71, 0x1a, 0x20, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x07, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x19, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, @@ -1169,63 +1638,79 @@ var file_press_releases_proto_rawDesc = []byte{ } var ( - file_press_releases_proto_rawDescOnce sync.Once - file_press_releases_proto_rawDescData = file_press_releases_proto_rawDesc + file_api_pressreleases_press_releases_proto_rawDescOnce sync.Once + file_api_pressreleases_press_releases_proto_rawDescData = file_api_pressreleases_press_releases_proto_rawDesc ) -func file_press_releases_proto_rawDescGZIP() []byte { - file_press_releases_proto_rawDescOnce.Do(func() { - file_press_releases_proto_rawDescData = protoimpl.X.CompressGZIP(file_press_releases_proto_rawDescData) +func file_api_pressreleases_press_releases_proto_rawDescGZIP() []byte { + file_api_pressreleases_press_releases_proto_rawDescOnce.Do(func() { + file_api_pressreleases_press_releases_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_pressreleases_press_releases_proto_rawDescData) }) - return file_press_releases_proto_rawDescData + return file_api_pressreleases_press_releases_proto_rawDescData } -var file_press_releases_proto_msgTypes = make([]protoimpl.MessageInfo, 13) -var file_press_releases_proto_goTypes = []interface{}{ - (*Item)(nil), // 0: pressreleases.Item - (*ListReq)(nil), // 1: pressreleases.ListReq - (*ListResp)(nil), // 2: pressreleases.ListResp - (*DisplayReq)(nil), // 3: pressreleases.DisplayReq - (*DisplayResp)(nil), // 4: pressreleases.DisplayResp - (*EditReq)(nil), // 5: pressreleases.EditReq - (*EditResp)(nil), // 6: pressreleases.EditResp - (*CreateReq)(nil), // 7: pressreleases.CreateReq - (*CreateResp)(nil), // 8: pressreleases.CreateResp - (*DeleteReq)(nil), // 9: pressreleases.DeleteReq - (*DeleteResp)(nil), // 10: pressreleases.DeleteResp - (*GetReq)(nil), // 11: pressreleases.GetReq - (*GetResp)(nil), // 12: pressreleases.GetResp +var file_api_pressreleases_press_releases_proto_msgTypes = make([]protoimpl.MessageInfo, 20) +var file_api_pressreleases_press_releases_proto_goTypes = []interface{}{ + (*LangSetting)(nil), // 0: pressreleases.LangSetting + (*PressReleasesLang)(nil), // 1: pressreleases.PressReleasesLang + (*PressReleasesData)(nil), // 2: pressreleases.PressReleasesData + (*DisplayItem)(nil), // 3: pressreleases.DisplayItem + (*ListReq)(nil), // 4: pressreleases.ListReq + (*ListResp)(nil), // 5: pressreleases.ListResp + (*SortAndStatusReq)(nil), // 6: pressreleases.SortAndStatusReq + (*SortAndStatusResp)(nil), // 7: pressreleases.SortAndStatusResp + (*InfoReq)(nil), // 8: pressreleases.InfoReq + (*InfoResp)(nil), // 9: pressreleases.InfoResp + (*DisplayReq)(nil), // 10: pressreleases.DisplayReq + (*DisplayResp)(nil), // 11: pressreleases.DisplayResp + (*EditReq)(nil), // 12: pressreleases.EditReq + (*EditResp)(nil), // 13: pressreleases.EditResp + (*CreateReq)(nil), // 14: pressreleases.CreateReq + (*CreateResp)(nil), // 15: pressreleases.CreateResp + (*DeleteReq)(nil), // 16: pressreleases.DeleteReq + (*DeleteResp)(nil), // 17: pressreleases.DeleteResp + (*GetReq)(nil), // 18: pressreleases.GetReq + (*GetResp)(nil), // 19: pressreleases.GetResp } -var file_press_releases_proto_depIdxs = []int32{ - 0, // 0: pressreleases.ListResp.data:type_name -> pressreleases.Item - 0, // 1: pressreleases.DisplayResp.data:type_name -> pressreleases.Item - 1, // 2: pressreleases.PressReleases.List:input_type -> pressreleases.ListReq - 3, // 3: pressreleases.PressReleases.Display:input_type -> pressreleases.DisplayReq - 5, // 4: pressreleases.PressReleases.Edit:input_type -> pressreleases.EditReq - 7, // 5: pressreleases.PressReleases.Create:input_type -> pressreleases.CreateReq - 9, // 6: pressreleases.PressReleases.Delete:input_type -> pressreleases.DeleteReq - 11, // 7: pressreleases.PressReleases.Get:input_type -> pressreleases.GetReq - 2, // 8: pressreleases.PressReleases.List:output_type -> pressreleases.ListResp - 4, // 9: pressreleases.PressReleases.Display:output_type -> pressreleases.DisplayResp - 6, // 10: pressreleases.PressReleases.Edit:output_type -> pressreleases.EditResp - 8, // 11: pressreleases.PressReleases.Create:output_type -> pressreleases.CreateResp - 10, // 12: pressreleases.PressReleases.Delete:output_type -> pressreleases.DeleteResp - 12, // 13: pressreleases.PressReleases.Get:output_type -> pressreleases.GetResp - 8, // [8:14] is the sub-list for method output_type - 2, // [2:8] 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 +var file_api_pressreleases_press_releases_proto_depIdxs = []int32{ + 0, // 0: pressreleases.PressReleasesData.langSetting:type_name -> pressreleases.LangSetting + 2, // 1: pressreleases.ListResp.data:type_name -> pressreleases.PressReleasesData + 1, // 2: pressreleases.InfoResp.dataByLang:type_name -> pressreleases.PressReleasesLang + 3, // 3: pressreleases.DisplayResp.data:type_name -> pressreleases.DisplayItem + 1, // 4: pressreleases.EditReq.dataByLang:type_name -> pressreleases.PressReleasesLang + 1, // 5: pressreleases.CreateReq.dataByLang:type_name -> pressreleases.PressReleasesLang + 3, // 6: pressreleases.GetResp.data:type_name -> pressreleases.DisplayItem + 4, // 7: pressreleases.PressReleases.List:input_type -> pressreleases.ListReq + 6, // 8: pressreleases.PressReleases.SortAndStatus:input_type -> pressreleases.SortAndStatusReq + 8, // 9: pressreleases.PressReleases.Info:input_type -> pressreleases.InfoReq + 10, // 10: pressreleases.PressReleases.Display:input_type -> pressreleases.DisplayReq + 12, // 11: pressreleases.PressReleases.Edit:input_type -> pressreleases.EditReq + 14, // 12: pressreleases.PressReleases.Create:input_type -> pressreleases.CreateReq + 16, // 13: pressreleases.PressReleases.Delete:input_type -> pressreleases.DeleteReq + 18, // 14: pressreleases.PressReleases.Get:input_type -> pressreleases.GetReq + 5, // 15: pressreleases.PressReleases.List:output_type -> pressreleases.ListResp + 7, // 16: pressreleases.PressReleases.SortAndStatus:output_type -> pressreleases.SortAndStatusResp + 9, // 17: pressreleases.PressReleases.Info:output_type -> pressreleases.InfoResp + 11, // 18: pressreleases.PressReleases.Display:output_type -> pressreleases.DisplayResp + 13, // 19: pressreleases.PressReleases.Edit:output_type -> pressreleases.EditResp + 15, // 20: pressreleases.PressReleases.Create:output_type -> pressreleases.CreateResp + 17, // 21: pressreleases.PressReleases.Delete:output_type -> pressreleases.DeleteResp + 19, // 22: pressreleases.PressReleases.Get:output_type -> pressreleases.GetResp + 15, // [15:23] is the sub-list for method output_type + 7, // [7:15] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name } -func init() { file_press_releases_proto_init() } -func file_press_releases_proto_init() { - if File_press_releases_proto != nil { +func init() { file_api_pressreleases_press_releases_proto_init() } +func file_api_pressreleases_press_releases_proto_init() { + if File_api_pressreleases_press_releases_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_press_releases_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Item); i { + file_api_pressreleases_press_releases_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LangSetting); i { case 0: return &v.state case 1: @@ -1236,7 +1721,43 @@ func file_press_releases_proto_init() { return nil } } - file_press_releases_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_api_pressreleases_press_releases_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PressReleasesLang); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_pressreleases_press_releases_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PressReleasesData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_pressreleases_press_releases_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisplayItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_pressreleases_press_releases_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListReq); i { case 0: return &v.state @@ -1248,7 +1769,7 @@ func file_press_releases_proto_init() { return nil } } - file_press_releases_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_api_pressreleases_press_releases_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListResp); i { case 0: return &v.state @@ -1260,7 +1781,55 @@ func file_press_releases_proto_init() { return nil } } - file_press_releases_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_api_pressreleases_press_releases_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SortAndStatusReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_pressreleases_press_releases_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SortAndStatusResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_pressreleases_press_releases_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InfoReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_pressreleases_press_releases_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InfoResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_pressreleases_press_releases_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DisplayReq); i { case 0: return &v.state @@ -1272,7 +1841,7 @@ func file_press_releases_proto_init() { return nil } } - file_press_releases_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_api_pressreleases_press_releases_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DisplayResp); i { case 0: return &v.state @@ -1284,7 +1853,7 @@ func file_press_releases_proto_init() { return nil } } - file_press_releases_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_api_pressreleases_press_releases_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EditReq); i { case 0: return &v.state @@ -1296,7 +1865,7 @@ func file_press_releases_proto_init() { return nil } } - file_press_releases_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_api_pressreleases_press_releases_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EditResp); i { case 0: return &v.state @@ -1308,7 +1877,7 @@ func file_press_releases_proto_init() { return nil } } - file_press_releases_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_api_pressreleases_press_releases_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateReq); i { case 0: return &v.state @@ -1320,7 +1889,7 @@ func file_press_releases_proto_init() { return nil } } - file_press_releases_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_api_pressreleases_press_releases_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateResp); i { case 0: return &v.state @@ -1332,7 +1901,7 @@ func file_press_releases_proto_init() { return nil } } - file_press_releases_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_api_pressreleases_press_releases_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteReq); i { case 0: return &v.state @@ -1344,7 +1913,7 @@ func file_press_releases_proto_init() { return nil } } - file_press_releases_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_api_pressreleases_press_releases_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteResp); i { case 0: return &v.state @@ -1356,7 +1925,7 @@ func file_press_releases_proto_init() { return nil } } - file_press_releases_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_api_pressreleases_press_releases_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetReq); i { case 0: return &v.state @@ -1368,7 +1937,7 @@ func file_press_releases_proto_init() { return nil } } - file_press_releases_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_api_pressreleases_press_releases_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetResp); i { case 0: return &v.state @@ -1385,18 +1954,18 @@ func file_press_releases_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_press_releases_proto_rawDesc, + RawDescriptor: file_api_pressreleases_press_releases_proto_rawDesc, NumEnums: 0, - NumMessages: 13, + NumMessages: 20, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_press_releases_proto_goTypes, - DependencyIndexes: file_press_releases_proto_depIdxs, - MessageInfos: file_press_releases_proto_msgTypes, + GoTypes: file_api_pressreleases_press_releases_proto_goTypes, + DependencyIndexes: file_api_pressreleases_press_releases_proto_depIdxs, + MessageInfos: file_api_pressreleases_press_releases_proto_msgTypes, }.Build() - File_press_releases_proto = out.File - file_press_releases_proto_rawDesc = nil - file_press_releases_proto_goTypes = nil - file_press_releases_proto_depIdxs = nil + File_api_pressreleases_press_releases_proto = out.File + file_api_pressreleases_press_releases_proto_rawDesc = nil + file_api_pressreleases_press_releases_proto_goTypes = nil + file_api_pressreleases_press_releases_proto_depIdxs = nil } diff --git a/api/pressreleases/press_releases.proto b/api/pressreleases/press_releases.proto deleted file mode 100644 index 53efcfc..0000000 --- a/api/pressreleases/press_releases.proto +++ /dev/null @@ -1,119 +0,0 @@ -syntax = "proto3"; -package pressreleases; -//import "descriptor.proto"; -//import "validator.proto"; - -option go_package = "./;pressreleases"; - -service PressReleases{ - rpc List(ListReq) returns (ListResp) {} - rpc Display(DisplayReq) returns (DisplayResp) {} - rpc Edit(EditReq) returns (EditResp) {} - rpc Create(CreateReq) returns (CreateResp) {} - rpc Delete(DeleteReq) returns (DeleteResp) {} - rpc Get(GetReq) returns (GetResp) {} -} - -message Item{ - uint32 id = 1; - string title = 2; - uint64 createdAt = 3; - uint32 sort = 4; - string content = 5; - string attachment = 6; - string attachmentName = 7; - uint64 updatedAt = 8; - uint32 status = 9; - uint32 display = 10; - string summary = 11; - string operator = 12; - int32 operatorId = 13; -} - -message ListReq{ - string title = 1; - uint64 startTime = 2; - uint64 endTime = 3; - uint32 status = 4; - uint32 display = 5; - int32 page = 6; - int32 pageSize = 7; -} - -message ListResp{ - uint64 total = 1; - repeated Item data = 2; -} - -message DisplayReq{ - string query = 1; - uint32 page = 2; - uint32 pageSize = 3; - int64 timeStart = 4; - int64 timeEnd = 5; - int32 display = 6; -} - -message DisplayResp{ - int64 total = 1; - repeated Item data = 2; -} - -message EditReq{ - uint32 id = 1; - string title = 2; - uint64 createdAt = 3; - uint32 sort = 4; - string content = 5; - string attachment = 6; - string attachmentName = 7; - uint32 status = 8; - uint32 display = 9; - string summary = 10; - string operator = 11; - int32 operatorId = 12; - -} - -message EditResp{ -} - -message CreateReq{ - string title = 1; - uint64 createdAt = 2; - uint32 sort = 3; - string content = 4; - string attachment = 5; - string attachmentName = 6; - uint32 status = 7; - uint32 display = 8; - string summary = 9; - string operator = 10; - int32 operatorId = 11; -} - -message CreateResp{ - -} - -message DeleteReq{ - uint32 id = 1; -} - -message DeleteResp{ - -} - -message GetReq{ - int64 id = 1; -} - -message GetResp{ - uint32 id = 1; - string title = 2; - uint64 createdAt = 3; - string content = 4; - string attachment = 5; - string attachmentName = 6; - string summary = 7; -} \ No newline at end of file diff --git a/api/pressreleases/press_releases.validator.pb.go b/api/pressreleases/press_releases.validator.pb.go index 9481a14..0698245 100644 --- a/api/pressreleases/press_releases.validator.pb.go +++ b/api/pressreleases/press_releases.validator.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: press_releases.proto +// source: api/pressreleases/press_releases.proto package pressreleases @@ -15,7 +15,23 @@ var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf -func (this *Item) Validate() error { +func (this *LangSetting) Validate() error { + return nil +} +func (this *PressReleasesLang) Validate() error { + return nil +} +func (this *PressReleasesData) Validate() error { + for _, item := range this.LangSetting { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("LangSetting", err) + } + } + } + return nil +} +func (this *DisplayItem) Validate() error { return nil } func (this *ListReq) Validate() error { @@ -31,6 +47,25 @@ func (this *ListResp) Validate() error { } return nil } +func (this *SortAndStatusReq) Validate() error { + return nil +} +func (this *SortAndStatusResp) Validate() error { + return nil +} +func (this *InfoReq) Validate() error { + return nil +} +func (this *InfoResp) Validate() error { + for _, item := range this.DataByLang { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err) + } + } + } + return nil +} func (this *DisplayReq) Validate() error { return nil } @@ -45,12 +80,26 @@ func (this *DisplayResp) Validate() error { return nil } func (this *EditReq) Validate() error { + for _, item := range this.DataByLang { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err) + } + } + } return nil } func (this *EditResp) Validate() error { return nil } func (this *CreateReq) Validate() error { + for _, item := range this.DataByLang { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err) + } + } + } return nil } func (this *CreateResp) Validate() error { @@ -66,5 +115,10 @@ func (this *GetReq) Validate() error { return nil } func (this *GetResp) Validate() error { + if this.Data != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Data); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Data", err) + } + } return nil } diff --git a/api/pressreleases/press_releases_triple.pb.go b/api/pressreleases/press_releases_triple.pb.go index a3ba335..fee4f92 100644 --- a/api/pressreleases/press_releases_triple.pb.go +++ b/api/pressreleases/press_releases_triple.pb.go @@ -1,8 +1,8 @@ // Code generated by protoc-gen-go-triple. DO NOT EDIT. // versions: -// - protoc-gen-go-triple v1.0.8 -// - protoc v3.20.3 -// source: press_releases.proto +// - protoc-gen-go-triple v1.0.5 +// - protoc v5.26.0 +// source: api/pressreleases/press_releases.proto package pressreleases @@ -29,6 +29,8 @@ const _ = grpc_go.SupportPackageIsVersion7 // 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 PressReleasesClient interface { List(ctx context.Context, in *ListReq, opts ...grpc_go.CallOption) (*ListResp, common.ErrorWithAttachment) + SortAndStatus(ctx context.Context, in *SortAndStatusReq, opts ...grpc_go.CallOption) (*SortAndStatusResp, common.ErrorWithAttachment) + Info(ctx context.Context, in *InfoReq, opts ...grpc_go.CallOption) (*InfoResp, common.ErrorWithAttachment) Display(ctx context.Context, in *DisplayReq, opts ...grpc_go.CallOption) (*DisplayResp, common.ErrorWithAttachment) Edit(ctx context.Context, in *EditReq, opts ...grpc_go.CallOption) (*EditResp, common.ErrorWithAttachment) Create(ctx context.Context, in *CreateReq, opts ...grpc_go.CallOption) (*CreateResp, common.ErrorWithAttachment) @@ -41,12 +43,14 @@ type pressReleasesClient struct { } type PressReleasesClientImpl struct { - List func(ctx context.Context, in *ListReq) (*ListResp, error) - Display func(ctx context.Context, in *DisplayReq) (*DisplayResp, error) - Edit func(ctx context.Context, in *EditReq) (*EditResp, error) - Create func(ctx context.Context, in *CreateReq) (*CreateResp, error) - Delete func(ctx context.Context, in *DeleteReq) (*DeleteResp, error) - Get func(ctx context.Context, in *GetReq) (*GetResp, error) + List func(ctx context.Context, in *ListReq) (*ListResp, error) + SortAndStatus func(ctx context.Context, in *SortAndStatusReq) (*SortAndStatusResp, error) + Info func(ctx context.Context, in *InfoReq) (*InfoResp, error) + Display func(ctx context.Context, in *DisplayReq) (*DisplayResp, error) + Edit func(ctx context.Context, in *EditReq) (*EditResp, error) + Create func(ctx context.Context, in *CreateReq) (*CreateResp, error) + Delete func(ctx context.Context, in *DeleteReq) (*DeleteResp, error) + Get func(ctx context.Context, in *GetReq) (*GetResp, error) } func (c *PressReleasesClientImpl) GetDubboStub(cc *triple.TripleConn) PressReleasesClient { @@ -67,6 +71,18 @@ func (c *pressReleasesClient) List(ctx context.Context, in *ListReq, opts ...grp return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/List", in, out) } +func (c *pressReleasesClient) SortAndStatus(ctx context.Context, in *SortAndStatusReq, opts ...grpc_go.CallOption) (*SortAndStatusResp, common.ErrorWithAttachment) { + out := new(SortAndStatusResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SortAndStatus", in, out) +} + +func (c *pressReleasesClient) Info(ctx context.Context, in *InfoReq, opts ...grpc_go.CallOption) (*InfoResp, common.ErrorWithAttachment) { + out := new(InfoResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Info", in, out) +} + func (c *pressReleasesClient) Display(ctx context.Context, in *DisplayReq, opts ...grpc_go.CallOption) (*DisplayResp, common.ErrorWithAttachment) { out := new(DisplayResp) interfaceKey := ctx.Value(constant.InterfaceKey).(string) @@ -102,6 +118,8 @@ func (c *pressReleasesClient) Get(ctx context.Context, in *GetReq, opts ...grpc_ // for forward compatibility type PressReleasesServer interface { List(context.Context, *ListReq) (*ListResp, error) + SortAndStatus(context.Context, *SortAndStatusReq) (*SortAndStatusResp, error) + Info(context.Context, *InfoReq) (*InfoResp, error) Display(context.Context, *DisplayReq) (*DisplayResp, error) Edit(context.Context, *EditReq) (*EditResp, error) Create(context.Context, *CreateReq) (*CreateResp, error) @@ -118,6 +136,12 @@ type UnimplementedPressReleasesServer struct { func (UnimplementedPressReleasesServer) List(context.Context, *ListReq) (*ListResp, error) { return nil, status.Errorf(codes.Unimplemented, "method List not implemented") } +func (UnimplementedPressReleasesServer) SortAndStatus(context.Context, *SortAndStatusReq) (*SortAndStatusResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method SortAndStatus not implemented") +} +func (UnimplementedPressReleasesServer) Info(context.Context, *InfoReq) (*InfoResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method Info not implemented") +} func (UnimplementedPressReleasesServer) Display(context.Context, *DisplayReq) (*DisplayResp, error) { return nil, status.Errorf(codes.Unimplemented, "method Display not implemented") } @@ -190,6 +214,64 @@ func _PressReleases_List_Handler(srv interface{}, ctx context.Context, dec func( return interceptor(ctx, in, info, handler) } +func _PressReleases_SortAndStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(SortAndStatusReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("SortAndStatus", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _PressReleases_Info_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(InfoReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("Info", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + func _PressReleases_Display_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(DisplayReq) if err := dec(in); err != nil { @@ -346,6 +428,14 @@ var PressReleases_ServiceDesc = grpc_go.ServiceDesc{ MethodName: "List", Handler: _PressReleases_List_Handler, }, + { + MethodName: "SortAndStatus", + Handler: _PressReleases_SortAndStatus_Handler, + }, + { + MethodName: "Info", + Handler: _PressReleases_Info_Handler, + }, { MethodName: "Display", Handler: _PressReleases_Display_Handler, @@ -368,5 +458,5 @@ var PressReleases_ServiceDesc = grpc_go.ServiceDesc{ }, }, Streams: []grpc_go.StreamDesc{}, - Metadata: "press_releases.proto", + Metadata: "api/pressreleases/press_releases.proto", } From da43d8e174e8a93ed87cbe8205a2adec6360afa5 Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Mon, 8 Dec 2025 19:43:40 +0800 Subject: [PATCH 24/38] =?UTF-8?q?Updata=EF=BC=9A=E8=A7=A3=E5=86=B3?= =?UTF-8?q?=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/service/pressreleases/pressreleases.go | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/pkg/service/pressreleases/pressreleases.go b/pkg/service/pressreleases/pressreleases.go index 3081342..6f9d918 100644 --- a/pkg/service/pressreleases/pressreleases.go +++ b/pkg/service/pressreleases/pressreleases.go @@ -1,8 +1,6 @@ package pressreleases import ( - "strconv" - "github.com/gin-gonic/gin" "fonchain-fiee/api/pressreleases" @@ -87,14 +85,12 @@ func Edit(ctx *gin.Context) { } func Get(ctx *gin.Context) { - id, err := strconv.Atoi(ctx.Query("id")) - if err != nil { + var req pressreleases.GetReq + if err := ctx.ShouldBindJSON(&req); err != nil { service.Error(ctx, err) return } - resp, err := service.PressReleasesProvider.Get(ctx, &pressreleases.GetReq{ - Id: int64(id), - }) + resp, err := service.PressReleasesProvider.Get(ctx, &req) if err != nil { service.Error(ctx, err) return From 89543604147846cbadc36af75cc320874d33bb36 Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Mon, 8 Dec 2025 19:48:29 +0800 Subject: [PATCH 25/38] =?UTF-8?q?Updata=EF=BC=9A=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/router/router.go | 2 ++ pkg/service/pressreleases/pressreleases.go | 28 ++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/pkg/router/router.go b/pkg/router/router.go index 580ee03..cc6c88f 100644 --- a/pkg/router/router.go +++ b/pkg/router/router.go @@ -184,6 +184,8 @@ func NewRouter() *gin.Engine { pressreleasesRoute.POST("/display", middleware.Cors(), pressreleases.Display) pressreleasesRoute.GET("", middleware.Cors(), pressreleases.Get) + pressreleasesRoute.POST("/sortAndStatus", pressreleases.SortAndStatus) + pressreleasesRoute.POST("/info", pressreleases.Info) pressreleasesRouteLogin.POST("/list", pressreleases.List) pressreleasesRouteLogin.POST("", pressreleases.Create) pressreleasesRouteLogin.POST("/edit", pressreleases.Edit) diff --git a/pkg/service/pressreleases/pressreleases.go b/pkg/service/pressreleases/pressreleases.go index 6f9d918..bbd97f0 100644 --- a/pkg/service/pressreleases/pressreleases.go +++ b/pkg/service/pressreleases/pressreleases.go @@ -53,6 +53,34 @@ func Display(ctx *gin.Context) { service.Success(ctx, resp) } +func SortAndStatus(ctx *gin.Context) { + var req pressreleases.SortAndStatusReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.PressReleasesProvider.SortAndStatus(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} + +func Info(ctx *gin.Context) { + var req pressreleases.InfoReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.PressReleasesProvider.Info(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} + func List(ctx *gin.Context) { var req pressreleases.ListReq if err := ctx.ShouldBindJSON(&req); err != nil { From 36905994f96ad662fcff723d72e19b99dd6cb16f Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Mon, 8 Dec 2025 19:55:27 +0800 Subject: [PATCH 26/38] =?UTF-8?q?Updata=EF=BC=9A=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/service/pressreleases/pressreleases.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/service/pressreleases/pressreleases.go b/pkg/service/pressreleases/pressreleases.go index bbd97f0..d84eaed 100644 --- a/pkg/service/pressreleases/pressreleases.go +++ b/pkg/service/pressreleases/pressreleases.go @@ -114,7 +114,7 @@ func Edit(ctx *gin.Context) { func Get(ctx *gin.Context) { var req pressreleases.GetReq - if err := ctx.ShouldBindJSON(&req); err != nil { + if err := ctx.ShouldBindQuery(&req); err != nil { service.Error(ctx, err) return } From feb176680d76371835aa6297a1bd8adf09b1a035 Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Tue, 9 Dec 2025 09:09:15 +0800 Subject: [PATCH 27/38] =?UTF-8?q?Updata=EF=BC=9A=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/router/router.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/router/router.go b/pkg/router/router.go index cc6c88f..b6bad3f 100644 --- a/pkg/router/router.go +++ b/pkg/router/router.go @@ -184,8 +184,8 @@ func NewRouter() *gin.Engine { pressreleasesRoute.POST("/display", middleware.Cors(), pressreleases.Display) pressreleasesRoute.GET("", middleware.Cors(), pressreleases.Get) - pressreleasesRoute.POST("/sortAndStatus", pressreleases.SortAndStatus) - pressreleasesRoute.POST("/info", pressreleases.Info) + pressreleasesRouteLogin.POST("/sortAndStatus", pressreleases.SortAndStatus) + pressreleasesRouteLogin.POST("/info", pressreleases.Info) pressreleasesRouteLogin.POST("/list", pressreleases.List) pressreleasesRouteLogin.POST("", pressreleases.Create) pressreleasesRouteLogin.POST("/edit", pressreleases.Edit) From 3fb3b684f4f2ce3e32903de21097cf99b21f06b8 Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Tue, 9 Dec 2025 09:32:56 +0800 Subject: [PATCH 28/38] =?UTF-8?q?Updata=EF=BC=9A=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=8A=A5=E5=91=8Apb=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/reports/reports.pb.go | 540 +++++++++++++++++++------------------- 1 file changed, 270 insertions(+), 270 deletions(-) diff --git a/api/reports/reports.pb.go b/api/reports/reports.pb.go index b711ca4..2cf82d1 100644 --- a/api/reports/reports.pb.go +++ b/api/reports/reports.pb.go @@ -728,7 +728,7 @@ type GetAnnualReportInfoResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` DataByLang []*AnnualReportLang `protobuf:"bytes,2,rep,name=dataByLang,proto3" json:"dataByLang"` //语言数据 FileUrl string `protobuf:"bytes,3,opt,name=fileUrl,proto3" json:"fileUrl"` //访问地址 } @@ -765,9 +765,9 @@ func (*GetAnnualReportInfoResp) Descriptor() ([]byte, []int) { return file_api_reports_reports_proto_rawDescGZIP(), []int{10} } -func (x *GetAnnualReportInfoResp) GetMsg() string { +func (x *GetAnnualReportInfoResp) GetUuid() string { if x != nil { - return x.Msg + return x.Uuid } return "" } @@ -1666,7 +1666,7 @@ type GetQuarterlyReportInfoResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` DataByLang []*QuarterlyReportLang `protobuf:"bytes,2,rep,name=dataByLang,proto3" json:"dataByLang"` //语言数据 Attachment string `protobuf:"bytes,3,opt,name=attachment,proto3" json:"attachment"` //附件 AttachmentName string `protobuf:"bytes,4,opt,name=attachmentName,proto3" json:"attachmentName"` //附件名称 @@ -1704,9 +1704,9 @@ func (*GetQuarterlyReportInfoResp) Descriptor() ([]byte, []int) { return file_api_reports_reports_proto_rawDescGZIP(), []int{25} } -func (x *GetQuarterlyReportInfoResp) GetMsg() string { +func (x *GetQuarterlyReportInfoResp) GetUuid() string { if x != nil { - return x.Msg + return x.Uuid } return "" } @@ -2537,46 +2537,16 @@ var file_api_reports_reports_proto_rawDesc = []byte{ 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x80, 0x01, 0x0a, 0x17, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x82, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x39, 0x0a, 0x0a, 0x64, 0x61, 0x74, - 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, - 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x22, 0xe5, - 0x01, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x64, 0x61, 0x74, - 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, - 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x6f, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x27, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, - 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, - 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, - 0x9a, 0x01, 0x0a, 0x1c, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, - 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x75, 0x75, 0x69, 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, 0x12, 0x0a, 0x04, - 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x1d, - 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x6e, 0x6e, - 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, - 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, - 0xba, 0x01, 0x0a, 0x13, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, + 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x64, + 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, + 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, + 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, + 0x22, 0xe5, 0x01, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, @@ -2584,75 +2554,94 @@ var file_api_reports_reports_proto_rawDesc = []byte{ 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, - 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x28, 0x0a, 0x14, - 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x2b, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, - 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, - 0x75, 0x69, 0x64, 0x22, 0x2a, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, - 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, - 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, - 0x64, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, - 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, - 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x95, 0x01, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x27, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x41, + 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, + 0x67, 0x22, 0x9a, 0x01, 0x0a, 0x1c, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x75, 0x75, 0x69, 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, 0x12, + 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, + 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, + 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x31, + 0x0a, 0x1d, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, + 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, + 0x67, 0x22, 0xba, 0x01, 0x0a, 0x13, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x39, 0x0a, + 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x6e, 0x6e, 0x75, + 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, + 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, + 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, + 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, + 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x28, + 0x0a, 0x14, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x2b, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, + 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x2a, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, + 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, + 0x67, 0x22, 0x64, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, + 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, + 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, + 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, + 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x95, 0x01, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x34, 0x0a, 0x04, 0x49, 0x74, 0x65, + 0x6d, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x22, + 0x63, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, + 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, + 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, + 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, + 0x65, 0x55, 0x72, 0x6c, 0x22, 0x7a, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, + 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x34, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, - 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x63, 0x0a, - 0x17, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, - 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, - 0x72, 0x6c, 0x22, 0x7a, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, - 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, - 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, - 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, - 0x2d, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x11, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, - 0x72, 0x61, 0x74, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x22, 0xa2, - 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, - 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, - 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, - 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x51, 0x75, - 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x22, 0x2f, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, - 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, - 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x75, 0x75, 0x69, 0x64, 0x22, 0xb4, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, + 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x46, 0x69, + 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, + 0x22, 0xa2, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, + 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, + 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, + 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2f, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x3c, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, - 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x73, 0x2e, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, - 0x61, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, - 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x99, 0x02, 0x0a, 0x15, - 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xb6, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x51, 0x75, + 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, @@ -2661,168 +2650,179 @@ var file_api_reports_reports_proto_rawDesc = []byte{ 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2a, 0x0a, 0x16, 0x41, 0x64, 0x64, 0x51, 0x75, - 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6d, 0x73, 0x67, 0x22, 0x9d, 0x01, 0x0a, 0x1f, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 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, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x49, 0x64, 0x22, 0x34, 0x0a, 0x20, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xee, 0x01, 0x0a, 0x16, 0x45, 0x64, - 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, - 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, - 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, - 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, - 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, - 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2b, 0x0a, 0x17, 0x45, 0x64, - 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x2e, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x2d, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x99, 0x01, 0x0a, 0x19, 0x44, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, - 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, - 0x53, 0x69, 0x7a, 0x65, 0x12, 0x30, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x57, 0x65, 0x62, 0x52, 0x08, 0x66, 0x69, - 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, - 0x70, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, - 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x37, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, - 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, - 0x22, 0xa6, 0x01, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, - 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, - 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, - 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, - 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x32, 0xa8, 0x0a, 0x0a, 0x07, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, - 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x72, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, - 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, - 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x58, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4c, 0x0a, 0x0f, 0x41, 0x64, 0x64, - 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x2e, 0x72, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6a, 0x0a, 0x19, 0x53, 0x6f, 0x72, 0x74, 0x41, - 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x53, - 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x6e, 0x6e, 0x75, - 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x72, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, - 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, - 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, - 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x2e, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, - 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, - 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x44, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, - 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, - 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, - 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x51, - 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, - 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x41, + 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, + 0x99, 0x02, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x3c, 0x0a, + 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x51, 0x75, 0x61, 0x72, + 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, + 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x61, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, + 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, + 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2a, 0x0a, 0x16, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x12, 0x1e, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x51, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x9d, 0x01, 0x0a, 0x1f, 0x53, 0x6f, 0x72, 0x74, + 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, + 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, + 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 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, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x34, 0x0a, 0x20, 0x53, 0x6f, 0x72, 0x74, 0x41, + 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, + 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, + 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xee, 0x01, + 0x0a, 0x16, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x0a, + 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x51, 0x75, 0x61, 0x72, 0x74, + 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, + 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, + 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2b, + 0x0a, 0x17, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x2e, 0x0a, 0x18, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x2d, 0x0a, 0x19, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x99, 0x01, 0x0a, 0x19, 0x44, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x30, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, + 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x57, 0x65, 0x62, + 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, + 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, + 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x37, 0x0a, 0x04, 0x49, + 0x74, 0x65, 0x6d, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, + 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, + 0x49, 0x74, 0x65, 0x6d, 0x22, 0xa6, 0x01, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, + 0x74, 0x65, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, + 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, + 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x32, 0xa8, 0x0a, + 0x0a, 0x07, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x13, 0x47, 0x65, 0x74, + 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, + 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, + 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4c, 0x0a, + 0x0f, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x12, 0x1b, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x6e, + 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, + 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6a, 0x0a, 0x19, 0x53, + 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x6e, 0x6e, 0x75, + 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, + 0x26, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, + 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x45, 0x64, 0x69, 0x74, 0x41, + 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x2e, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1e, + 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, + 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, + 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, + 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x58, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, 0x47, 0x65, 0x74, + 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, + 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, + 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, + 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x55, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, + 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, + 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x73, 0x0a, 0x1c, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, + 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x51, 0x75, + 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, + 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, + 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, + 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x45, + 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, + 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, + 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5e, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, + 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x21, + 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, - 0x71, 0x1a, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x51, - 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x73, 0x0a, 0x1c, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x6f, 0x72, - 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, - 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x72, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x45, 0x64, 0x69, 0x74, 0x51, - 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1f, - 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, - 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, - 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, - 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x5e, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, - 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x21, 0x2e, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, - 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, - 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, - 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x61, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, - 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x22, 0x2e, 0x72, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, - 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, - 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x71, 0x1a, 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, + 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( From ed9a384b9d1253567fb2ebf65a194214b589cc6b Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Tue, 9 Dec 2025 10:03:56 +0800 Subject: [PATCH 29/38] =?UTF-8?q?Updata=EF=BC=9A=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E4=BC=A0=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/service/pressreleases/pressreleases.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkg/service/pressreleases/pressreleases.go b/pkg/service/pressreleases/pressreleases.go index d84eaed..ed300fd 100644 --- a/pkg/service/pressreleases/pressreleases.go +++ b/pkg/service/pressreleases/pressreleases.go @@ -1,6 +1,8 @@ package pressreleases import ( + "errors" + "github.com/gin-gonic/gin" "fonchain-fiee/api/pressreleases" @@ -114,10 +116,12 @@ func Edit(ctx *gin.Context) { func Get(ctx *gin.Context) { var req pressreleases.GetReq - if err := ctx.ShouldBindQuery(&req); err != nil { - service.Error(ctx, err) + uuid := ctx.Query("uuid") + if uuid == "" { + service.Error(ctx, errors.New("uuid 参数不能为空")) return } + req.Uuid = uuid resp, err := service.PressReleasesProvider.Get(ctx, &req) if err != nil { service.Error(ctx, err) From 66d5d9c1142dac18cbc37d159893d6c8bb825f6f Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Tue, 9 Dec 2025 10:58:44 +0800 Subject: [PATCH 30/38] =?UTF-8?q?Updata=EF=BC=9A=E6=9B=B4=E6=96=B0pb?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/pressreleases/press_releases.pb.go | 24 +- api/reports/reports.pb.go | 715 +++++++++++++------------ 2 files changed, 389 insertions(+), 350 deletions(-) diff --git a/api/pressreleases/press_releases.pb.go b/api/pressreleases/press_releases.pb.go index 33ed560..636fa82 100644 --- a/api/pressreleases/press_releases.pb.go +++ b/api/pressreleases/press_releases.pb.go @@ -82,7 +82,7 @@ type PressReleasesLang struct { LangType string `protobuf:"bytes,1,opt,name=langType,proto3" json:"langType"` //语言类型 Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` //新闻标题 - Date string `protobuf:"bytes,3,opt,name=date,proto3" json:"date"` //日期 + Date int64 `protobuf:"varint,3,opt,name=date,proto3" json:"date"` //日期 Summary string `protobuf:"bytes,4,opt,name=summary,proto3" json:"summary"` //新闻描述 Content string `protobuf:"bytes,5,opt,name=content,proto3" json:"content"` //新闻内容 IsSetting int32 `protobuf:"varint,6,opt,name=isSetting,proto3" json:"isSetting"` //是否设置(0:否,1:是) @@ -134,11 +134,11 @@ func (x *PressReleasesLang) GetTitle() string { return "" } -func (x *PressReleasesLang) GetDate() string { +func (x *PressReleasesLang) GetDate() int64 { if x != nil { return x.Date } - return "" + return 0 } func (x *PressReleasesLang) GetSummary() string { @@ -170,7 +170,7 @@ type PressReleasesData struct { Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid LangSetting []*LangSetting `protobuf:"bytes,2,rep,name=langSetting,proto3" json:"langSetting"` //语言数据设置 Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title"` //新闻标题 - Date string `protobuf:"bytes,4,opt,name=date,proto3" json:"date"` //日期 + Date int64 `protobuf:"varint,4,opt,name=date,proto3" json:"date"` //日期 Attachment string `protobuf:"bytes,5,opt,name=attachment,proto3" json:"attachment"` //附件链接 AttachmentName string `protobuf:"bytes,6,opt,name=attachmentName,proto3" json:"attachmentName"` //附件文件名 Status int32 `protobuf:"varint,7,opt,name=status,proto3" json:"status"` //状态(1:上架,2:下架) @@ -234,11 +234,11 @@ func (x *PressReleasesData) GetTitle() string { return "" } -func (x *PressReleasesData) GetDate() string { +func (x *PressReleasesData) GetDate() int64 { if x != nil { return x.Date } - return "" + return 0 } func (x *PressReleasesData) GetAttachment() string { @@ -304,7 +304,7 @@ type DisplayItem struct { Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` //新闻标题 - Date string `protobuf:"bytes,3,opt,name=date,proto3" json:"date"` //日期 + Date int64 `protobuf:"varint,3,opt,name=date,proto3" json:"date"` //日期 Attachment string `protobuf:"bytes,4,opt,name=attachment,proto3" json:"attachment"` //附件链接 AttachmentName string `protobuf:"bytes,5,opt,name=attachmentName,proto3" json:"attachmentName"` //附件文件名 Summary string `protobuf:"bytes,6,opt,name=summary,proto3" json:"summary"` //新闻描述 @@ -357,11 +357,11 @@ func (x *DisplayItem) GetTitle() string { return "" } -func (x *DisplayItem) GetDate() string { +func (x *DisplayItem) GetDate() int64 { if x != nil { return x.Date } - return "" + return 0 } func (x *DisplayItem) GetAttachment() string { @@ -1448,7 +1448,7 @@ var file_api_pressreleases_press_releases_proto_rawDesc = []byte{ 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, @@ -1462,7 +1462,7 @@ var file_api_pressreleases_press_releases_proto_rawDesc = []byte{ 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, @@ -1481,7 +1481,7 @@ var file_api_pressreleases_press_releases_proto_rawDesc = []byte{ 0x70, 0x6c, 0x61, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, - 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, diff --git a/api/reports/reports.pb.go b/api/reports/reports.pb.go index 2cf82d1..d4aadd5 100644 --- a/api/reports/reports.pb.go +++ b/api/reports/reports.pb.go @@ -183,13 +183,15 @@ type AnnualReport struct { unknownFields protoimpl.UnknownFields Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` - FileUrl string `protobuf:"bytes,2,opt,name=fileUrl,proto3" json:"fileUrl"` - LangSetting []*LangSetting `protobuf:"bytes,3,rep,name=langSetting,proto3" json:"langSetting"` - Status int32 `protobuf:"varint,4,opt,name=status,proto3" json:"status"` - Sort int32 `protobuf:"varint,5,opt,name=sort,proto3" json:"sort"` - UpdatedAt string `protobuf:"bytes,6,opt,name=updatedAt,proto3" json:"updatedAt"` - Operator string `protobuf:"bytes,7,opt,name=operator,proto3" json:"operator"` - OperatorId int32 `protobuf:"varint,8,opt,name=operatorId,proto3" json:"operatorId"` + FileName string `protobuf:"bytes,2,opt,name=fileName,proto3" json:"fileName"` + Date int64 `protobuf:"varint,3,opt,name=date,proto3" json:"date"` + FileUrl string `protobuf:"bytes,4,opt,name=fileUrl,proto3" json:"fileUrl"` + LangSetting []*LangSetting `protobuf:"bytes,5,rep,name=langSetting,proto3" json:"langSetting"` + Status int32 `protobuf:"varint,6,opt,name=status,proto3" json:"status"` + Sort int32 `protobuf:"varint,7,opt,name=sort,proto3" json:"sort"` + UpdatedAt string `protobuf:"bytes,8,opt,name=updatedAt,proto3" json:"updatedAt"` + Operator string `protobuf:"bytes,9,opt,name=operator,proto3" json:"operator"` + OperatorId int32 `protobuf:"varint,10,opt,name=operatorId,proto3" json:"operatorId"` } func (x *AnnualReport) Reset() { @@ -231,6 +233,20 @@ func (x *AnnualReport) GetUuid() string { return "" } +func (x *AnnualReport) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +func (x *AnnualReport) GetDate() int64 { + if x != nil { + return x.Date + } + return 0 +} + func (x *AnnualReport) GetFileUrl() string { if x != nil { return x.FileUrl @@ -357,14 +373,16 @@ type QuarterlyReport struct { unknownFields protoimpl.UnknownFields Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` - Attachment string `protobuf:"bytes,2,opt,name=attachment,proto3" json:"attachment"` - AttachmentName string `protobuf:"bytes,3,opt,name=attachmentName,proto3" json:"attachmentName"` - LangSetting []*LangSetting `protobuf:"bytes,4,rep,name=langSetting,proto3" json:"langSetting"` - Status int32 `protobuf:"varint,5,opt,name=status,proto3" json:"status"` - Sort int32 `protobuf:"varint,6,opt,name=sort,proto3" json:"sort"` - UpdatedAt string `protobuf:"bytes,7,opt,name=updatedAt,proto3" json:"updatedAt"` - Operator string `protobuf:"bytes,8,opt,name=operator,proto3" json:"operator"` - OperatorId int32 `protobuf:"varint,9,opt,name=operatorId,proto3" json:"operatorId"` + FileName string `protobuf:"bytes,2,opt,name=fileName,proto3" json:"fileName"` + FileIntroduce string `protobuf:"bytes,3,opt,name=fileIntroduce,proto3" json:"fileIntroduce"` + Attachment string `protobuf:"bytes,4,opt,name=attachment,proto3" json:"attachment"` + AttachmentName string `protobuf:"bytes,5,opt,name=attachmentName,proto3" json:"attachmentName"` + LangSetting []*LangSetting `protobuf:"bytes,6,rep,name=langSetting,proto3" json:"langSetting"` + Status int32 `protobuf:"varint,7,opt,name=status,proto3" json:"status"` + Sort int32 `protobuf:"varint,8,opt,name=sort,proto3" json:"sort"` + UpdatedAt string `protobuf:"bytes,9,opt,name=updatedAt,proto3" json:"updatedAt"` + Operator string `protobuf:"bytes,10,opt,name=operator,proto3" json:"operator"` + OperatorId int32 `protobuf:"varint,11,opt,name=operatorId,proto3" json:"operatorId"` } func (x *QuarterlyReport) Reset() { @@ -406,6 +424,20 @@ func (x *QuarterlyReport) GetUuid() string { return "" } +func (x *QuarterlyReport) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +func (x *QuarterlyReport) GetFileIntroduce() string { + if x != nil { + return x.FileIntroduce + } + return "" +} + func (x *QuarterlyReport) GetAttachment() string { if x != nil { return x.Attachment @@ -2465,22 +2497,25 @@ var file_api_reports_reports_proto_rawDesc = []byte{ 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, - 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xfa, 0x01, 0x0a, 0x0c, 0x41, 0x6e, 0x6e, + 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xaa, 0x02, 0x0a, 0x0c, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x18, 0x0a, - 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, + 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x36, 0x0a, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x72, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x72, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x7c, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, @@ -2489,94 +2524,68 @@ var file_api_reports_reports_proto_rawDesc = []byte{ 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x22, 0xab, 0x02, 0x0a, 0x0f, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, + 0x69, 0x6e, 0x67, 0x22, 0xed, 0x02, 0x0a, 0x0f, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, - 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, - 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x73, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0b, - 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, - 0x64, 0x22, 0x91, 0x01, 0x0a, 0x13, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, - 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, - 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, - 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x77, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, - 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, - 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, - 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, - 0x2d, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x11, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, - 0x72, 0x61, 0x74, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x22, 0x9c, - 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, - 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, - 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x12, 0x29, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x15, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x6e, 0x6e, 0x75, 0x61, - 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x0a, - 0x16, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x82, 0x01, 0x0a, 0x17, - 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x64, - 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, - 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, - 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, - 0x22, 0xe5, 0x01, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x64, - 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, - 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, - 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x27, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x41, - 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, - 0x67, 0x22, 0x9a, 0x01, 0x0a, 0x1c, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, - 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x75, 0x75, 0x69, 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, 0x12, - 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, - 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, - 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x31, - 0x0a, 0x1d, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, - 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, - 0x67, 0x22, 0xba, 0x01, 0x0a, 0x13, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, + 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, + 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, + 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x1e, 0x0a, + 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, + 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x52, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, + 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x49, 0x64, 0x22, 0x91, 0x01, 0x0a, 0x13, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, + 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6c, + 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, + 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, + 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x77, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x6e, + 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x46, 0x69, + 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, + 0x22, 0x9c, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, + 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, + 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, + 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x29, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x6e, 0x6e, + 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, + 0x2c, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x82, 0x01, + 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x39, 0x0a, + 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x6e, 0x6e, 0x75, + 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, + 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, + 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, + 0x72, 0x6c, 0x22, 0xe5, 0x01, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, @@ -2584,245 +2593,275 @@ var file_api_reports_reports_proto_rawDesc = []byte{ 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, - 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, - 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x28, - 0x0a, 0x14, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x2b, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, - 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x2a, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, - 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, - 0x67, 0x22, 0x64, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, - 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, - 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, - 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, - 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x95, 0x01, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, - 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, - 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x34, 0x0a, 0x04, 0x49, 0x74, 0x65, - 0x6d, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x22, - 0x63, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, - 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, - 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, - 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, - 0x65, 0x55, 0x72, 0x6c, 0x22, 0x7a, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, - 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x46, 0x69, - 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, - 0x22, 0xa2, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, - 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, - 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, - 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2f, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, - 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xb6, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x51, 0x75, - 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x0a, 0x64, 0x61, 0x74, - 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, - 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, - 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, - 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, - 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, - 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, - 0x99, 0x02, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x3c, 0x0a, - 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x51, 0x75, 0x61, 0x72, - 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, - 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x61, - 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, - 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, - 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2a, 0x0a, 0x16, 0x41, - 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x9d, 0x01, 0x0a, 0x1f, 0x53, 0x6f, 0x72, 0x74, - 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, - 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, + 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, + 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x27, 0x0a, 0x13, 0x41, 0x64, + 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6d, 0x73, 0x67, 0x22, 0x9a, 0x01, 0x0a, 0x1c, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 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, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, + 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, + 0x22, 0x31, 0x0a, 0x1d, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6d, 0x73, 0x67, 0x22, 0xba, 0x01, 0x0a, 0x13, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, + 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 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, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x34, 0x0a, 0x20, 0x53, 0x6f, 0x72, 0x74, 0x41, - 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, - 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, - 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xee, 0x01, - 0x0a, 0x16, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x0a, - 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x51, 0x75, 0x61, 0x72, 0x74, - 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, - 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, - 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, - 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, - 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2b, - 0x0a, 0x17, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x2e, 0x0a, 0x18, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x2d, 0x0a, 0x19, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, + 0x39, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x6e, + 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, + 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, + 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, + 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, + 0x22, 0x28, 0x0a, 0x14, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x99, 0x01, 0x0a, 0x19, 0x44, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x30, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, - 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x57, 0x65, 0x62, - 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, - 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, - 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x2b, 0x0a, 0x15, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x2a, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6d, 0x73, 0x67, 0x22, 0x64, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, + 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, + 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x95, 0x01, 0x0a, 0x17, 0x44, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x37, 0x0a, 0x04, 0x49, - 0x74, 0x65, 0x6d, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, - 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, - 0x49, 0x74, 0x65, 0x6d, 0x22, 0xa6, 0x01, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x34, 0x0a, 0x04, 0x49, + 0x74, 0x65, 0x6d, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, + 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x49, 0x74, 0x65, + 0x6d, 0x22, 0x63, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, + 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1a, 0x0a, 0x08, + 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, + 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x22, 0x7a, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, + 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, + 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, + 0x74, 0x65, 0x22, 0xa2, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, + 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x2e, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2f, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x51, 0x75, + 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xb6, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, - 0x74, 0x65, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, - 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, - 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, - 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, - 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x32, 0xa8, 0x0a, - 0x0a, 0x07, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x13, 0x47, 0x65, 0x74, + 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x0a, 0x64, + 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, + 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, + 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x22, 0x99, 0x02, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, + 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, + 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, + 0x3c, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x51, 0x75, + 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, + 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1e, 0x0a, + 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, + 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, + 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2a, 0x0a, + 0x16, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x9d, 0x01, 0x0a, 0x1f, 0x53, 0x6f, + 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x51, 0x75, 0x61, 0x72, 0x74, + 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, + 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, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, + 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x34, 0x0a, 0x20, 0x53, 0x6f, 0x72, + 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, + 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, + 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, + 0xee, 0x01, 0x0a, 0x16, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, + 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x3c, + 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x51, 0x75, 0x61, + 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x6e, 0x67, + 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, + 0x22, 0x2b, 0x0a, 0x17, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, + 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, + 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x2e, 0x0a, + 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x2d, 0x0a, + 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x99, 0x01, 0x0a, + 0x19, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, + 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, + 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x30, 0x0a, 0x08, 0x66, 0x69, + 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x57, + 0x65, 0x62, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x1a, 0x44, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x37, 0x0a, + 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, + 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, + 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x22, 0xa6, 0x01, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, + 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x32, + 0xa8, 0x0a, 0x0a, 0x07, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x13, 0x47, + 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, - 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, - 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4c, 0x0a, - 0x0f, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x12, 0x1b, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x6e, - 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, - 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, - 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6a, 0x0a, 0x19, 0x53, - 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x6e, 0x6e, 0x75, - 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, + 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, + 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x2e, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, + 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x4c, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x12, 0x1b, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, - 0x26, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, - 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x45, 0x64, 0x69, 0x74, 0x41, - 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x2e, 0x72, 0x65, + 0x1c, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x6e, 0x6e, + 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6a, 0x0a, + 0x19, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x6e, + 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, + 0x71, 0x1a, 0x26, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, + 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x45, 0x64, 0x69, + 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x2e, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, + 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x72, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1e, - 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, - 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, - 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, - 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x58, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, 0x47, 0x65, 0x74, - 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, - 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x73, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x12, 0x1e, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, + 0x1a, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x58, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, + 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, 0x6c, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x6e, 0x6e, 0x75, 0x61, + 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, 0x47, + 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, - 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x55, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, - 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, - 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x73, 0x0a, 0x1c, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, - 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x51, 0x75, - 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, - 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, - 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, - 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x45, + 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, + 0x0a, 0x16, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, + 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x55, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, + 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x2e, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x2e, 0x41, 0x64, 0x64, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x73, 0x0a, 0x1c, 0x53, 0x6f, 0x72, 0x74, + 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, + 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x6f, 0x72, + 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, + 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, + 0x13, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, 0x69, - 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x64, - 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5e, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, - 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x21, - 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x51, - 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, - 0x71, 0x1a, 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, - 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x72, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, + 0x45, 0x64, 0x69, 0x74, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5e, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x12, 0x21, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, + 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x51, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6c, 0x79, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, + 0x3b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( From 85936fc3405f67b622207400b3c232b12426f3d5 Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Wed, 10 Dec 2025 11:21:40 +0800 Subject: [PATCH 31/38] =?UTF-8?q?Updata=EF=BC=9A=E6=9B=B4=E6=96=B0pb?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/members/members.pb.go | 580 +++++++++++++++++++------------------- 1 file changed, 290 insertions(+), 290 deletions(-) diff --git a/api/members/members.pb.go b/api/members/members.pb.go index 6193e69..ab2a1b3 100644 --- a/api/members/members.pb.go +++ b/api/members/members.pb.go @@ -2627,11 +2627,8 @@ type CommitteeAppointmentsLangData struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` //姓名 - AuditCommittee int32 `protobuf:"varint,2,opt,name=auditCommittee,proto3" json:"auditCommittee"` //审计委员会(1:Member 2:Chair) - CompensationCommittee int32 `protobuf:"varint,3,opt,name=compensationCommittee,proto3" json:"compensationCommittee"` //薪酬委员会(1:Member 2:Chair) - NominatingCommittee int32 `protobuf:"varint,4,opt,name=nominatingCommittee,proto3" json:"nominatingCommittee"` //提名委员会(1:Member 2:Chair) - IsSetting int32 `protobuf:"varint,5,opt,name=isSetting,proto3" json:"isSetting"` //是否设置 + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` //姓名 + IsSetting int32 `protobuf:"varint,5,opt,name=isSetting,proto3" json:"isSetting"` //是否设置 } func (x *CommitteeAppointmentsLangData) Reset() { @@ -2673,27 +2670,6 @@ func (x *CommitteeAppointmentsLangData) GetName() string { return "" } -func (x *CommitteeAppointmentsLangData) GetAuditCommittee() int32 { - if x != nil { - return x.AuditCommittee - } - return 0 -} - -func (x *CommitteeAppointmentsLangData) GetCompensationCommittee() int32 { - if x != nil { - return x.CompensationCommittee - } - return 0 -} - -func (x *CommitteeAppointmentsLangData) GetNominatingCommittee() int32 { - if x != nil { - return x.NominatingCommittee - } - return 0 -} - func (x *CommitteeAppointmentsLangData) GetIsSetting() int32 { if x != nil { return x.IsSetting @@ -3439,9 +3415,12 @@ type GetCommitteeAppointmentsInfoResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` - Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid"` - DataByLang []*CommitteeAppointmentsLang `protobuf:"bytes,3,rep,name=dataByLang,proto3" json:"dataByLang"` + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` + Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid"` + AuditCommittee int32 `protobuf:"varint,3,opt,name=auditCommittee,proto3" json:"auditCommittee"` //审计委员会(1:Member 2:Chair) + CompensationCommittee int32 `protobuf:"varint,4,opt,name=compensationCommittee,proto3" json:"compensationCommittee"` //薪酬委员会(1:Member 2:Chair) + NominatingCommittee int32 `protobuf:"varint,5,opt,name=nominatingCommittee,proto3" json:"nominatingCommittee"` //提名委员会(1:Member 2:Chair) + DataByLang []*CommitteeAppointmentsLang `protobuf:"bytes,6,rep,name=dataByLang,proto3" json:"dataByLang"` } func (x *GetCommitteeAppointmentsInfoResp) Reset() { @@ -3490,6 +3469,27 @@ func (x *GetCommitteeAppointmentsInfoResp) GetUuid() string { return "" } +func (x *GetCommitteeAppointmentsInfoResp) GetAuditCommittee() int32 { + if x != nil { + return x.AuditCommittee + } + return 0 +} + +func (x *GetCommitteeAppointmentsInfoResp) GetCompensationCommittee() int32 { + if x != nil { + return x.CompensationCommittee + } + return 0 +} + +func (x *GetCommitteeAppointmentsInfoResp) GetNominatingCommittee() int32 { + if x != nil { + return x.NominatingCommittee + } + return 0 +} + func (x *GetCommitteeAppointmentsInfoResp) GetDataByLang() []*CommitteeAppointmentsLang { if x != nil { return x.DataByLang @@ -3967,284 +3967,284 @@ var file_api_members_members_proto_rawDesc = []byte{ 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe1, 0x01, 0x0a, 0x1d, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, - 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, - 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xed, 0x02, - 0x0a, 0x1b, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, - 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, - 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, - 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, - 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, - 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, - 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, - 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, - 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, - 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, - 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, - 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x30, 0x0a, - 0x1c, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, - 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, - 0xa3, 0x01, 0x0a, 0x25, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 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, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x3a, 0x0a, 0x26, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, - 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, - 0x67, 0x22, 0x8c, 0x03, 0x0a, 0x1c, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, - 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, - 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, - 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, - 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, - 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, - 0x22, 0x31, 0x0a, 0x1d, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, - 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6d, 0x73, 0x67, 0x22, 0x34, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, + 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x51, 0x0a, 0x1d, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x33, 0x0a, 0x1f, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, + 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xed, 0x02, 0x0a, + 0x1b, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, + 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, + 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, + 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, + 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, + 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, + 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, + 0x73, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x30, 0x0a, 0x1c, + 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, - 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x80, - 0x01, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, - 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, - 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, - 0x7a, 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x46, - 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, - 0x65, 0x22, 0xae, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x32, - 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, - 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x22, 0x35, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x8c, 0x01, 0x0a, 0x20, 0x47, 0x65, - 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, + 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xa3, + 0x01, 0x0a, 0x25, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 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, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x49, 0x64, 0x22, 0x3a, 0x0a, 0x26, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, - 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x75, 0x75, 0x69, 0x64, 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, - 0x6e, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, - 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x22, 0x3d, 0x0a, 0x1f, 0x44, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6c, - 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, - 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x61, 0x0a, 0x20, 0x44, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x04, 0x69, - 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0xc6, 0x01, 0x0a, 0x20, 0x44, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, - 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, + 0x22, 0x8c, 0x03, 0x0a, 0x1c, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, + 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, + 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, + 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, + 0x61, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, + 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, + 0x31, 0x0a, 0x1d, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, + 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, + 0x73, 0x67, 0x22, 0x34, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x33, 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, + 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x80, 0x01, + 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x46, 0x69, + 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, + 0x22, 0xae, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, + 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x32, 0x0a, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, + 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x22, 0x35, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, + 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x9c, 0x02, 0x0a, 0x20, 0x47, 0x65, 0x74, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, + 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, + 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, + 0x75, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x74, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, + 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x65, 0x32, 0xc1, 0x10, 0x0a, 0x07, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, - 0x46, 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x12, 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x64, 0x0a, 0x17, 0x53, 0x6f, 0x72, 0x74, 0x41, - 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x6f, 0x72, - 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x49, 0x0a, - 0x0e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x1a, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x2e, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, 0x47, 0x65, 0x74, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, - 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, + 0x74, 0x65, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, + 0x67, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, + 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x22, 0x3d, 0x0a, 0x1f, 0x44, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, + 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, + 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x61, 0x0a, 0x20, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x04, 0x69, 0x74, + 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, + 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0xc6, 0x01, 0x0a, 0x20, 0x44, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, + 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, + 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, + 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, + 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, + 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x32, 0xc1, 0x10, 0x0a, 0x07, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x46, + 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x64, 0x0a, 0x17, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, + 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, + 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x49, 0x0a, 0x0e, + 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, + 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x2e, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, - 0x11, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x71, 0x1a, 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x52, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, + 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, + 0x1a, 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x52, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x61, 0x72, - 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1f, 0x2e, 0x6d, + 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x61, 0x72, 0x64, + 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1f, 0x2e, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, + 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, - 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x61, 0x72, 0x64, - 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x76, 0x0a, 0x1d, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, - 0x12, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, - 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x2a, 0x2e, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5b, 0x0a, 0x14, 0x45, 0x64, 0x69, 0x74, 0x42, + 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x76, + 0x0a, 0x1d, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, - 0x20, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, - 0x71, 0x1a, 0x21, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, - 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x22, - 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, + 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, + 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x2a, 0x2e, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5b, 0x0a, 0x14, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x20, + 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, + 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, + 0x1a, 0x21, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, - 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x64, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, - 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x61, + 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x22, 0x2e, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x1a, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x64, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, + 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x64, 0x0a, 0x17, + 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x64, 0x0a, - 0x17, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, - 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x64, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x23, - 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, - 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x67, 0x0a, 0x18, 0x41, 0x64, 0x64, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, - 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x85, 0x01, 0x0a, 0x22, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x2f, 0x2e, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6a, 0x0a, 0x19, 0x45, 0x64, - 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, - 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x26, - 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x70, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x27, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, - 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x28, - 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, + 0x63, 0x74, 0x6f, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, + 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x64, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, + 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x23, 0x2e, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, + 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x67, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x73, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, - 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, + 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, + 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x85, 0x01, 0x0a, 0x22, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x73, 0x0a, - 0x1c, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x2e, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x73, 0x0a, 0x1c, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x12, 0x28, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x2f, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6a, 0x0a, 0x19, 0x45, 0x64, 0x69, + 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x70, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x27, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x28, 0x2e, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x73, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x1a, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x73, 0x0a, 0x1c, + 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x2e, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x73, 0x0a, 0x1c, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x28, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( From 2900dddc2fef8fa813487b2bff948e6aa784c622 Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Thu, 11 Dec 2025 10:28:51 +0800 Subject: [PATCH 32/38] =?UTF-8?q?Updata=EF=BC=9A=E6=9B=B4=E6=96=B0pb?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/members/members.pb.go | 1113 +++++++++++++++++++------------------ 1 file changed, 566 insertions(+), 547 deletions(-) diff --git a/api/members/members.pb.go b/api/members/members.pb.go index ab2a1b3..8d60803 100644 --- a/api/members/members.pb.go +++ b/api/members/members.pb.go @@ -128,11 +128,10 @@ type ManagementLangData struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //姓名 - Image string `protobuf:"bytes,3,opt,name=image,proto3" json:"image"` //头像 - Brief string `protobuf:"bytes,4,opt,name=brief,proto3" json:"brief"` //简介 - Introduction string `protobuf:"bytes,5,opt,name=introduction,proto3" json:"introduction"` //详细介绍 - IsSetting int32 `protobuf:"varint,6,opt,name=isSetting,proto3" json:"isSetting"` //是否设置 + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` //姓名 + Brief string `protobuf:"bytes,2,opt,name=brief,proto3" json:"brief"` //简介 + Introduction string `protobuf:"bytes,3,opt,name=introduction,proto3" json:"introduction"` //详细介绍 + IsSetting int32 `protobuf:"varint,4,opt,name=isSetting,proto3" json:"isSetting"` //是否设置 } func (x *ManagementLangData) Reset() { @@ -174,13 +173,6 @@ func (x *ManagementLangData) GetName() string { return "" } -func (x *ManagementLangData) GetImage() string { - if x != nil { - return x.Image - } - return "" -} - func (x *ManagementLangData) GetBrief() string { if x != nil { return x.Brief @@ -390,11 +382,12 @@ type AddManagementReq struct { unknownFields protoimpl.UnknownFields Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` - DataByLang []*ManagementLang `protobuf:"bytes,2,rep,name=dataByLang,proto3" json:"dataByLang"` - Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status"` - Sort int32 `protobuf:"varint,4,opt,name=sort,proto3" json:"sort"` - Operator string `protobuf:"bytes,5,opt,name=operator,proto3" json:"operator"` - OperatorId int32 `protobuf:"varint,6,opt,name=operatorId,proto3" json:"operatorId"` + Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image"` + DataByLang []*ManagementLang `protobuf:"bytes,3,rep,name=dataByLang,proto3" json:"dataByLang"` + Status int32 `protobuf:"varint,4,opt,name=status,proto3" json:"status"` + Sort int32 `protobuf:"varint,5,opt,name=sort,proto3" json:"sort"` + Operator string `protobuf:"bytes,6,opt,name=operator,proto3" json:"operator"` + OperatorId int32 `protobuf:"varint,7,opt,name=operatorId,proto3" json:"operatorId"` } func (x *AddManagementReq) Reset() { @@ -436,6 +429,13 @@ func (x *AddManagementReq) GetUuid() string { return "" } +func (x *AddManagementReq) GetImage() string { + if x != nil { + return x.Image + } + return "" +} + func (x *AddManagementReq) GetDataByLang() []*ManagementLang { if x != nil { return x.DataByLang @@ -650,11 +650,12 @@ type EditManagementReq struct { unknownFields protoimpl.UnknownFields Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` - DataByLang []*ManagementLang `protobuf:"bytes,2,rep,name=dataByLang,proto3" json:"dataByLang"` - Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status"` - Sort int32 `protobuf:"varint,4,opt,name=sort,proto3" json:"sort"` - Operator string `protobuf:"bytes,5,opt,name=operator,proto3" json:"operator"` - OperatorId int32 `protobuf:"varint,6,opt,name=operatorId,proto3" json:"operatorId"` + Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image"` + DataByLang []*ManagementLang `protobuf:"bytes,3,rep,name=dataByLang,proto3" json:"dataByLang"` + Status int32 `protobuf:"varint,4,opt,name=status,proto3" json:"status"` + Sort int32 `protobuf:"varint,5,opt,name=sort,proto3" json:"sort"` + Operator string `protobuf:"bytes,6,opt,name=operator,proto3" json:"operator"` + OperatorId int32 `protobuf:"varint,7,opt,name=operatorId,proto3" json:"operatorId"` } func (x *EditManagementReq) Reset() { @@ -696,6 +697,13 @@ func (x *EditManagementReq) GetUuid() string { return "" } +func (x *EditManagementReq) GetImage() string { + if x != nil { + return x.Image + } + return "" +} + func (x *EditManagementReq) GetDataByLang() []*ManagementLang { if x != nil { return x.DataByLang @@ -1068,7 +1076,8 @@ type GetManagementInfoResp struct { Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid"` - DataByLang []*ManagementLang `protobuf:"bytes,3,rep,name=dataByLang,proto3" json:"dataByLang"` + Image string `protobuf:"bytes,3,opt,name=image,proto3" json:"image"` + DataByLang []*ManagementLang `protobuf:"bytes,4,rep,name=dataByLang,proto3" json:"dataByLang"` } func (x *GetManagementInfoResp) Reset() { @@ -1117,6 +1126,13 @@ func (x *GetManagementInfoResp) GetUuid() string { return "" } +func (x *GetManagementInfoResp) GetImage() string { + if x != nil { + return x.Image + } + return "" +} + func (x *GetManagementInfoResp) GetDataByLang() []*ManagementLang { if x != nil { return x.DataByLang @@ -3673,55 +3689,55 @@ var file_api_members_members_proto_rawDesc = []byte{ 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x96, 0x01, + 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x80, 0x01, 0x0a, 0x12, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x6e, 0x67, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, - 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x5d, 0x0a, 0x0e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x2f, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x52, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc2, 0x02, 0x0a, 0x0a, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x0b, - 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x4c, 0x61, 0x6e, 0x67, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, - 0x73, 0x6f, 0x72, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, - 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, - 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0xc7, 0x01, 0x0a, 0x10, 0x41, - 0x64, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, - 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, - 0x75, 0x69, 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, - 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, + 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, + 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x22, 0x5d, 0x0a, 0x0e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x61, + 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2f, + 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, + 0xc2, 0x02, 0x0a, 0x0a, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, + 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, + 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x52, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x49, 0x64, 0x22, 0xdd, 0x01, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, + 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, + 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x25, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x98, 0x01, 0x0a, 0x1a, @@ -3737,345 +3753,212 @@ var file_api_members_members_proto_rawDesc = []byte{ 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2f, 0x0a, 0x1b, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xc8, 0x01, 0x0a, 0x11, 0x45, 0x64, 0x69, 0x74, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xde, 0x01, 0x0a, 0x11, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, - 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, - 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x49, 0x64, 0x22, 0x26, 0x0a, 0x12, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x29, 0x0a, 0x13, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x28, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, - 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, - 0x75, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, - 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, - 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, - 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x52, 0x08, 0x66, 0x69, - 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x22, 0x98, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, - 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, - 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, - 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x27, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x22, 0x2a, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x76, 0x0a, - 0x15, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x37, 0x0a, 0x0a, - 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, - 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x22, 0x32, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, - 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x4b, 0x0a, 0x15, 0x44, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x32, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, - 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x7b, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, - 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, - 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x69, 0x0a, 0x14, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6c, - 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, - 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, - 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, - 0x4c, 0x61, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x86, - 0x01, 0x0a, 0x18, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xb2, 0x02, 0x0a, 0x10, 0x42, 0x6f, 0x61, 0x72, - 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, - 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, - 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, - 0x0a, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x4c, 0x61, - 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, - 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, - 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0xd3, 0x01, 0x0a, - 0x16, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x3d, 0x0a, 0x0a, 0x64, - 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, - 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, - 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x49, 0x64, 0x22, 0x2b, 0x0a, 0x17, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, - 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, - 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, - 0x9e, 0x01, 0x0a, 0x20, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 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, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, - 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, - 0x22, 0x35, 0x0a, 0x21, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xf2, 0x01, 0x0a, 0x17, 0x45, 0x64, 0x69, 0x74, - 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, - 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x3d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, - 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, - 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, - 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, - 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x18, - 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x2f, 0x0a, 0x19, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x2e, 0x0a, 0x1a, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x7b, 0x0a, 0x1a, 0x47, - 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x66, 0x69, 0x6c, - 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x52, 0x08, - 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, - 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, - 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x12, 0x2d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, - 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, - 0x30, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, - 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, - 0x64, 0x22, 0x82, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, - 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x3d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, - 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, - 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x22, 0x38, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x73, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, - 0x22, 0x56, 0x0a, 0x1b, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, - 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x37, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, - 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x74, - 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x6a, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, - 0x69, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, - 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8d, 0x03, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x12, - 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, - 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, - 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, - 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, - 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x52, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x6f, 0x72, 0x49, 0x64, 0x22, 0x73, 0x0a, 0x19, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, - 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, - 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, - 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x51, 0x0a, 0x1d, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xed, 0x02, 0x0a, - 0x1b, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, - 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, - 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, - 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, - 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, - 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, - 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, - 0x73, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x30, 0x0a, 0x1c, - 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, - 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xa3, - 0x01, 0x0a, 0x25, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 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, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x6f, 0x72, 0x49, 0x64, 0x22, 0x3a, 0x0a, 0x26, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, + 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, + 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x26, 0x0a, 0x12, 0x45, 0x64, 0x69, 0x74, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, - 0x22, 0x8c, 0x03, 0x0a, 0x1c, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, - 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, - 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, - 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, - 0x61, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, - 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, - 0x31, 0x0a, 0x1d, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, - 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, - 0x73, 0x67, 0x22, 0x34, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x22, 0x29, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x28, 0x0a, 0x14, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x75, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, + 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, 0x0a, + 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x11, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, + 0x74, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x22, 0x98, 0x01, 0x0a, + 0x15, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x27, + 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2a, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, + 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, + 0x75, 0x69, 0x64, 0x22, 0x8c, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, + 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, + 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, + 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x64, 0x61, 0x74, + 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, + 0x6e, 0x67, 0x22, 0x32, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, + 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, + 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x4b, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x32, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, + 0x74, 0x65, 0x6d, 0x22, 0x7b, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, + 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x69, 0x0a, 0x14, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, + 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x42, 0x6f, 0x61, + 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x4c, 0x61, 0x6e, + 0x67, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x86, 0x01, 0x0a, 0x18, + 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, + 0x4c, 0x61, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, + 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x22, 0xb2, 0x02, 0x0a, 0x10, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, + 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, + 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x0b, 0x6c, + 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, + 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, + 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, + 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0xd3, 0x01, 0x0a, 0x16, 0x41, 0x64, + 0x64, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x33, 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, - 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x80, 0x01, - 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x46, 0x69, - 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, - 0x22, 0xae, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, - 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, + 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x3d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, + 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, + 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, + 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, + 0x2b, 0x0a, 0x17, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x9e, 0x01, 0x0a, + 0x20, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x75, 0x75, 0x69, 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, 0x12, 0x0a, + 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, + 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x35, 0x0a, + 0x21, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6d, 0x73, 0x67, 0x22, 0xf2, 0x01, 0x0a, 0x17, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, + 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, + 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x75, 0x75, 0x69, 0x64, 0x12, 0x3d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, + 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, + 0x61, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, + 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, + 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, + 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x18, 0x45, 0x64, 0x69, + 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x2f, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x2e, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x7b, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, + 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, + 0x74, 0x72, 0x61, 0x74, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, + 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x32, 0x0a, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, - 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x22, 0x35, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, - 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x9c, 0x02, 0x0a, 0x20, 0x47, 0x65, 0x74, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, - 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, - 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, - 0x75, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x2d, 0x0a, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x30, 0x0a, 0x1a, + 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x82, + 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, + 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, + 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x75, 0x75, 0x69, 0x64, 0x12, 0x3d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, + 0x6e, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, + 0x61, 0x6e, 0x67, 0x22, 0x38, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x56, 0x0a, + 0x1b, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x37, 0x0a, 0x04, + 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, 0x72, + 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, + 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x6a, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x49, + 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, + 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x8d, 0x03, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, + 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, + 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, @@ -4084,25 +3967,75 @@ var file_api_members_members_proto_rawDesc = []byte{ 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, - 0x67, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, - 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x22, 0x3d, 0x0a, 0x1f, 0x44, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, - 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, - 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x61, 0x0a, 0x20, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x04, 0x69, 0x74, - 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, - 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0xc6, 0x01, 0x0a, 0x20, 0x44, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x65, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0b, + 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, + 0x64, 0x22, 0x73, 0x0a, 0x19, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1a, + 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x51, 0x0a, 0x1d, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, + 0x61, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, + 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, + 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xed, 0x02, 0x0a, 0x1b, 0x41, 0x64, + 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x26, 0x0a, + 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, + 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x42, 0x0a, + 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, + 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, + 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x30, 0x0a, 0x1c, 0x41, 0x64, 0x64, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xa3, 0x01, 0x0a, 0x25, + 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 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, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, + 0x64, 0x22, 0x3a, 0x0a, 0x26, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, + 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x8c, 0x03, + 0x0a, 0x1c, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, + 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, + 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, + 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, @@ -4111,140 +4044,226 @@ var file_api_members_members_proto_rawDesc = []byte{ 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x32, 0xc1, 0x10, 0x0a, 0x07, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x46, - 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x64, 0x0a, 0x17, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, - 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, - 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x49, 0x0a, 0x0e, - 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, - 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x2e, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x2e, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, - 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, - 0x1a, 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x52, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, - 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x61, 0x72, 0x64, - 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1f, 0x2e, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, - 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, - 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x76, - 0x0a, 0x1d, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, - 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, - 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, - 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x2a, 0x2e, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5b, 0x0a, 0x14, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x20, - 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, - 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, - 0x1a, 0x21, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, - 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x61, - 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x22, 0x2e, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, - 0x71, 0x1a, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x64, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, - 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x42, - 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x64, 0x0a, 0x17, - 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, - 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x64, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, - 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x23, 0x2e, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, - 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, - 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x67, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x43, + 0x65, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, + 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, + 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x1d, + 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, + 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, + 0x34, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x33, 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x12, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, - 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, - 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x85, 0x01, 0x0a, 0x22, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x2f, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6a, 0x0a, 0x19, 0x45, 0x64, 0x69, - 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x70, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x12, 0x27, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x28, 0x2e, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x73, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x80, 0x01, 0x0a, 0x1f, 0x47, + 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, + 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, + 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, + 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x11, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x72, + 0x61, 0x74, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x22, 0xae, 0x01, + 0x0a, 0x20, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x1a, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x73, 0x0a, 0x1c, - 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x2e, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x73, 0x0a, 0x1c, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x12, 0x28, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, + 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, + 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, + 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x32, 0x0a, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x35, + 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x9c, 0x02, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, + 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, + 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, + 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, + 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, + 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, + 0x4c, 0x61, 0x6e, 0x67, 0x22, 0x3d, 0x0a, 0x1f, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, + 0x79, 0x70, 0x65, 0x22, 0x61, 0x0a, 0x20, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, + 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, + 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x74, 0x65, 0x6d, + 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0xc6, 0x01, 0x0a, 0x20, 0x44, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, + 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, + 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x32, + 0xc1, 0x10, 0x0a, 0x07, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x46, 0x0a, 0x0d, 0x41, + 0x64, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x2e, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x64, 0x0a, 0x17, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x23, + 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x6f, + 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x49, 0x0a, 0x0e, 0x45, 0x64, 0x69, + 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, 0x47, 0x65, 0x74, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, + 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, + 0x11, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x1a, 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x58, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1f, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x76, 0x0a, 0x1d, 0x53, + 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x6f, 0x61, 0x72, + 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x29, 0x2e, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x2a, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x5b, 0x0a, 0x14, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, + 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x20, 0x2e, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, + 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, + 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x61, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, + 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x22, 0x2e, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x61, 0x72, 0x64, + 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x23, + 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x64, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, + 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23, + 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, + 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, + 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x64, 0x0a, 0x17, 0x47, 0x65, 0x74, + 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, + 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x64, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, + 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x61, 0x72, + 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, + 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x67, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x85, + 0x01, 0x0a, 0x22, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, + 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x2f, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, + 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6a, 0x0a, 0x19, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, + 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x70, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x27, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x28, 0x2e, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x73, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, + 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x29, + 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x73, 0x0a, 0x1c, 0x47, 0x65, 0x74, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x2e, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, + 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, + 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x73, + 0x0a, 0x1c, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x28, + 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( From 582522a1464ed3d3812d100da2ece98b000e761b Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Thu, 11 Dec 2025 13:58:03 +0800 Subject: [PATCH 33/38] =?UTF-8?q?Updata=EF=BC=9A=E6=9B=B4=E6=96=B0pb?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/pressreleases/press_releases.pb.go | 10 +++++----- pkg/service/pressreleases/pressreleases.go | 6 ++++++ 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/api/pressreleases/press_releases.pb.go b/api/pressreleases/press_releases.pb.go index 636fa82..c6fef6c 100644 --- a/api/pressreleases/press_releases.pb.go +++ b/api/pressreleases/press_releases.pb.go @@ -1335,8 +1335,8 @@ type GetReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid - LangType int32 `protobuf:"varint,2,opt,name=langType,proto3" json:"langType"` //语言类型 + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid + LangType string `protobuf:"bytes,2,opt,name=langType,proto3" json:"langType"` //语言类型 } func (x *GetReq) Reset() { @@ -1378,11 +1378,11 @@ func (x *GetReq) GetUuid() string { return "" } -func (x *GetReq) GetLangType() int32 { +func (x *GetReq) GetLangType() string { if x != nil { return x.LangType } - return 0 + return "" } type GetResp struct { @@ -1594,7 +1594,7 @@ var file_api_pressreleases_press_releases_proto_rawDesc = []byte{ 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x38, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, - 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, + 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x39, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, diff --git a/pkg/service/pressreleases/pressreleases.go b/pkg/service/pressreleases/pressreleases.go index ed300fd..8b33a80 100644 --- a/pkg/service/pressreleases/pressreleases.go +++ b/pkg/service/pressreleases/pressreleases.go @@ -121,7 +121,13 @@ func Get(ctx *gin.Context) { service.Error(ctx, errors.New("uuid 参数不能为空")) return } + langType := ctx.Query("langType") + if langType == "" { + service.Error(ctx, errors.New("langType 参数不能为空")) + return + } req.Uuid = uuid + req.LangType = langType resp, err := service.PressReleasesProvider.Get(ctx, &req) if err != nil { service.Error(ctx, err) From 53513764c876b594aed1e67d3cdb1a31a1e87620 Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Thu, 11 Dec 2025 19:12:15 +0800 Subject: [PATCH 34/38] =?UTF-8?q?Updata=EF=BC=9A=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=96=B0=E9=97=BB=E7=A8=BFpb=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/pressreleases/press_releases.pb.go | 281 +++++++++++++------------ 1 file changed, 145 insertions(+), 136 deletions(-) diff --git a/api/pressreleases/press_releases.pb.go b/api/pressreleases/press_releases.pb.go index c6fef6c..4fd9f39 100644 --- a/api/pressreleases/press_releases.pb.go +++ b/api/pressreleases/press_releases.pb.go @@ -309,6 +309,7 @@ type DisplayItem struct { AttachmentName string `protobuf:"bytes,5,opt,name=attachmentName,proto3" json:"attachmentName"` //附件文件名 Summary string `protobuf:"bytes,6,opt,name=summary,proto3" json:"summary"` //新闻描述 Content string `protobuf:"bytes,7,opt,name=content,proto3" json:"content"` //新闻内容 + Display int32 `protobuf:"varint,8,opt,name=display,proto3" json:"display"` //展示(1:不展示,2:展示) } func (x *DisplayItem) Reset() { @@ -392,6 +393,13 @@ func (x *DisplayItem) GetContent() string { return "" } +func (x *DisplayItem) GetDisplay() int32 { + if x != nil { + return x.Display + } + return 0 +} + type ListReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1477,7 +1485,7 @@ var file_api_pressreleases_press_releases_proto_rawDesc = []byte{ 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0xc7, 0x01, 0x0a, 0x0b, 0x44, 0x69, 0x73, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0xe1, 0x01, 0x0a, 0x0b, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, @@ -1490,68 +1498,86 @@ var file_api_pressreleases_press_releases_proto_rawDesc = []byte{ 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x22, 0xb9, 0x01, 0x0a, 0x07, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x14, - 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, - 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x12, - 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, - 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x56, - 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x12, 0x34, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x50, - 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa8, 0x01, 0x0a, 0x10, 0x53, 0x6f, 0x72, 0x74, 0x41, - 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, - 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 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, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, - 0x64, 0x22, 0x25, 0x0a, 0x11, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x1d, 0x0a, 0x07, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xa8, 0x01, 0x0a, 0x08, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x40, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, - 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x50, 0x72, 0x65, - 0x73, 0x73, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, - 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, - 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, - 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x22, 0xc0, 0x01, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, - 0x71, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, - 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, - 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x12, - 0x18, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, - 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, - 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x53, 0x0a, 0x0b, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x22, 0xb9, 0x01, 0x0a, + 0x07, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, + 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, + 0x0a, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x56, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe3, 0x01, 0x0a, 0x07, 0x45, - 0x64, 0x69, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, + 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x34, 0x0a, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x22, 0xa8, 0x01, 0x0a, 0x10, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 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, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, + 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x25, 0x0a, 0x11, 0x53, + 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, + 0x73, 0x67, 0x22, 0x1d, 0x0a, 0x07, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x22, 0xa8, 0x01, 0x0a, 0x08, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, + 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, + 0x69, 0x64, 0x12, 0x40, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, + 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, + 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xc0, 0x01, 0x0a, + 0x0a, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, + 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, + 0x53, 0x0a, 0x0b, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, + 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x22, 0xe3, 0x01, 0x0a, 0x07, 0x45, 0x64, 0x69, 0x74, 0x52, 0x65, 0x71, + 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x75, 0x75, 0x69, 0x64, 0x12, 0x40, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, + 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, + 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, + 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x1c, 0x0a, 0x08, 0x45, 0x64, + 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xab, 0x02, 0x0a, 0x09, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x40, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x50, @@ -1561,80 +1587,63 @@ var file_api_pressreleases_press_releases_proto_rawDesc = []byte{ 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, - 0x22, 0x1c, 0x0a, 0x08, 0x45, 0x64, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, - 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xab, - 0x02, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, - 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, - 0x12, 0x40, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, - 0x61, 0x73, 0x65, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, - 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, - 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, - 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x1e, 0x0a, 0x0a, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, - 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x1f, 0x0a, 0x09, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x1e, 0x0a, - 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, - 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x38, 0x0a, - 0x06, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, - 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, - 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x39, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, - 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x32, 0x94, 0x04, 0x0a, 0x0d, 0x50, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x6c, 0x65, - 0x61, 0x73, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, - 0x61, 0x73, 0x65, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, - 0x54, 0x0a, 0x0d, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x1f, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, - 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x71, 0x1a, 0x20, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, - 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, - 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, - 0x12, 0x42, 0x0a, 0x07, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x19, 0x2e, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, - 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x04, 0x45, 0x64, 0x69, 0x74, 0x12, 0x16, 0x2e, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x45, 0x64, 0x69, - 0x74, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, - 0x61, 0x73, 0x65, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, - 0x3f, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, - 0x73, 0x65, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, - 0x12, 0x3f, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, - 0x61, 0x73, 0x65, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, - 0x00, 0x12, 0x36, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x15, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, - 0x16, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, - 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x42, 0x12, 0x5a, 0x10, 0x2e, 0x2f, 0x3b, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x1f, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x1e, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x38, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x52, 0x65, + 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, + 0x65, 0x22, 0x39, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x32, 0x94, 0x04, 0x0a, + 0x0d, 0x50, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x12, 0x39, + 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x17, + 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0d, 0x53, 0x6f, 0x72, + 0x74, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x41, + 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x53, 0x6f, 0x72, 0x74, + 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, + 0x39, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, + 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, + 0x17, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x07, 0x44, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x19, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x71, + 0x1a, 0x1a, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, + 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x39, + 0x0a, 0x04, 0x45, 0x64, 0x69, 0x74, 0x12, 0x16, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x17, + 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x45, + 0x64, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x06, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, + 0x73, 0x65, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x06, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x19, + 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x36, 0x0a, 0x03, 0x47, + 0x65, 0x74, 0x12, 0x15, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x22, 0x00, 0x42, 0x12, 0x5a, 0x10, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x65, 0x73, 0x73, 0x72, + 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( From 560617806d71ce32c69106f56785efc0256c4ef4 Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Fri, 12 Dec 2025 13:35:14 +0800 Subject: [PATCH 35/38] =?UTF-8?q?Updata=EF=BC=9A=E8=A7=A3=E5=86=B3?= =?UTF-8?q?=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/test/conf.ini | 4 ++-- docs/test/dubbogo.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/test/conf.ini b/docs/test/conf.ini index b9b0e26..44f24b9 100644 --- a/docs/test/conf.ini +++ b/docs/test/conf.ini @@ -24,8 +24,8 @@ CdnHost = "OSS_CDN" [redis] RedisDB = "2" -RedisAddr = "172.16.100.114:6379" -RedisPW = "kP6tW4tS3qB2dW4aE6uI5cX2" +RedisAddr = "127.0.0.1:6379" +RedisPW = "123456" RedisDBNAme = "2" [ai] diff --git a/docs/test/dubbogo.yaml b/docs/test/dubbogo.yaml index 503d30a..95bcd4b 100644 --- a/docs/test/dubbogo.yaml +++ b/docs/test/dubbogo.yaml @@ -4,7 +4,7 @@ dubbo: protocol: zookeeper timeout: 3s # address: 121.229.45.214:9004 - address: 172.16.100.93:2181 + address: 127.0.0.1:2181 # address: 127.0.0.1:2181 # address: 114.218.158.24:2181 consumer: From a81a85998bd4014c82bfd7bfcabafa4baac4c752 Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Tue, 6 Jan 2026 16:23:07 +0800 Subject: [PATCH 36/38] =?UTF-8?q?Updata=EF=BC=9A=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E5=85=AC=E5=8F=B8=E6=B2=BB=E7=90=86=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/governance/governance.pb.go | 1227 ++++++++++++++++----- api/governance/governance.proto | 95 +- api/governance/governance.validator.pb.go | 67 +- api/governance/governance_triple.pb.go | 108 +- pkg/router/router.go | 2 + pkg/service/governance/governance.go | 31 + 6 files changed, 1240 insertions(+), 290 deletions(-) diff --git a/api/governance/governance.pb.go b/api/governance/governance.pb.go index ec05caa..cc99d86 100644 --- a/api/governance/governance.pb.go +++ b/api/governance/governance.pb.go @@ -1,8 +1,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.29.1 -// protoc v3.20.3 -// source: governance.proto +// protoc-gen-go v1.31.0 +// protoc v5.26.0 +// source: api/governance/governance.proto package governance @@ -20,26 +20,279 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +type LangSetting struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LangType string `protobuf:"bytes,1,opt,name=langType,proto3" json:"langType"` //语言类型 + IsSetting int32 `protobuf:"varint,2,opt,name=isSetting,proto3" json:"isSetting"` //是否设置 +} + +func (x *LangSetting) Reset() { + *x = LangSetting{} + if protoimpl.UnsafeEnabled { + mi := &file_api_governance_governance_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LangSetting) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LangSetting) ProtoMessage() {} + +func (x *LangSetting) ProtoReflect() protoreflect.Message { + mi := &file_api_governance_governance_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 LangSetting.ProtoReflect.Descriptor instead. +func (*LangSetting) Descriptor() ([]byte, []int) { + return file_api_governance_governance_proto_rawDescGZIP(), []int{0} +} + +func (x *LangSetting) GetLangType() string { + if x != nil { + return x.LangType + } + return "" +} + +func (x *LangSetting) GetIsSetting() int32 { + if x != nil { + return x.IsSetting + } + return 0 +} + +type GovernanceLangData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title"` //标题 + Attachment string `protobuf:"bytes,2,opt,name=attachment,proto3" json:"attachment"` //附件 + AttachmentName string `protobuf:"bytes,3,opt,name=attachmentName,proto3" json:"attachmentName"` //附件名称 + IsSetting int32 `protobuf:"varint,4,opt,name=isSetting,proto3" json:"isSetting"` //是否设置 +} + +func (x *GovernanceLangData) Reset() { + *x = GovernanceLangData{} + if protoimpl.UnsafeEnabled { + mi := &file_api_governance_governance_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GovernanceLangData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GovernanceLangData) ProtoMessage() {} + +func (x *GovernanceLangData) ProtoReflect() protoreflect.Message { + mi := &file_api_governance_governance_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GovernanceLangData.ProtoReflect.Descriptor instead. +func (*GovernanceLangData) Descriptor() ([]byte, []int) { + return file_api_governance_governance_proto_rawDescGZIP(), []int{1} +} + +func (x *GovernanceLangData) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *GovernanceLangData) GetAttachment() string { + if x != nil { + return x.Attachment + } + return "" +} + +func (x *GovernanceLangData) GetAttachmentName() string { + if x != nil { + return x.AttachmentName + } + return "" +} + +func (x *GovernanceLangData) GetIsSetting() int32 { + if x != nil { + return x.IsSetting + } + return 0 +} + +type GovernanceLang struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LangType string `protobuf:"bytes,1,opt,name=langType,proto3" json:"langType"` //语言类型 + Data *GovernanceLangData `protobuf:"bytes,2,opt,name=data,proto3" json:"data"` //语言数据 +} + +func (x *GovernanceLang) Reset() { + *x = GovernanceLang{} + if protoimpl.UnsafeEnabled { + mi := &file_api_governance_governance_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GovernanceLang) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GovernanceLang) ProtoMessage() {} + +func (x *GovernanceLang) ProtoReflect() protoreflect.Message { + mi := &file_api_governance_governance_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 GovernanceLang.ProtoReflect.Descriptor instead. +func (*GovernanceLang) Descriptor() ([]byte, []int) { + return file_api_governance_governance_proto_rawDescGZIP(), []int{2} +} + +func (x *GovernanceLang) GetLangType() string { + if x != nil { + return x.LangType + } + return "" +} + +func (x *GovernanceLang) GetData() *GovernanceLangData { + if x != nil { + return x.Data + } + return nil +} + +type GovernanceInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + DataByLang []*GovernanceLang `protobuf:"bytes,2,rep,name=dataByLang,proto3" json:"dataByLang"` //语言数据 + Sort int32 `protobuf:"varint,3,opt,name=sort,proto3" json:"sort"` //排序 + Status int32 `protobuf:"varint,4,opt,name=status,proto3" json:"status"` //状态 +} + +func (x *GovernanceInfo) Reset() { + *x = GovernanceInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_api_governance_governance_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GovernanceInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GovernanceInfo) ProtoMessage() {} + +func (x *GovernanceInfo) ProtoReflect() protoreflect.Message { + mi := &file_api_governance_governance_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 GovernanceInfo.ProtoReflect.Descriptor instead. +func (*GovernanceInfo) Descriptor() ([]byte, []int) { + return file_api_governance_governance_proto_rawDescGZIP(), []int{3} +} + +func (x *GovernanceInfo) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *GovernanceInfo) GetDataByLang() []*GovernanceLang { + if x != nil { + return x.DataByLang + } + return nil +} + +func (x *GovernanceInfo) GetSort() int32 { + if x != nil { + return x.Sort + } + return 0 +} + +func (x *GovernanceInfo) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + type Item struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` - Attachment string `protobuf:"bytes,3,opt,name=attachment,proto3" json:"attachment,omitempty"` - AttachmentName string `protobuf:"bytes,4,opt,name=attachmentName,proto3" json:"attachmentName,omitempty"` - Sort int32 `protobuf:"varint,5,opt,name=sort,proto3" json:"sort,omitempty"` - Status int32 `protobuf:"varint,6,opt,name=status,proto3" json:"status,omitempty"` - UpdatedAt int64 `protobuf:"varint,7,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` - Operator string `protobuf:"bytes,8,opt,name=operator,proto3" json:"operator,omitempty"` - OperatorId int32 `protobuf:"varint,9,opt,name=operatorId,proto3" json:"operatorId,omitempty"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` + Attachment string `protobuf:"bytes,3,opt,name=attachment,proto3" json:"attachment"` + AttachmentName string `protobuf:"bytes,4,opt,name=attachmentName,proto3" json:"attachmentName"` + LangSetting []*LangSetting `protobuf:"bytes,5,rep,name=langSetting,proto3" json:"langSetting"` //语言设置 + Sort int32 `protobuf:"varint,6,opt,name=sort,proto3" json:"sort"` + Status int32 `protobuf:"varint,7,opt,name=status,proto3" json:"status"` + UpdatedAt int64 `protobuf:"varint,8,opt,name=updatedAt,proto3" json:"updatedAt"` + Operator string `protobuf:"bytes,9,opt,name=operator,proto3" json:"operator"` + OperatorId int32 `protobuf:"varint,10,opt,name=operatorId,proto3" json:"operatorId"` } func (x *Item) Reset() { *x = Item{} if protoimpl.UnsafeEnabled { - mi := &file_governance_proto_msgTypes[0] + mi := &file_api_governance_governance_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -52,7 +305,7 @@ func (x *Item) String() string { func (*Item) ProtoMessage() {} func (x *Item) ProtoReflect() protoreflect.Message { - mi := &file_governance_proto_msgTypes[0] + mi := &file_api_governance_governance_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -65,14 +318,14 @@ func (x *Item) ProtoReflect() protoreflect.Message { // Deprecated: Use Item.ProtoReflect.Descriptor instead. func (*Item) Descriptor() ([]byte, []int) { - return file_governance_proto_rawDescGZIP(), []int{0} + return file_api_governance_governance_proto_rawDescGZIP(), []int{4} } -func (x *Item) GetId() int32 { +func (x *Item) GetUuid() string { if x != nil { - return x.Id + return x.Uuid } - return 0 + return "" } func (x *Item) GetTitle() string { @@ -96,6 +349,13 @@ func (x *Item) GetAttachmentName() string { return "" } +func (x *Item) GetLangSetting() []*LangSetting { + if x != nil { + return x.LangSetting + } + return nil +} + func (x *Item) GetSort() int32 { if x != nil { return x.Sort @@ -131,21 +391,84 @@ func (x *Item) GetOperatorId() int32 { return 0 } +type DisplayItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title"` + Attachment string `protobuf:"bytes,2,opt,name=attachment,proto3" json:"attachment"` + AttachmentName string `protobuf:"bytes,3,opt,name=attachmentName,proto3" json:"attachmentName"` +} + +func (x *DisplayItem) Reset() { + *x = DisplayItem{} + if protoimpl.UnsafeEnabled { + mi := &file_api_governance_governance_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisplayItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisplayItem) ProtoMessage() {} + +func (x *DisplayItem) ProtoReflect() protoreflect.Message { + mi := &file_api_governance_governance_proto_msgTypes[5] + 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 DisplayItem.ProtoReflect.Descriptor instead. +func (*DisplayItem) Descriptor() ([]byte, []int) { + return file_api_governance_governance_proto_rawDescGZIP(), []int{5} +} + +func (x *DisplayItem) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *DisplayItem) GetAttachment() string { + if x != nil { + return x.Attachment + } + return "" +} + +func (x *DisplayItem) GetAttachmentName() string { + if x != nil { + return x.AttachmentName + } + return "" +} + type ListReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` - Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` // 1 下架 2 上架 - Page int32 `protobuf:"varint,3,opt,name=page,proto3" json:"page,omitempty"` - PageSize int32 `protobuf:"varint,4,opt,name=pageSize,proto3" json:"pageSize,omitempty"` + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title"` + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` // 1 下架 2 上架 + Page int32 `protobuf:"varint,3,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,4,opt,name=pageSize,proto3" json:"pageSize"` } func (x *ListReq) Reset() { *x = ListReq{} if protoimpl.UnsafeEnabled { - mi := &file_governance_proto_msgTypes[1] + mi := &file_api_governance_governance_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -158,7 +481,7 @@ func (x *ListReq) String() string { func (*ListReq) ProtoMessage() {} func (x *ListReq) ProtoReflect() protoreflect.Message { - mi := &file_governance_proto_msgTypes[1] + mi := &file_api_governance_governance_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -171,7 +494,7 @@ func (x *ListReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ListReq.ProtoReflect.Descriptor instead. func (*ListReq) Descriptor() ([]byte, []int) { - return file_governance_proto_rawDescGZIP(), []int{1} + return file_api_governance_governance_proto_rawDescGZIP(), []int{6} } func (x *ListReq) GetTitle() string { @@ -207,14 +530,14 @@ type ListResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Total int32 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"` - Data []*Item `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` + Total int32 `protobuf:"varint,1,opt,name=total,proto3" json:"total"` + Data []*Item `protobuf:"bytes,2,rep,name=data,proto3" json:"data"` } func (x *ListResp) Reset() { *x = ListResp{} if protoimpl.UnsafeEnabled { - mi := &file_governance_proto_msgTypes[2] + mi := &file_api_governance_governance_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -227,7 +550,7 @@ func (x *ListResp) String() string { func (*ListResp) ProtoMessage() {} func (x *ListResp) ProtoReflect() protoreflect.Message { - mi := &file_governance_proto_msgTypes[2] + mi := &file_api_governance_governance_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -240,7 +563,7 @@ func (x *ListResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ListResp.ProtoReflect.Descriptor instead. func (*ListResp) Descriptor() ([]byte, []int) { - return file_governance_proto_rawDescGZIP(), []int{2} + return file_api_governance_governance_proto_rawDescGZIP(), []int{7} } func (x *ListResp) GetTotal() int32 { @@ -262,13 +585,13 @@ type DeleteReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` } func (x *DeleteReq) Reset() { *x = DeleteReq{} if protoimpl.UnsafeEnabled { - mi := &file_governance_proto_msgTypes[3] + mi := &file_api_governance_governance_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -281,7 +604,7 @@ func (x *DeleteReq) String() string { func (*DeleteReq) ProtoMessage() {} func (x *DeleteReq) ProtoReflect() protoreflect.Message { - mi := &file_governance_proto_msgTypes[3] + mi := &file_api_governance_governance_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -294,14 +617,14 @@ func (x *DeleteReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteReq.ProtoReflect.Descriptor instead. func (*DeleteReq) Descriptor() ([]byte, []int) { - return file_governance_proto_rawDescGZIP(), []int{3} + return file_api_governance_governance_proto_rawDescGZIP(), []int{8} } -func (x *DeleteReq) GetId() int32 { +func (x *DeleteReq) GetUuid() string { if x != nil { - return x.Id + return x.Uuid } - return 0 + return "" } type DeleteResp struct { @@ -313,7 +636,7 @@ type DeleteResp struct { func (x *DeleteResp) Reset() { *x = DeleteResp{} if protoimpl.UnsafeEnabled { - mi := &file_governance_proto_msgTypes[4] + mi := &file_api_governance_governance_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -326,7 +649,7 @@ func (x *DeleteResp) String() string { func (*DeleteResp) ProtoMessage() {} func (x *DeleteResp) ProtoReflect() protoreflect.Message { - mi := &file_governance_proto_msgTypes[4] + mi := &file_api_governance_governance_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -339,7 +662,7 @@ func (x *DeleteResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteResp.ProtoReflect.Descriptor instead. func (*DeleteResp) Descriptor() ([]byte, []int) { - return file_governance_proto_rawDescGZIP(), []int{4} + return file_api_governance_governance_proto_rawDescGZIP(), []int{9} } type EditReq struct { @@ -347,20 +670,17 @@ type EditReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` - Attachment string `protobuf:"bytes,3,opt,name=attachment,proto3" json:"attachment,omitempty"` - AttachmentName string `protobuf:"bytes,4,opt,name=attachmentName,proto3" json:"attachmentName,omitempty"` - Sort int32 `protobuf:"varint,5,opt,name=sort,proto3" json:"sort,omitempty"` - Status int32 `protobuf:"varint,6,opt,name=status,proto3" json:"status,omitempty"` - Operator string `protobuf:"bytes,7,opt,name=operator,proto3" json:"operator,omitempty"` - OperatorId int32 `protobuf:"varint,8,opt,name=operatorId,proto3" json:"operatorId,omitempty"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + DataByLang []*GovernanceLang `protobuf:"bytes,2,rep,name=dataByLang,proto3" json:"dataByLang"` + Sort int32 `protobuf:"varint,3,opt,name=sort,proto3" json:"sort"` + Operator string `protobuf:"bytes,4,opt,name=operator,proto3" json:"operator"` + OperatorId int32 `protobuf:"varint,5,opt,name=operatorId,proto3" json:"operatorId"` } func (x *EditReq) Reset() { *x = EditReq{} if protoimpl.UnsafeEnabled { - mi := &file_governance_proto_msgTypes[5] + mi := &file_api_governance_governance_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -373,7 +693,7 @@ func (x *EditReq) String() string { func (*EditReq) ProtoMessage() {} func (x *EditReq) ProtoReflect() protoreflect.Message { - mi := &file_governance_proto_msgTypes[5] + mi := &file_api_governance_governance_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -386,35 +706,21 @@ func (x *EditReq) ProtoReflect() protoreflect.Message { // Deprecated: Use EditReq.ProtoReflect.Descriptor instead. func (*EditReq) Descriptor() ([]byte, []int) { - return file_governance_proto_rawDescGZIP(), []int{5} + return file_api_governance_governance_proto_rawDescGZIP(), []int{10} } -func (x *EditReq) GetId() uint32 { +func (x *EditReq) GetUuid() string { if x != nil { - return x.Id - } - return 0 -} - -func (x *EditReq) GetTitle() string { - if x != nil { - return x.Title + return x.Uuid } return "" } -func (x *EditReq) GetAttachment() string { +func (x *EditReq) GetDataByLang() []*GovernanceLang { if x != nil { - return x.Attachment + return x.DataByLang } - return "" -} - -func (x *EditReq) GetAttachmentName() string { - if x != nil { - return x.AttachmentName - } - return "" + return nil } func (x *EditReq) GetSort() int32 { @@ -424,13 +730,6 @@ func (x *EditReq) GetSort() int32 { return 0 } -func (x *EditReq) GetStatus() int32 { - if x != nil { - return x.Status - } - return 0 -} - func (x *EditReq) GetOperator() string { if x != nil { return x.Operator @@ -454,7 +753,7 @@ type EditResp struct { func (x *EditResp) Reset() { *x = EditResp{} if protoimpl.UnsafeEnabled { - mi := &file_governance_proto_msgTypes[6] + mi := &file_api_governance_governance_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -467,7 +766,7 @@ func (x *EditResp) String() string { func (*EditResp) ProtoMessage() {} func (x *EditResp) ProtoReflect() protoreflect.Message { - mi := &file_governance_proto_msgTypes[6] + mi := &file_api_governance_governance_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -480,7 +779,227 @@ func (x *EditResp) ProtoReflect() protoreflect.Message { // Deprecated: Use EditResp.ProtoReflect.Descriptor instead. func (*EditResp) Descriptor() ([]byte, []int) { - return file_governance_proto_rawDescGZIP(), []int{6} + return file_api_governance_governance_proto_rawDescGZIP(), []int{11} +} + +type UpdataStatusReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` + Operator string `protobuf:"bytes,3,opt,name=operator,proto3" json:"operator"` + OperatorId int32 `protobuf:"varint,4,opt,name=operatorId,proto3" json:"operatorId"` +} + +func (x *UpdataStatusReq) Reset() { + *x = UpdataStatusReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_governance_governance_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdataStatusReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdataStatusReq) ProtoMessage() {} + +func (x *UpdataStatusReq) ProtoReflect() protoreflect.Message { + mi := &file_api_governance_governance_proto_msgTypes[12] + 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 UpdataStatusReq.ProtoReflect.Descriptor instead. +func (*UpdataStatusReq) Descriptor() ([]byte, []int) { + return file_api_governance_governance_proto_rawDescGZIP(), []int{12} +} + +func (x *UpdataStatusReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *UpdataStatusReq) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *UpdataStatusReq) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *UpdataStatusReq) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type UpdataStatusResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *UpdataStatusResp) Reset() { + *x = UpdataStatusResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_governance_governance_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdataStatusResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdataStatusResp) ProtoMessage() {} + +func (x *UpdataStatusResp) ProtoReflect() protoreflect.Message { + mi := &file_api_governance_governance_proto_msgTypes[13] + 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 UpdataStatusResp.ProtoReflect.Descriptor instead. +func (*UpdataStatusResp) Descriptor() ([]byte, []int) { + return file_api_governance_governance_proto_rawDescGZIP(), []int{13} +} + +func (x *UpdataStatusResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type GetGovernanceInfoReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` +} + +func (x *GetGovernanceInfoReq) Reset() { + *x = GetGovernanceInfoReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_governance_governance_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetGovernanceInfoReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetGovernanceInfoReq) ProtoMessage() {} + +func (x *GetGovernanceInfoReq) ProtoReflect() protoreflect.Message { + mi := &file_api_governance_governance_proto_msgTypes[14] + 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 GetGovernanceInfoReq.ProtoReflect.Descriptor instead. +func (*GetGovernanceInfoReq) Descriptor() ([]byte, []int) { + return file_api_governance_governance_proto_rawDescGZIP(), []int{14} +} + +func (x *GetGovernanceInfoReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +type GetGovernanceInfoResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` + Data *GovernanceInfo `protobuf:"bytes,2,opt,name=data,proto3" json:"data"` +} + +func (x *GetGovernanceInfoResp) Reset() { + *x = GetGovernanceInfoResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_governance_governance_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetGovernanceInfoResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetGovernanceInfoResp) ProtoMessage() {} + +func (x *GetGovernanceInfoResp) ProtoReflect() protoreflect.Message { + mi := &file_api_governance_governance_proto_msgTypes[15] + 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 GetGovernanceInfoResp.ProtoReflect.Descriptor instead. +func (*GetGovernanceInfoResp) Descriptor() ([]byte, []int) { + return file_api_governance_governance_proto_rawDescGZIP(), []int{15} +} + +func (x *GetGovernanceInfoResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *GetGovernanceInfoResp) GetData() *GovernanceInfo { + if x != nil { + return x.Data + } + return nil } type CreateReq struct { @@ -488,19 +1007,18 @@ type CreateReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` - Sort uint32 `protobuf:"varint,2,opt,name=sort,proto3" json:"sort,omitempty"` - Attachment string `protobuf:"bytes,3,opt,name=attachment,proto3" json:"attachment,omitempty"` - AttachmentName string `protobuf:"bytes,4,opt,name=attachmentName,proto3" json:"attachmentName,omitempty"` - Status int32 `protobuf:"varint,5,opt,name=status,proto3" json:"status,omitempty"` - Operator string `protobuf:"bytes,6,opt,name=operator,proto3" json:"operator,omitempty"` - OperatorId int32 `protobuf:"varint,7,opt,name=operatorId,proto3" json:"operatorId,omitempty"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + DataByLang []*GovernanceLang `protobuf:"bytes,2,rep,name=dataByLang,proto3" json:"dataByLang"` + Sort uint32 `protobuf:"varint,3,opt,name=sort,proto3" json:"sort"` + Status int32 `protobuf:"varint,4,opt,name=status,proto3" json:"status"` + Operator string `protobuf:"bytes,5,opt,name=operator,proto3" json:"operator"` + OperatorId int32 `protobuf:"varint,6,opt,name=operatorId,proto3" json:"operatorId"` } func (x *CreateReq) Reset() { *x = CreateReq{} if protoimpl.UnsafeEnabled { - mi := &file_governance_proto_msgTypes[7] + mi := &file_api_governance_governance_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -513,7 +1031,7 @@ func (x *CreateReq) String() string { func (*CreateReq) ProtoMessage() {} func (x *CreateReq) ProtoReflect() protoreflect.Message { - mi := &file_governance_proto_msgTypes[7] + mi := &file_api_governance_governance_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -526,16 +1044,23 @@ func (x *CreateReq) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateReq.ProtoReflect.Descriptor instead. func (*CreateReq) Descriptor() ([]byte, []int) { - return file_governance_proto_rawDescGZIP(), []int{7} + return file_api_governance_governance_proto_rawDescGZIP(), []int{16} } -func (x *CreateReq) GetTitle() string { +func (x *CreateReq) GetUuid() string { if x != nil { - return x.Title + return x.Uuid } return "" } +func (x *CreateReq) GetDataByLang() []*GovernanceLang { + if x != nil { + return x.DataByLang + } + return nil +} + func (x *CreateReq) GetSort() uint32 { if x != nil { return x.Sort @@ -543,20 +1068,6 @@ func (x *CreateReq) GetSort() uint32 { return 0 } -func (x *CreateReq) GetAttachment() string { - if x != nil { - return x.Attachment - } - return "" -} - -func (x *CreateReq) GetAttachmentName() string { - if x != nil { - return x.AttachmentName - } - return "" -} - func (x *CreateReq) GetStatus() int32 { if x != nil { return x.Status @@ -587,7 +1098,7 @@ type CreateResp struct { func (x *CreateResp) Reset() { *x = CreateResp{} if protoimpl.UnsafeEnabled { - mi := &file_governance_proto_msgTypes[8] + mi := &file_api_governance_governance_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -600,7 +1111,7 @@ func (x *CreateResp) String() string { func (*CreateResp) ProtoMessage() {} func (x *CreateResp) ProtoReflect() protoreflect.Message { - mi := &file_governance_proto_msgTypes[8] + mi := &file_api_governance_governance_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -613,19 +1124,21 @@ func (x *CreateResp) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateResp.ProtoReflect.Descriptor instead. func (*CreateResp) Descriptor() ([]byte, []int) { - return file_governance_proto_rawDescGZIP(), []int{8} + return file_api_governance_governance_proto_rawDescGZIP(), []int{17} } type DisplayReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + LangType string `protobuf:"bytes,1,opt,name=langType,proto3" json:"langType"` //语言类型 } func (x *DisplayReq) Reset() { *x = DisplayReq{} if protoimpl.UnsafeEnabled { - mi := &file_governance_proto_msgTypes[9] + mi := &file_api_governance_governance_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -638,7 +1151,7 @@ func (x *DisplayReq) String() string { func (*DisplayReq) ProtoMessage() {} func (x *DisplayReq) ProtoReflect() protoreflect.Message { - mi := &file_governance_proto_msgTypes[9] + mi := &file_api_governance_governance_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -651,7 +1164,14 @@ func (x *DisplayReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplayReq.ProtoReflect.Descriptor instead. func (*DisplayReq) Descriptor() ([]byte, []int) { - return file_governance_proto_rawDescGZIP(), []int{9} + return file_api_governance_governance_proto_rawDescGZIP(), []int{18} +} + +func (x *DisplayReq) GetLangType() string { + if x != nil { + return x.LangType + } + return "" } type DisplayResp struct { @@ -659,13 +1179,13 @@ type DisplayResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Data []*Item `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"` + Data []*DisplayItem `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` } func (x *DisplayResp) Reset() { *x = DisplayResp{} if protoimpl.UnsafeEnabled { - mi := &file_governance_proto_msgTypes[10] + mi := &file_api_governance_governance_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -678,7 +1198,7 @@ func (x *DisplayResp) String() string { func (*DisplayResp) ProtoMessage() {} func (x *DisplayResp) ProtoReflect() protoreflect.Message { - mi := &file_governance_proto_msgTypes[10] + mi := &file_api_governance_governance_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -691,159 +1211,294 @@ func (x *DisplayResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplayResp.ProtoReflect.Descriptor instead. func (*DisplayResp) Descriptor() ([]byte, []int) { - return file_governance_proto_rawDescGZIP(), []int{10} + return file_api_governance_governance_proto_rawDescGZIP(), []int{19} } -func (x *DisplayResp) GetData() []*Item { +func (x *DisplayResp) GetData() []*DisplayItem { if x != nil { return x.Data } return nil } -var File_governance_proto protoreflect.FileDescriptor +var File_api_governance_governance_proto protoreflect.FileDescriptor -var file_governance_proto_rawDesc = []byte{ - 0x0a, 0x10, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x12, 0x0a, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xfa, - 0x01, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, +var file_api_governance_governance_proto_rawDesc = []byte{ + 0x0a, 0x1f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, + 0x2f, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x0a, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x47, 0x0a, + 0x0b, 0x4c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, + 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x90, 0x01, 0x0a, 0x12, 0x47, 0x6f, 0x76, 0x65, 0x72, + 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, + 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, + 0x74, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, + 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, + 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x60, 0x0a, 0x0e, 0x47, 0x6f, 0x76, + 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6c, + 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, + 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, + 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x6e, + 0x67, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8c, 0x01, 0x0a, 0x0e, + 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, + 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, + 0x69, 0x64, 0x12, 0x3a, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, + 0x6e, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x61, + 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x12, + 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, + 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xb9, 0x02, 0x0a, 0x04, 0x49, + 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x67, 0x0a, 0x07, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 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, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, - 0x53, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, - 0x53, 0x69, 0x7a, 0x65, 0x22, 0x46, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x24, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, - 0x65, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x1b, 0x0a, 0x09, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x0c, 0x0a, 0x0a, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0xdf, 0x01, 0x0a, 0x07, 0x45, 0x64, 0x69, 0x74, - 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, - 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, - 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x74, 0x74, - 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x76, + 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, + 0x73, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x6b, 0x0a, 0x0b, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x22, 0x67, 0x0a, 0x07, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x14, + 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, + 0x69, 0x74, 0x6c, 0x65, 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, 0x12, 0x0a, 0x04, + 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x46, 0x0a, 0x08, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x24, + 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, + 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x22, 0x1f, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x0c, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x22, 0xa9, 0x01, 0x0a, 0x07, 0x45, 0x64, 0x69, 0x74, 0x52, 0x65, 0x71, 0x12, + 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, + 0x75, 0x69, 0x64, 0x12, 0x3a, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, + 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, + 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4c, + 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x12, + 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, + 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, + 0x0a, 0x0a, 0x08, 0x45, 0x64, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x79, 0x0a, 0x0f, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, + 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, + 0x69, 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, 0x1a, 0x0a, 0x08, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x24, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x61, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x2a, 0x0a, 0x14, + 0x47, 0x65, 0x74, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x59, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x47, + 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6d, 0x73, 0x67, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x47, + 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x22, 0xc3, 0x01, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x3a, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, + 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x76, 0x65, + 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, + 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4c, 0x61, 0x6e, + 0x67, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, - 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, + 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x0a, 0x0a, 0x08, 0x45, 0x64, 0x69, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0xd1, 0x01, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x0a, - 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, - 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, - 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x0c, 0x0a, 0x0a, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x0c, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x52, 0x65, 0x71, 0x22, 0x33, 0x0a, 0x0b, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, - 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x32, 0xaa, 0x02, 0x0a, 0x0a, 0x47, - 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x33, 0x0a, 0x04, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x13, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, - 0x6e, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x39, - 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x15, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, - 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, - 0x16, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x33, 0x0a, 0x04, 0x45, 0x64, 0x69, - 0x74, 0x12, 0x13, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x45, - 0x64, 0x69, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, - 0x6e, 0x63, 0x65, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x39, - 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x15, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, - 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, - 0x16, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x07, 0x44, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, - 0x65, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x67, - 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x42, 0x0f, 0x5a, 0x0d, 0x2e, 0x2f, 0x3b, 0x67, 0x6f, - 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x28, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, + 0x65, 0x22, 0x3a, 0x0a, 0x0b, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x32, 0xd3, 0x03, + 0x0a, 0x0a, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x33, 0x0a, 0x04, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x13, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, + 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x67, 0x6f, 0x76, 0x65, + 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, + 0x00, 0x12, 0x39, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x15, 0x2e, 0x67, 0x6f, + 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x33, 0x0a, 0x04, + 0x45, 0x64, 0x69, 0x74, 0x12, 0x13, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, + 0x65, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x67, 0x6f, 0x76, 0x65, + 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, + 0x00, 0x12, 0x4b, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x1b, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1c, + 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x61, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x5a, + 0x0a, 0x11, 0x47, 0x65, 0x74, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, + 0x2e, 0x47, 0x65, 0x74, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, + 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x06, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x12, 0x15, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, + 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x67, 0x6f, + 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x07, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x44, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, + 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x22, 0x00, 0x42, 0x0f, 0x5a, 0x0d, 0x2e, 0x2f, 0x3b, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, + 0x61, 0x6e, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( - file_governance_proto_rawDescOnce sync.Once - file_governance_proto_rawDescData = file_governance_proto_rawDesc + file_api_governance_governance_proto_rawDescOnce sync.Once + file_api_governance_governance_proto_rawDescData = file_api_governance_governance_proto_rawDesc ) -func file_governance_proto_rawDescGZIP() []byte { - file_governance_proto_rawDescOnce.Do(func() { - file_governance_proto_rawDescData = protoimpl.X.CompressGZIP(file_governance_proto_rawDescData) +func file_api_governance_governance_proto_rawDescGZIP() []byte { + file_api_governance_governance_proto_rawDescOnce.Do(func() { + file_api_governance_governance_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_governance_governance_proto_rawDescData) }) - return file_governance_proto_rawDescData + return file_api_governance_governance_proto_rawDescData } -var file_governance_proto_msgTypes = make([]protoimpl.MessageInfo, 11) -var file_governance_proto_goTypes = []interface{}{ - (*Item)(nil), // 0: governance.Item - (*ListReq)(nil), // 1: governance.ListReq - (*ListResp)(nil), // 2: governance.ListResp - (*DeleteReq)(nil), // 3: governance.DeleteReq - (*DeleteResp)(nil), // 4: governance.DeleteResp - (*EditReq)(nil), // 5: governance.EditReq - (*EditResp)(nil), // 6: governance.EditResp - (*CreateReq)(nil), // 7: governance.CreateReq - (*CreateResp)(nil), // 8: governance.CreateResp - (*DisplayReq)(nil), // 9: governance.DisplayReq - (*DisplayResp)(nil), // 10: governance.DisplayResp +var file_api_governance_governance_proto_msgTypes = make([]protoimpl.MessageInfo, 20) +var file_api_governance_governance_proto_goTypes = []interface{}{ + (*LangSetting)(nil), // 0: governance.LangSetting + (*GovernanceLangData)(nil), // 1: governance.GovernanceLangData + (*GovernanceLang)(nil), // 2: governance.GovernanceLang + (*GovernanceInfo)(nil), // 3: governance.GovernanceInfo + (*Item)(nil), // 4: governance.Item + (*DisplayItem)(nil), // 5: governance.DisplayItem + (*ListReq)(nil), // 6: governance.ListReq + (*ListResp)(nil), // 7: governance.ListResp + (*DeleteReq)(nil), // 8: governance.DeleteReq + (*DeleteResp)(nil), // 9: governance.DeleteResp + (*EditReq)(nil), // 10: governance.EditReq + (*EditResp)(nil), // 11: governance.EditResp + (*UpdataStatusReq)(nil), // 12: governance.UpdataStatusReq + (*UpdataStatusResp)(nil), // 13: governance.UpdataStatusResp + (*GetGovernanceInfoReq)(nil), // 14: governance.GetGovernanceInfoReq + (*GetGovernanceInfoResp)(nil), // 15: governance.GetGovernanceInfoResp + (*CreateReq)(nil), // 16: governance.CreateReq + (*CreateResp)(nil), // 17: governance.CreateResp + (*DisplayReq)(nil), // 18: governance.DisplayReq + (*DisplayResp)(nil), // 19: governance.DisplayResp } -var file_governance_proto_depIdxs = []int32{ - 0, // 0: governance.ListResp.data:type_name -> governance.Item - 0, // 1: governance.DisplayResp.data:type_name -> governance.Item - 1, // 2: governance.Governance.List:input_type -> governance.ListReq - 3, // 3: governance.Governance.Delete:input_type -> governance.DeleteReq - 5, // 4: governance.Governance.Edit:input_type -> governance.EditReq - 7, // 5: governance.Governance.Create:input_type -> governance.CreateReq - 9, // 6: governance.Governance.Display:input_type -> governance.DisplayReq - 2, // 7: governance.Governance.List:output_type -> governance.ListResp - 4, // 8: governance.Governance.Delete:output_type -> governance.DeleteResp - 6, // 9: governance.Governance.Edit:output_type -> governance.EditResp - 8, // 10: governance.Governance.Create:output_type -> governance.CreateResp - 10, // 11: governance.Governance.Display:output_type -> governance.DisplayResp - 7, // [7:12] is the sub-list for method output_type - 2, // [2:7] 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 +var file_api_governance_governance_proto_depIdxs = []int32{ + 1, // 0: governance.GovernanceLang.data:type_name -> governance.GovernanceLangData + 2, // 1: governance.GovernanceInfo.dataByLang:type_name -> governance.GovernanceLang + 0, // 2: governance.Item.langSetting:type_name -> governance.LangSetting + 4, // 3: governance.ListResp.data:type_name -> governance.Item + 2, // 4: governance.EditReq.dataByLang:type_name -> governance.GovernanceLang + 3, // 5: governance.GetGovernanceInfoResp.data:type_name -> governance.GovernanceInfo + 2, // 6: governance.CreateReq.dataByLang:type_name -> governance.GovernanceLang + 5, // 7: governance.DisplayResp.data:type_name -> governance.DisplayItem + 6, // 8: governance.Governance.List:input_type -> governance.ListReq + 8, // 9: governance.Governance.Delete:input_type -> governance.DeleteReq + 10, // 10: governance.Governance.Edit:input_type -> governance.EditReq + 12, // 11: governance.Governance.UpdataStatus:input_type -> governance.UpdataStatusReq + 14, // 12: governance.Governance.GetGovernanceInfo:input_type -> governance.GetGovernanceInfoReq + 16, // 13: governance.Governance.Create:input_type -> governance.CreateReq + 18, // 14: governance.Governance.Display:input_type -> governance.DisplayReq + 7, // 15: governance.Governance.List:output_type -> governance.ListResp + 9, // 16: governance.Governance.Delete:output_type -> governance.DeleteResp + 11, // 17: governance.Governance.Edit:output_type -> governance.EditResp + 13, // 18: governance.Governance.UpdataStatus:output_type -> governance.UpdataStatusResp + 15, // 19: governance.Governance.GetGovernanceInfo:output_type -> governance.GetGovernanceInfoResp + 17, // 20: governance.Governance.Create:output_type -> governance.CreateResp + 19, // 21: governance.Governance.Display:output_type -> governance.DisplayResp + 15, // [15:22] is the sub-list for method output_type + 8, // [8:15] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name } -func init() { file_governance_proto_init() } -func file_governance_proto_init() { - if File_governance_proto != nil { +func init() { file_api_governance_governance_proto_init() } +func file_api_governance_governance_proto_init() { + if File_api_governance_governance_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_governance_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_api_governance_governance_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LangSetting); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_governance_governance_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GovernanceLangData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_governance_governance_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GovernanceLang); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_governance_governance_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GovernanceInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_governance_governance_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Item); i { case 0: return &v.state @@ -855,7 +1510,19 @@ func file_governance_proto_init() { return nil } } - file_governance_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_api_governance_governance_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisplayItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_governance_governance_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListReq); i { case 0: return &v.state @@ -867,7 +1534,7 @@ func file_governance_proto_init() { return nil } } - file_governance_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_api_governance_governance_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListResp); i { case 0: return &v.state @@ -879,7 +1546,7 @@ func file_governance_proto_init() { return nil } } - file_governance_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_api_governance_governance_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteReq); i { case 0: return &v.state @@ -891,7 +1558,7 @@ func file_governance_proto_init() { return nil } } - file_governance_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_api_governance_governance_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteResp); i { case 0: return &v.state @@ -903,7 +1570,7 @@ func file_governance_proto_init() { return nil } } - file_governance_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_api_governance_governance_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EditReq); i { case 0: return &v.state @@ -915,7 +1582,7 @@ func file_governance_proto_init() { return nil } } - file_governance_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_api_governance_governance_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EditResp); i { case 0: return &v.state @@ -927,7 +1594,55 @@ func file_governance_proto_init() { return nil } } - file_governance_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_api_governance_governance_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdataStatusReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_governance_governance_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdataStatusResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_governance_governance_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetGovernanceInfoReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_governance_governance_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetGovernanceInfoResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_governance_governance_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateReq); i { case 0: return &v.state @@ -939,7 +1654,7 @@ func file_governance_proto_init() { return nil } } - file_governance_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_api_governance_governance_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateResp); i { case 0: return &v.state @@ -951,7 +1666,7 @@ func file_governance_proto_init() { return nil } } - file_governance_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_api_governance_governance_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DisplayReq); i { case 0: return &v.state @@ -963,7 +1678,7 @@ func file_governance_proto_init() { return nil } } - file_governance_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_api_governance_governance_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DisplayResp); i { case 0: return &v.state @@ -980,18 +1695,18 @@ func file_governance_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_governance_proto_rawDesc, + RawDescriptor: file_api_governance_governance_proto_rawDesc, NumEnums: 0, - NumMessages: 11, + NumMessages: 20, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_governance_proto_goTypes, - DependencyIndexes: file_governance_proto_depIdxs, - MessageInfos: file_governance_proto_msgTypes, + GoTypes: file_api_governance_governance_proto_goTypes, + DependencyIndexes: file_api_governance_governance_proto_depIdxs, + MessageInfos: file_api_governance_governance_proto_msgTypes, }.Build() - File_governance_proto = out.File - file_governance_proto_rawDesc = nil - file_governance_proto_goTypes = nil - file_governance_proto_depIdxs = nil + File_api_governance_governance_proto = out.File + file_api_governance_governance_proto_rawDesc = nil + file_api_governance_governance_proto_goTypes = nil + file_api_governance_governance_proto_depIdxs = nil } diff --git a/api/governance/governance.proto b/api/governance/governance.proto index 0905601..da67c23 100644 --- a/api/governance/governance.proto +++ b/api/governance/governance.proto @@ -9,20 +9,53 @@ service Governance{ rpc List(ListReq) returns (ListResp) {} rpc Delete(DeleteReq) returns (DeleteResp) {} rpc Edit(EditReq) returns (EditResp) {} + rpc UpdataStatus(UpdataStatusReq) returns (UpdataStatusResp) {} + rpc GetGovernanceInfo(GetGovernanceInfoReq) returns (GetGovernanceInfoResp) {} rpc Create(CreateReq) returns (CreateResp) {} rpc Display(DisplayReq) returns (DisplayResp) {} } +message LangSetting { + string langType = 1;//语言类型 + int32 isSetting = 2;//是否设置 +} + +message GovernanceLangData{ + string title = 1;//标题 + string attachment = 2;//附件 + string attachmentName = 3;//附件名称 + int32 isSetting = 4;//是否设置 +} + +message GovernanceLang{ + string langType = 1;//语言类型 + GovernanceLangData data = 2;//语言数据 +} + +message GovernanceInfo{ + string uuid = 1; + repeated GovernanceLang dataByLang = 2;//语言数据 + int32 sort = 3;//排序 + int32 status = 4;//状态 +} + message Item{ - int32 id = 1; + string uuid = 1; string title = 2; string attachment = 3; string attachmentName = 4; - int32 sort = 5; - int32 status = 6; - int64 updatedAt = 7; - string operator = 8; - int32 operatorId = 9; + repeated LangSetting langSetting = 5;//语言设置 + int32 sort = 6; + int32 status = 7; + int64 updatedAt = 8; + string operator = 9; + int32 operatorId = 10; +} + +message DisplayItem{ + string title = 1; + string attachment = 2; + string attachmentName = 3; } message ListReq{ @@ -38,34 +71,48 @@ message ListResp{ } message DeleteReq{ - int32 id = 1; + string uuid = 1; } message DeleteResp{ } message EditReq{ - uint32 id = 1; - string title = 2; - string attachment = 3; - string attachmentName = 4; - int32 sort = 5; - int32 status = 6; - string operator = 7; - int32 operatorId = 8; + string uuid = 1; + repeated GovernanceLang dataByLang = 2; + int32 sort = 3; + string operator = 4; + int32 operatorId = 5; } message EditResp{ } +message UpdataStatusReq{ + string uuid = 1; + int32 status = 2; + string operator = 3; + int32 operatorId = 4; +} +message UpdataStatusResp{ + string msg = 1; +} + +message GetGovernanceInfoReq{ + string uuid = 1; +} +message GetGovernanceInfoResp{ + string msg = 1; + GovernanceInfo data = 2; +} + message CreateReq{ - string title = 1; - uint32 sort = 2; - string attachment = 3; - string attachmentName = 4; - int32 status = 5; - string operator = 6; - int32 operatorId = 7; + string uuid = 1; + repeated GovernanceLang dataByLang = 2; + uint32 sort = 3; + int32 status = 4; + string operator = 5; + int32 operatorId = 6; } message CreateResp{ @@ -73,9 +120,9 @@ message CreateResp{ } message DisplayReq{ - + string langType = 1;//语言类型 } message DisplayResp{ - repeated Item data = 1; + repeated DisplayItem data = 1; } \ No newline at end of file diff --git a/api/governance/governance.validator.pb.go b/api/governance/governance.validator.pb.go index a8c0c3f..0cb64a1 100644 --- a/api/governance/governance.validator.pb.go +++ b/api/governance/governance.validator.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: governance.proto +// source: api/governance/governance.proto package governance @@ -15,7 +15,41 @@ var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +func (this *LangSetting) Validate() error { + return nil +} +func (this *GovernanceLangData) Validate() error { + return nil +} +func (this *GovernanceLang) Validate() error { + if this.Data != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Data); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Data", err) + } + } + return nil +} +func (this *GovernanceInfo) Validate() error { + for _, item := range this.DataByLang { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err) + } + } + } + return nil +} func (this *Item) Validate() error { + for _, item := range this.LangSetting { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("LangSetting", err) + } + } + } + return nil +} +func (this *DisplayItem) Validate() error { return nil } func (this *ListReq) Validate() error { @@ -38,12 +72,43 @@ func (this *DeleteResp) Validate() error { return nil } func (this *EditReq) Validate() error { + for _, item := range this.DataByLang { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err) + } + } + } return nil } func (this *EditResp) Validate() error { return nil } +func (this *UpdataStatusReq) Validate() error { + return nil +} +func (this *UpdataStatusResp) Validate() error { + return nil +} +func (this *GetGovernanceInfoReq) Validate() error { + return nil +} +func (this *GetGovernanceInfoResp) Validate() error { + if this.Data != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Data); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Data", err) + } + } + return nil +} func (this *CreateReq) Validate() error { + for _, item := range this.DataByLang { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err) + } + } + } return nil } func (this *CreateResp) Validate() error { diff --git a/api/governance/governance_triple.pb.go b/api/governance/governance_triple.pb.go index df07aa0..2829fd9 100644 --- a/api/governance/governance_triple.pb.go +++ b/api/governance/governance_triple.pb.go @@ -1,8 +1,8 @@ // Code generated by protoc-gen-go-triple. DO NOT EDIT. // versions: -// - protoc-gen-go-triple v1.0.8 -// - protoc v3.20.3 -// source: governance.proto +// - protoc-gen-go-triple v1.0.5 +// - protoc v5.26.0 +// source: api/governance/governance.proto package governance @@ -31,6 +31,8 @@ type GovernanceClient interface { List(ctx context.Context, in *ListReq, opts ...grpc_go.CallOption) (*ListResp, common.ErrorWithAttachment) Delete(ctx context.Context, in *DeleteReq, opts ...grpc_go.CallOption) (*DeleteResp, common.ErrorWithAttachment) Edit(ctx context.Context, in *EditReq, opts ...grpc_go.CallOption) (*EditResp, common.ErrorWithAttachment) + UpdataStatus(ctx context.Context, in *UpdataStatusReq, opts ...grpc_go.CallOption) (*UpdataStatusResp, common.ErrorWithAttachment) + GetGovernanceInfo(ctx context.Context, in *GetGovernanceInfoReq, opts ...grpc_go.CallOption) (*GetGovernanceInfoResp, common.ErrorWithAttachment) Create(ctx context.Context, in *CreateReq, opts ...grpc_go.CallOption) (*CreateResp, common.ErrorWithAttachment) Display(ctx context.Context, in *DisplayReq, opts ...grpc_go.CallOption) (*DisplayResp, common.ErrorWithAttachment) } @@ -40,11 +42,13 @@ type governanceClient struct { } type GovernanceClientImpl struct { - List func(ctx context.Context, in *ListReq) (*ListResp, error) - Delete func(ctx context.Context, in *DeleteReq) (*DeleteResp, error) - Edit func(ctx context.Context, in *EditReq) (*EditResp, error) - Create func(ctx context.Context, in *CreateReq) (*CreateResp, error) - Display func(ctx context.Context, in *DisplayReq) (*DisplayResp, error) + List func(ctx context.Context, in *ListReq) (*ListResp, error) + Delete func(ctx context.Context, in *DeleteReq) (*DeleteResp, error) + Edit func(ctx context.Context, in *EditReq) (*EditResp, error) + UpdataStatus func(ctx context.Context, in *UpdataStatusReq) (*UpdataStatusResp, error) + GetGovernanceInfo func(ctx context.Context, in *GetGovernanceInfoReq) (*GetGovernanceInfoResp, error) + Create func(ctx context.Context, in *CreateReq) (*CreateResp, error) + Display func(ctx context.Context, in *DisplayReq) (*DisplayResp, error) } func (c *GovernanceClientImpl) GetDubboStub(cc *triple.TripleConn) GovernanceClient { @@ -77,6 +81,18 @@ func (c *governanceClient) Edit(ctx context.Context, in *EditReq, opts ...grpc_g return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Edit", in, out) } +func (c *governanceClient) UpdataStatus(ctx context.Context, in *UpdataStatusReq, opts ...grpc_go.CallOption) (*UpdataStatusResp, common.ErrorWithAttachment) { + out := new(UpdataStatusResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdataStatus", in, out) +} + +func (c *governanceClient) GetGovernanceInfo(ctx context.Context, in *GetGovernanceInfoReq, opts ...grpc_go.CallOption) (*GetGovernanceInfoResp, common.ErrorWithAttachment) { + out := new(GetGovernanceInfoResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetGovernanceInfo", in, out) +} + func (c *governanceClient) Create(ctx context.Context, in *CreateReq, opts ...grpc_go.CallOption) (*CreateResp, common.ErrorWithAttachment) { out := new(CreateResp) interfaceKey := ctx.Value(constant.InterfaceKey).(string) @@ -96,6 +112,8 @@ type GovernanceServer interface { List(context.Context, *ListReq) (*ListResp, error) Delete(context.Context, *DeleteReq) (*DeleteResp, error) Edit(context.Context, *EditReq) (*EditResp, error) + UpdataStatus(context.Context, *UpdataStatusReq) (*UpdataStatusResp, error) + GetGovernanceInfo(context.Context, *GetGovernanceInfoReq) (*GetGovernanceInfoResp, error) Create(context.Context, *CreateReq) (*CreateResp, error) Display(context.Context, *DisplayReq) (*DisplayResp, error) mustEmbedUnimplementedGovernanceServer() @@ -115,6 +133,12 @@ func (UnimplementedGovernanceServer) Delete(context.Context, *DeleteReq) (*Delet func (UnimplementedGovernanceServer) Edit(context.Context, *EditReq) (*EditResp, error) { return nil, status.Errorf(codes.Unimplemented, "method Edit not implemented") } +func (UnimplementedGovernanceServer) UpdataStatus(context.Context, *UpdataStatusReq) (*UpdataStatusResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdataStatus not implemented") +} +func (UnimplementedGovernanceServer) GetGovernanceInfo(context.Context, *GetGovernanceInfoReq) (*GetGovernanceInfoResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetGovernanceInfo not implemented") +} func (UnimplementedGovernanceServer) Create(context.Context, *CreateReq) (*CreateResp, error) { return nil, status.Errorf(codes.Unimplemented, "method Create not implemented") } @@ -236,6 +260,64 @@ func _Governance_Edit_Handler(srv interface{}, ctx context.Context, dec func(int return interceptor(ctx, in, info, handler) } +func _Governance_UpdataStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdataStatusReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("UpdataStatus", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Governance_GetGovernanceInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetGovernanceInfoReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetGovernanceInfo", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + func _Governance_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(CreateReq) if err := dec(in); err != nil { @@ -313,6 +395,14 @@ var Governance_ServiceDesc = grpc_go.ServiceDesc{ MethodName: "Edit", Handler: _Governance_Edit_Handler, }, + { + MethodName: "UpdataStatus", + Handler: _Governance_UpdataStatus_Handler, + }, + { + MethodName: "GetGovernanceInfo", + Handler: _Governance_GetGovernanceInfo_Handler, + }, { MethodName: "Create", Handler: _Governance_Create_Handler, @@ -323,5 +413,5 @@ var Governance_ServiceDesc = grpc_go.ServiceDesc{ }, }, Streams: []grpc_go.StreamDesc{}, - Metadata: "governance.proto", + Metadata: "api/governance/governance.proto", } diff --git a/pkg/router/router.go b/pkg/router/router.go index b6bad3f..f248ec5 100644 --- a/pkg/router/router.go +++ b/pkg/router/router.go @@ -175,6 +175,8 @@ func NewRouter() *gin.Engine { governanceRouteLogin.POST("", governance.Create) governanceRouteLogin.POST("/edit", governance.Edit) governanceRouteLogin.POST("/delete", governance.Delete) + governanceRouteLogin.POST("/updataStatus", governance.UpdataStatus) + governanceRouteLogin.POST("/getGovernanceInfo", governance.GetGovernanceInfo) } { diff --git a/pkg/service/governance/governance.go b/pkg/service/governance/governance.go index c9976c8..beb7a07 100644 --- a/pkg/service/governance/governance.go +++ b/pkg/service/governance/governance.go @@ -82,3 +82,34 @@ func Edit(ctx *gin.Context) { } service.Success(ctx, resp) } + +func UpdataStatus(ctx *gin.Context) { + var req governance.UpdataStatusReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + user := login.GetUserInfoFromC(ctx) + req.Operator = user.Name + req.OperatorId = int32(user.ID) + resp, err := service.GovernanceProvider.UpdataStatus(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} + +func GetGovernanceInfo(ctx *gin.Context) { + var req governance.GetGovernanceInfoReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.GovernanceProvider.GetGovernanceInfo(ctx, &req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) +} From d040842181c3ffb62672e7459fe770c827edb670 Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Wed, 7 Jan 2026 09:33:39 +0800 Subject: [PATCH 37/38] =?UTF-8?q?Updata:=E6=9B=B4=E6=96=B0=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/router/router.go | 2 +- pkg/service/governance/governance.go | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/pkg/router/router.go b/pkg/router/router.go index f248ec5..9555f9e 100644 --- a/pkg/router/router.go +++ b/pkg/router/router.go @@ -170,7 +170,7 @@ func NewRouter() *gin.Engine { governanceRoute := v1.Group("/governance") governanceRouteLogin := governanceRoute.Group("", middleware.CheckWebLogin(service.AccountProvider)) - governanceRoute.GET("/display", middleware.Cors(), governance.Display) + governanceRoute.POST("/display", middleware.Cors(), governance.Display) governanceRouteLogin.POST("/list", governance.List) governanceRouteLogin.POST("", governance.Create) governanceRouteLogin.POST("/edit", governance.Edit) diff --git a/pkg/service/governance/governance.go b/pkg/service/governance/governance.go index beb7a07..37b6ef3 100644 --- a/pkg/service/governance/governance.go +++ b/pkg/service/governance/governance.go @@ -44,7 +44,12 @@ func Delete(ctx *gin.Context) { } func Display(ctx *gin.Context) { - resp, err := service.GovernanceProvider.Display(ctx, &governance.DisplayReq{}) + var req governance.DisplayReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, err) + return + } + resp, err := service.GovernanceProvider.Display(ctx, &req) if err != nil { service.Error(ctx, err) return From f60487123efdb765f4d74eecaf35798ae1fdefd1 Mon Sep 17 00:00:00 2001 From: "jiaji.H" Date: Wed, 7 Jan 2026 10:04:49 +0800 Subject: [PATCH 38/38] =?UTF-8?q?Updata=EF=BC=9A=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=AF=AD=E8=A8=80=E7=B1=BB=E5=9E=8B=E4=B8=BA=E7=A9=BA=E5=88=A4?= =?UTF-8?q?=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/service/pressreleases/pressreleases.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/service/pressreleases/pressreleases.go b/pkg/service/pressreleases/pressreleases.go index 8b33a80..73e45bf 100644 --- a/pkg/service/pressreleases/pressreleases.go +++ b/pkg/service/pressreleases/pressreleases.go @@ -47,6 +47,10 @@ func Display(ctx *gin.Context) { service.Error(ctx, err) return } + if req.LangType == "" { + service.Error(ctx, errors.New("语言类型为空")) + return + } resp, err := service.PressReleasesProvider.Display(ctx, &req) if err != nil { service.Error(ctx, err)