From e869c227423564645c343caf5c4ad9d79be35f28 Mon Sep 17 00:00:00 2001 From: zhoujunyao Date: Mon, 14 Apr 2025 16:12:37 +0800 Subject: [PATCH 01/27] =?UTF-8?q?fix:=20=E5=88=87=E6=8D=A2antom=E6=94=AF?= =?UTF-8?q?=E4=BB=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/payment/payment.pb.go | 8719 +++++++++++++++++++++++++++ api/payment/payment.proto | 742 +++ api/payment/payment.validator.pb.go | 301 + api/payment/payment_triple.pb.go | 1505 +++++ docs/dev/dubbogo.yaml | 6 + docs/prod/dubbogo.yaml | 6 + pkg/router/bundleOrder.go | 4 +- pkg/service/bundle/pay.go | 199 + pkg/service/init.go | 3 + 9 files changed, 11484 insertions(+), 1 deletion(-) create mode 100644 api/payment/payment.pb.go create mode 100644 api/payment/payment.proto create mode 100644 api/payment/payment.validator.pb.go create mode 100644 api/payment/payment_triple.pb.go diff --git a/api/payment/payment.pb.go b/api/payment/payment.pb.go new file mode 100644 index 0000000..85d7c3b --- /dev/null +++ b/api/payment/payment.pb.go @@ -0,0 +1,8719 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v5.26.1 +// source: pb/payment.proto + +package payment + +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 AntomPayQueryRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CheckoutSessionIds []string `protobuf:"bytes,1,rep,name=checkoutSessionIds,proto3" json:"checkoutSessionIds"` +} + +func (x *AntomPayQueryRequest) Reset() { + *x = AntomPayQueryRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AntomPayQueryRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AntomPayQueryRequest) ProtoMessage() {} + +func (x *AntomPayQueryRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 AntomPayQueryRequest.ProtoReflect.Descriptor instead. +func (*AntomPayQueryRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{0} +} + +func (x *AntomPayQueryRequest) GetCheckoutSessionIds() []string { + if x != nil { + return x.CheckoutSessionIds + } + return nil +} + +type AntomPayQueryResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Infos []*PaymentOrderInfo `protobuf:"bytes,1,rep,name=infos,proto3" json:"infos"` +} + +func (x *AntomPayQueryResponse) Reset() { + *x = AntomPayQueryResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AntomPayQueryResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AntomPayQueryResponse) ProtoMessage() {} + +func (x *AntomPayQueryResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 AntomPayQueryResponse.ProtoReflect.Descriptor instead. +func (*AntomPayQueryResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{1} +} + +func (x *AntomPayQueryResponse) GetInfos() []*PaymentOrderInfo { + if x != nil { + return x.Infos + } + return nil +} + +type AntomNotifyPayRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NotifyType string `protobuf:"bytes,1,opt,name=notifyType,proto3" json:"notifyType"` + RequestId string `protobuf:"bytes,2,opt,name=requestId,proto3" json:"requestId"` + PaymentId string `protobuf:"bytes,3,opt,name=paymentId,proto3" json:"paymentId"` + PaymentTime string `protobuf:"bytes,4,opt,name=paymentTime,proto3" json:"paymentTime"` + ResultStatus string `protobuf:"bytes,5,opt,name=resultStatus,proto3" json:"resultStatus"` + ResultMessage string `protobuf:"bytes,6,opt,name=resultMessage,proto3" json:"resultMessage"` +} + +func (x *AntomNotifyPayRequest) Reset() { + *x = AntomNotifyPayRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AntomNotifyPayRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AntomNotifyPayRequest) ProtoMessage() {} + +func (x *AntomNotifyPayRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 AntomNotifyPayRequest.ProtoReflect.Descriptor instead. +func (*AntomNotifyPayRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{2} +} + +func (x *AntomNotifyPayRequest) GetNotifyType() string { + if x != nil { + return x.NotifyType + } + return "" +} + +func (x *AntomNotifyPayRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *AntomNotifyPayRequest) GetPaymentId() string { + if x != nil { + return x.PaymentId + } + return "" +} + +func (x *AntomNotifyPayRequest) GetPaymentTime() string { + if x != nil { + return x.PaymentTime + } + return "" +} + +func (x *AntomNotifyPayRequest) GetResultStatus() string { + if x != nil { + return x.ResultStatus + } + return "" +} + +func (x *AntomNotifyPayRequest) GetResultMessage() string { + if x != nil { + return x.ResultMessage + } + return "" +} + +type AntomNotifyPayResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + OutTradeNo string `protobuf:"bytes,2,opt,name=outTradeNo,proto3" json:"outTradeNo"` +} + +func (x *AntomNotifyPayResponse) Reset() { + *x = AntomNotifyPayResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AntomNotifyPayResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AntomNotifyPayResponse) ProtoMessage() {} + +func (x *AntomNotifyPayResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 AntomNotifyPayResponse.ProtoReflect.Descriptor instead. +func (*AntomNotifyPayResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{3} +} + +func (x *AntomNotifyPayResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *AntomNotifyPayResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +type CreatePayRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PostUrl string `protobuf:"bytes,1,opt,name=postUrl,proto3" json:"postUrl"` // 请求接口 + Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject"` // 订单标题 + ProductUUID string `protobuf:"bytes,3,opt,name=productUUID,proto3" json:"productUUID"` // 商品uid + ProductName string `protobuf:"bytes,4,opt,name=productName,proto3" json:"productName"` // 商品名称 + ProductImg string `protobuf:"bytes,5,opt,name=productImg,proto3" json:"productImg"` // 商品图像 + ProductDescription string `protobuf:"bytes,6,opt,name=productDescription,proto3" json:"productDescription"` // 商品描述 + QuitUrl string `protobuf:"bytes,7,opt,name=quitUrl,proto3" json:"quitUrl"` // 退出url + NotifyUrl string `protobuf:"bytes,8,opt,name=notifyUrl,proto3" json:"notifyUrl"` // 回调url + ReturnUrl string `protobuf:"bytes,9,opt,name=returnUrl,proto3" json:"returnUrl"` // 返回url + OutTradeNo string `protobuf:"bytes,10,opt,name=outTradeNo,proto3" json:"outTradeNo"` // 外部流水号 + ChannelTradeNo string `protobuf:"bytes,11,opt,name=channelTradeNo,proto3" json:"channelTradeNo"` // 渠道流水号 + CheckSessionId string `protobuf:"bytes,12,opt,name=checkSessionId,proto3" json:"checkSessionId"` // stripe的支付会话id + Amount int64 `protobuf:"varint,13,opt,name=amount,proto3" json:"amount"` // 金额 + Currency string `protobuf:"bytes,14,opt,name=currency,proto3" json:"currency"` // 币种 + Payee string `protobuf:"bytes,15,opt,name=payee,proto3" json:"payee"` // 收款方 + ChannelType string `protobuf:"bytes,16,opt,name=channelType,proto3" json:"channelType"` // 支付渠道 alipay-支付宝 wxpay-微信 stripe-Stripe支付 + Platform string `protobuf:"bytes,17,opt,name=platform,proto3" json:"platform"` // 支付具体来源,是app还是h5还是jsapi还是wap + Domain string `protobuf:"bytes,18,opt,name=domain,proto3" json:"domain"` // 使用平台 + BusinessType string `protobuf:"bytes,19,opt,name=businessType,proto3" json:"businessType"` // 业务类型,用来确认mq发送 + Language string `protobuf:"bytes,20,opt,name=language,proto3" json:"language"` // 语言,国际化 + ClientIp string `protobuf:"bytes,21,opt,name=clientIp,proto3" json:"clientIp"` + OpenID string `protobuf:"bytes,22,opt,name=openID,proto3" json:"openID"` // 微信的参数 + TimeExpire int32 `protobuf:"varint,23,opt,name=timeExpire,proto3" json:"timeExpire"` // 微信的参数 + Locale string `protobuf:"bytes,24,opt,name=locale,proto3" json:"locale"` // stripe参数,区域,跟页面国际化有关 +} + +func (x *CreatePayRequest) Reset() { + *x = CreatePayRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreatePayRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePayRequest) ProtoMessage() {} + +func (x *CreatePayRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 CreatePayRequest.ProtoReflect.Descriptor instead. +func (*CreatePayRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{4} +} + +func (x *CreatePayRequest) GetPostUrl() string { + if x != nil { + return x.PostUrl + } + return "" +} + +func (x *CreatePayRequest) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *CreatePayRequest) GetProductUUID() string { + if x != nil { + return x.ProductUUID + } + return "" +} + +func (x *CreatePayRequest) GetProductName() string { + if x != nil { + return x.ProductName + } + return "" +} + +func (x *CreatePayRequest) GetProductImg() string { + if x != nil { + return x.ProductImg + } + return "" +} + +func (x *CreatePayRequest) GetProductDescription() string { + if x != nil { + return x.ProductDescription + } + return "" +} + +func (x *CreatePayRequest) GetQuitUrl() string { + if x != nil { + return x.QuitUrl + } + return "" +} + +func (x *CreatePayRequest) GetNotifyUrl() string { + if x != nil { + return x.NotifyUrl + } + return "" +} + +func (x *CreatePayRequest) GetReturnUrl() string { + if x != nil { + return x.ReturnUrl + } + return "" +} + +func (x *CreatePayRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *CreatePayRequest) GetChannelTradeNo() string { + if x != nil { + return x.ChannelTradeNo + } + return "" +} + +func (x *CreatePayRequest) GetCheckSessionId() string { + if x != nil { + return x.CheckSessionId + } + return "" +} + +func (x *CreatePayRequest) GetAmount() int64 { + if x != nil { + return x.Amount + } + return 0 +} + +func (x *CreatePayRequest) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +func (x *CreatePayRequest) GetPayee() string { + if x != nil { + return x.Payee + } + return "" +} + +func (x *CreatePayRequest) GetChannelType() string { + if x != nil { + return x.ChannelType + } + return "" +} + +func (x *CreatePayRequest) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *CreatePayRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *CreatePayRequest) GetBusinessType() string { + if x != nil { + return x.BusinessType + } + return "" +} + +func (x *CreatePayRequest) GetLanguage() string { + if x != nil { + return x.Language + } + return "" +} + +func (x *CreatePayRequest) GetClientIp() string { + if x != nil { + return x.ClientIp + } + return "" +} + +func (x *CreatePayRequest) GetOpenID() string { + if x != nil { + return x.OpenID + } + return "" +} + +func (x *CreatePayRequest) GetTimeExpire() int32 { + if x != nil { + return x.TimeExpire + } + return 0 +} + +func (x *CreatePayRequest) GetLocale() string { + if x != nil { + return x.Locale + } + return "" +} + +type CreatePayResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url"` + LogRecordID string `protobuf:"bytes,2,opt,name=logRecordID,json=log_record_ID,proto3" json:"logRecordID"` + Msg string `protobuf:"bytes,3,opt,name=msg,proto3" json:"msg"` + Appid string `protobuf:"bytes,4,opt,name=appid,proto3" json:"appid"` + TimeStamp string `protobuf:"bytes,5,opt,name=timeStamp,proto3" json:"timeStamp"` + Package string `protobuf:"bytes,6,opt,name=package,proto3" json:"package"` + SignType string `protobuf:"bytes,7,opt,name=signType,proto3" json:"signType"` + NonceStr string `protobuf:"bytes,8,opt,name=nonceStr,proto3" json:"nonceStr"` + PaySign string `protobuf:"bytes,9,opt,name=paySign,proto3" json:"paySign"` + PrepayId string `protobuf:"bytes,10,opt,name=prepayId,proto3" json:"prepayId"` + PartnerId string `protobuf:"bytes,11,opt,name=partnerId,proto3" json:"partnerId"` + CheckoutSessionId string `protobuf:"bytes,12,opt,name=checkoutSessionId,proto3" json:"checkoutSessionId"` +} + +func (x *CreatePayResponse) Reset() { + *x = CreatePayResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreatePayResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePayResponse) ProtoMessage() {} + +func (x *CreatePayResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 CreatePayResponse.ProtoReflect.Descriptor instead. +func (*CreatePayResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{5} +} + +func (x *CreatePayResponse) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *CreatePayResponse) GetLogRecordID() string { + if x != nil { + return x.LogRecordID + } + return "" +} + +func (x *CreatePayResponse) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *CreatePayResponse) GetAppid() string { + if x != nil { + return x.Appid + } + return "" +} + +func (x *CreatePayResponse) GetTimeStamp() string { + if x != nil { + return x.TimeStamp + } + return "" +} + +func (x *CreatePayResponse) GetPackage() string { + if x != nil { + return x.Package + } + return "" +} + +func (x *CreatePayResponse) GetSignType() string { + if x != nil { + return x.SignType + } + return "" +} + +func (x *CreatePayResponse) GetNonceStr() string { + if x != nil { + return x.NonceStr + } + return "" +} + +func (x *CreatePayResponse) GetPaySign() string { + if x != nil { + return x.PaySign + } + return "" +} + +func (x *CreatePayResponse) GetPrepayId() string { + if x != nil { + return x.PrepayId + } + return "" +} + +func (x *CreatePayResponse) GetPartnerId() string { + if x != nil { + return x.PartnerId + } + return "" +} + +func (x *CreatePayResponse) GetCheckoutSessionId() string { + if x != nil { + return x.CheckoutSessionId + } + return "" +} + +type CreateRefundRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PostUrl string `protobuf:"bytes,1,opt,name=postUrl,proto3" json:"postUrl"` // 请求接口 + Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject"` // 订单标题 + ProductUUID string `protobuf:"bytes,3,opt,name=productUUID,proto3" json:"productUUID"` // 商品uid + OutTradeNo string `protobuf:"bytes,4,opt,name=outTradeNo,proto3" json:"outTradeNo"` // 外部流水号 + ChannelTradeNo string `protobuf:"bytes,5,opt,name=channelTradeNo,proto3" json:"channelTradeNo"` // 渠道流水号 + CheckSessionId string `protobuf:"bytes,6,opt,name=checkSessionId,proto3" json:"checkSessionId"` // stripe的支付会话id + RefundAmount int64 `protobuf:"varint,7,opt,name=refundAmount,proto3" json:"refundAmount"` // 退款金额 + Currency string `protobuf:"bytes,8,opt,name=currency,proto3" json:"currency"` // 币种 + Payee string `protobuf:"bytes,9,opt,name=payee,proto3" json:"payee"` // 收款方 + ChannelType string `protobuf:"bytes,10,opt,name=channelType,proto3" json:"channelType"` // 支付渠道 alipay-支付宝 wxpay-微信 stripe-Stripe支付 + Platform string `protobuf:"bytes,11,opt,name=platform,proto3" json:"platform"` // 支付具体来源,是app还是h5还是jsapi还是wap + Domain string `protobuf:"bytes,12,opt,name=domain,proto3" json:"domain"` // 使用平台 + BusinessType string `protobuf:"bytes,13,opt,name=businessType,proto3" json:"businessType"` // 业务类型,用来确认mq发送 + Language string `protobuf:"bytes,14,opt,name=language,proto3" json:"language"` // 语言,国际化 + ClientIp string `protobuf:"bytes,15,opt,name=clientIp,proto3" json:"clientIp"` + OpenID string `protobuf:"bytes,16,opt,name=openID,proto3" json:"openID"` // 微信的参数 + CreatorId int64 `protobuf:"varint,17,opt,name=creatorId,proto3" json:"creatorId"` // 创建人id + CreatorName string `protobuf:"bytes,18,opt,name=creatorName,proto3" json:"creatorName"` // 创建人名称 + RefundReason string `protobuf:"bytes,19,opt,name=refundReason,proto3" json:"refundReason"` // 退款理由 +} + +func (x *CreateRefundRequest) Reset() { + *x = CreateRefundRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateRefundRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateRefundRequest) ProtoMessage() {} + +func (x *CreateRefundRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 CreateRefundRequest.ProtoReflect.Descriptor instead. +func (*CreateRefundRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{6} +} + +func (x *CreateRefundRequest) GetPostUrl() string { + if x != nil { + return x.PostUrl + } + return "" +} + +func (x *CreateRefundRequest) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *CreateRefundRequest) GetProductUUID() string { + if x != nil { + return x.ProductUUID + } + return "" +} + +func (x *CreateRefundRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *CreateRefundRequest) GetChannelTradeNo() string { + if x != nil { + return x.ChannelTradeNo + } + return "" +} + +func (x *CreateRefundRequest) GetCheckSessionId() string { + if x != nil { + return x.CheckSessionId + } + return "" +} + +func (x *CreateRefundRequest) GetRefundAmount() int64 { + if x != nil { + return x.RefundAmount + } + return 0 +} + +func (x *CreateRefundRequest) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +func (x *CreateRefundRequest) GetPayee() string { + if x != nil { + return x.Payee + } + return "" +} + +func (x *CreateRefundRequest) GetChannelType() string { + if x != nil { + return x.ChannelType + } + return "" +} + +func (x *CreateRefundRequest) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *CreateRefundRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *CreateRefundRequest) GetBusinessType() string { + if x != nil { + return x.BusinessType + } + return "" +} + +func (x *CreateRefundRequest) GetLanguage() string { + if x != nil { + return x.Language + } + return "" +} + +func (x *CreateRefundRequest) GetClientIp() string { + if x != nil { + return x.ClientIp + } + return "" +} + +func (x *CreateRefundRequest) GetOpenID() string { + if x != nil { + return x.OpenID + } + return "" +} + +func (x *CreateRefundRequest) GetCreatorId() int64 { + if x != nil { + return x.CreatorId + } + return 0 +} + +func (x *CreateRefundRequest) GetCreatorName() string { + if x != nil { + return x.CreatorName + } + return "" +} + +func (x *CreateRefundRequest) GetRefundReason() string { + if x != nil { + return x.RefundReason + } + return "" +} + +type CreateRefundResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code int64 `protobuf:"varint,1,opt,name=code,proto3" json:"code"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg"` +} + +func (x *CreateRefundResponse) Reset() { + *x = CreateRefundResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateRefundResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateRefundResponse) ProtoMessage() {} + +func (x *CreateRefundResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 CreateRefundResponse.ProtoReflect.Descriptor instead. +func (*CreateRefundResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{7} +} + +func (x *CreateRefundResponse) GetCode() int64 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *CreateRefundResponse) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type NotifyPayRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PostUrl string `protobuf:"bytes,1,opt,name=postUrl,proto3" json:"postUrl"` // 请求接口 + HttpRequest *HttpRequest `protobuf:"bytes,2,opt,name=http_request,json=httpRequest,proto3" json:"http_request"` + RawQuery string `protobuf:"bytes,3,opt,name=rawQuery,json=raw_query,proto3" json:"rawQuery"` +} + +func (x *NotifyPayRequest) Reset() { + *x = NotifyPayRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NotifyPayRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotifyPayRequest) ProtoMessage() {} + +func (x *NotifyPayRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 NotifyPayRequest.ProtoReflect.Descriptor instead. +func (*NotifyPayRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{8} +} + +func (x *NotifyPayRequest) GetPostUrl() string { + if x != nil { + return x.PostUrl + } + return "" +} + +func (x *NotifyPayRequest) GetHttpRequest() *HttpRequest { + if x != nil { + return x.HttpRequest + } + return nil +} + +func (x *NotifyPayRequest) GetRawQuery() string { + if x != nil { + return x.RawQuery + } + return "" +} + +type NotifyPayResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` + OutTradeNo string `protobuf:"bytes,2,opt,name=outTradeNo,proto3" json:"outTradeNo"` +} + +func (x *NotifyPayResponse) Reset() { + *x = NotifyPayResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NotifyPayResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotifyPayResponse) ProtoMessage() {} + +func (x *NotifyPayResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 NotifyPayResponse.ProtoReflect.Descriptor instead. +func (*NotifyPayResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{9} +} + +func (x *NotifyPayResponse) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *NotifyPayResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +type HttpRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Method string `protobuf:"bytes,1,opt,name=method,proto3" json:"method"` + Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url"` + Headers map[string]string `protobuf:"bytes,3,rep,name=headers,proto3" json:"headers" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Body []byte `protobuf:"bytes,4,opt,name=body,proto3" json:"body"` +} + +func (x *HttpRequest) Reset() { + *x = HttpRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HttpRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HttpRequest) ProtoMessage() {} + +func (x *HttpRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 HttpRequest.ProtoReflect.Descriptor instead. +func (*HttpRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{10} +} + +func (x *HttpRequest) GetMethod() string { + if x != nil { + return x.Method + } + return "" +} + +func (x *HttpRequest) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *HttpRequest) GetHeaders() map[string]string { + if x != nil { + return x.Headers + } + return nil +} + +func (x *HttpRequest) GetBody() []byte { + if x != nil { + return x.Body + } + return nil +} + +type CommonMsg struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *CommonMsg) Reset() { + *x = CommonMsg{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommonMsg) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommonMsg) ProtoMessage() {} + +func (x *CommonMsg) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 CommonMsg.ProtoReflect.Descriptor instead. +func (*CommonMsg) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{11} +} + +func (x *CommonMsg) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type EmptyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *EmptyRequest) Reset() { + *x = EmptyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EmptyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EmptyRequest) ProtoMessage() {} + +func (x *EmptyRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 EmptyRequest.ProtoReflect.Descriptor instead. +func (*EmptyRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{12} +} + +type CreateStripeCheckoutSessionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProductUUID string `protobuf:"bytes,1,opt,name=productUUID,proto3" json:"productUUID"` + ProductName string `protobuf:"bytes,2,opt,name=productName,proto3" json:"productName"` + ProductQuantity int64 `protobuf:"varint,3,opt,name=productQuantity,proto3" json:"productQuantity"` + ProductAllPrice int64 `protobuf:"varint,4,opt,name=productAllPrice,proto3" json:"productAllPrice"` + ProductDescription string `protobuf:"bytes,5,opt,name=productDescription,proto3" json:"productDescription"` + ProductImageUrl string `protobuf:"bytes,6,opt,name=productImageUrl,proto3" json:"productImageUrl"` + ProductPriceCurrency string `protobuf:"bytes,7,opt,name=productPriceCurrency,proto3" json:"productPriceCurrency"` + CreaterID string `protobuf:"bytes,8,opt,name=createrID,proto3" json:"createrID"` + CreaterName string `protobuf:"bytes,9,opt,name=createrName,proto3" json:"createrName"` + Domain string `protobuf:"bytes,10,opt,name=domain,proto3" json:"domain"` + SuccessUrl string `protobuf:"bytes,11,opt,name=successUrl,proto3" json:"successUrl"` + CancelUrl string `protobuf:"bytes,12,opt,name=cancelUrl,proto3" json:"cancelUrl"` + OutTradeNo string `protobuf:"bytes,13,opt,name=outTradeNo,proto3" json:"outTradeNo"` + Locale string `protobuf:"bytes,14,opt,name=locale,proto3" json:"locale"` +} + +func (x *CreateStripeCheckoutSessionRequest) Reset() { + *x = CreateStripeCheckoutSessionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateStripeCheckoutSessionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateStripeCheckoutSessionRequest) ProtoMessage() {} + +func (x *CreateStripeCheckoutSessionRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 CreateStripeCheckoutSessionRequest.ProtoReflect.Descriptor instead. +func (*CreateStripeCheckoutSessionRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{13} +} + +func (x *CreateStripeCheckoutSessionRequest) GetProductUUID() string { + if x != nil { + return x.ProductUUID + } + return "" +} + +func (x *CreateStripeCheckoutSessionRequest) GetProductName() string { + if x != nil { + return x.ProductName + } + return "" +} + +func (x *CreateStripeCheckoutSessionRequest) GetProductQuantity() int64 { + if x != nil { + return x.ProductQuantity + } + return 0 +} + +func (x *CreateStripeCheckoutSessionRequest) GetProductAllPrice() int64 { + if x != nil { + return x.ProductAllPrice + } + return 0 +} + +func (x *CreateStripeCheckoutSessionRequest) GetProductDescription() string { + if x != nil { + return x.ProductDescription + } + return "" +} + +func (x *CreateStripeCheckoutSessionRequest) GetProductImageUrl() string { + if x != nil { + return x.ProductImageUrl + } + return "" +} + +func (x *CreateStripeCheckoutSessionRequest) GetProductPriceCurrency() string { + if x != nil { + return x.ProductPriceCurrency + } + return "" +} + +func (x *CreateStripeCheckoutSessionRequest) GetCreaterID() string { + if x != nil { + return x.CreaterID + } + return "" +} + +func (x *CreateStripeCheckoutSessionRequest) GetCreaterName() string { + if x != nil { + return x.CreaterName + } + return "" +} + +func (x *CreateStripeCheckoutSessionRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *CreateStripeCheckoutSessionRequest) GetSuccessUrl() string { + if x != nil { + return x.SuccessUrl + } + return "" +} + +func (x *CreateStripeCheckoutSessionRequest) GetCancelUrl() string { + if x != nil { + return x.CancelUrl + } + return "" +} + +func (x *CreateStripeCheckoutSessionRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *CreateStripeCheckoutSessionRequest) GetLocale() string { + if x != nil { + return x.Locale + } + return "" +} + +type CreateStripeCheckoutSessionResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CheckoutSessionId string `protobuf:"bytes,1,opt,name=checkoutSessionId,proto3" json:"checkoutSessionId"` + CheckoutSessionUrl string `protobuf:"bytes,2,opt,name=checkoutSessionUrl,proto3" json:"checkoutSessionUrl"` +} + +func (x *CreateStripeCheckoutSessionResponse) Reset() { + *x = CreateStripeCheckoutSessionResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateStripeCheckoutSessionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateStripeCheckoutSessionResponse) ProtoMessage() {} + +func (x *CreateStripeCheckoutSessionResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 CreateStripeCheckoutSessionResponse.ProtoReflect.Descriptor instead. +func (*CreateStripeCheckoutSessionResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{14} +} + +func (x *CreateStripeCheckoutSessionResponse) GetCheckoutSessionId() string { + if x != nil { + return x.CheckoutSessionId + } + return "" +} + +func (x *CreateStripeCheckoutSessionResponse) GetCheckoutSessionUrl() string { + if x != nil { + return x.CheckoutSessionUrl + } + return "" +} + +type GetCheckoutWebhookRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PostUrl string `protobuf:"bytes,1,opt,name=postUrl,proto3" json:"postUrl"` // 请求接口 + Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type"` // 事件类型,例如"payment_intent.succeeded" + Payload string `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload"` // 事件的原始JSON payload + Signature string `protobuf:"bytes,4,opt,name=signature,proto3" json:"signature"` // Stripe-Signature头的值,用于验证事件 + WebhookKey string `protobuf:"bytes,5,opt,name=webhookKey,proto3" json:"webhookKey"` // Webhook密钥 +} + +func (x *GetCheckoutWebhookRequest) Reset() { + *x = GetCheckoutWebhookRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetCheckoutWebhookRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetCheckoutWebhookRequest) ProtoMessage() {} + +func (x *GetCheckoutWebhookRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 GetCheckoutWebhookRequest.ProtoReflect.Descriptor instead. +func (*GetCheckoutWebhookRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{15} +} + +func (x *GetCheckoutWebhookRequest) GetPostUrl() string { + if x != nil { + return x.PostUrl + } + return "" +} + +func (x *GetCheckoutWebhookRequest) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *GetCheckoutWebhookRequest) GetPayload() string { + if x != nil { + return x.Payload + } + return "" +} + +func (x *GetCheckoutWebhookRequest) GetSignature() string { + if x != nil { + return x.Signature + } + return "" +} + +func (x *GetCheckoutWebhookRequest) GetWebhookKey() string { + if x != nil { + return x.WebhookKey + } + return "" +} + +type GetCheckoutWebhookResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success"` // 处理是否成功 + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message"` // 可选的处理消息 + OutTradeNo string `protobuf:"bytes,3,opt,name=outTradeNo,proto3" json:"outTradeNo"` + PaymentIntentStatus string `protobuf:"bytes,4,opt,name=paymentIntentStatus,proto3" json:"paymentIntentStatus"` +} + +func (x *GetCheckoutWebhookResponse) Reset() { + *x = GetCheckoutWebhookResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetCheckoutWebhookResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetCheckoutWebhookResponse) ProtoMessage() {} + +func (x *GetCheckoutWebhookResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 GetCheckoutWebhookResponse.ProtoReflect.Descriptor instead. +func (*GetCheckoutWebhookResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{16} +} + +func (x *GetCheckoutWebhookResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *GetCheckoutWebhookResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *GetCheckoutWebhookResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *GetCheckoutWebhookResponse) GetPaymentIntentStatus() string { + if x != nil { + return x.PaymentIntentStatus + } + return "" +} + +type GetStripePaymentIntentInfoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CheckoutSessionId string `protobuf:"bytes,1,opt,name=checkoutSessionId,proto3" json:"checkoutSessionId"` + CreaterID string `protobuf:"bytes,2,opt,name=createrID,proto3" json:"createrID"` +} + +func (x *GetStripePaymentIntentInfoRequest) Reset() { + *x = GetStripePaymentIntentInfoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetStripePaymentIntentInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetStripePaymentIntentInfoRequest) ProtoMessage() {} + +func (x *GetStripePaymentIntentInfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 GetStripePaymentIntentInfoRequest.ProtoReflect.Descriptor instead. +func (*GetStripePaymentIntentInfoRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{17} +} + +func (x *GetStripePaymentIntentInfoRequest) GetCheckoutSessionId() string { + if x != nil { + return x.CheckoutSessionId + } + return "" +} + +func (x *GetStripePaymentIntentInfoRequest) GetCreaterID() string { + if x != nil { + return x.CreaterID + } + return "" +} + +type GetStripePaymentIntentInfoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CheckoutSessionId string `protobuf:"bytes,1,opt,name=checkoutSessionId,proto3" json:"checkoutSessionId"` + CheckoutSessionStatus string `protobuf:"bytes,2,opt,name=checkoutSessionStatus,proto3" json:"checkoutSessionStatus"` + PaymentIntentId string `protobuf:"bytes,3,opt,name=paymentIntentId,proto3" json:"paymentIntentId"` + PaymentIntentCreated string `protobuf:"bytes,4,opt,name=paymentIntentCreated,proto3" json:"paymentIntentCreated"` + PaymentIntentStatus string `protobuf:"bytes,5,opt,name=paymentIntentStatus,proto3" json:"paymentIntentStatus"` + ChargeId string `protobuf:"bytes,6,opt,name=chargeId,proto3" json:"chargeId"` + PayPrice int64 `protobuf:"varint,7,opt,name=payPrice,proto3" json:"payPrice"` + PayExchangeRate string `protobuf:"bytes,8,opt,name=payExchangeRate,proto3" json:"payExchangeRate"` + PayCurrency string `protobuf:"bytes,9,opt,name=payCurrency,proto3" json:"payCurrency"` + AccountCurrency string `protobuf:"bytes,10,opt,name=accountCurrency,proto3" json:"accountCurrency"` + AfterRatePayPrice int64 `protobuf:"varint,11,opt,name=afterRatePayPrice,proto3" json:"afterRatePayPrice"` + PayHandingFee int64 `protobuf:"varint,12,opt,name=payHandingFee,proto3" json:"payHandingFee"` + AfterRatePayNetAmount int64 `protobuf:"varint,13,opt,name=afterRatePayNetAmount,proto3" json:"afterRatePayNetAmount"` + CustomerId string `protobuf:"bytes,14,opt,name=customerId,proto3" json:"customerId"` + RefundPrice int64 `protobuf:"varint,15,opt,name=refundPrice,proto3" json:"refundPrice"` + OutTradeNo string `protobuf:"bytes,16,opt,name=outTradeNo,proto3" json:"outTradeNo"` +} + +func (x *GetStripePaymentIntentInfoResponse) Reset() { + *x = GetStripePaymentIntentInfoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetStripePaymentIntentInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetStripePaymentIntentInfoResponse) ProtoMessage() {} + +func (x *GetStripePaymentIntentInfoResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 GetStripePaymentIntentInfoResponse.ProtoReflect.Descriptor instead. +func (*GetStripePaymentIntentInfoResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{18} +} + +func (x *GetStripePaymentIntentInfoResponse) GetCheckoutSessionId() string { + if x != nil { + return x.CheckoutSessionId + } + return "" +} + +func (x *GetStripePaymentIntentInfoResponse) GetCheckoutSessionStatus() string { + if x != nil { + return x.CheckoutSessionStatus + } + return "" +} + +func (x *GetStripePaymentIntentInfoResponse) GetPaymentIntentId() string { + if x != nil { + return x.PaymentIntentId + } + return "" +} + +func (x *GetStripePaymentIntentInfoResponse) GetPaymentIntentCreated() string { + if x != nil { + return x.PaymentIntentCreated + } + return "" +} + +func (x *GetStripePaymentIntentInfoResponse) GetPaymentIntentStatus() string { + if x != nil { + return x.PaymentIntentStatus + } + return "" +} + +func (x *GetStripePaymentIntentInfoResponse) GetChargeId() string { + if x != nil { + return x.ChargeId + } + return "" +} + +func (x *GetStripePaymentIntentInfoResponse) GetPayPrice() int64 { + if x != nil { + return x.PayPrice + } + return 0 +} + +func (x *GetStripePaymentIntentInfoResponse) GetPayExchangeRate() string { + if x != nil { + return x.PayExchangeRate + } + return "" +} + +func (x *GetStripePaymentIntentInfoResponse) GetPayCurrency() string { + if x != nil { + return x.PayCurrency + } + return "" +} + +func (x *GetStripePaymentIntentInfoResponse) GetAccountCurrency() string { + if x != nil { + return x.AccountCurrency + } + return "" +} + +func (x *GetStripePaymentIntentInfoResponse) GetAfterRatePayPrice() int64 { + if x != nil { + return x.AfterRatePayPrice + } + return 0 +} + +func (x *GetStripePaymentIntentInfoResponse) GetPayHandingFee() int64 { + if x != nil { + return x.PayHandingFee + } + return 0 +} + +func (x *GetStripePaymentIntentInfoResponse) GetAfterRatePayNetAmount() int64 { + if x != nil { + return x.AfterRatePayNetAmount + } + return 0 +} + +func (x *GetStripePaymentIntentInfoResponse) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +func (x *GetStripePaymentIntentInfoResponse) GetRefundPrice() int64 { + if x != nil { + return x.RefundPrice + } + return 0 +} + +func (x *GetStripePaymentIntentInfoResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +type GetRefundInfoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RefundId string `protobuf:"bytes,1,opt,name=refundId,proto3" json:"refundId"` + CreaterID string `protobuf:"bytes,2,opt,name=createrID,proto3" json:"createrID"` +} + +func (x *GetRefundInfoRequest) Reset() { + *x = GetRefundInfoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetRefundInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRefundInfoRequest) ProtoMessage() {} + +func (x *GetRefundInfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 GetRefundInfoRequest.ProtoReflect.Descriptor instead. +func (*GetRefundInfoRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{19} +} + +func (x *GetRefundInfoRequest) GetRefundId() string { + if x != nil { + return x.RefundId + } + return "" +} + +func (x *GetRefundInfoRequest) GetCreaterID() string { + if x != nil { + return x.CreaterID + } + return "" +} + +type GetRefundInfoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RefundStatus string `protobuf:"bytes,1,opt,name=refundStatus,proto3" json:"refundStatus"` +} + +func (x *GetRefundInfoResponse) Reset() { + *x = GetRefundInfoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetRefundInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRefundInfoResponse) ProtoMessage() {} + +func (x *GetRefundInfoResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 GetRefundInfoResponse.ProtoReflect.Descriptor instead. +func (*GetRefundInfoResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{20} +} + +func (x *GetRefundInfoResponse) GetRefundStatus() string { + if x != nil { + return x.RefundStatus + } + return "" +} + +type AliWapPayRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subject string `protobuf:"bytes,1,opt,name=subject,proto3" json:"subject"` + ProductCode string `protobuf:"bytes,2,opt,name=productCode,json=product_code,proto3" json:"productCode"` + OutTradeNo string `protobuf:"bytes,3,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` + QuitUrl string `protobuf:"bytes,4,opt,name=quitUrl,json=quit_url,proto3" json:"quitUrl"` + NotifyUrl string `protobuf:"bytes,5,opt,name=notifyUrl,json=notify_url,proto3" json:"notifyUrl"` + ReturnUrl string `protobuf:"bytes,6,opt,name=returnUrl,json=return_url,proto3" json:"returnUrl"` + TotalAmount int32 `protobuf:"varint,7,opt,name=totalAmount,json=total_amount,proto3" json:"totalAmount"` + TimeExpire int32 `protobuf:"varint,8,opt,name=timeExpire,json=time_expire,proto3" json:"timeExpire"` + Domain string `protobuf:"bytes,9,opt,name=domain,proto3" json:"domain"` + Platform string `protobuf:"bytes,10,opt,name=platform,proto3" json:"platform"` +} + +func (x *AliWapPayRequest) Reset() { + *x = AliWapPayRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliWapPayRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliWapPayRequest) ProtoMessage() {} + +func (x *AliWapPayRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 AliWapPayRequest.ProtoReflect.Descriptor instead. +func (*AliWapPayRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{21} +} + +func (x *AliWapPayRequest) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *AliWapPayRequest) GetProductCode() string { + if x != nil { + return x.ProductCode + } + return "" +} + +func (x *AliWapPayRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *AliWapPayRequest) GetQuitUrl() string { + if x != nil { + return x.QuitUrl + } + return "" +} + +func (x *AliWapPayRequest) GetNotifyUrl() string { + if x != nil { + return x.NotifyUrl + } + return "" +} + +func (x *AliWapPayRequest) GetReturnUrl() string { + if x != nil { + return x.ReturnUrl + } + return "" +} + +func (x *AliWapPayRequest) GetTotalAmount() int32 { + if x != nil { + return x.TotalAmount + } + return 0 +} + +func (x *AliWapPayRequest) GetTimeExpire() int32 { + if x != nil { + return x.TimeExpire + } + return 0 +} + +func (x *AliWapPayRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *AliWapPayRequest) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type AliWapPayResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url"` + LogRecordID string `protobuf:"bytes,2,opt,name=logRecordID,json=log_record_ID,proto3" json:"logRecordID"` + Msg string `protobuf:"bytes,3,opt,name=msg,proto3" json:"msg"` +} + +func (x *AliWapPayResponse) Reset() { + *x = AliWapPayResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliWapPayResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliWapPayResponse) ProtoMessage() {} + +func (x *AliWapPayResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 AliWapPayResponse.ProtoReflect.Descriptor instead. +func (*AliWapPayResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{22} +} + +func (x *AliWapPayResponse) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *AliWapPayResponse) GetLogRecordID() string { + if x != nil { + return x.LogRecordID + } + return "" +} + +func (x *AliWapPayResponse) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type AliAppPayRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subject string `protobuf:"bytes,1,opt,name=subject,proto3" json:"subject"` + ProductCode string `protobuf:"bytes,2,opt,name=productCode,json=product_code,proto3" json:"productCode"` + OutTradeNo string `protobuf:"bytes,3,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` + QuitUrl string `protobuf:"bytes,4,opt,name=quitUrl,json=quit_url,proto3" json:"quitUrl"` + NotifyUrl string `protobuf:"bytes,5,opt,name=notifyUrl,json=notify_url,proto3" json:"notifyUrl"` + ReturnUrl string `protobuf:"bytes,6,opt,name=returnUrl,json=return_url,proto3" json:"returnUrl"` + TotalAmount string `protobuf:"bytes,7,opt,name=totalAmount,json=total_amount,proto3" json:"totalAmount"` + TimeExpire int32 `protobuf:"varint,8,opt,name=timeExpire,json=time_expire,proto3" json:"timeExpire"` + Domain string `protobuf:"bytes,9,opt,name=domain,proto3" json:"domain"` + Platform string `protobuf:"bytes,10,opt,name=platform,proto3" json:"platform"` + PayType int32 `protobuf:"varint,11,opt,name=payType,proto3" json:"payType"` +} + +func (x *AliAppPayRequest) Reset() { + *x = AliAppPayRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliAppPayRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliAppPayRequest) ProtoMessage() {} + +func (x *AliAppPayRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 AliAppPayRequest.ProtoReflect.Descriptor instead. +func (*AliAppPayRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{23} +} + +func (x *AliAppPayRequest) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *AliAppPayRequest) GetProductCode() string { + if x != nil { + return x.ProductCode + } + return "" +} + +func (x *AliAppPayRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *AliAppPayRequest) GetQuitUrl() string { + if x != nil { + return x.QuitUrl + } + return "" +} + +func (x *AliAppPayRequest) GetNotifyUrl() string { + if x != nil { + return x.NotifyUrl + } + return "" +} + +func (x *AliAppPayRequest) GetReturnUrl() string { + if x != nil { + return x.ReturnUrl + } + return "" +} + +func (x *AliAppPayRequest) GetTotalAmount() string { + if x != nil { + return x.TotalAmount + } + return "" +} + +func (x *AliAppPayRequest) GetTimeExpire() int32 { + if x != nil { + return x.TimeExpire + } + return 0 +} + +func (x *AliAppPayRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *AliAppPayRequest) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *AliAppPayRequest) GetPayType() int32 { + if x != nil { + return x.PayType + } + return 0 +} + +type AliAppPayResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url"` + LogRecordID string `protobuf:"bytes,2,opt,name=logRecordID,json=log_record_ID,proto3" json:"logRecordID"` + Msg string `protobuf:"bytes,3,opt,name=msg,proto3" json:"msg"` +} + +func (x *AliAppPayResponse) Reset() { + *x = AliAppPayResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliAppPayResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliAppPayResponse) ProtoMessage() {} + +func (x *AliAppPayResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 AliAppPayResponse.ProtoReflect.Descriptor instead. +func (*AliAppPayResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{24} +} + +func (x *AliAppPayResponse) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *AliAppPayResponse) GetLogRecordID() string { + if x != nil { + return x.LogRecordID + } + return "" +} + +func (x *AliAppPayResponse) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type AliNativePayRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subject string `protobuf:"bytes,1,opt,name=subject,proto3" json:"subject"` + OutTradeNo string `protobuf:"bytes,2,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` + NotifyUrl string `protobuf:"bytes,3,opt,name=notifyUrl,json=notify_url,proto3" json:"notifyUrl"` + TotalAmount int32 `protobuf:"varint,4,opt,name=totalAmount,json=total_amount,proto3" json:"totalAmount"` + TimeExpire int32 `protobuf:"varint,5,opt,name=timeExpire,json=time_expire,proto3" json:"timeExpire"` + Domain string `protobuf:"bytes,6,opt,name=domain,proto3" json:"domain"` + Platform string `protobuf:"bytes,7,opt,name=platform,proto3" json:"platform"` +} + +func (x *AliNativePayRequest) Reset() { + *x = AliNativePayRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliNativePayRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliNativePayRequest) ProtoMessage() {} + +func (x *AliNativePayRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 AliNativePayRequest.ProtoReflect.Descriptor instead. +func (*AliNativePayRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{25} +} + +func (x *AliNativePayRequest) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *AliNativePayRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *AliNativePayRequest) GetNotifyUrl() string { + if x != nil { + return x.NotifyUrl + } + return "" +} + +func (x *AliNativePayRequest) GetTotalAmount() int32 { + if x != nil { + return x.TotalAmount + } + return 0 +} + +func (x *AliNativePayRequest) GetTimeExpire() int32 { + if x != nil { + return x.TimeExpire + } + return 0 +} + +func (x *AliNativePayRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *AliNativePayRequest) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type AliNativePayResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg"` +} + +func (x *AliNativePayResponse) Reset() { + *x = AliNativePayResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliNativePayResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliNativePayResponse) ProtoMessage() {} + +func (x *AliNativePayResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 AliNativePayResponse.ProtoReflect.Descriptor instead. +func (*AliNativePayResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{26} +} + +func (x *AliNativePayResponse) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *AliNativePayResponse) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type AliPcWabPayRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subject string `protobuf:"bytes,1,opt,name=subject,proto3" json:"subject"` + OutTradeNo string `protobuf:"bytes,2,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` + NotifyUrl string `protobuf:"bytes,3,opt,name=notifyUrl,json=notify_url,proto3" json:"notifyUrl"` + TotalAmount int32 `protobuf:"varint,4,opt,name=totalAmount,json=total_amount,proto3" json:"totalAmount"` + TimeExpire int32 `protobuf:"varint,5,opt,name=timeExpire,json=time_expire,proto3" json:"timeExpire"` + Domain string `protobuf:"bytes,6,opt,name=domain,proto3" json:"domain"` + Platform string `protobuf:"bytes,7,opt,name=platform,proto3" json:"platform"` + QuitUrl string `protobuf:"bytes,8,opt,name=quitUrl,json=quit_url,proto3" json:"quitUrl"` + ReturnUrl string `protobuf:"bytes,9,opt,name=returnUrl,json=return_url,proto3" json:"returnUrl"` +} + +func (x *AliPcWabPayRequest) Reset() { + *x = AliPcWabPayRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliPcWabPayRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliPcWabPayRequest) ProtoMessage() {} + +func (x *AliPcWabPayRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 AliPcWabPayRequest.ProtoReflect.Descriptor instead. +func (*AliPcWabPayRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{27} +} + +func (x *AliPcWabPayRequest) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *AliPcWabPayRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *AliPcWabPayRequest) GetNotifyUrl() string { + if x != nil { + return x.NotifyUrl + } + return "" +} + +func (x *AliPcWabPayRequest) GetTotalAmount() int32 { + if x != nil { + return x.TotalAmount + } + return 0 +} + +func (x *AliPcWabPayRequest) GetTimeExpire() int32 { + if x != nil { + return x.TimeExpire + } + return 0 +} + +func (x *AliPcWabPayRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *AliPcWabPayRequest) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *AliPcWabPayRequest) GetQuitUrl() string { + if x != nil { + return x.QuitUrl + } + return "" +} + +func (x *AliPcWabPayRequest) GetReturnUrl() string { + if x != nil { + return x.ReturnUrl + } + return "" +} + +type AliPcWabPayResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PageRedirectionData string `protobuf:"bytes,1,opt,name=pageRedirectionData,json=page_redirection_data,proto3" json:"pageRedirectionData"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg"` +} + +func (x *AliPcWabPayResponse) Reset() { + *x = AliPcWabPayResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliPcWabPayResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliPcWabPayResponse) ProtoMessage() {} + +func (x *AliPcWabPayResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 AliPcWabPayResponse.ProtoReflect.Descriptor instead. +func (*AliPcWabPayResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{28} +} + +func (x *AliPcWabPayResponse) GetPageRedirectionData() string { + if x != nil { + return x.PageRedirectionData + } + return "" +} + +func (x *AliPcWabPayResponse) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type AliReFundRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OutTradeNo string `protobuf:"bytes,1,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` + TotalAmount int32 `protobuf:"varint,2,opt,name=totalAmount,json=total_amount,proto3" json:"totalAmount"` +} + +func (x *AliReFundRequest) Reset() { + *x = AliReFundRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliReFundRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliReFundRequest) ProtoMessage() {} + +func (x *AliReFundRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 AliReFundRequest.ProtoReflect.Descriptor instead. +func (*AliReFundRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{29} +} + +func (x *AliReFundRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *AliReFundRequest) GetTotalAmount() int32 { + if x != nil { + return x.TotalAmount + } + return 0 +} + +type AliReFundResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TradeNo string `protobuf:"bytes,1,opt,name=tradeNo,json=trade_no,proto3" json:"tradeNo"` + OutTradeNo string `protobuf:"bytes,2,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` + BuyerLogonId string `protobuf:"bytes,3,opt,name=buyer_logon_id,proto3" json:"buyer_logon_id"` + RefundFee string `protobuf:"bytes,4,opt,name=refund_fee,proto3" json:"refund_fee"` + Msg string `protobuf:"bytes,5,opt,name=msg,proto3" json:"msg"` +} + +func (x *AliReFundResponse) Reset() { + *x = AliReFundResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliReFundResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliReFundResponse) ProtoMessage() {} + +func (x *AliReFundResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 AliReFundResponse.ProtoReflect.Descriptor instead. +func (*AliReFundResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{30} +} + +func (x *AliReFundResponse) GetTradeNo() string { + if x != nil { + return x.TradeNo + } + return "" +} + +func (x *AliReFundResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *AliReFundResponse) GetBuyerLogonId() string { + if x != nil { + return x.BuyerLogonId + } + return "" +} + +func (x *AliReFundResponse) GetRefundFee() string { + if x != nil { + return x.RefundFee + } + return "" +} + +func (x *AliReFundResponse) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type AliNotifyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RawQuery string `protobuf:"bytes,1,opt,name=rawQuery,json=raw_query,proto3" json:"rawQuery"` +} + +func (x *AliNotifyRequest) Reset() { + *x = AliNotifyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliNotifyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliNotifyRequest) ProtoMessage() {} + +func (x *AliNotifyRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 AliNotifyRequest.ProtoReflect.Descriptor instead. +func (*AliNotifyRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{31} +} + +func (x *AliNotifyRequest) GetRawQuery() string { + if x != nil { + return x.RawQuery + } + return "" +} + +type AliNotifyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NotifyTime string `protobuf:"bytes,1,opt,name=notifyTime,json=notify_time,proto3" json:"notifyTime"` + NotifyType string `protobuf:"bytes,2,opt,name=notifyType,json=notify_type,proto3" json:"notifyType"` + NotifyId string `protobuf:"bytes,3,opt,name=notifyId,json=notify_id,proto3" json:"notifyId"` + AppId string `protobuf:"bytes,4,opt,name=appId,json=app_id,proto3" json:"appId"` + Version string `protobuf:"bytes,5,opt,name=version,proto3" json:"version"` + SignType string `protobuf:"bytes,6,opt,name=signType,json=sign_type,proto3" json:"signType"` + Sign string `protobuf:"bytes,7,opt,name=sign,proto3" json:"sign"` + TradeNo string `protobuf:"bytes,8,opt,name=tradeNo,json=trade_no,proto3" json:"tradeNo"` + OutTradeNo string `protobuf:"bytes,9,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` + BuyerLogonId string `protobuf:"bytes,10,opt,name=buyerLogonId,json=buyer_logon_id,proto3" json:"buyerLogonId"` + BuyerId string `protobuf:"bytes,11,opt,name=buyerId,json=buyer_id,proto3" json:"buyerId"` + TradeStatus string `protobuf:"bytes,12,opt,name=tradeStatus,json=trade_status,proto3" json:"tradeStatus"` +} + +func (x *AliNotifyResponse) Reset() { + *x = AliNotifyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliNotifyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliNotifyResponse) ProtoMessage() {} + +func (x *AliNotifyResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 AliNotifyResponse.ProtoReflect.Descriptor instead. +func (*AliNotifyResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{32} +} + +func (x *AliNotifyResponse) GetNotifyTime() string { + if x != nil { + return x.NotifyTime + } + return "" +} + +func (x *AliNotifyResponse) GetNotifyType() string { + if x != nil { + return x.NotifyType + } + return "" +} + +func (x *AliNotifyResponse) GetNotifyId() string { + if x != nil { + return x.NotifyId + } + return "" +} + +func (x *AliNotifyResponse) GetAppId() string { + if x != nil { + return x.AppId + } + return "" +} + +func (x *AliNotifyResponse) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *AliNotifyResponse) GetSignType() string { + if x != nil { + return x.SignType + } + return "" +} + +func (x *AliNotifyResponse) GetSign() string { + if x != nil { + return x.Sign + } + return "" +} + +func (x *AliNotifyResponse) GetTradeNo() string { + if x != nil { + return x.TradeNo + } + return "" +} + +func (x *AliNotifyResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *AliNotifyResponse) GetBuyerLogonId() string { + if x != nil { + return x.BuyerLogonId + } + return "" +} + +func (x *AliNotifyResponse) GetBuyerId() string { + if x != nil { + return x.BuyerId + } + return "" +} + +func (x *AliNotifyResponse) GetTradeStatus() string { + if x != nil { + return x.TradeStatus + } + return "" +} + +type AliQueryByOutTradeNoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OutTradeNo string `protobuf:"bytes,1,opt,name=outTradeNo,proto3" json:"outTradeNo"` +} + +func (x *AliQueryByOutTradeNoRequest) Reset() { + *x = AliQueryByOutTradeNoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliQueryByOutTradeNoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliQueryByOutTradeNoRequest) ProtoMessage() {} + +func (x *AliQueryByOutTradeNoRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 AliQueryByOutTradeNoRequest.ProtoReflect.Descriptor instead. +func (*AliQueryByOutTradeNoRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{33} +} + +func (x *AliQueryByOutTradeNoRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +type AliQueryByOutTradeNoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TradeNo string `protobuf:"bytes,1,opt,name=tradeNo,json=trade_no,proto3" json:"tradeNo"` + OutTradeNo string `protobuf:"bytes,2,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` + BuyerLogonId string `protobuf:"bytes,3,opt,name=buyerLogonId,json=buyer_logon_id,proto3" json:"buyerLogonId"` + TradeStatus string `protobuf:"bytes,4,opt,name=tradeStatus,json=trade_status,proto3" json:"tradeStatus"` + TotalAmount string `protobuf:"bytes,5,opt,name=totalAmount,json=total_amount,proto3" json:"totalAmount"` + BuyerUserID string `protobuf:"bytes,6,opt,name=buyerUserID,json=buyer_user_id,proto3" json:"buyerUserID"` +} + +func (x *AliQueryByOutTradeNoResponse) Reset() { + *x = AliQueryByOutTradeNoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliQueryByOutTradeNoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliQueryByOutTradeNoResponse) ProtoMessage() {} + +func (x *AliQueryByOutTradeNoResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 AliQueryByOutTradeNoResponse.ProtoReflect.Descriptor instead. +func (*AliQueryByOutTradeNoResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{34} +} + +func (x *AliQueryByOutTradeNoResponse) GetTradeNo() string { + if x != nil { + return x.TradeNo + } + return "" +} + +func (x *AliQueryByOutTradeNoResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *AliQueryByOutTradeNoResponse) GetBuyerLogonId() string { + if x != nil { + return x.BuyerLogonId + } + return "" +} + +func (x *AliQueryByOutTradeNoResponse) GetTradeStatus() string { + if x != nil { + return x.TradeStatus + } + return "" +} + +func (x *AliQueryByOutTradeNoResponse) GetTotalAmount() string { + if x != nil { + return x.TotalAmount + } + return "" +} + +func (x *AliQueryByOutTradeNoResponse) GetBuyerUserID() string { + if x != nil { + return x.BuyerUserID + } + return "" +} + +type AliRefundQueryByOutTradeNoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OutTradeNo string `protobuf:"bytes,1,opt,name=outTradeNo,proto3" json:"outTradeNo"` +} + +func (x *AliRefundQueryByOutTradeNoRequest) Reset() { + *x = AliRefundQueryByOutTradeNoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliRefundQueryByOutTradeNoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliRefundQueryByOutTradeNoRequest) ProtoMessage() {} + +func (x *AliRefundQueryByOutTradeNoRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[35] + 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 AliRefundQueryByOutTradeNoRequest.ProtoReflect.Descriptor instead. +func (*AliRefundQueryByOutTradeNoRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{35} +} + +func (x *AliRefundQueryByOutTradeNoRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +type AliRefundQueryByOutTradeNoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TradeNo string `protobuf:"bytes,1,opt,name=tradeNo,json=trade_no,proto3" json:"tradeNo"` + OutTradeNo string `protobuf:"bytes,2,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` + OutRequestNo string `protobuf:"bytes,3,opt,name=out_request_no,proto3" json:"out_request_no"` + TotalAmount string `protobuf:"bytes,4,opt,name=total_amount,proto3" json:"total_amount"` + RefundAmount string `protobuf:"bytes,5,opt,name=refund_amount,proto3" json:"refund_amount"` + RefundStatus string `protobuf:"bytes,6,opt,name=refund_status,proto3" json:"refund_status"` +} + +func (x *AliRefundQueryByOutTradeNoResponse) Reset() { + *x = AliRefundQueryByOutTradeNoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliRefundQueryByOutTradeNoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliRefundQueryByOutTradeNoResponse) ProtoMessage() {} + +func (x *AliRefundQueryByOutTradeNoResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[36] + 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 AliRefundQueryByOutTradeNoResponse.ProtoReflect.Descriptor instead. +func (*AliRefundQueryByOutTradeNoResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{36} +} + +func (x *AliRefundQueryByOutTradeNoResponse) GetTradeNo() string { + if x != nil { + return x.TradeNo + } + return "" +} + +func (x *AliRefundQueryByOutTradeNoResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *AliRefundQueryByOutTradeNoResponse) GetOutRequestNo() string { + if x != nil { + return x.OutRequestNo + } + return "" +} + +func (x *AliRefundQueryByOutTradeNoResponse) GetTotalAmount() string { + if x != nil { + return x.TotalAmount + } + return "" +} + +func (x *AliRefundQueryByOutTradeNoResponse) GetRefundAmount() string { + if x != nil { + return x.RefundAmount + } + return "" +} + +func (x *AliRefundQueryByOutTradeNoResponse) GetRefundStatus() string { + if x != nil { + return x.RefundStatus + } + return "" +} + +type WechatJsApiPayRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Description string `protobuf:"bytes,1,opt,name=Description,json=description,proto3" json:"Description"` + OutTradeNo string `protobuf:"bytes,2,opt,name=OutTradeNo,json=outTradeNo,proto3" json:"OutTradeNo"` + Cent int64 `protobuf:"varint,3,opt,name=Cent,json=cent,proto3" json:"Cent"` + OpenID string `protobuf:"bytes,4,opt,name=OpenID,json=openID,proto3" json:"OpenID"` + NotifyUrl string `protobuf:"bytes,5,opt,name=NotifyUrl,json=notifyUrl,proto3" json:"NotifyUrl"` + AppID string `protobuf:"bytes,6,opt,name=AppID,json=appID,proto3" json:"AppID"` + ClientIP string `protobuf:"bytes,7,opt,name=ClientIP,proto3" json:"ClientIP"` + RecordId uint32 `protobuf:"varint,9,opt,name=recordId,proto3" json:"recordId"` + Domain string `protobuf:"bytes,10,opt,name=domain,proto3" json:"domain"` + Platform string `protobuf:"bytes,11,opt,name=platform,proto3" json:"platform"` + Scene string `protobuf:"bytes,12,opt,name=scene,proto3" json:"scene"` + TimeExpire int32 `protobuf:"varint,13,opt,name=timeExpire,json=time_expire,proto3" json:"timeExpire"` +} + +func (x *WechatJsApiPayRequest) Reset() { + *x = WechatJsApiPayRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatJsApiPayRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatJsApiPayRequest) ProtoMessage() {} + +func (x *WechatJsApiPayRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[37] + 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 WechatJsApiPayRequest.ProtoReflect.Descriptor instead. +func (*WechatJsApiPayRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{37} +} + +func (x *WechatJsApiPayRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *WechatJsApiPayRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *WechatJsApiPayRequest) GetCent() int64 { + if x != nil { + return x.Cent + } + return 0 +} + +func (x *WechatJsApiPayRequest) GetOpenID() string { + if x != nil { + return x.OpenID + } + return "" +} + +func (x *WechatJsApiPayRequest) GetNotifyUrl() string { + if x != nil { + return x.NotifyUrl + } + return "" +} + +func (x *WechatJsApiPayRequest) GetAppID() string { + if x != nil { + return x.AppID + } + return "" +} + +func (x *WechatJsApiPayRequest) GetClientIP() string { + if x != nil { + return x.ClientIP + } + return "" +} + +func (x *WechatJsApiPayRequest) GetRecordId() uint32 { + if x != nil { + return x.RecordId + } + return 0 +} + +func (x *WechatJsApiPayRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *WechatJsApiPayRequest) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *WechatJsApiPayRequest) GetScene() string { + if x != nil { + return x.Scene + } + return "" +} + +func (x *WechatJsApiPayRequest) GetTimeExpire() int32 { + if x != nil { + return x.TimeExpire + } + return 0 +} + +type WechatJsApiPayResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Appid string `protobuf:"bytes,1,opt,name=Appid,json=appid,proto3" json:"Appid"` + TimeStamp string `protobuf:"bytes,2,opt,name=TimeStamp,json=timeStamp,proto3" json:"TimeStamp"` + Package string `protobuf:"bytes,3,opt,name=Package,json=package,proto3" json:"Package"` + SignType string `protobuf:"bytes,4,opt,name=SignType,json=signType,proto3" json:"SignType"` + NonceStr string `protobuf:"bytes,5,opt,name=NonceStr,json=nonceStr,proto3" json:"NonceStr"` + PaySign string `protobuf:"bytes,6,opt,name=PaySign,json=paySign,proto3" json:"PaySign"` + PrepayId string `protobuf:"bytes,7,opt,name=PrepayId,json=prepayId,proto3" json:"PrepayId"` +} + +func (x *WechatJsApiPayResponse) Reset() { + *x = WechatJsApiPayResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatJsApiPayResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatJsApiPayResponse) ProtoMessage() {} + +func (x *WechatJsApiPayResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[38] + 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 WechatJsApiPayResponse.ProtoReflect.Descriptor instead. +func (*WechatJsApiPayResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{38} +} + +func (x *WechatJsApiPayResponse) GetAppid() string { + if x != nil { + return x.Appid + } + return "" +} + +func (x *WechatJsApiPayResponse) GetTimeStamp() string { + if x != nil { + return x.TimeStamp + } + return "" +} + +func (x *WechatJsApiPayResponse) GetPackage() string { + if x != nil { + return x.Package + } + return "" +} + +func (x *WechatJsApiPayResponse) GetSignType() string { + if x != nil { + return x.SignType + } + return "" +} + +func (x *WechatJsApiPayResponse) GetNonceStr() string { + if x != nil { + return x.NonceStr + } + return "" +} + +func (x *WechatJsApiPayResponse) GetPaySign() string { + if x != nil { + return x.PaySign + } + return "" +} + +func (x *WechatJsApiPayResponse) GetPrepayId() string { + if x != nil { + return x.PrepayId + } + return "" +} + +type WechatAppPayResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Appid string `protobuf:"bytes,1,opt,name=Appid,json=appid,proto3" json:"Appid"` + TimeStamp string `protobuf:"bytes,2,opt,name=TimeStamp,json=timeStamp,proto3" json:"TimeStamp"` + Package string `protobuf:"bytes,3,opt,name=Package,json=package,proto3" json:"Package"` + SignType string `protobuf:"bytes,4,opt,name=SignType,json=signType,proto3" json:"SignType"` + NonceStr string `protobuf:"bytes,5,opt,name=NonceStr,json=nonceStr,proto3" json:"NonceStr"` + PaySign string `protobuf:"bytes,6,opt,name=PaySign,json=paySign,proto3" json:"PaySign"` + PrepayId string `protobuf:"bytes,7,opt,name=PrepayId,json=prepayId,proto3" json:"PrepayId"` + PartnerId string `protobuf:"bytes,8,opt,name=PartnerId,json=partnerId,proto3" json:"PartnerId"` + Msg string `protobuf:"bytes,9,opt,name=msg,proto3" json:"msg"` +} + +func (x *WechatAppPayResponse) Reset() { + *x = WechatAppPayResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatAppPayResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatAppPayResponse) ProtoMessage() {} + +func (x *WechatAppPayResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 WechatAppPayResponse.ProtoReflect.Descriptor instead. +func (*WechatAppPayResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{39} +} + +func (x *WechatAppPayResponse) GetAppid() string { + if x != nil { + return x.Appid + } + return "" +} + +func (x *WechatAppPayResponse) GetTimeStamp() string { + if x != nil { + return x.TimeStamp + } + return "" +} + +func (x *WechatAppPayResponse) GetPackage() string { + if x != nil { + return x.Package + } + return "" +} + +func (x *WechatAppPayResponse) GetSignType() string { + if x != nil { + return x.SignType + } + return "" +} + +func (x *WechatAppPayResponse) GetNonceStr() string { + if x != nil { + return x.NonceStr + } + return "" +} + +func (x *WechatAppPayResponse) GetPaySign() string { + if x != nil { + return x.PaySign + } + return "" +} + +func (x *WechatAppPayResponse) GetPrepayId() string { + if x != nil { + return x.PrepayId + } + return "" +} + +func (x *WechatAppPayResponse) GetPartnerId() string { + if x != nil { + return x.PartnerId + } + return "" +} + +func (x *WechatAppPayResponse) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type WechatJsApiQueryByOutTradeNoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OutTradeNo string `protobuf:"bytes,1,opt,name=outTradeNo,proto3" json:"outTradeNo"` +} + +func (x *WechatJsApiQueryByOutTradeNoRequest) Reset() { + *x = WechatJsApiQueryByOutTradeNoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatJsApiQueryByOutTradeNoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatJsApiQueryByOutTradeNoRequest) ProtoMessage() {} + +func (x *WechatJsApiQueryByOutTradeNoRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 WechatJsApiQueryByOutTradeNoRequest.ProtoReflect.Descriptor instead. +func (*WechatJsApiQueryByOutTradeNoRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{40} +} + +func (x *WechatJsApiQueryByOutTradeNoRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +type WechatJsApiQueryByOutTradeNoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AppID string `protobuf:"bytes,1,opt,name=appID,proto3" json:"appID"` + MchID string `protobuf:"bytes,2,opt,name=mchID,json=mch_id,proto3" json:"mchID"` + OutTradeNo string `protobuf:"bytes,3,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` + TransactionId string `protobuf:"bytes,4,opt,name=transactionId,json=transaction_id,proto3" json:"transactionId"` + TradeType string `protobuf:"bytes,5,opt,name=tradeType,json=trade_type,proto3" json:"tradeType"` + TradeState string `protobuf:"bytes,6,opt,name=tradeState,json=trade_state,proto3" json:"tradeState"` + BankType string `protobuf:"bytes,7,opt,name=bankType,json=bank_ype,proto3" json:"bankType"` + SuccessTime string `protobuf:"bytes,8,opt,name=successTime,json=success_time,proto3" json:"successTime"` + OpenID string `protobuf:"bytes,9,opt,name=openID,json=open_id,proto3" json:"openID"` + Total int32 `protobuf:"varint,10,opt,name=total,proto3" json:"total"` +} + +func (x *WechatJsApiQueryByOutTradeNoResponse) Reset() { + *x = WechatJsApiQueryByOutTradeNoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatJsApiQueryByOutTradeNoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatJsApiQueryByOutTradeNoResponse) ProtoMessage() {} + +func (x *WechatJsApiQueryByOutTradeNoResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 WechatJsApiQueryByOutTradeNoResponse.ProtoReflect.Descriptor instead. +func (*WechatJsApiQueryByOutTradeNoResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{41} +} + +func (x *WechatJsApiQueryByOutTradeNoResponse) GetAppID() string { + if x != nil { + return x.AppID + } + return "" +} + +func (x *WechatJsApiQueryByOutTradeNoResponse) GetMchID() string { + if x != nil { + return x.MchID + } + return "" +} + +func (x *WechatJsApiQueryByOutTradeNoResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *WechatJsApiQueryByOutTradeNoResponse) GetTransactionId() string { + if x != nil { + return x.TransactionId + } + return "" +} + +func (x *WechatJsApiQueryByOutTradeNoResponse) GetTradeType() string { + if x != nil { + return x.TradeType + } + return "" +} + +func (x *WechatJsApiQueryByOutTradeNoResponse) GetTradeState() string { + if x != nil { + return x.TradeState + } + return "" +} + +func (x *WechatJsApiQueryByOutTradeNoResponse) GetBankType() string { + if x != nil { + return x.BankType + } + return "" +} + +func (x *WechatJsApiQueryByOutTradeNoResponse) GetSuccessTime() string { + if x != nil { + return x.SuccessTime + } + return "" +} + +func (x *WechatJsApiQueryByOutTradeNoResponse) GetOpenID() string { + if x != nil { + return x.OpenID + } + return "" +} + +func (x *WechatJsApiQueryByOutTradeNoResponse) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 +} + +type WechatAppQueryByOutTradeNoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OutTradeNo string `protobuf:"bytes,1,opt,name=outTradeNo,proto3" json:"outTradeNo"` +} + +func (x *WechatAppQueryByOutTradeNoRequest) Reset() { + *x = WechatAppQueryByOutTradeNoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatAppQueryByOutTradeNoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatAppQueryByOutTradeNoRequest) ProtoMessage() {} + +func (x *WechatAppQueryByOutTradeNoRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 WechatAppQueryByOutTradeNoRequest.ProtoReflect.Descriptor instead. +func (*WechatAppQueryByOutTradeNoRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{42} +} + +func (x *WechatAppQueryByOutTradeNoRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +type WechatAppQueryByOutTradeNoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AppID string `protobuf:"bytes,1,opt,name=appID,proto3" json:"appID"` // 服务提供商的应用ID + MchID string `protobuf:"bytes,2,opt,name=mchID,json=mch_id,proto3" json:"mchID"` // 服务商商户ID + // string subAppId = 3 [json_name = "sub_appid"]; // 子应用ID + // string subMchId = 4 [json_name = "sub_mchid"];// 子商户ID + OutTradeNo string `protobuf:"bytes,5,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` // 订单号 + TransactionId string `protobuf:"bytes,6,opt,name=transactionId,json=transaction_id,proto3" json:"transactionId"` // 微信交易ID + TradeType string `protobuf:"bytes,7,opt,name=tradeType,json=trade_type,proto3" json:"tradeType"` // 交易类型 + TradeState string `protobuf:"bytes,8,opt,name=tradeState,json=trade_state,proto3" json:"tradeState"` // 交易状态 + TradeStateDesc string `protobuf:"bytes,9,opt,name=tradeStateDesc,json=trade_state_desc,proto3" json:"tradeStateDesc"` // 交易状态描述 + BankType string `protobuf:"bytes,10,opt,name=bankType,json=bank_type,proto3" json:"bankType"` // 银行类型 + Attach string `protobuf:"bytes,11,opt,name=attach,proto3" json:"attach"` // 附加数据 + SuccessTime string `protobuf:"bytes,12,opt,name=successTime,json=success_time,proto3" json:"successTime"` // 支付成功时间 + // 包含促销详情列表 + PromotionDetail []*WechatAppQueryByOutTradeNoResponse_PromotionDetail `protobuf:"bytes,13,rep,name=promotionDetail,json=promotion_detail,proto3" json:"promotionDetail"` + // 付款人信息 + Payer *WechatAppQueryByOutTradeNoResponse_Payer `protobuf:"bytes,14,opt,name=payer,proto3" json:"payer"` + // 金额信息 + Amount *WechatAppQueryByOutTradeNoResponse_Amount `protobuf:"bytes,15,opt,name=amount,proto3" json:"amount"` +} + +func (x *WechatAppQueryByOutTradeNoResponse) Reset() { + *x = WechatAppQueryByOutTradeNoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatAppQueryByOutTradeNoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatAppQueryByOutTradeNoResponse) ProtoMessage() {} + +func (x *WechatAppQueryByOutTradeNoResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 WechatAppQueryByOutTradeNoResponse.ProtoReflect.Descriptor instead. +func (*WechatAppQueryByOutTradeNoResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{43} +} + +func (x *WechatAppQueryByOutTradeNoResponse) GetAppID() string { + if x != nil { + return x.AppID + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse) GetMchID() string { + if x != nil { + return x.MchID + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse) GetTransactionId() string { + if x != nil { + return x.TransactionId + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse) GetTradeType() string { + if x != nil { + return x.TradeType + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse) GetTradeState() string { + if x != nil { + return x.TradeState + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse) GetTradeStateDesc() string { + if x != nil { + return x.TradeStateDesc + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse) GetBankType() string { + if x != nil { + return x.BankType + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse) GetAttach() string { + if x != nil { + return x.Attach + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse) GetSuccessTime() string { + if x != nil { + return x.SuccessTime + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse) GetPromotionDetail() []*WechatAppQueryByOutTradeNoResponse_PromotionDetail { + if x != nil { + return x.PromotionDetail + } + return nil +} + +func (x *WechatAppQueryByOutTradeNoResponse) GetPayer() *WechatAppQueryByOutTradeNoResponse_Payer { + if x != nil { + return x.Payer + } + return nil +} + +func (x *WechatAppQueryByOutTradeNoResponse) GetAmount() *WechatAppQueryByOutTradeNoResponse_Amount { + if x != nil { + return x.Amount + } + return nil +} + +type GetPayByOutTradeNoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OutTradeNo string `protobuf:"bytes,4,opt,name=OutTradeNo,proto3" json:"OutTradeNo"` +} + +func (x *GetPayByOutTradeNoRequest) Reset() { + *x = GetPayByOutTradeNoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPayByOutTradeNoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPayByOutTradeNoRequest) ProtoMessage() {} + +func (x *GetPayByOutTradeNoRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 GetPayByOutTradeNoRequest.ProtoReflect.Descriptor instead. +func (*GetPayByOutTradeNoRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{44} +} + +func (x *GetPayByOutTradeNoRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +type GetPayByOutTradeNoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OutTradeNo string `protobuf:"bytes,1,opt,name=outTradeNo,proto3" json:"outTradeNo"` + RecordId uint32 `protobuf:"varint,2,opt,name=recordId,proto3" json:"recordId"` + Cent string `protobuf:"bytes,3,opt,name=cent,proto3" json:"cent"` + Platform string `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform"` + Domain string `protobuf:"bytes,5,opt,name=domain,proto3" json:"domain"` + Scene string `protobuf:"bytes,6,opt,name=scene,proto3" json:"scene"` +} + +func (x *GetPayByOutTradeNoResponse) Reset() { + *x = GetPayByOutTradeNoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPayByOutTradeNoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPayByOutTradeNoResponse) ProtoMessage() {} + +func (x *GetPayByOutTradeNoResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPayByOutTradeNoResponse.ProtoReflect.Descriptor instead. +func (*GetPayByOutTradeNoResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{45} +} + +func (x *GetPayByOutTradeNoResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *GetPayByOutTradeNoResponse) GetRecordId() uint32 { + if x != nil { + return x.RecordId + } + return 0 +} + +func (x *GetPayByOutTradeNoResponse) GetCent() string { + if x != nil { + return x.Cent + } + return "" +} + +func (x *GetPayByOutTradeNoResponse) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *GetPayByOutTradeNoResponse) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *GetPayByOutTradeNoResponse) GetScene() string { + if x != nil { + return x.Scene + } + return "" +} + +type WechatJsApiRefundsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RefundId string `protobuf:"bytes,1,opt,name=RefundId,proto3" json:"RefundId"` + OutRefundNo string `protobuf:"bytes,2,opt,name=OutRefundNo,proto3" json:"OutRefundNo"` + TransactionId string `protobuf:"bytes,3,opt,name=TransactionId,proto3" json:"TransactionId"` + OutTradeNo string `protobuf:"bytes,4,opt,name=OutTradeNo,proto3" json:"OutTradeNo"` + SuccessTime string `protobuf:"bytes,5,opt,name=SuccessTime,proto3" json:"SuccessTime"` + CreateTime string `protobuf:"bytes,6,opt,name=CreateTime,proto3" json:"CreateTime"` + Status string `protobuf:"bytes,7,opt,name=Status,proto3" json:"Status"` + Amount string `protobuf:"bytes,8,opt,name=Amount,proto3" json:"Amount"` +} + +func (x *WechatJsApiRefundsResponse) Reset() { + *x = WechatJsApiRefundsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatJsApiRefundsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatJsApiRefundsResponse) ProtoMessage() {} + +func (x *WechatJsApiRefundsResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[46] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WechatJsApiRefundsResponse.ProtoReflect.Descriptor instead. +func (*WechatJsApiRefundsResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{46} +} + +func (x *WechatJsApiRefundsResponse) GetRefundId() string { + if x != nil { + return x.RefundId + } + return "" +} + +func (x *WechatJsApiRefundsResponse) GetOutRefundNo() string { + if x != nil { + return x.OutRefundNo + } + return "" +} + +func (x *WechatJsApiRefundsResponse) GetTransactionId() string { + if x != nil { + return x.TransactionId + } + return "" +} + +func (x *WechatJsApiRefundsResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *WechatJsApiRefundsResponse) GetSuccessTime() string { + if x != nil { + return x.SuccessTime + } + return "" +} + +func (x *WechatJsApiRefundsResponse) GetCreateTime() string { + if x != nil { + return x.CreateTime + } + return "" +} + +func (x *WechatJsApiRefundsResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *WechatJsApiRefundsResponse) GetAmount() string { + if x != nil { + return x.Amount + } + return "" +} + +type WechatNativePayRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description"` + OutTradeNo string `protobuf:"bytes,2,opt,name=outTradeNo,proto3" json:"outTradeNo"` + Cent int32 `protobuf:"varint,3,opt,name=cent,proto3" json:"cent"` + NotifyUrl string `protobuf:"bytes,5,opt,name=notifyUrl,proto3" json:"notifyUrl"` + AppID string `protobuf:"bytes,6,opt,name=appID,proto3" json:"appID"` + ClientIP string `protobuf:"bytes,7,opt,name=clientIP,json=ClientIP,proto3" json:"clientIP"` + RecordId uint32 `protobuf:"varint,8,opt,name=recordId,proto3" json:"recordId"` + Domain string `protobuf:"bytes,9,opt,name=domain,proto3" json:"domain"` + Platform string `protobuf:"bytes,10,opt,name=platform,proto3" json:"platform"` + Scene string `protobuf:"bytes,11,opt,name=scene,proto3" json:"scene"` + TimeExpire int32 `protobuf:"varint,12,opt,name=timeExpire,json=time_expire,proto3" json:"timeExpire"` +} + +func (x *WechatNativePayRequest) Reset() { + *x = WechatNativePayRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatNativePayRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatNativePayRequest) ProtoMessage() {} + +func (x *WechatNativePayRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 WechatNativePayRequest.ProtoReflect.Descriptor instead. +func (*WechatNativePayRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{47} +} + +func (x *WechatNativePayRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *WechatNativePayRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *WechatNativePayRequest) GetCent() int32 { + if x != nil { + return x.Cent + } + return 0 +} + +func (x *WechatNativePayRequest) GetNotifyUrl() string { + if x != nil { + return x.NotifyUrl + } + return "" +} + +func (x *WechatNativePayRequest) GetAppID() string { + if x != nil { + return x.AppID + } + return "" +} + +func (x *WechatNativePayRequest) GetClientIP() string { + if x != nil { + return x.ClientIP + } + return "" +} + +func (x *WechatNativePayRequest) GetRecordId() uint32 { + if x != nil { + return x.RecordId + } + return 0 +} + +func (x *WechatNativePayRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *WechatNativePayRequest) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *WechatNativePayRequest) GetScene() string { + if x != nil { + return x.Scene + } + return "" +} + +func (x *WechatNativePayRequest) GetTimeExpire() int32 { + if x != nil { + return x.TimeExpire + } + return 0 +} + +type WechatNativePayResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CodeUrl string `protobuf:"bytes,1,opt,name=codeUrl,json=code_url,proto3" json:"codeUrl"` +} + +func (x *WechatNativePayResponse) Reset() { + *x = WechatNativePayResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatNativePayResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatNativePayResponse) ProtoMessage() {} + +func (x *WechatNativePayResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 WechatNativePayResponse.ProtoReflect.Descriptor instead. +func (*WechatNativePayResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{48} +} + +func (x *WechatNativePayResponse) GetCodeUrl() string { + if x != nil { + return x.CodeUrl + } + return "" +} + +type WechatNativeQueryByOutTradeNoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OutTradeNo string `protobuf:"bytes,1,opt,name=outTradeNo,proto3" json:"outTradeNo"` +} + +func (x *WechatNativeQueryByOutTradeNoRequest) Reset() { + *x = WechatNativeQueryByOutTradeNoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatNativeQueryByOutTradeNoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatNativeQueryByOutTradeNoRequest) ProtoMessage() {} + +func (x *WechatNativeQueryByOutTradeNoRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 WechatNativeQueryByOutTradeNoRequest.ProtoReflect.Descriptor instead. +func (*WechatNativeQueryByOutTradeNoRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{49} +} + +func (x *WechatNativeQueryByOutTradeNoRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +type WechatRefundQueryByOutRefundNoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OutRefundNo string `protobuf:"bytes,1,opt,name=outRefundNo,json=out_refund_no,proto3" json:"outRefundNo"` +} + +func (x *WechatRefundQueryByOutRefundNoRequest) Reset() { + *x = WechatRefundQueryByOutRefundNoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatRefundQueryByOutRefundNoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatRefundQueryByOutRefundNoRequest) ProtoMessage() {} + +func (x *WechatRefundQueryByOutRefundNoRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 WechatRefundQueryByOutRefundNoRequest.ProtoReflect.Descriptor instead. +func (*WechatRefundQueryByOutRefundNoRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{50} +} + +func (x *WechatRefundQueryByOutRefundNoRequest) GetOutRefundNo() string { + if x != nil { + return x.OutRefundNo + } + return "" +} + +type WechatRefundQueryByOutRefundNoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RefundId string `protobuf:"bytes,1,opt,name=refundId,json=refund_id,proto3" json:"refundId"` + OutRefundNo string `protobuf:"bytes,2,opt,name=outRefundNo,json=out_refund_no,proto3" json:"outRefundNo"` + TransactionId string `protobuf:"bytes,3,opt,name=transactionId,json=transaction_id,proto3" json:"transactionId"` + OutTradeNo string `protobuf:"bytes,4,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` + Channel string `protobuf:"bytes,5,opt,name=channel,proto3" json:"channel"` + UserReceivedAccount string `protobuf:"bytes,6,opt,name=userReceivedAccount,json=user_received_account,proto3" json:"userReceivedAccount"` + SuccessTime string `protobuf:"bytes,7,opt,name=successTime,json=success_time,proto3" json:"successTime"` + CreateTime string `protobuf:"bytes,8,opt,name=createTime,json=create_time,proto3" json:"createTime"` + Status string `protobuf:"bytes,9,opt,name=status,proto3" json:"status"` + Total int32 `protobuf:"varint,10,opt,name=total,proto3" json:"total"` +} + +func (x *WechatRefundQueryByOutRefundNoResponse) Reset() { + *x = WechatRefundQueryByOutRefundNoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatRefundQueryByOutRefundNoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatRefundQueryByOutRefundNoResponse) ProtoMessage() {} + +func (x *WechatRefundQueryByOutRefundNoResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 WechatRefundQueryByOutRefundNoResponse.ProtoReflect.Descriptor instead. +func (*WechatRefundQueryByOutRefundNoResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{51} +} + +func (x *WechatRefundQueryByOutRefundNoResponse) GetRefundId() string { + if x != nil { + return x.RefundId + } + return "" +} + +func (x *WechatRefundQueryByOutRefundNoResponse) GetOutRefundNo() string { + if x != nil { + return x.OutRefundNo + } + return "" +} + +func (x *WechatRefundQueryByOutRefundNoResponse) GetTransactionId() string { + if x != nil { + return x.TransactionId + } + return "" +} + +func (x *WechatRefundQueryByOutRefundNoResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *WechatRefundQueryByOutRefundNoResponse) GetChannel() string { + if x != nil { + return x.Channel + } + return "" +} + +func (x *WechatRefundQueryByOutRefundNoResponse) GetUserReceivedAccount() string { + if x != nil { + return x.UserReceivedAccount + } + return "" +} + +func (x *WechatRefundQueryByOutRefundNoResponse) GetSuccessTime() string { + if x != nil { + return x.SuccessTime + } + return "" +} + +func (x *WechatRefundQueryByOutRefundNoResponse) GetCreateTime() string { + if x != nil { + return x.CreateTime + } + return "" +} + +func (x *WechatRefundQueryByOutRefundNoResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *WechatRefundQueryByOutRefundNoResponse) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 +} + +type WechatNativeQueryByOutTradeNoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AppID string `protobuf:"bytes,1,opt,name=appID,proto3" json:"appID"` + MchID string `protobuf:"bytes,2,opt,name=mchID,json=mch_id,proto3" json:"mchID"` + OutTradeNo string `protobuf:"bytes,3,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` + TransactionId string `protobuf:"bytes,4,opt,name=transactionId,json=transaction_id,proto3" json:"transactionId"` + TradeType string `protobuf:"bytes,5,opt,name=tradeType,json=trade_type,proto3" json:"tradeType"` + TradeState string `protobuf:"bytes,6,opt,name=tradeState,json=trade_state,proto3" json:"tradeState"` + BankType string `protobuf:"bytes,7,opt,name=bankType,json=bank_ype,proto3" json:"bankType"` + SuccessTime string `protobuf:"bytes,8,opt,name=successTime,json=success_time,proto3" json:"successTime"` + OpenID string `protobuf:"bytes,9,opt,name=openID,json=open_id,proto3" json:"openID"` + Total int32 `protobuf:"varint,10,opt,name=total,proto3" json:"total"` +} + +func (x *WechatNativeQueryByOutTradeNoResponse) Reset() { + *x = WechatNativeQueryByOutTradeNoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatNativeQueryByOutTradeNoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatNativeQueryByOutTradeNoResponse) ProtoMessage() {} + +func (x *WechatNativeQueryByOutTradeNoResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_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 WechatNativeQueryByOutTradeNoResponse.ProtoReflect.Descriptor instead. +func (*WechatNativeQueryByOutTradeNoResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{52} +} + +func (x *WechatNativeQueryByOutTradeNoResponse) GetAppID() string { + if x != nil { + return x.AppID + } + return "" +} + +func (x *WechatNativeQueryByOutTradeNoResponse) GetMchID() string { + if x != nil { + return x.MchID + } + return "" +} + +func (x *WechatNativeQueryByOutTradeNoResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *WechatNativeQueryByOutTradeNoResponse) GetTransactionId() string { + if x != nil { + return x.TransactionId + } + return "" +} + +func (x *WechatNativeQueryByOutTradeNoResponse) GetTradeType() string { + if x != nil { + return x.TradeType + } + return "" +} + +func (x *WechatNativeQueryByOutTradeNoResponse) GetTradeState() string { + if x != nil { + return x.TradeState + } + return "" +} + +func (x *WechatNativeQueryByOutTradeNoResponse) GetBankType() string { + if x != nil { + return x.BankType + } + return "" +} + +func (x *WechatNativeQueryByOutTradeNoResponse) GetSuccessTime() string { + if x != nil { + return x.SuccessTime + } + return "" +} + +func (x *WechatNativeQueryByOutTradeNoResponse) GetOpenID() string { + if x != nil { + return x.OpenID + } + return "" +} + +func (x *WechatNativeQueryByOutTradeNoResponse) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 +} + +type WechatAppPayRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Description string `protobuf:"bytes,1,opt,name=Description,json=description,proto3" json:"Description"` + OutTradeNo string `protobuf:"bytes,2,opt,name=OutTradeNo,json=outTradeNo,proto3" json:"OutTradeNo"` + Cent int64 `protobuf:"varint,3,opt,name=Cent,json=cent,proto3" json:"Cent"` + OpenID string `protobuf:"bytes,4,opt,name=OpenID,json=openID,proto3" json:"OpenID"` + NotifyUrl string `protobuf:"bytes,5,opt,name=NotifyUrl,json=notifyUrl,proto3" json:"NotifyUrl"` + AppID string `protobuf:"bytes,6,opt,name=AppID,json=appID,proto3" json:"AppID"` + ClientIP string `protobuf:"bytes,7,opt,name=ClientIP,proto3" json:"ClientIP"` + RecordId uint32 `protobuf:"varint,9,opt,name=recordId,proto3" json:"recordId"` + Domain string `protobuf:"bytes,10,opt,name=domain,proto3" json:"domain"` + Platform string `protobuf:"bytes,11,opt,name=platform,proto3" json:"platform"` + Scene string `protobuf:"bytes,12,opt,name=scene,proto3" json:"scene"` + TimeExpire int32 `protobuf:"varint,13,opt,name=timeExpire,json=time_expire,proto3" json:"timeExpire"` +} + +func (x *WechatAppPayRequest) Reset() { + *x = WechatAppPayRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatAppPayRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatAppPayRequest) ProtoMessage() {} + +func (x *WechatAppPayRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[53] + 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 WechatAppPayRequest.ProtoReflect.Descriptor instead. +func (*WechatAppPayRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{53} +} + +func (x *WechatAppPayRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *WechatAppPayRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *WechatAppPayRequest) GetCent() int64 { + if x != nil { + return x.Cent + } + return 0 +} + +func (x *WechatAppPayRequest) GetOpenID() string { + if x != nil { + return x.OpenID + } + return "" +} + +func (x *WechatAppPayRequest) GetNotifyUrl() string { + if x != nil { + return x.NotifyUrl + } + return "" +} + +func (x *WechatAppPayRequest) GetAppID() string { + if x != nil { + return x.AppID + } + return "" +} + +func (x *WechatAppPayRequest) GetClientIP() string { + if x != nil { + return x.ClientIP + } + return "" +} + +func (x *WechatAppPayRequest) GetRecordId() uint32 { + if x != nil { + return x.RecordId + } + return 0 +} + +func (x *WechatAppPayRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *WechatAppPayRequest) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *WechatAppPayRequest) GetScene() string { + if x != nil { + return x.Scene + } + return "" +} + +func (x *WechatAppPayRequest) GetTimeExpire() int32 { + if x != nil { + return x.TimeExpire + } + return 0 +} + +type WechatJsApiRefundsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Reason string `protobuf:"bytes,1,opt,name=Reason,proto3" json:"Reason"` + OutTradeNo string `protobuf:"bytes,2,opt,name=OutTradeNo,proto3" json:"OutTradeNo"` + OutRefundNo string `protobuf:"bytes,3,opt,name=OutRefundNo,proto3" json:"OutRefundNo"` + NotifyUrl string `protobuf:"bytes,4,opt,name=NotifyUrl,proto3" json:"NotifyUrl"` + Cent int64 `protobuf:"varint,5,opt,name=Cent,proto3" json:"Cent"` + OpenID string `protobuf:"bytes,6,opt,name=OpenID,proto3" json:"OpenID"` + Total int64 `protobuf:"varint,7,opt,name=Total,proto3" json:"Total"` +} + +func (x *WechatJsApiRefundsRequest) Reset() { + *x = WechatJsApiRefundsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatJsApiRefundsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatJsApiRefundsRequest) ProtoMessage() {} + +func (x *WechatJsApiRefundsRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[54] + 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 WechatJsApiRefundsRequest.ProtoReflect.Descriptor instead. +func (*WechatJsApiRefundsRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{54} +} + +func (x *WechatJsApiRefundsRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *WechatJsApiRefundsRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *WechatJsApiRefundsRequest) GetOutRefundNo() string { + if x != nil { + return x.OutRefundNo + } + return "" +} + +func (x *WechatJsApiRefundsRequest) GetNotifyUrl() string { + if x != nil { + return x.NotifyUrl + } + return "" +} + +func (x *WechatJsApiRefundsRequest) GetCent() int64 { + if x != nil { + return x.Cent + } + return 0 +} + +func (x *WechatJsApiRefundsRequest) GetOpenID() string { + if x != nil { + return x.OpenID + } + return "" +} + +func (x *WechatJsApiRefundsRequest) GetTotal() int64 { + if x != nil { + return x.Total + } + return 0 +} + +type WechatH5PayRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Description string `protobuf:"bytes,1,opt,name=Description,json=description,proto3" json:"Description"` + OutTradeNo string `protobuf:"bytes,2,opt,name=OutTradeNo,json=outTradeNo,proto3" json:"OutTradeNo"` + Cent int64 `protobuf:"varint,3,opt,name=Cent,json=cent,proto3" json:"Cent"` + OpenID string `protobuf:"bytes,4,opt,name=OpenID,json=openID,proto3" json:"OpenID"` + NotifyUrl string `protobuf:"bytes,5,opt,name=NotifyUrl,json=notifyUrl,proto3" json:"NotifyUrl"` + AppID string `protobuf:"bytes,6,opt,name=AppID,json=appID,proto3" json:"AppID"` + ClientIP string `protobuf:"bytes,7,opt,name=ClientIP,proto3" json:"ClientIP"` + RecordId uint32 `protobuf:"varint,9,opt,name=recordId,proto3" json:"recordId"` + Domain string `protobuf:"bytes,10,opt,name=domain,proto3" json:"domain"` + Platform string `protobuf:"bytes,11,opt,name=platform,proto3" json:"platform"` + Scene string `protobuf:"bytes,12,opt,name=scene,proto3" json:"scene"` + TimeExpire int32 `protobuf:"varint,13,opt,name=timeExpire,json=time_expire,proto3" json:"timeExpire"` +} + +func (x *WechatH5PayRequest) Reset() { + *x = WechatH5PayRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatH5PayRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatH5PayRequest) ProtoMessage() {} + +func (x *WechatH5PayRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[55] + 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 WechatH5PayRequest.ProtoReflect.Descriptor instead. +func (*WechatH5PayRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{55} +} + +func (x *WechatH5PayRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *WechatH5PayRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *WechatH5PayRequest) GetCent() int64 { + if x != nil { + return x.Cent + } + return 0 +} + +func (x *WechatH5PayRequest) GetOpenID() string { + if x != nil { + return x.OpenID + } + return "" +} + +func (x *WechatH5PayRequest) GetNotifyUrl() string { + if x != nil { + return x.NotifyUrl + } + return "" +} + +func (x *WechatH5PayRequest) GetAppID() string { + if x != nil { + return x.AppID + } + return "" +} + +func (x *WechatH5PayRequest) GetClientIP() string { + if x != nil { + return x.ClientIP + } + return "" +} + +func (x *WechatH5PayRequest) GetRecordId() uint32 { + if x != nil { + return x.RecordId + } + return 0 +} + +func (x *WechatH5PayRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *WechatH5PayRequest) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *WechatH5PayRequest) GetScene() string { + if x != nil { + return x.Scene + } + return "" +} + +func (x *WechatH5PayRequest) GetTimeExpire() int32 { + if x != nil { + return x.TimeExpire + } + return 0 +} + +type WechatH5PayResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + H5Url string `protobuf:"bytes,1,opt,name=h5Url,json=h5_url,proto3" json:"h5Url"` +} + +func (x *WechatH5PayResponse) Reset() { + *x = WechatH5PayResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatH5PayResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatH5PayResponse) ProtoMessage() {} + +func (x *WechatH5PayResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[56] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WechatH5PayResponse.ProtoReflect.Descriptor instead. +func (*WechatH5PayResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{56} +} + +func (x *WechatH5PayResponse) GetH5Url() string { + if x != nil { + return x.H5Url + } + return "" +} + +type WechatH5QueryByOutTradeNoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OutTradeNo string `protobuf:"bytes,1,opt,name=outTradeNo,proto3" json:"outTradeNo"` +} + +func (x *WechatH5QueryByOutTradeNoRequest) Reset() { + *x = WechatH5QueryByOutTradeNoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatH5QueryByOutTradeNoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatH5QueryByOutTradeNoRequest) ProtoMessage() {} + +func (x *WechatH5QueryByOutTradeNoRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[57] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WechatH5QueryByOutTradeNoRequest.ProtoReflect.Descriptor instead. +func (*WechatH5QueryByOutTradeNoRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{57} +} + +func (x *WechatH5QueryByOutTradeNoRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +type WechatH5QueryByOutTradeNoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AppID string `protobuf:"bytes,1,opt,name=appID,proto3" json:"appID"` + MchID string `protobuf:"bytes,2,opt,name=mchID,json=mch_id,proto3" json:"mchID"` + OutTradeNo string `protobuf:"bytes,3,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` + TransactionId string `protobuf:"bytes,4,opt,name=transactionId,json=transaction_id,proto3" json:"transactionId"` + TradeType string `protobuf:"bytes,5,opt,name=tradeType,json=trade_type,proto3" json:"tradeType"` + TradeState string `protobuf:"bytes,6,opt,name=tradeState,json=trade_state,proto3" json:"tradeState"` + TradeStateDesc string `protobuf:"bytes,7,opt,name=tradeStateDesc,json=trade_state_desc,proto3" json:"tradeStateDesc"` + BankType string `protobuf:"bytes,8,opt,name=bankType,json=bank_ype,proto3" json:"bankType"` + SuccessTime string `protobuf:"bytes,9,opt,name=successTime,json=success_time,proto3" json:"successTime"` + OpenID string `protobuf:"bytes,10,opt,name=openID,json=open_id,proto3" json:"openID"` + Total int32 `protobuf:"varint,11,opt,name=total,proto3" json:"total"` +} + +func (x *WechatH5QueryByOutTradeNoResponse) Reset() { + *x = WechatH5QueryByOutTradeNoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatH5QueryByOutTradeNoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatH5QueryByOutTradeNoResponse) ProtoMessage() {} + +func (x *WechatH5QueryByOutTradeNoResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[58] + 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 WechatH5QueryByOutTradeNoResponse.ProtoReflect.Descriptor instead. +func (*WechatH5QueryByOutTradeNoResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{58} +} + +func (x *WechatH5QueryByOutTradeNoResponse) GetAppID() string { + if x != nil { + return x.AppID + } + return "" +} + +func (x *WechatH5QueryByOutTradeNoResponse) GetMchID() string { + if x != nil { + return x.MchID + } + return "" +} + +func (x *WechatH5QueryByOutTradeNoResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *WechatH5QueryByOutTradeNoResponse) GetTransactionId() string { + if x != nil { + return x.TransactionId + } + return "" +} + +func (x *WechatH5QueryByOutTradeNoResponse) GetTradeType() string { + if x != nil { + return x.TradeType + } + return "" +} + +func (x *WechatH5QueryByOutTradeNoResponse) GetTradeState() string { + if x != nil { + return x.TradeState + } + return "" +} + +func (x *WechatH5QueryByOutTradeNoResponse) GetTradeStateDesc() string { + if x != nil { + return x.TradeStateDesc + } + return "" +} + +func (x *WechatH5QueryByOutTradeNoResponse) GetBankType() string { + if x != nil { + return x.BankType + } + return "" +} + +func (x *WechatH5QueryByOutTradeNoResponse) GetSuccessTime() string { + if x != nil { + return x.SuccessTime + } + return "" +} + +func (x *WechatH5QueryByOutTradeNoResponse) GetOpenID() string { + if x != nil { + return x.OpenID + } + return "" +} + +func (x *WechatH5QueryByOutTradeNoResponse) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 +} + +type WechatPayOkRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OutTradeNo string `protobuf:"bytes,1,opt,name=outTradeNo,proto3" json:"outTradeNo"` + Body string `protobuf:"bytes,2,opt,name=body,proto3" json:"body"` +} + +func (x *WechatPayOkRequest) Reset() { + *x = WechatPayOkRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatPayOkRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatPayOkRequest) ProtoMessage() {} + +func (x *WechatPayOkRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[59] + 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 WechatPayOkRequest.ProtoReflect.Descriptor instead. +func (*WechatPayOkRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{59} +} + +func (x *WechatPayOkRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *WechatPayOkRequest) GetBody() string { + if x != nil { + return x.Body + } + return "" +} + +type CommonResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Success bool `protobuf:"varint,1,opt,name=Success,json=success,proto3" json:"Success"` + ID uint32 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID"` +} + +func (x *CommonResponse) Reset() { + *x = CommonResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommonResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommonResponse) ProtoMessage() {} + +func (x *CommonResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[60] + 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 CommonResponse.ProtoReflect.Descriptor instead. +func (*CommonResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{60} +} + +func (x *CommonResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *CommonResponse) GetID() uint32 { + if x != nil { + return x.ID + } + return 0 +} + +type PayQueryRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PayType string `protobuf:"bytes,1,opt,name=payType,proto3" json:"payType"` + OutTradeNo string `protobuf:"bytes,2,opt,name=outTradeNo,proto3" json:"outTradeNo"` +} + +func (x *PayQueryRequest) Reset() { + *x = PayQueryRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayQueryRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayQueryRequest) ProtoMessage() {} + +func (x *PayQueryRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[61] + 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 PayQueryRequest.ProtoReflect.Descriptor instead. +func (*PayQueryRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{61} +} + +func (x *PayQueryRequest) GetPayType() string { + if x != nil { + return x.PayType + } + return "" +} + +func (x *PayQueryRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +type PayQueryResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Infos []*PaymentOrderInfo `protobuf:"bytes,1,rep,name=infos,proto3" json:"infos"` +} + +func (x *PayQueryResponse) Reset() { + *x = PayQueryResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayQueryResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayQueryResponse) ProtoMessage() {} + +func (x *PayQueryResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[62] + 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 PayQueryResponse.ProtoReflect.Descriptor instead. +func (*PayQueryResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{62} +} + +func (x *PayQueryResponse) GetInfos() []*PaymentOrderInfo { + if x != nil { + return x.Infos + } + return nil +} + +type PaymentOrderInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` + CreatedAt string `protobuf:"bytes,2,opt,name=createdAt,proto3" json:"createdAt"` + UpdatedAt string `protobuf:"bytes,3,opt,name=updatedAt,proto3" json:"updatedAt"` + OutTradeNo string `protobuf:"bytes,4,opt,name=outTradeNo,proto3" json:"outTradeNo"` // 外部流水号 + ChannelTradeNo string `protobuf:"bytes,5,opt,name=channelTradeNo,proto3" json:"channelTradeNo"` // 渠道流水号 + Amount int64 `protobuf:"varint,6,opt,name=amount,proto3" json:"amount"` // 用户支付总金额 + Currency string `protobuf:"bytes,7,opt,name=currency,proto3" json:"currency"` // 币种 + Status string `protobuf:"bytes,8,opt,name=status,proto3" json:"status"` + PayTime string `protobuf:"bytes,9,opt,name=payTime,proto3" json:"payTime"` + RefundTime string `protobuf:"bytes,10,opt,name=refundTime,proto3" json:"refundTime"` + Payee string `protobuf:"bytes,11,opt,name=payee,proto3" json:"payee"` + ChannelType string `protobuf:"bytes,12,opt,name=channelType,proto3" json:"channelType"` // 支付渠道 alipay-支付宝 wxpay-微信 stripe-Stripe支付 + Platform string `protobuf:"bytes,13,opt,name=platform,proto3" json:"platform"` // 支付具体来源,是app还是h5还是jsapi还是wap + Domain string `protobuf:"bytes,14,opt,name=domain,proto3" json:"domain"` // 使用平台 + BusinessType string `protobuf:"bytes,15,opt,name=businessType,proto3" json:"businessType"` // 业务类型,用来确认mq发送 + LogId int64 `protobuf:"varint,16,opt,name=logId,proto3" json:"logId"` + CheckSessionId string `protobuf:"bytes,17,opt,name=checkSessionId,proto3" json:"checkSessionId"` + ProductUUID string `protobuf:"bytes,18,opt,name=productUUID,proto3" json:"productUUID"` + ProductName string `protobuf:"bytes,19,opt,name=productName,proto3" json:"productName"` + ProductImg string `protobuf:"bytes,20,opt,name=productImg,proto3" json:"productImg"` + ProductDescription string `protobuf:"bytes,21,opt,name=productDescription,proto3" json:"productDescription"` + Fee int64 `protobuf:"varint,22,opt,name=fee,proto3" json:"fee"` // 手续费 + NetIncome int64 `protobuf:"varint,23,opt,name=netIncome,proto3" json:"netIncome"` // 净收入【允许退款的最大金额】 +} + +func (x *PaymentOrderInfo) Reset() { + *x = PaymentOrderInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PaymentOrderInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PaymentOrderInfo) ProtoMessage() {} + +func (x *PaymentOrderInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[63] + 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 PaymentOrderInfo.ProtoReflect.Descriptor instead. +func (*PaymentOrderInfo) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{63} +} + +func (x *PaymentOrderInfo) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *PaymentOrderInfo) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +func (x *PaymentOrderInfo) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +func (x *PaymentOrderInfo) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *PaymentOrderInfo) GetChannelTradeNo() string { + if x != nil { + return x.ChannelTradeNo + } + return "" +} + +func (x *PaymentOrderInfo) GetAmount() int64 { + if x != nil { + return x.Amount + } + return 0 +} + +func (x *PaymentOrderInfo) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +func (x *PaymentOrderInfo) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *PaymentOrderInfo) GetPayTime() string { + if x != nil { + return x.PayTime + } + return "" +} + +func (x *PaymentOrderInfo) GetRefundTime() string { + if x != nil { + return x.RefundTime + } + return "" +} + +func (x *PaymentOrderInfo) GetPayee() string { + if x != nil { + return x.Payee + } + return "" +} + +func (x *PaymentOrderInfo) GetChannelType() string { + if x != nil { + return x.ChannelType + } + return "" +} + +func (x *PaymentOrderInfo) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *PaymentOrderInfo) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *PaymentOrderInfo) GetBusinessType() string { + if x != nil { + return x.BusinessType + } + return "" +} + +func (x *PaymentOrderInfo) GetLogId() int64 { + if x != nil { + return x.LogId + } + return 0 +} + +func (x *PaymentOrderInfo) GetCheckSessionId() string { + if x != nil { + return x.CheckSessionId + } + return "" +} + +func (x *PaymentOrderInfo) GetProductUUID() string { + if x != nil { + return x.ProductUUID + } + return "" +} + +func (x *PaymentOrderInfo) GetProductName() string { + if x != nil { + return x.ProductName + } + return "" +} + +func (x *PaymentOrderInfo) GetProductImg() string { + if x != nil { + return x.ProductImg + } + return "" +} + +func (x *PaymentOrderInfo) GetProductDescription() string { + if x != nil { + return x.ProductDescription + } + return "" +} + +func (x *PaymentOrderInfo) GetFee() int64 { + if x != nil { + return x.Fee + } + return 0 +} + +func (x *PaymentOrderInfo) GetNetIncome() int64 { + if x != nil { + return x.NetIncome + } + return 0 +} + +type ExportPayRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StartTime string `protobuf:"bytes,1,opt,name=startTime,proto3" json:"startTime"` // 开始时间 + EndTime string `protobuf:"bytes,2,opt,name=endTime,proto3" json:"endTime"` // 结束时间 + ReportType string `protobuf:"bytes,3,opt,name=reportType,proto3" json:"reportType"` + ReportRangeNum string `protobuf:"bytes,4,opt,name=reportRangeNum,proto3" json:"reportRangeNum"` // 年月 + ChannelType string `protobuf:"bytes,5,opt,name=channelType,proto3" json:"channelType"` // 交易渠道 + Currency string `protobuf:"bytes,6,opt,name=currency,proto3" json:"currency"` + SortBy string `protobuf:"bytes,7,opt,name=sortBy,proto3" json:"sortBy"` // 时间排序asc,desc +} + +func (x *ExportPayRequest) Reset() { + *x = ExportPayRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportPayRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportPayRequest) ProtoMessage() {} + +func (x *ExportPayRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[64] + 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 ExportPayRequest.ProtoReflect.Descriptor instead. +func (*ExportPayRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{64} +} + +func (x *ExportPayRequest) GetStartTime() string { + if x != nil { + return x.StartTime + } + return "" +} + +func (x *ExportPayRequest) GetEndTime() string { + if x != nil { + return x.EndTime + } + return "" +} + +func (x *ExportPayRequest) GetReportType() string { + if x != nil { + return x.ReportType + } + return "" +} + +func (x *ExportPayRequest) GetReportRangeNum() string { + if x != nil { + return x.ReportRangeNum + } + return "" +} + +func (x *ExportPayRequest) GetChannelType() string { + if x != nil { + return x.ChannelType + } + return "" +} + +func (x *ExportPayRequest) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +func (x *ExportPayRequest) GetSortBy() string { + if x != nil { + return x.SortBy + } + return "" +} + +type ExportPayResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReportType string `protobuf:"bytes,1,opt,name=reportType,proto3" json:"reportType"` // 日报 月报 + OrderNum int32 `protobuf:"varint,2,opt,name=orderNum,proto3" json:"orderNum"` // 成功交易的订单数 + Overview []*Overview `protobuf:"bytes,3,rep,name=overview,proto3" json:"overview"` // 总览 + ChannelIncomes []*ChannelIncome `protobuf:"bytes,4,rep,name=channelIncomes,proto3" json:"channelIncomes"` // 渠道交易情况 + BusinessInfos []*BusinessInfo `protobuf:"bytes,5,rep,name=businessInfos,proto3" json:"businessInfos"` // 业务交易情况 + OrderDetails []*OrderDetail `protobuf:"bytes,6,rep,name=orderDetails,proto3" json:"orderDetails"` // sheet2,订单详情 +} + +func (x *ExportPayResponse) Reset() { + *x = ExportPayResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportPayResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportPayResponse) ProtoMessage() {} + +func (x *ExportPayResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[65] + 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 ExportPayResponse.ProtoReflect.Descriptor instead. +func (*ExportPayResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{65} +} + +func (x *ExportPayResponse) GetReportType() string { + if x != nil { + return x.ReportType + } + return "" +} + +func (x *ExportPayResponse) GetOrderNum() int32 { + if x != nil { + return x.OrderNum + } + return 0 +} + +func (x *ExportPayResponse) GetOverview() []*Overview { + if x != nil { + return x.Overview + } + return nil +} + +func (x *ExportPayResponse) GetChannelIncomes() []*ChannelIncome { + if x != nil { + return x.ChannelIncomes + } + return nil +} + +func (x *ExportPayResponse) GetBusinessInfos() []*BusinessInfo { + if x != nil { + return x.BusinessInfos + } + return nil +} + +func (x *ExportPayResponse) GetOrderDetails() []*OrderDetail { + if x != nil { + return x.OrderDetails + } + return nil +} + +type OrderDetail struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PaymentOrderId int64 `protobuf:"varint,1,opt,name=paymentOrderId,proto3" json:"paymentOrderId"` + CreatedAt string `protobuf:"bytes,2,opt,name=createdAt,proto3" json:"createdAt"` + UpdatedAt string `protobuf:"bytes,3,opt,name=updatedAt,proto3" json:"updatedAt"` + OutTradeNo string `protobuf:"bytes,4,opt,name=outTradeNo,proto3" json:"outTradeNo"` // 外部流水号 + ChannelTradeNo string `protobuf:"bytes,5,opt,name=channelTradeNo,proto3" json:"channelTradeNo"` // 渠道流水号 + Currency string `protobuf:"bytes,6,opt,name=currency,proto3" json:"currency"` // 币种 + PayAmount int64 `protobuf:"varint,7,opt,name=payAmount,proto3" json:"payAmount"` // 付款金额 + Fee int64 `protobuf:"varint,8,opt,name=fee,proto3" json:"fee"` // 手续费 + NetIncome int64 `protobuf:"varint,9,opt,name=netIncome,proto3" json:"netIncome"` // 净收入 + Status string `protobuf:"bytes,10,opt,name=status,proto3" json:"status"` + PayTime string `protobuf:"bytes,11,opt,name=payTime,proto3" json:"payTime"` + ChannelType string `protobuf:"bytes,12,opt,name=channelType,proto3" json:"channelType"` // 支付渠道 alipay-支付宝 wxpay-微信 stripe-Stripe支付 + Platform string `protobuf:"bytes,13,opt,name=platform,proto3" json:"platform"` // 支付具体来源,是app还是h5还是jsapi还是wap + Domain string `protobuf:"bytes,14,opt,name=domain,proto3" json:"domain"` // 使用平台 + BusinessType string `protobuf:"bytes,15,opt,name=businessType,proto3" json:"businessType"` // 业务类型,用来确认mq发送 + LogId int64 `protobuf:"varint,16,opt,name=logId,proto3" json:"logId"` + CheckSessionId string `protobuf:"bytes,17,opt,name=checkSessionId,proto3" json:"checkSessionId"` + ProductUUID string `protobuf:"bytes,18,opt,name=productUUID,proto3" json:"productUUID"` + ProductName string `protobuf:"bytes,19,opt,name=productName,proto3" json:"productName"` + ProductImg string `protobuf:"bytes,20,opt,name=productImg,proto3" json:"productImg"` + ProductDescription string `protobuf:"bytes,21,opt,name=productDescription,proto3" json:"productDescription"` +} + +func (x *OrderDetail) Reset() { + *x = OrderDetail{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OrderDetail) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrderDetail) ProtoMessage() {} + +func (x *OrderDetail) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[66] + 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 OrderDetail.ProtoReflect.Descriptor instead. +func (*OrderDetail) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{66} +} + +func (x *OrderDetail) GetPaymentOrderId() int64 { + if x != nil { + return x.PaymentOrderId + } + return 0 +} + +func (x *OrderDetail) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +func (x *OrderDetail) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +func (x *OrderDetail) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *OrderDetail) GetChannelTradeNo() string { + if x != nil { + return x.ChannelTradeNo + } + return "" +} + +func (x *OrderDetail) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +func (x *OrderDetail) GetPayAmount() int64 { + if x != nil { + return x.PayAmount + } + return 0 +} + +func (x *OrderDetail) GetFee() int64 { + if x != nil { + return x.Fee + } + return 0 +} + +func (x *OrderDetail) GetNetIncome() int64 { + if x != nil { + return x.NetIncome + } + return 0 +} + +func (x *OrderDetail) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *OrderDetail) GetPayTime() string { + if x != nil { + return x.PayTime + } + return "" +} + +func (x *OrderDetail) GetChannelType() string { + if x != nil { + return x.ChannelType + } + return "" +} + +func (x *OrderDetail) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *OrderDetail) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *OrderDetail) GetBusinessType() string { + if x != nil { + return x.BusinessType + } + return "" +} + +func (x *OrderDetail) GetLogId() int64 { + if x != nil { + return x.LogId + } + return 0 +} + +func (x *OrderDetail) GetCheckSessionId() string { + if x != nil { + return x.CheckSessionId + } + return "" +} + +func (x *OrderDetail) GetProductUUID() string { + if x != nil { + return x.ProductUUID + } + return "" +} + +func (x *OrderDetail) GetProductName() string { + if x != nil { + return x.ProductName + } + return "" +} + +func (x *OrderDetail) GetProductImg() string { + if x != nil { + return x.ProductImg + } + return "" +} + +func (x *OrderDetail) GetProductDescription() string { + if x != nil { + return x.ProductDescription + } + return "" +} + +type BusinessInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BusinessName string `protobuf:"bytes,1,opt,name=BusinessName,proto3" json:"BusinessName"` // 业务名称 + Currency string `protobuf:"bytes,2,opt,name=currency,proto3" json:"currency"` // 交易币种 + OrderNum int32 `protobuf:"varint,3,opt,name=orderNum,proto3" json:"orderNum"` // 成功交易的订单数 + TotalIncome int64 `protobuf:"varint,4,opt,name=totalIncome,proto3" json:"totalIncome"` // 总收入 + TotalFee int64 `protobuf:"varint,5,opt,name=totalFee,proto3" json:"totalFee"` // 总手续费 + TotalRefundAmount int64 `protobuf:"varint,6,opt,name=totalRefundAmount,proto3" json:"totalRefundAmount"` // 总退款费 + NetIncome int64 `protobuf:"varint,7,opt,name=netIncome,proto3" json:"netIncome"` // 净收入 +} + +func (x *BusinessInfo) Reset() { + *x = BusinessInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BusinessInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BusinessInfo) ProtoMessage() {} + +func (x *BusinessInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[67] + 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 BusinessInfo.ProtoReflect.Descriptor instead. +func (*BusinessInfo) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{67} +} + +func (x *BusinessInfo) GetBusinessName() string { + if x != nil { + return x.BusinessName + } + return "" +} + +func (x *BusinessInfo) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +func (x *BusinessInfo) GetOrderNum() int32 { + if x != nil { + return x.OrderNum + } + return 0 +} + +func (x *BusinessInfo) GetTotalIncome() int64 { + if x != nil { + return x.TotalIncome + } + return 0 +} + +func (x *BusinessInfo) GetTotalFee() int64 { + if x != nil { + return x.TotalFee + } + return 0 +} + +func (x *BusinessInfo) GetTotalRefundAmount() int64 { + if x != nil { + return x.TotalRefundAmount + } + return 0 +} + +func (x *BusinessInfo) GetNetIncome() int64 { + if x != nil { + return x.NetIncome + } + return 0 +} + +type Overview struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Currency string `protobuf:"bytes,1,opt,name=currency,proto3" json:"currency"` // 交易币种 + OrderNum int32 `protobuf:"varint,2,opt,name=orderNum,proto3" json:"orderNum"` // 成功交易的订单数 + TotalIncome int64 `protobuf:"varint,3,opt,name=totalIncome,proto3" json:"totalIncome"` // 总收入 + TotalFee int64 `protobuf:"varint,4,opt,name=totalFee,proto3" json:"totalFee"` // 总手续费 + TotalRefundAmount int64 `protobuf:"varint,5,opt,name=totalRefundAmount,proto3" json:"totalRefundAmount"` // 总退款费 + NetIncome int64 `protobuf:"varint,6,opt,name=netIncome,proto3" json:"netIncome"` // 净收入 +} + +func (x *Overview) Reset() { + *x = Overview{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Overview) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Overview) ProtoMessage() {} + +func (x *Overview) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[68] + 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 Overview.ProtoReflect.Descriptor instead. +func (*Overview) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{68} +} + +func (x *Overview) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +func (x *Overview) GetOrderNum() int32 { + if x != nil { + return x.OrderNum + } + return 0 +} + +func (x *Overview) GetTotalIncome() int64 { + if x != nil { + return x.TotalIncome + } + return 0 +} + +func (x *Overview) GetTotalFee() int64 { + if x != nil { + return x.TotalFee + } + return 0 +} + +func (x *Overview) GetTotalRefundAmount() int64 { + if x != nil { + return x.TotalRefundAmount + } + return 0 +} + +func (x *Overview) GetNetIncome() int64 { + if x != nil { + return x.NetIncome + } + return 0 +} + +type ChannelIncome struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChannelType string `protobuf:"bytes,1,opt,name=channelType,proto3" json:"channelType"` // 交易渠道 + Currency string `protobuf:"bytes,2,opt,name=currency,proto3" json:"currency"` // 交易币种 + OrderNum int32 `protobuf:"varint,3,opt,name=orderNum,proto3" json:"orderNum"` // 成功交易的订单数 + TotalIncome int64 `protobuf:"varint,4,opt,name=totalIncome,proto3" json:"totalIncome"` // 总收入 + TotalFee int64 `protobuf:"varint,5,opt,name=totalFee,proto3" json:"totalFee"` // 总手续费 + TotalRefundAmount int64 `protobuf:"varint,6,opt,name=totalRefundAmount,proto3" json:"totalRefundAmount"` // 总退款费 + NetIncome int64 `protobuf:"varint,7,opt,name=netIncome,proto3" json:"netIncome"` // 净收入 +} + +func (x *ChannelIncome) Reset() { + *x = ChannelIncome{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChannelIncome) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChannelIncome) ProtoMessage() {} + +func (x *ChannelIncome) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[69] + 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 ChannelIncome.ProtoReflect.Descriptor instead. +func (*ChannelIncome) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{69} +} + +func (x *ChannelIncome) GetChannelType() string { + if x != nil { + return x.ChannelType + } + return "" +} + +func (x *ChannelIncome) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +func (x *ChannelIncome) GetOrderNum() int32 { + if x != nil { + return x.OrderNum + } + return 0 +} + +func (x *ChannelIncome) GetTotalIncome() int64 { + if x != nil { + return x.TotalIncome + } + return 0 +} + +func (x *ChannelIncome) GetTotalFee() int64 { + if x != nil { + return x.TotalFee + } + return 0 +} + +func (x *ChannelIncome) GetTotalRefundAmount() int64 { + if x != nil { + return x.TotalRefundAmount + } + return 0 +} + +func (x *ChannelIncome) GetNetIncome() int64 { + if x != nil { + return x.NetIncome + } + return 0 +} + +type WechatAppQueryByOutTradeNoResponse_Payer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Openid string `protobuf:"bytes,1,opt,name=openid,proto3" json:"openid"` +} + +func (x *WechatAppQueryByOutTradeNoResponse_Payer) Reset() { + *x = WechatAppQueryByOutTradeNoResponse_Payer{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatAppQueryByOutTradeNoResponse_Payer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatAppQueryByOutTradeNoResponse_Payer) ProtoMessage() {} + +func (x *WechatAppQueryByOutTradeNoResponse_Payer) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[71] + 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 WechatAppQueryByOutTradeNoResponse_Payer.ProtoReflect.Descriptor instead. +func (*WechatAppQueryByOutTradeNoResponse_Payer) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{43, 0} +} + +func (x *WechatAppQueryByOutTradeNoResponse_Payer) GetOpenid() string { + if x != nil { + return x.Openid + } + return "" +} + +type WechatAppQueryByOutTradeNoResponse_Amount struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total"` // 总金额 + PayerTotal int64 `protobuf:"varint,2,opt,name=payerTotal,json=payer_total,proto3" json:"payerTotal"` // 付款人支付的金额 + Currency string `protobuf:"bytes,3,opt,name=currency,proto3" json:"currency"` // 货币类型 + PayerCurrency string `protobuf:"bytes,4,opt,name=payerCurrency,json=payer_currency,proto3" json:"payerCurrency"` // 付款人货币类型 +} + +func (x *WechatAppQueryByOutTradeNoResponse_Amount) Reset() { + *x = WechatAppQueryByOutTradeNoResponse_Amount{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatAppQueryByOutTradeNoResponse_Amount) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatAppQueryByOutTradeNoResponse_Amount) ProtoMessage() {} + +func (x *WechatAppQueryByOutTradeNoResponse_Amount) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[72] + 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 WechatAppQueryByOutTradeNoResponse_Amount.ProtoReflect.Descriptor instead. +func (*WechatAppQueryByOutTradeNoResponse_Amount) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{43, 1} +} + +func (x *WechatAppQueryByOutTradeNoResponse_Amount) GetTotal() int64 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *WechatAppQueryByOutTradeNoResponse_Amount) GetPayerTotal() int64 { + if x != nil { + return x.PayerTotal + } + return 0 +} + +func (x *WechatAppQueryByOutTradeNoResponse_Amount) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse_Amount) GetPayerCurrency() string { + if x != nil { + return x.PayerCurrency + } + return "" +} + +type WechatAppQueryByOutTradeNoResponse_PromotionDetail struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CouponId string `protobuf:"bytes,1,opt,name=couponId,json=coupon_id,proto3" json:"couponId"` // 优惠券ID + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` // 名称 + Scope string `protobuf:"bytes,3,opt,name=scope,proto3" json:"scope"` // 范围 + Type string `protobuf:"bytes,4,opt,name=type,proto3" json:"type"` // 类型 + Amount int64 `protobuf:"varint,5,opt,name=amount,proto3" json:"amount"` // 金额 + StockId string `protobuf:"bytes,6,opt,name=stockId,json=stock_id,proto3" json:"stockId"` // 库存ID + WechatpayContribute int64 `protobuf:"varint,7,opt,name=wechatpayContribute,json=wechatpay_contribute,proto3" json:"wechatpayContribute"` // 微信支付贡献的金额 + MerchantContribute int64 `protobuf:"varint,8,opt,name=merchantContribute,json=merchant_contribute,proto3" json:"merchantContribute"` // 商户贡献的金额 + OtherContribute int64 `protobuf:"varint,9,opt,name=otherContribute,json=other_contribute,proto3" json:"otherContribute"` // 其他贡献的金额 + Currency string `protobuf:"bytes,10,opt,name=currency,proto3" json:"currency"` // 货币类型 +} + +func (x *WechatAppQueryByOutTradeNoResponse_PromotionDetail) Reset() { + *x = WechatAppQueryByOutTradeNoResponse_PromotionDetail{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatAppQueryByOutTradeNoResponse_PromotionDetail) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatAppQueryByOutTradeNoResponse_PromotionDetail) ProtoMessage() {} + +func (x *WechatAppQueryByOutTradeNoResponse_PromotionDetail) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[73] + 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 WechatAppQueryByOutTradeNoResponse_PromotionDetail.ProtoReflect.Descriptor instead. +func (*WechatAppQueryByOutTradeNoResponse_PromotionDetail) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{43, 2} +} + +func (x *WechatAppQueryByOutTradeNoResponse_PromotionDetail) GetCouponId() string { + if x != nil { + return x.CouponId + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse_PromotionDetail) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse_PromotionDetail) GetScope() string { + if x != nil { + return x.Scope + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse_PromotionDetail) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse_PromotionDetail) GetAmount() int64 { + if x != nil { + return x.Amount + } + return 0 +} + +func (x *WechatAppQueryByOutTradeNoResponse_PromotionDetail) GetStockId() string { + if x != nil { + return x.StockId + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse_PromotionDetail) GetWechatpayContribute() int64 { + if x != nil { + return x.WechatpayContribute + } + return 0 +} + +func (x *WechatAppQueryByOutTradeNoResponse_PromotionDetail) GetMerchantContribute() int64 { + if x != nil { + return x.MerchantContribute + } + return 0 +} + +func (x *WechatAppQueryByOutTradeNoResponse_PromotionDetail) GetOtherContribute() int64 { + if x != nil { + return x.OtherContribute + } + return 0 +} + +func (x *WechatAppQueryByOutTradeNoResponse_PromotionDetail) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +var File_pb_payment_proto protoreflect.FileDescriptor + +var file_pb_payment_proto_rawDesc = []byte{ + 0x0a, 0x10, 0x70, 0x62, 0x2f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x46, 0x0a, 0x14, 0x41, + 0x6e, 0x74, 0x6f, 0x6d, 0x50, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x12, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x73, 0x22, 0x48, 0x0a, 0x15, 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x50, 0x61, 0x79, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x05, + 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0xdf, 0x01, + 0x0a, 0x15, 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, + 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, 0x74, + 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, + 0x50, 0x0a, 0x16, 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, + 0x6f, 0x22, 0xec, 0x05, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, + 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, + 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, + 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x67, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x67, 0x12, 0x2e, + 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, + 0x0a, 0x07, 0x71, 0x75, 0x69, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x71, 0x75, 0x69, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x69, + 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x6f, 0x74, + 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x55, 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x4e, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x26, 0x0a, 0x0e, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x79, 0x65, + 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x79, 0x65, 0x65, 0x12, 0x20, + 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x11, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, + 0x54, 0x79, 0x70, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x75, 0x73, 0x69, + 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, + 0x75, 0x61, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, + 0x75, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70, + 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70, + 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, + 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x69, + 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, + 0x22, 0xe3, 0x02, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x22, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, + 0x6f, 0x67, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x03, + 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x14, + 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, + 0x70, 0x70, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, + 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, + 0x6d, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x73, 0x69, 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x73, 0x69, 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x6e, 0x63, + 0x65, 0x53, 0x74, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, + 0x65, 0x53, 0x74, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x72, 0x65, 0x70, 0x61, 0x79, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x70, 0x72, 0x65, 0x70, 0x61, 0x79, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, + 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, + 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xdf, 0x04, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, + 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x55, 0x55, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x26, 0x0a, 0x0e, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x75, + 0x6e, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x63, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x63, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x79, 0x65, 0x65, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x79, 0x65, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70, 0x12, 0x16, 0x0a, 0x06, + 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, + 0x65, 0x6e, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, + 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x52, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x75, + 0x6e, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x3c, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x82, 0x01, 0x0a, 0x10, 0x4e, 0x6f, 0x74, 0x69, 0x66, + 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, + 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6f, + 0x73, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x37, 0x0a, 0x0c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, + 0x0a, 0x08, 0x72, 0x61, 0x77, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x72, 0x61, 0x77, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x45, 0x0a, 0x11, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, + 0x73, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x4e, 0x6f, 0x22, 0xc4, 0x01, 0x0a, 0x0b, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x3b, 0x0a, 0x07, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, + 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x1a, 0x3a, 0x0a, + 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1d, 0x0a, 0x09, 0x43, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x0e, 0x0a, 0x0c, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x98, 0x04, 0x0a, 0x22, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, + 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, 0x44, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, + 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x51, 0x75, + 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x28, 0x0a, + 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x41, + 0x6c, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, + 0x6c, 0x12, 0x32, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x43, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, + 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1e, 0x0a, + 0x0a, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, + 0x09, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, + 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x23, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, + 0x72, 0x69, 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x22, 0xa1, 0x01, 0x0a, 0x19, 0x47, 0x65, + 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, + 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, + 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, + 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1e, 0x0a, + 0x0a, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x4b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x4b, 0x65, 0x79, 0x22, 0xa2, 0x01, + 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x57, 0x65, 0x62, + 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, + 0x12, 0x30, 0x0a, 0x13, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x22, 0x6f, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x50, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, + 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x72, 0x49, 0x44, 0x22, 0xb2, 0x05, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x53, 0x74, 0x72, 0x69, 0x70, + 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, + 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, + 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x14, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x13, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, + 0x0a, 0x08, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, + 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, + 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x45, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x70, 0x61, 0x79, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, + 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x79, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x2c, 0x0a, 0x11, + 0x61, 0x66, 0x74, 0x65, 0x72, 0x52, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x61, 0x66, 0x74, 0x65, 0x72, 0x52, 0x61, + 0x74, 0x65, 0x50, 0x61, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61, + 0x79, 0x48, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x46, 0x65, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x46, 0x65, 0x65, + 0x12, 0x34, 0x0a, 0x15, 0x61, 0x66, 0x74, 0x65, 0x72, 0x52, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, + 0x4e, 0x65, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x15, 0x61, 0x66, 0x74, 0x65, 0x72, 0x52, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x4e, 0x65, 0x74, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x65, 0x72, 0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, + 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x72, 0x65, 0x66, + 0x75, 0x6e, 0x64, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, + 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0x50, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, + 0x65, 0x66, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x49, 0x44, 0x22, 0x3b, 0x0a, 0x15, 0x47, 0x65, + 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x75, 0x6e, + 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xc2, 0x02, 0x0a, 0x10, 0x41, 0x6c, 0x69, 0x57, + 0x61, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, + 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, + 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x19, 0x0a, 0x07, 0x71, + 0x75, 0x69, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, + 0x69, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, + 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, + 0x79, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, + 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x45, + 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, 0x6d, + 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x5b, 0x0a, 0x11, + 0x41, 0x6c, 0x69, 0x57, 0x61, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x75, 0x72, 0x6c, 0x12, 0x22, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x5f, 0x72, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xdc, 0x02, 0x0a, 0x10, 0x41, 0x6c, + 0x69, 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0a, 0x6f, + 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x19, 0x0a, + 0x07, 0x71, 0x75, 0x69, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x71, 0x75, 0x69, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x69, + 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, 0x74, + 0x69, 0x66, 0x79, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x69, 0x6d, + 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, + 0x0a, 0x07, 0x70, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x70, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x5b, 0x0a, 0x11, 0x41, 0x6c, 0x69, 0x41, + 0x70, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, + 0x22, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x44, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x5f, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xe8, 0x01, 0x0a, 0x13, 0x41, 0x6c, 0x69, 0x4e, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, + 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x1d, 0x0a, 0x09, 0x6e, 0x6f, 0x74, + 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x79, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0a, 0x74, + 0x69, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x22, 0x3a, 0x0a, 0x14, 0x41, 0x6c, 0x69, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xa1, 0x02, 0x0a, + 0x12, 0x41, 0x6c, 0x69, 0x50, 0x63, 0x57, 0x61, 0x62, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, + 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, + 0x1d, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x21, + 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, + 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x19, 0x0a, 0x07, 0x71, 0x75, 0x69, 0x74, 0x55, 0x72, + 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x69, 0x74, 0x5f, 0x75, 0x72, + 0x6c, 0x12, 0x1d, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x75, 0x72, 0x6c, + 0x22, 0x5b, 0x0a, 0x13, 0x41, 0x6c, 0x69, 0x50, 0x63, 0x57, 0x61, 0x62, 0x50, 0x61, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x13, 0x70, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6d, + 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x57, 0x0a, + 0x10, 0x41, 0x6c, 0x69, 0x52, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, + 0x5f, 0x6e, 0x6f, 0x12, 0x21, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xaa, 0x01, 0x0a, 0x11, 0x41, 0x6c, 0x69, 0x52, 0x65, + 0x46, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x07, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, + 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x62, 0x75, 0x79, + 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x62, 0x75, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x65, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x65, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6d, 0x73, 0x67, 0x22, 0x2f, 0x0a, 0x10, 0x41, 0x6c, 0x69, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x08, 0x72, 0x61, 0x77, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x61, 0x77, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x22, 0xf5, 0x02, 0x0a, 0x11, 0x41, 0x6c, 0x69, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x6e, + 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x08, + 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x69, 0x64, 0x12, 0x15, 0x0a, 0x05, 0x61, 0x70, 0x70, + 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, + 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x08, 0x73, 0x69, + 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, + 0x67, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x67, 0x6e, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x69, 0x67, 0x6e, 0x12, 0x19, 0x0a, 0x07, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, + 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x24, 0x0a, 0x0c, 0x62, 0x75, 0x79, 0x65, + 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x62, 0x75, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x19, + 0x0a, 0x07, 0x62, 0x75, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x62, 0x75, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0b, 0x74, 0x72, 0x61, + 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x3d, 0x0a, 0x1b, + 0x41, 0x6c, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, + 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0xeb, 0x01, 0x0a, 0x1c, + 0x41, 0x6c, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x07, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, + 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x24, 0x0a, 0x0c, 0x62, 0x75, 0x79, + 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x62, 0x75, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, + 0x21, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0b, 0x62, 0x75, 0x79, 0x65, 0x72, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x75, 0x79, 0x65, + 0x72, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x22, 0x43, 0x0a, 0x21, 0x41, 0x6c, 0x69, + 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0xf9, + 0x01, 0x0a, 0x22, 0x41, 0x6c, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, + 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, + 0x6e, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x75, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x6e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x75, 0x74, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, + 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x66, + 0x75, 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xdc, 0x02, 0x0a, 0x15, 0x57, + 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x65, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, + 0x65, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, + 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, + 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x49, 0x50, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x49, 0x50, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, + 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x22, 0xd4, 0x01, 0x0a, 0x16, 0x57, 0x65, + 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x69, + 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x61, 0x63, 0x6b, + 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, + 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x61, + 0x79, 0x53, 0x69, 0x67, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, + 0x53, 0x69, 0x67, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x65, 0x70, 0x61, 0x79, 0x49, 0x64, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x65, 0x70, 0x61, 0x79, 0x49, 0x64, + 0x22, 0x82, 0x02, 0x0a, 0x14, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, + 0x1c, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x18, 0x0a, + 0x07, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x12, + 0x18, 0x0a, 0x07, 0x50, 0x61, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x70, 0x61, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x65, + 0x70, 0x61, 0x79, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x65, + 0x70, 0x61, 0x79, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, + 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x45, 0x0a, 0x23, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, + 0x73, 0x41, 0x70, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, + 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0xca, 0x02, 0x0a, + 0x24, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, 0x15, 0x0a, 0x05, 0x6d, + 0x63, 0x68, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x63, 0x68, 0x5f, + 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, + 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x25, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x72, + 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x62, + 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, + 0x61, 0x6e, 0x6b, 0x5f, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x06, 0x6f, 0x70, + 0x65, 0x6e, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x65, 0x6e, + 0x5f, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x43, 0x0a, 0x21, 0x57, 0x65, 0x63, + 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0xcc, + 0x08, 0x0a, 0x22, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, 0x15, 0x0a, 0x05, 0x6d, + 0x63, 0x68, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x63, 0x68, 0x5f, + 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, + 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x25, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x72, + 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x0e, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x44, 0x65, 0x73, 0x63, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x5f, 0x64, 0x65, 0x73, 0x63, 0x12, 0x1b, 0x0a, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x12, 0x21, 0x0a, 0x0b, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x66, 0x0a, + 0x0f, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, + 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x47, 0x0a, 0x05, 0x70, 0x61, 0x79, 0x65, 0x72, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, + 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, + 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x50, 0x61, 0x79, 0x65, 0x72, 0x52, 0x05, 0x70, 0x61, 0x79, 0x65, 0x72, 0x12, 0x4a, + 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, + 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, + 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x1f, 0x0a, 0x05, 0x50, 0x61, + 0x79, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x1a, 0x82, 0x01, 0x0a, 0x06, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1f, 0x0a, 0x0a, + 0x70, 0x61, 0x79, 0x65, 0x72, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0b, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1a, 0x0a, + 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x25, 0x0a, 0x0d, 0x70, 0x61, 0x79, + 0x65, 0x72, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, + 0x1a, 0xca, 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1b, 0x0a, 0x08, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x5f, 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, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x63, 0x6b, + 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x5f, + 0x69, 0x64, 0x12, 0x31, 0x0a, 0x13, 0x77, 0x65, 0x63, 0x68, 0x61, 0x74, 0x70, 0x61, 0x79, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x14, 0x77, 0x65, 0x63, 0x68, 0x61, 0x74, 0x70, 0x61, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x12, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, + 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x13, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x0f, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x10, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x22, 0x3b, 0x0a, + 0x19, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x75, + 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0xb6, 0x01, 0x0a, 0x1a, 0x47, + 0x65, 0x74, 0x50, 0x61, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, + 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, + 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, + 0x65, 0x6e, 0x65, 0x22, 0x92, 0x02, 0x0a, 0x1a, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, + 0x41, 0x70, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x20, + 0x0a, 0x0b, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, + 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x4f, 0x75, 0x74, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x53, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xc5, 0x02, 0x0a, 0x16, 0x57, 0x65, 0x63, + 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x6f, 0x74, + 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, 0x1a, 0x0a, + 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x50, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x50, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x65, + 0x6e, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x12, + 0x1f, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, + 0x22, 0x34, 0x0a, 0x17, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x07, 0x63, + 0x6f, 0x64, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, + 0x64, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0x46, 0x0a, 0x24, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, + 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0x4b, + 0x0a, 0x25, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x52, 0x65, + 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x75, + 0x74, 0x5f, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x6e, 0x6f, 0x22, 0xf2, 0x02, 0x0a, 0x26, + 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, + 0x5f, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, + 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x75, 0x74, 0x5f, 0x72, 0x65, + 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x6e, 0x6f, 0x12, 0x25, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x20, + 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x32, 0x0a, 0x13, 0x75, 0x73, + 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x72, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, + 0x0a, 0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x22, 0xcb, 0x02, 0x0a, 0x25, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, + 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, + 0x12, 0x15, 0x0a, 0x05, 0x6d, 0x63, 0x68, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x6d, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, + 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x25, 0x0a, 0x0d, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x12, 0x1d, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x1f, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0b, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, + 0x17, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0xda, + 0x02, 0x0a, 0x13, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x75, 0x74, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, + 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x65, 0x6e, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, + 0x65, 0x6e, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, + 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, + 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x49, 0x50, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x49, 0x50, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x69, + 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x22, 0xd5, 0x01, 0x0a, 0x19, + 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, + 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, + 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, + 0x64, 0x4e, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, + 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x04, 0x43, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x12, 0x14, 0x0a, + 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x54, 0x6f, + 0x74, 0x61, 0x6c, 0x22, 0xd9, 0x02, 0x0a, 0x12, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, + 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, + 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x12, 0x0a, 0x04, + 0x43, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x65, 0x6e, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x6f, 0x74, + 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x49, 0x44, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x50, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x50, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x65, 0x6e, + 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x12, 0x1f, + 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x22, + 0x2c, 0x0a, 0x13, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x50, 0x61, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x05, 0x68, 0x35, 0x55, 0x72, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x35, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0x42, 0x0a, + 0x20, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, + 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, + 0x6f, 0x22, 0xf1, 0x02, 0x0a, 0x21, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, 0x15, 0x0a, + 0x05, 0x6d, 0x63, 0x68, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x63, + 0x68, 0x5f, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x4e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, + 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x25, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x1d, 0x0a, + 0x09, 0x74, 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0a, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, + 0x0e, 0x74, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x44, 0x65, 0x73, 0x63, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x5f, + 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x69, + 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x12, + 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x48, 0x0a, 0x12, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x50, + 0x61, 0x79, 0x4f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, + 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x62, + 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, + 0x3a, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x4b, 0x0a, 0x0f, 0x50, + 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x70, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x70, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, + 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0x43, 0x0a, 0x10, 0x50, 0x61, 0x79, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x05, + 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0xbe, 0x05, + 0x0a, 0x10, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x26, + 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x70, 0x61, 0x79, 0x65, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x79, + 0x65, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x75, 0x73, 0x69, + 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x6c, 0x6f, 0x67, 0x49, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x6f, 0x67, + 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, 0x44, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, + 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, + 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x67, 0x18, 0x14, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x67, 0x12, 0x2e, + 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, + 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x66, 0x65, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x17, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x22, 0xe8, + 0x01, 0x0a, 0x10, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x22, 0xb5, 0x02, 0x0a, 0x11, 0x45, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x2d, 0x0a, 0x08, 0x6f, + 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, + 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x12, 0x3e, 0x0a, 0x0e, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0d, 0x62, 0x75, + 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x73, 0x69, + 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, + 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x38, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x52, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x22, 0xa1, 0x05, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x1a, 0x0a, + 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x79, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x61, + 0x79, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x74, + 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6e, 0x65, + 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x70, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, + 0x22, 0x0a, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x49, 0x64, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x05, 0x6c, 0x6f, 0x67, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, 0x44, + 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, + 0x55, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x49, 0x6d, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x49, 0x6d, 0x67, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf4, 0x01, 0x0a, 0x0c, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, + 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, + 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x42, 0x75, + 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, + 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, + 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, + 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x65, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x65, 0x65, + 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, + 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x22, 0xcc, 0x01, 0x0a, + 0x08, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, + 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, + 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x63, + 0x6f, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x12, + 0x2c, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x22, 0xf3, 0x01, 0x0a, 0x0d, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x20, 0x0a, + 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x46, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x46, 0x65, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, + 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, + 0x65, 0x32, 0x82, 0x16, 0x0a, 0x07, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x42, 0x0a, + 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x42, 0x0a, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, 0x12, 0x19, + 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, + 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, + 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x18, 0x2e, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x50, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x50, 0x61, 0x79, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x12, 0x1c, 0x2e, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x75, + 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x69, + 0x70, 0x65, 0x47, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x79, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, + 0x12, 0x22, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, + 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, + 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x10, 0x41, + 0x6c, 0x69, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x12, + 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, + 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x15, 0x57, 0x65, 0x63, 0x68, + 0x61, 0x74, 0x46, 0x65, 0x6e, 0x67, 0x4c, 0x69, 0x61, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, + 0x6b, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0c, 0x41, 0x6e, + 0x74, 0x6f, 0x6d, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x12, 0x1e, 0x2e, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, + 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, + 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, + 0x20, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x50, 0x61, 0x79, 0x42, 0x79, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x12, 0x1d, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, 0x74, 0x6f, + 0x6d, 0x50, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1e, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, 0x74, 0x6f, 0x6d, + 0x50, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x7a, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, + 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x2b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, + 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, + 0x74, 0x72, 0x69, 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, + 0x0a, 0x09, 0x41, 0x6c, 0x69, 0x57, 0x61, 0x70, 0x50, 0x61, 0x79, 0x12, 0x19, 0x2e, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x57, 0x61, 0x70, 0x50, 0x61, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x41, 0x6c, 0x69, 0x57, 0x61, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x41, 0x6c, 0x69, 0x41, 0x70, 0x70, 0x50, 0x61, + 0x79, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x41, + 0x70, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x41, 0x6c, + 0x69, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, 0x12, 0x1c, 0x2e, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x41, 0x6c, 0x69, + 0x50, 0x63, 0x57, 0x61, 0x62, 0x50, 0x61, 0x79, 0x12, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x50, 0x63, 0x57, 0x61, 0x62, 0x50, 0x61, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x41, 0x6c, 0x69, 0x50, 0x63, 0x57, 0x61, 0x62, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x41, 0x6c, 0x69, 0x52, 0x65, 0x46, 0x75, + 0x6e, 0x64, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, + 0x52, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x52, 0x65, 0x46, 0x75, 0x6e, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x41, + 0x6c, 0x69, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, + 0x69, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x65, 0x0a, 0x14, 0x41, 0x6c, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, + 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x24, 0x2e, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, + 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x25, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x1a, 0x41, 0x6c, 0x69, 0x52, + 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x2a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x41, 0x6c, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, + 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, + 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x53, 0x0a, 0x0e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, + 0x50, 0x61, 0x79, 0x12, 0x1e, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, + 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, + 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7d, 0x0a, 0x1c, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, + 0x4a, 0x73, 0x41, 0x70, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x2c, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, + 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, + 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x42, + 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x22, 0x2e, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x42, 0x79, 0x4f, 0x75, + 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x23, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, + 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x12, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, + 0x4a, 0x73, 0x41, 0x70, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x12, 0x22, 0x2e, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, + 0x70, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x23, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, + 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x50, 0x61, + 0x79, 0x4f, 0x6b, 0x12, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, + 0x63, 0x68, 0x61, 0x74, 0x50, 0x61, 0x79, 0x4f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x57, + 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, 0x12, 0x1c, 0x2e, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x50, + 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x1a, 0x57, 0x65, + 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, + 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x2a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, + 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, + 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x0f, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, 0x12, 0x1f, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x1d, + 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x2d, 0x2e, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x83, + 0x01, 0x0a, 0x1e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, + 0x6f, 0x12, 0x2e, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, + 0x61, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, + 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2f, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, + 0x61, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, + 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, + 0x50, 0x61, 0x79, 0x12, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, + 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1c, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, + 0x74, 0x48, 0x35, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x74, 0x0a, 0x19, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x29, 0x2e, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, + 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x0b, 0x5a, 0x09, 0x2e, 0x2f, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_pb_payment_proto_rawDescOnce sync.Once + file_pb_payment_proto_rawDescData = file_pb_payment_proto_rawDesc +) + +func file_pb_payment_proto_rawDescGZIP() []byte { + file_pb_payment_proto_rawDescOnce.Do(func() { + file_pb_payment_proto_rawDescData = protoimpl.X.CompressGZIP(file_pb_payment_proto_rawDescData) + }) + return file_pb_payment_proto_rawDescData +} + +var file_pb_payment_proto_msgTypes = make([]protoimpl.MessageInfo, 74) +var file_pb_payment_proto_goTypes = []interface{}{ + (*AntomPayQueryRequest)(nil), // 0: payment.AntomPayQueryRequest + (*AntomPayQueryResponse)(nil), // 1: payment.AntomPayQueryResponse + (*AntomNotifyPayRequest)(nil), // 2: payment.AntomNotifyPayRequest + (*AntomNotifyPayResponse)(nil), // 3: payment.AntomNotifyPayResponse + (*CreatePayRequest)(nil), // 4: payment.CreatePayRequest + (*CreatePayResponse)(nil), // 5: payment.CreatePayResponse + (*CreateRefundRequest)(nil), // 6: payment.CreateRefundRequest + (*CreateRefundResponse)(nil), // 7: payment.CreateRefundResponse + (*NotifyPayRequest)(nil), // 8: payment.NotifyPayRequest + (*NotifyPayResponse)(nil), // 9: payment.NotifyPayResponse + (*HttpRequest)(nil), // 10: payment.HttpRequest + (*CommonMsg)(nil), // 11: payment.CommonMsg + (*EmptyRequest)(nil), // 12: payment.EmptyRequest + (*CreateStripeCheckoutSessionRequest)(nil), // 13: payment.CreateStripeCheckoutSessionRequest + (*CreateStripeCheckoutSessionResponse)(nil), // 14: payment.CreateStripeCheckoutSessionResponse + (*GetCheckoutWebhookRequest)(nil), // 15: payment.GetCheckoutWebhookRequest + (*GetCheckoutWebhookResponse)(nil), // 16: payment.GetCheckoutWebhookResponse + (*GetStripePaymentIntentInfoRequest)(nil), // 17: payment.GetStripePaymentIntentInfoRequest + (*GetStripePaymentIntentInfoResponse)(nil), // 18: payment.GetStripePaymentIntentInfoResponse + (*GetRefundInfoRequest)(nil), // 19: payment.GetRefundInfoRequest + (*GetRefundInfoResponse)(nil), // 20: payment.GetRefundInfoResponse + (*AliWapPayRequest)(nil), // 21: payment.AliWapPayRequest + (*AliWapPayResponse)(nil), // 22: payment.AliWapPayResponse + (*AliAppPayRequest)(nil), // 23: payment.AliAppPayRequest + (*AliAppPayResponse)(nil), // 24: payment.AliAppPayResponse + (*AliNativePayRequest)(nil), // 25: payment.AliNativePayRequest + (*AliNativePayResponse)(nil), // 26: payment.AliNativePayResponse + (*AliPcWabPayRequest)(nil), // 27: payment.AliPcWabPayRequest + (*AliPcWabPayResponse)(nil), // 28: payment.AliPcWabPayResponse + (*AliReFundRequest)(nil), // 29: payment.AliReFundRequest + (*AliReFundResponse)(nil), // 30: payment.AliReFundResponse + (*AliNotifyRequest)(nil), // 31: payment.AliNotifyRequest + (*AliNotifyResponse)(nil), // 32: payment.AliNotifyResponse + (*AliQueryByOutTradeNoRequest)(nil), // 33: payment.AliQueryByOutTradeNoRequest + (*AliQueryByOutTradeNoResponse)(nil), // 34: payment.AliQueryByOutTradeNoResponse + (*AliRefundQueryByOutTradeNoRequest)(nil), // 35: payment.AliRefundQueryByOutTradeNoRequest + (*AliRefundQueryByOutTradeNoResponse)(nil), // 36: payment.AliRefundQueryByOutTradeNoResponse + (*WechatJsApiPayRequest)(nil), // 37: payment.WechatJsApiPayRequest + (*WechatJsApiPayResponse)(nil), // 38: payment.WechatJsApiPayResponse + (*WechatAppPayResponse)(nil), // 39: payment.WechatAppPayResponse + (*WechatJsApiQueryByOutTradeNoRequest)(nil), // 40: payment.WechatJsApiQueryByOutTradeNoRequest + (*WechatJsApiQueryByOutTradeNoResponse)(nil), // 41: payment.WechatJsApiQueryByOutTradeNoResponse + (*WechatAppQueryByOutTradeNoRequest)(nil), // 42: payment.WechatAppQueryByOutTradeNoRequest + (*WechatAppQueryByOutTradeNoResponse)(nil), // 43: payment.WechatAppQueryByOutTradeNoResponse + (*GetPayByOutTradeNoRequest)(nil), // 44: payment.GetPayByOutTradeNoRequest + (*GetPayByOutTradeNoResponse)(nil), // 45: payment.GetPayByOutTradeNoResponse + (*WechatJsApiRefundsResponse)(nil), // 46: payment.WechatJsApiRefundsResponse + (*WechatNativePayRequest)(nil), // 47: payment.WechatNativePayRequest + (*WechatNativePayResponse)(nil), // 48: payment.WechatNativePayResponse + (*WechatNativeQueryByOutTradeNoRequest)(nil), // 49: payment.WechatNativeQueryByOutTradeNoRequest + (*WechatRefundQueryByOutRefundNoRequest)(nil), // 50: payment.WechatRefundQueryByOutRefundNoRequest + (*WechatRefundQueryByOutRefundNoResponse)(nil), // 51: payment.WechatRefundQueryByOutRefundNoResponse + (*WechatNativeQueryByOutTradeNoResponse)(nil), // 52: payment.WechatNativeQueryByOutTradeNoResponse + (*WechatAppPayRequest)(nil), // 53: payment.WechatAppPayRequest + (*WechatJsApiRefundsRequest)(nil), // 54: payment.WechatJsApiRefundsRequest + (*WechatH5PayRequest)(nil), // 55: payment.WechatH5PayRequest + (*WechatH5PayResponse)(nil), // 56: payment.WechatH5PayResponse + (*WechatH5QueryByOutTradeNoRequest)(nil), // 57: payment.WechatH5QueryByOutTradeNoRequest + (*WechatH5QueryByOutTradeNoResponse)(nil), // 58: payment.WechatH5QueryByOutTradeNoResponse + (*WechatPayOkRequest)(nil), // 59: payment.WechatPayOkRequest + (*CommonResponse)(nil), // 60: payment.CommonResponse + (*PayQueryRequest)(nil), // 61: payment.PayQueryRequest + (*PayQueryResponse)(nil), // 62: payment.PayQueryResponse + (*PaymentOrderInfo)(nil), // 63: payment.PaymentOrderInfo + (*ExportPayRequest)(nil), // 64: payment.ExportPayRequest + (*ExportPayResponse)(nil), // 65: payment.ExportPayResponse + (*OrderDetail)(nil), // 66: payment.OrderDetail + (*BusinessInfo)(nil), // 67: payment.BusinessInfo + (*Overview)(nil), // 68: payment.Overview + (*ChannelIncome)(nil), // 69: payment.ChannelIncome + nil, // 70: payment.HttpRequest.HeadersEntry + (*WechatAppQueryByOutTradeNoResponse_Payer)(nil), // 71: payment.WechatAppQueryByOutTradeNoResponse.Payer + (*WechatAppQueryByOutTradeNoResponse_Amount)(nil), // 72: payment.WechatAppQueryByOutTradeNoResponse.Amount + (*WechatAppQueryByOutTradeNoResponse_PromotionDetail)(nil), // 73: payment.WechatAppQueryByOutTradeNoResponse.PromotionDetail +} +var file_pb_payment_proto_depIdxs = []int32{ + 63, // 0: payment.AntomPayQueryResponse.infos:type_name -> payment.PaymentOrderInfo + 10, // 1: payment.NotifyPayRequest.http_request:type_name -> payment.HttpRequest + 70, // 2: payment.HttpRequest.headers:type_name -> payment.HttpRequest.HeadersEntry + 73, // 3: payment.WechatAppQueryByOutTradeNoResponse.promotionDetail:type_name -> payment.WechatAppQueryByOutTradeNoResponse.PromotionDetail + 71, // 4: payment.WechatAppQueryByOutTradeNoResponse.payer:type_name -> payment.WechatAppQueryByOutTradeNoResponse.Payer + 72, // 5: payment.WechatAppQueryByOutTradeNoResponse.amount:type_name -> payment.WechatAppQueryByOutTradeNoResponse.Amount + 63, // 6: payment.PayQueryResponse.infos:type_name -> payment.PaymentOrderInfo + 68, // 7: payment.ExportPayResponse.overview:type_name -> payment.Overview + 69, // 8: payment.ExportPayResponse.channelIncomes:type_name -> payment.ChannelIncome + 67, // 9: payment.ExportPayResponse.businessInfos:type_name -> payment.BusinessInfo + 66, // 10: payment.ExportPayResponse.orderDetails:type_name -> payment.OrderDetail + 4, // 11: payment.Payment.CreatePay:input_type -> payment.CreatePayRequest + 8, // 12: payment.Payment.NotifyPay:input_type -> payment.NotifyPayRequest + 61, // 13: payment.Payment.QueryPayByOutTradeNo:input_type -> payment.PayQueryRequest + 64, // 14: payment.Payment.QueryExportPay:input_type -> payment.ExportPayRequest + 6, // 15: payment.Payment.CreateRefund:input_type -> payment.CreateRefundRequest + 15, // 16: payment.Payment.StripeGermanyWebhook:input_type -> payment.GetCheckoutWebhookRequest + 8, // 17: payment.Payment.AliCommonWebhook:input_type -> payment.NotifyPayRequest + 8, // 18: payment.Payment.WechatFengLianWebhook:input_type -> payment.NotifyPayRequest + 2, // 19: payment.Payment.AntomWebhook:input_type -> payment.AntomNotifyPayRequest + 0, // 20: payment.Payment.QueryAntomPayByCheckoutSessionId:input_type -> payment.AntomPayQueryRequest + 13, // 21: payment.Payment.CreateStripeCheckoutSession:input_type -> payment.CreateStripeCheckoutSessionRequest + 21, // 22: payment.Payment.AliWapPay:input_type -> payment.AliWapPayRequest + 23, // 23: payment.Payment.AliAppPay:input_type -> payment.AliAppPayRequest + 25, // 24: payment.Payment.AliNativePay:input_type -> payment.AliNativePayRequest + 27, // 25: payment.Payment.AliPcWabPay:input_type -> payment.AliPcWabPayRequest + 29, // 26: payment.Payment.AliReFund:input_type -> payment.AliReFundRequest + 31, // 27: payment.Payment.AliNotify:input_type -> payment.AliNotifyRequest + 33, // 28: payment.Payment.AliQueryByOutTradeNo:input_type -> payment.AliQueryByOutTradeNoRequest + 35, // 29: payment.Payment.AliRefundQueryByOutTradeNo:input_type -> payment.AliRefundQueryByOutTradeNoRequest + 37, // 30: payment.Payment.WechatJsApiPay:input_type -> payment.WechatJsApiPayRequest + 40, // 31: payment.Payment.WechatJsApiQueryByOutTradeNo:input_type -> payment.WechatJsApiQueryByOutTradeNoRequest + 44, // 32: payment.Payment.GetPayByOutTradeNo:input_type -> payment.GetPayByOutTradeNoRequest + 54, // 33: payment.Payment.WechatJsApiRefunds:input_type -> payment.WechatJsApiRefundsRequest + 59, // 34: payment.Payment.SetPayOk:input_type -> payment.WechatPayOkRequest + 53, // 35: payment.Payment.WechatAppPay:input_type -> payment.WechatAppPayRequest + 42, // 36: payment.Payment.WechatAppQueryByOutTradeNo:input_type -> payment.WechatAppQueryByOutTradeNoRequest + 47, // 37: payment.Payment.WechatNativePay:input_type -> payment.WechatNativePayRequest + 49, // 38: payment.Payment.WechatNativeQueryByOutTradeNo:input_type -> payment.WechatNativeQueryByOutTradeNoRequest + 50, // 39: payment.Payment.WechatRefundQueryByOutRefundNo:input_type -> payment.WechatRefundQueryByOutRefundNoRequest + 55, // 40: payment.Payment.WechatH5Pay:input_type -> payment.WechatH5PayRequest + 57, // 41: payment.Payment.WechatH5QueryByOutTradeNo:input_type -> payment.WechatH5QueryByOutTradeNoRequest + 5, // 42: payment.Payment.CreatePay:output_type -> payment.CreatePayResponse + 9, // 43: payment.Payment.NotifyPay:output_type -> payment.NotifyPayResponse + 62, // 44: payment.Payment.QueryPayByOutTradeNo:output_type -> payment.PayQueryResponse + 65, // 45: payment.Payment.QueryExportPay:output_type -> payment.ExportPayResponse + 7, // 46: payment.Payment.CreateRefund:output_type -> payment.CreateRefundResponse + 16, // 47: payment.Payment.StripeGermanyWebhook:output_type -> payment.GetCheckoutWebhookResponse + 9, // 48: payment.Payment.AliCommonWebhook:output_type -> payment.NotifyPayResponse + 9, // 49: payment.Payment.WechatFengLianWebhook:output_type -> payment.NotifyPayResponse + 3, // 50: payment.Payment.AntomWebhook:output_type -> payment.AntomNotifyPayResponse + 1, // 51: payment.Payment.QueryAntomPayByCheckoutSessionId:output_type -> payment.AntomPayQueryResponse + 14, // 52: payment.Payment.CreateStripeCheckoutSession:output_type -> payment.CreateStripeCheckoutSessionResponse + 22, // 53: payment.Payment.AliWapPay:output_type -> payment.AliWapPayResponse + 24, // 54: payment.Payment.AliAppPay:output_type -> payment.AliAppPayResponse + 26, // 55: payment.Payment.AliNativePay:output_type -> payment.AliNativePayResponse + 28, // 56: payment.Payment.AliPcWabPay:output_type -> payment.AliPcWabPayResponse + 30, // 57: payment.Payment.AliReFund:output_type -> payment.AliReFundResponse + 32, // 58: payment.Payment.AliNotify:output_type -> payment.AliNotifyResponse + 34, // 59: payment.Payment.AliQueryByOutTradeNo:output_type -> payment.AliQueryByOutTradeNoResponse + 36, // 60: payment.Payment.AliRefundQueryByOutTradeNo:output_type -> payment.AliRefundQueryByOutTradeNoResponse + 38, // 61: payment.Payment.WechatJsApiPay:output_type -> payment.WechatJsApiPayResponse + 41, // 62: payment.Payment.WechatJsApiQueryByOutTradeNo:output_type -> payment.WechatJsApiQueryByOutTradeNoResponse + 45, // 63: payment.Payment.GetPayByOutTradeNo:output_type -> payment.GetPayByOutTradeNoResponse + 46, // 64: payment.Payment.WechatJsApiRefunds:output_type -> payment.WechatJsApiRefundsResponse + 60, // 65: payment.Payment.SetPayOk:output_type -> payment.CommonResponse + 39, // 66: payment.Payment.WechatAppPay:output_type -> payment.WechatAppPayResponse + 43, // 67: payment.Payment.WechatAppQueryByOutTradeNo:output_type -> payment.WechatAppQueryByOutTradeNoResponse + 48, // 68: payment.Payment.WechatNativePay:output_type -> payment.WechatNativePayResponse + 52, // 69: payment.Payment.WechatNativeQueryByOutTradeNo:output_type -> payment.WechatNativeQueryByOutTradeNoResponse + 51, // 70: payment.Payment.WechatRefundQueryByOutRefundNo:output_type -> payment.WechatRefundQueryByOutRefundNoResponse + 56, // 71: payment.Payment.WechatH5Pay:output_type -> payment.WechatH5PayResponse + 58, // 72: payment.Payment.WechatH5QueryByOutTradeNo:output_type -> payment.WechatH5QueryByOutTradeNoResponse + 42, // [42:73] is the sub-list for method output_type + 11, // [11:42] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name +} + +func init() { file_pb_payment_proto_init() } +func file_pb_payment_proto_init() { + if File_pb_payment_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_pb_payment_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AntomPayQueryRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AntomPayQueryResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AntomNotifyPayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AntomNotifyPayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreatePayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreatePayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateRefundRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateRefundResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NotifyPayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NotifyPayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HttpRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommonMsg); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EmptyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateStripeCheckoutSessionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateStripeCheckoutSessionResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetCheckoutWebhookRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetCheckoutWebhookResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetStripePaymentIntentInfoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetStripePaymentIntentInfoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRefundInfoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRefundInfoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliWapPayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliWapPayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliAppPayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliAppPayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliNativePayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliNativePayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliPcWabPayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliPcWabPayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliReFundRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliReFundResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliNotifyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliNotifyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliQueryByOutTradeNoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliQueryByOutTradeNoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliRefundQueryByOutTradeNoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliRefundQueryByOutTradeNoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatJsApiPayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatJsApiPayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatAppPayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatJsApiQueryByOutTradeNoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatJsApiQueryByOutTradeNoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatAppQueryByOutTradeNoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatAppQueryByOutTradeNoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPayByOutTradeNoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPayByOutTradeNoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatJsApiRefundsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatNativePayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatNativePayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatNativeQueryByOutTradeNoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatRefundQueryByOutRefundNoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatRefundQueryByOutRefundNoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatNativeQueryByOutTradeNoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatAppPayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatJsApiRefundsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatH5PayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatH5PayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatH5QueryByOutTradeNoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatH5QueryByOutTradeNoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatPayOkRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommonResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PayQueryRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PayQueryResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PaymentOrderInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportPayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportPayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OrderDetail); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BusinessInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Overview); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChannelIncome); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatAppQueryByOutTradeNoResponse_Payer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatAppQueryByOutTradeNoResponse_Amount); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatAppQueryByOutTradeNoResponse_PromotionDetail); 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_pb_payment_proto_rawDesc, + NumEnums: 0, + NumMessages: 74, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_pb_payment_proto_goTypes, + DependencyIndexes: file_pb_payment_proto_depIdxs, + MessageInfos: file_pb_payment_proto_msgTypes, + }.Build() + File_pb_payment_proto = out.File + file_pb_payment_proto_rawDesc = nil + file_pb_payment_proto_goTypes = nil + file_pb_payment_proto_depIdxs = nil +} diff --git a/api/payment/payment.proto b/api/payment/payment.proto new file mode 100644 index 0000000..abe77c6 --- /dev/null +++ b/api/payment/payment.proto @@ -0,0 +1,742 @@ +syntax = "proto3"; +package payment; + +option go_package = "./payment"; + +//import "pb/descriptor.proto"; +service Payment{ + + // 统一渠道支付 + rpc CreatePay(CreatePayRequest) returns (CreatePayResponse); // 创建支付 + rpc NotifyPay(NotifyPayRequest) returns (NotifyPayResponse); // 支付回调 + rpc QueryPayByOutTradeNo(PayQueryRequest) returns (PayQueryResponse);// 根据外部流水号和来源,查看付款信息 + rpc QueryExportPay(ExportPayRequest) returns (ExportPayResponse); // 导出数据报表 + rpc CreateRefund(CreateRefundRequest) returns (CreateRefundResponse); // 发起退款,暂定公共 + + rpc StripeGermanyWebhook(GetCheckoutWebhookRequest) returns(GetCheckoutWebhookResponse){};// stripe支付回调, 德国账号 + + rpc AliCommonWebhook(NotifyPayRequest) returns (NotifyPayResponse){}; // 支付宝支付回调,通用 + + rpc WechatFengLianWebhook(NotifyPayRequest) returns (NotifyPayResponse){}; // 微信支付回调,丰链 + rpc AntomWebhook(AntomNotifyPayRequest) returns (AntomNotifyPayResponse){}; // Antom支付回调 + rpc QueryAntomPayByCheckoutSessionId(AntomPayQueryRequest) returns (AntomPayQueryResponse){}; // 根据checkoutSessionIds查询支付情况 + + + + // ========== 下面的暂时没用 + + + // stripe支付 + rpc CreateStripeCheckoutSession(CreateStripeCheckoutSessionRequest) returns (CreateStripeCheckoutSessionResponse){}; // 创建支付会话链接 +// rpc CommonCheckoutWebhook(GetCheckoutWebhookRequest) returns(GetCheckoutWebhookResponse){}; // 支付回调,通用 + + // 支付宝支付 + rpc AliWapPay(AliWapPayRequest) returns (AliWapPayResponse) {}; // ali网页支付 + rpc AliAppPay(AliAppPayRequest) returns (AliAppPayResponse) {}; // aliApp支付 + rpc AliNativePay(AliNativePayRequest) returns (AliNativePayResponse) {}; // aliApp当面支付 + rpc AliPcWabPay(AliPcWabPayRequest) returns (AliPcWabPayResponse) {}; // ali电脑网页支付 + rpc AliReFund(AliReFundRequest) returns (AliReFundResponse) {}; // ali退款 + rpc AliNotify(AliNotifyRequest) returns (AliNotifyResponse) {}; // ali回调 + rpc AliQueryByOutTradeNo(AliQueryByOutTradeNoRequest) returns (AliQueryByOutTradeNoResponse) {}; // ali查询订单 + rpc AliRefundQueryByOutTradeNo(AliRefundQueryByOutTradeNoRequest) returns (AliRefundQueryByOutTradeNoResponse) {}; // ali查询退款订单 + + // 微信支付 + rpc WechatJsApiPay(WechatJsApiPayRequest) returns (WechatJsApiPayResponse) {}; // jsapi 本地支付订单保存+微信支付平台预支付订单生成 + rpc WechatJsApiQueryByOutTradeNo(WechatJsApiQueryByOutTradeNoRequest) returns (WechatJsApiQueryByOutTradeNoResponse) {}; // 通过outTrandeNo 获取 微信 jsapi 支付订单状态 + rpc GetPayByOutTradeNo(GetPayByOutTradeNoRequest) returns (GetPayByOutTradeNoResponse) {}; // 通过outTrandeNo 查询支付的id + rpc WechatJsApiRefunds(WechatJsApiRefundsRequest) returns (WechatJsApiRefundsResponse) {}; // + rpc SetPayOk(WechatPayOkRequest) returns (CommonResponse) {}; // + rpc WechatAppPay(WechatAppPayRequest) returns (WechatAppPayResponse) {}; // app 本地支付订单保存+微信支付平台预支付订单生成 + rpc WechatAppQueryByOutTradeNo(WechatAppQueryByOutTradeNoRequest) returns (WechatAppQueryByOutTradeNoResponse) {}; // 通过outTrandeNo 获取 微信 App 支付订单状态 + rpc WechatNativePay(WechatNativePayRequest) returns (WechatNativePayResponse) {}; // native 本地支付订单保存+微信付款链接生成 + rpc WechatNativeQueryByOutTradeNo(WechatNativeQueryByOutTradeNoRequest) returns (WechatNativeQueryByOutTradeNoResponse) {}; // 通过outTrandeNo 获取 微信 App 支付订单状态 + rpc WechatRefundQueryByOutRefundNo(WechatRefundQueryByOutRefundNoRequest) returns (WechatRefundQueryByOutRefundNoResponse) {}; // wx查询退款订单 + rpc WechatH5Pay(WechatH5PayRequest) returns (WechatH5PayResponse) {}; // H5 本地支付订单保存+微信支付平台预支付订单生成 + rpc WechatH5QueryByOutTradeNo(WechatH5QueryByOutTradeNoRequest) returns (WechatH5QueryByOutTradeNoResponse) {}; // 通过outTrandeNo 获取 微信 H5 支付订单状态 + +} + +message AntomPayQueryRequest { + repeated string checkoutSessionIds = 1 [json_name = "checkoutSessionIds"]; +} + +message AntomPayQueryResponse { + repeated PaymentOrderInfo infos = 1 [json_name = "infos"]; +} + +message AntomNotifyPayRequest { + string notifyType = 1 [json_name = "notifyType"]; + string requestId = 2 [json_name = "requestId"]; + string paymentId = 3 [json_name = "paymentId"]; + string paymentTime = 4 [json_name = "paymentTime"]; + string resultStatus = 5 [json_name = "resultStatus"]; + string resultMessage = 6 [json_name = "resultMessage"]; +} + +message AntomNotifyPayResponse { + string status = 1 [json_name = "status"]; + string outTradeNo = 2 [json_name = "outTradeNo"]; +} + +message CreatePayRequest { + string postUrl = 1 [json_name = "postUrl"]; // 请求接口 + string subject = 2 [json_name = "subject"]; // 订单标题 + string productUUID = 3 [json_name = "productUUID"]; // 商品uid + string productName = 4 [json_name = "productName"]; // 商品名称 + string productImg = 5 [json_name = "productImg"]; // 商品图像 + string productDescription = 6 [json_name = "productDescription"]; // 商品描述 + + string quitUrl = 7 [json_name = "quitUrl"]; // 退出url + string notifyUrl = 8 [json_name = "notifyUrl"]; // 回调url + string returnUrl = 9 [json_name = "returnUrl"]; // 返回url + + string outTradeNo = 10 [json_name = "outTradeNo"]; // 外部流水号 + string channelTradeNo = 11 [json_name = "channelTradeNo"]; // 渠道流水号 + string checkSessionId = 12 [json_name = "checkSessionId"]; // stripe的支付会话id + + int64 amount = 13 [json_name = "amount"]; // 金额 + string currency = 14 [json_name = "currency"]; // 币种 + + string payee = 15 [json_name = "payee"]; // 收款方 + string channelType = 16 [json_name = "channelType"]; // 支付渠道 alipay-支付宝 wxpay-微信 stripe-Stripe支付 + string platform = 17 [json_name = "platform"]; // 支付具体来源,是app还是h5还是jsapi还是wap + string domain = 18 [json_name = "domain"]; // 使用平台 + string businessType = 19 [json_name = "businessType"]; // 业务类型,用来确认mq发送 + + string language = 20 [json_name = "language"]; // 语言,国际化 + string clientIp = 21 [json_name = "clientIp"]; + + string openID = 22 [json_name = "openID"]; // 微信的参数 + int32 timeExpire = 23 [json_name = "timeExpire"]; // 微信的参数 + string locale = 24 [json_name = "locale"]; // stripe参数,区域,跟页面国际化有关 +} + +message CreatePayResponse { + string url = 1 [json_name = "url"]; + string logRecordID = 2 [json_name = "log_record_ID"]; + string msg = 3 [json_name="msg"]; + + string appid = 4 [json_name = "appid"]; + string timeStamp = 5 [json_name = "timeStamp"]; + string package = 6 [json_name = "package"]; + string signType = 7 [json_name = "signType"]; + string nonceStr = 8 [json_name = "nonceStr"]; + string paySign = 9 [json_name = "paySign"]; + string prepayId = 10 [json_name = "prepayId"]; + string partnerId = 11 [json_name = "partnerId"]; + + string checkoutSessionId = 12 [json_name = "checkoutSessionId"]; +} + +message CreateRefundRequest { + string postUrl = 1 [json_name = "postUrl"]; // 请求接口 + string subject = 2 [json_name = "subject"]; // 订单标题 + string productUUID = 3 [json_name = "productUUID"]; // 商品uid + string outTradeNo = 4 [json_name = "outTradeNo"]; // 外部流水号 + string channelTradeNo = 5 [json_name = "channelTradeNo"]; // 渠道流水号 + string checkSessionId = 6 [json_name = "checkSessionId"]; // stripe的支付会话id + int64 refundAmount = 7 [json_name = "refundAmount"]; // 退款金额 + string currency = 8 [json_name = "currency"]; // 币种 + string payee = 9 [json_name = "payee"]; // 收款方 + string channelType = 10 [json_name = "channelType"]; // 支付渠道 alipay-支付宝 wxpay-微信 stripe-Stripe支付 + string platform = 11 [json_name = "platform"]; // 支付具体来源,是app还是h5还是jsapi还是wap + string domain = 12 [json_name = "domain"]; // 使用平台 + string businessType = 13 [json_name = "businessType"]; // 业务类型,用来确认mq发送 + string language = 14 [json_name = "language"]; // 语言,国际化 + string clientIp = 15 [json_name = "clientIp"]; + string openID = 16 [json_name = "openID"]; // 微信的参数 + int64 creatorId = 17 [json_name = "creatorId"]; // 创建人id + string creatorName = 18 [json_name = "creatorName"]; // 创建人名称 + string refundReason = 19 [json_name = "refundReason"]; // 退款理由 +} + +message CreateRefundResponse { + int64 code = 1 [json_name = "code"]; + string msg = 2 [json_name="msg"]; +} + +message NotifyPayRequest { + string postUrl = 1; // 请求接口 + HttpRequest http_request = 2; + string rawQuery = 3 [json_name="raw_query"]; +} + +message NotifyPayResponse { + string msg = 1; + string outTradeNo = 2; +} + +message HttpRequest { + string method = 1; + string url = 2; + map headers = 3; + bytes body = 4; +} + +message CommonMsg{ + string msg = 1; +} + +message EmptyRequest{} + +message CreateStripeCheckoutSessionRequest { + string productUUID = 1 [json_name = "productUUID"]; + string productName = 2 [json_name = "productName"]; + int64 productQuantity = 3 [json_name = "productQuantity"]; + int64 productAllPrice = 4 [json_name = "productAllPrice"]; + string productDescription = 5 [json_name = "productDescription"]; + string productImageUrl = 6 [json_name = "productImageUrl"]; + string productPriceCurrency = 7 [json_name = "productPriceCurrency"]; + string createrID = 8 [json_name = "createrID"]; + string createrName = 9 [json_name = "createrName"]; + string domain = 10 [json_name = "domain"]; + string successUrl = 11 [json_name = "successUrl"]; + string cancelUrl = 12 [json_name = "cancelUrl"]; + string outTradeNo = 13 [json_name = "outTradeNo"]; + string locale = 14 [json_name = "locale"]; +} + +message CreateStripeCheckoutSessionResponse { + string checkoutSessionId = 1 [json_name = "checkoutSessionId"]; + string checkoutSessionUrl = 2 [json_name = "checkoutSessionUrl"]; +} + +message GetCheckoutWebhookRequest { + string postUrl = 1; // 请求接口 + string type = 2; // 事件类型,例如"payment_intent.succeeded" + string payload = 3; // 事件的原始JSON payload + string signature = 4; // Stripe-Signature头的值,用于验证事件 + string webhookKey = 5; // Webhook密钥 +} + +message GetCheckoutWebhookResponse { + bool success = 1; // 处理是否成功 + string message = 2; // 可选的处理消息 + string outTradeNo = 3 [json_name = "outTradeNo"]; + string paymentIntentStatus = 4 [json_name = "paymentIntentStatus"]; +} + +message GetStripePaymentIntentInfoRequest { + string checkoutSessionId = 1 [json_name = "checkoutSessionId"]; + string createrID = 2 [json_name = "createrID"]; +} + +message GetStripePaymentIntentInfoResponse { + string checkoutSessionId = 1 [json_name = "checkoutSessionId"]; + string checkoutSessionStatus = 2 [json_name = "checkoutSessionStatus"]; + string paymentIntentId = 3 [json_name = "paymentIntentId"]; + string paymentIntentCreated = 4 [json_name = "paymentIntentCreated"]; + string paymentIntentStatus = 5 [json_name = "paymentIntentStatus"]; + string chargeId = 6 [json_name = "chargeId"]; + int64 payPrice = 7 [json_name = "payPrice"]; + string payExchangeRate = 8 [json_name = "payExchangeRate"]; + string payCurrency = 9 [json_name = "payCurrency"]; + string accountCurrency = 10 [json_name = "accountCurrency"]; + int64 afterRatePayPrice = 11 [json_name = "afterRatePayPrice"]; + int64 payHandingFee = 12 [json_name = "payHandingFee"]; + int64 afterRatePayNetAmount = 13 [json_name = "afterRatePayNetAmount"]; + string customerId = 14 [json_name = "customerId"]; + int64 refundPrice = 15 [json_name = "refundPrice"]; + string outTradeNo = 16 [json_name = "outTradeNo"]; +} + +message GetRefundInfoRequest { + string refundId = 1 [json_name = "refundId"]; + string createrID = 2 [json_name = "createrID"]; +} + +message GetRefundInfoResponse { + string refundStatus = 1 [json_name = "refundStatus"]; +} + +message AliWapPayRequest { + string subject = 1 [json_name = "subject"]; + string productCode = 2 [json_name = "product_code"]; + string outTradeNo = 3 [json_name = "out_trade_no"]; + string quitUrl = 4 [json_name = "quit_url"]; + string notifyUrl = 5 [json_name = "notify_url"]; + string returnUrl = 6 [json_name = "return_url"]; + int32 totalAmount = 7 [json_name = "total_amount"]; + int32 timeExpire = 8 [json_name = "time_expire"]; + string domain = 9 ; + string platform = 10 ; +} + +message AliWapPayResponse { + string url = 1 [json_name = "url"]; + string logRecordID = 2 [json_name = "log_record_ID"]; + string msg = 3 [json_name="msg"]; +} + +message AliAppPayRequest { + string subject = 1 [json_name = "subject"]; + string productCode = 2 [json_name = "product_code"]; + string outTradeNo = 3 [json_name = "out_trade_no"]; + string quitUrl = 4 [json_name = "quit_url"]; + string notifyUrl = 5 [json_name = "notify_url"]; + string returnUrl = 6 [json_name = "return_url"]; + string totalAmount = 7 [json_name = "total_amount"]; + int32 timeExpire = 8 [json_name = "time_expire"]; + string domain = 9 ; + string platform = 10 ; + int32 payType = 11 ; +} + +message AliAppPayResponse { + string url = 1 [json_name = "url"]; + string logRecordID = 2 [json_name = "log_record_ID"]; + string msg = 3 [json_name="msg"]; +} + +message AliNativePayRequest { + string subject = 1 [json_name = "subject"]; + string outTradeNo = 2 [json_name = "out_trade_no"]; + string notifyUrl = 3 [json_name = "notify_url"]; + int32 totalAmount = 4 [json_name = "total_amount"]; + int32 timeExpire = 5 [json_name = "time_expire"]; + string domain = 6 [json_name = "domain"]; + string platform = 7 [json_name = "platform"]; +} + +message AliNativePayResponse { + string url = 1 [json_name = "url"]; + string msg = 2 [json_name="msg"]; +} + +message AliPcWabPayRequest { + string subject = 1 [json_name = "subject"]; + string outTradeNo = 2 [json_name = "out_trade_no"]; + string notifyUrl = 3 [json_name = "notify_url"]; + int32 totalAmount = 4 [json_name = "total_amount"]; + int32 timeExpire = 5 [json_name = "time_expire"]; + string domain = 6 [json_name = "domain"]; + string platform = 7 [json_name = "platform"]; + string quitUrl = 8 [json_name = "quit_url"]; + string returnUrl = 9 [json_name = "return_url"]; +} + +message AliPcWabPayResponse { + string pageRedirectionData = 1 [json_name = "page_redirection_data"]; + string msg = 2 [json_name="msg"]; +} + +message AliReFundRequest { + string outTradeNo = 1 [json_name = "out_trade_no"]; + int32 totalAmount = 2 [json_name = "total_amount"]; +} + +message AliReFundResponse { + string tradeNo = 1 [json_name = "trade_no"]; + string outTradeNo = 2 [json_name = "out_trade_no"]; + string buyer_logon_id = 3 [json_name = "buyer_logon_id"]; + string refund_fee = 4 [json_name = "refund_fee"]; + string msg = 5 [json_name="msg"]; +} + +message AliNotifyRequest { + string rawQuery = 1 [json_name="raw_query"]; +} + +message AliNotifyResponse { + string notifyTime = 1 [json_name="notify_time"]; + string notifyType = 2 [json_name="notify_type"]; + string notifyId = 3 [json_name="notify_id"]; + string appId = 4 [json_name="app_id"]; + string version = 5 [json_name="version"]; + string signType = 6 [json_name="sign_type"]; + string sign = 7 [json_name="sign"]; + string tradeNo = 8 [json_name="trade_no"]; + string outTradeNo = 9 [json_name="out_trade_no"] ; + string buyerLogonId = 10 [json_name="buyer_logon_id"] ; + string buyerId = 11 [json_name="buyer_id"] ; + string tradeStatus = 12 [json_name="trade_status"] ; +} + +message AliQueryByOutTradeNoRequest { + string outTradeNo = 1 [json_name = "outTradeNo"]; +} + +message AliQueryByOutTradeNoResponse { + string tradeNo = 1 [json_name = "trade_no"]; + string outTradeNo = 2 [json_name = "out_trade_no"]; + string buyerLogonId = 3 [json_name = "buyer_logon_id"]; + string tradeStatus = 4 [json_name = "trade_status"]; + string totalAmount = 5 [json_name = "total_amount"]; + string buyerUserID = 6 [json_name = "buyer_user_id"]; +} + +message AliRefundQueryByOutTradeNoRequest { + string outTradeNo = 1 [json_name = "outTradeNo"]; +} + +message AliRefundQueryByOutTradeNoResponse { + string tradeNo = 1 [json_name = "trade_no"]; + string outTradeNo = 2 [json_name = "out_trade_no"]; + string out_request_no = 3 [json_name = "out_request_no"]; + string total_amount = 4 [json_name = "total_amount"]; + string refund_amount = 5 [json_name = "refund_amount"]; + string refund_status = 6 [json_name = "refund_status"]; +} + +message WechatJsApiPayRequest { + string Description = 1 [json_name = "description"]; + string OutTradeNo = 2 [json_name = "outTradeNo"]; + int64 Cent = 3 [json_name = "cent"]; + string OpenID = 4 [json_name = "openID"]; + string NotifyUrl = 5 [json_name = "notifyUrl"]; + string AppID = 6 [json_name = "appID"]; + string ClientIP = 7 [json_name = "ClientIP"]; + uint32 recordId = 9 ; + string domain = 10 ; + string platform = 11 ; + string scene = 12 ; + int32 timeExpire = 13 [json_name = "time_expire"]; +} + + +message WechatJsApiPayResponse { + string Appid = 1 [json_name = "appid"]; + string TimeStamp = 2 [json_name = "timeStamp"]; + string Package = 3 [json_name = "package"]; + string SignType = 4 [json_name = "signType"]; + string NonceStr = 5 [json_name = "nonceStr"]; + string PaySign = 6 [json_name = "paySign"]; + string PrepayId = 7 [json_name = "prepayId"]; + +} + +message WechatAppPayResponse { + string Appid = 1 [json_name = "appid"]; + string TimeStamp = 2 [json_name = "timeStamp"]; + string Package = 3 [json_name = "package"]; + string SignType = 4 [json_name = "signType"]; + string NonceStr = 5 [json_name = "nonceStr"]; + string PaySign = 6 [json_name = "paySign"]; + string PrepayId = 7 [json_name = "prepayId"]; + string PartnerId = 8 [json_name = "partnerId"]; + string msg = 9 [json_name="msg"]; +} + +message WechatJsApiQueryByOutTradeNoRequest { + string outTradeNo = 1 [json_name = "outTradeNo"]; +} + +message WechatJsApiQueryByOutTradeNoResponse { + string appID = 1 [json_name = "appID"]; + string mchID = 2 [json_name = "mch_id"]; + string outTradeNo = 3 [json_name = "out_trade_no"]; + string transactionId = 4 [json_name = "transaction_id"]; + string tradeType = 5 [json_name = "trade_type"]; + string tradeState = 6 [json_name = "trade_state"]; + string bankType = 7 [json_name = "bank_ype"]; + string successTime = 8 [json_name = "success_time"]; + string openID = 9 [json_name = "open_id"]; + int32 total = 10 [json_name = "total"]; +} + +message WechatAppQueryByOutTradeNoRequest { + string outTradeNo = 1 [json_name = "outTradeNo"]; +} + +message WechatAppQueryByOutTradeNoResponse { + string appID = 1 [json_name = "appID"];// 服务提供商的应用ID + string mchID = 2 [json_name = "mch_id"];// 服务商商户ID + // string subAppId = 3 [json_name = "sub_appid"]; // 子应用ID + // string subMchId = 4 [json_name = "sub_mchid"];// 子商户ID + string outTradeNo = 5 [json_name = "out_trade_no"];// 订单号 + string transactionId = 6 [json_name = "transaction_id"];// 微信交易ID + string tradeType = 7 [json_name = "trade_type"];// 交易类型 + string tradeState = 8 [json_name = "trade_state"];// 交易状态 + string tradeStateDesc = 9 [json_name = "trade_state_desc"]; // 交易状态描述 + string bankType = 10 [json_name = "bank_type"]; // 银行类型 + string attach = 11 [json_name = "attach"]; // 附加数据 + string successTime = 12 [json_name = "success_time"];// 支付成功时间 + + message Payer {// 付款人信息 + string openid = 1 [json_name = "openid"]; + } + + message Amount {// 金额信息 + int64 total = 1 [json_name = "total"];// 总金额 + int64 payerTotal = 2 [json_name = "payer_total"];// 付款人支付的金额 + string currency = 3 [json_name = "currency"];// 货币类型 + string payerCurrency = 4 [json_name = "payer_currency"];// 付款人货币类型 + } + + message PromotionDetail {// 促销详情 + string couponId = 1 [json_name = "coupon_id"];// 优惠券ID + string name = 2 [json_name = "name"];// 名称 + string scope = 3 [json_name = "scope"];// 范围 + string type = 4 [json_name = "type"];// 类型 + int64 amount = 5 [json_name = "amount"];// 金额 + string stockId = 6 [json_name = "stock_id"];// 库存ID + int64 wechatpayContribute = 7 [json_name = "wechatpay_contribute"];// 微信支付贡献的金额 + int64 merchantContribute = 8 [json_name = "merchant_contribute"];// 商户贡献的金额 + int64 otherContribute = 9 [json_name = "other_contribute"];// 其他贡献的金额 + string currency = 10 [json_name = "currency"];// 货币类型 + } + // 包含促销详情列表 + repeated PromotionDetail promotionDetail = 13 [json_name = "promotion_detail"]; + // 付款人信息 + Payer payer = 14; + // 金额信息 + Amount amount = 15; +} + + +message GetPayByOutTradeNoRequest { + string OutTradeNo = 4 [json_name = "OutTradeNo"]; +} + +message GetPayByOutTradeNoResponse { + string outTradeNo = 1 ; + uint32 recordId = 2 ; + string cent = 3 ; + string platform = 4 ; + string domain = 5 ; + string scene = 6 ; +} + +message WechatJsApiRefundsResponse { + string RefundId = 1 [json_name = "RefundId"]; + string OutRefundNo = 2 [json_name = "OutRefundNo"]; + string TransactionId = 3 [json_name = "TransactionId"]; + string OutTradeNo = 4 [json_name = "OutTradeNo"]; + string SuccessTime = 5 [json_name = "SuccessTime"]; + string CreateTime = 6 [json_name = "CreateTime"]; + string Status = 7 [json_name = "Status"]; + string Amount = 8 [json_name = "Amount"]; +} + + +message WechatNativePayRequest { + string description = 1 [json_name = "description"]; + string outTradeNo = 2 [json_name = "outTradeNo"]; + int32 cent = 3 [json_name = "cent"]; + string notifyUrl = 5 [json_name = "notifyUrl"]; + string appID = 6 [json_name = "appID"]; + string clientIP = 7 [json_name = "ClientIP"]; + uint32 recordId = 8 ; + string domain = 9 ; + string platform = 10 ; + string scene = 11 ; + int32 timeExpire = 12 [json_name = "time_expire"]; +} + +message WechatNativePayResponse { + string codeUrl = 1 [json_name = "code_url"]; +} + +message WechatNativeQueryByOutTradeNoRequest { + string outTradeNo = 1 [json_name = "outTradeNo"]; +} + +message WechatRefundQueryByOutRefundNoRequest { + string outRefundNo = 1 [json_name = "out_refund_no"]; +} + +message WechatRefundQueryByOutRefundNoResponse { + string refundId = 1 [json_name = "refund_id"]; + string outRefundNo = 2 [json_name = "out_refund_no"]; + string transactionId = 3 [json_name = "transaction_id"]; + string outTradeNo = 4 [json_name = "out_trade_no"]; + string channel = 5 [json_name = "channel"]; + string userReceivedAccount = 6 [json_name = "user_received_account"]; + string successTime = 7 [json_name = "success_time"]; + string createTime = 8 [json_name = "create_time"]; + string status = 9 [json_name = "status"]; + int32 total = 10 [json_name = "total"]; +} + +message WechatNativeQueryByOutTradeNoResponse { + string appID = 1 [json_name = "appID"]; + string mchID = 2 [json_name = "mch_id"]; + string outTradeNo = 3 [json_name = "out_trade_no"]; + string transactionId = 4 [json_name = "transaction_id"]; + string tradeType = 5 [json_name = "trade_type"]; + string tradeState = 6 [json_name = "trade_state"]; + string bankType = 7 [json_name = "bank_ype"]; + string successTime = 8 [json_name = "success_time"]; + string openID = 9 [json_name = "open_id"]; + int32 total = 10 [json_name = "total"]; +} + +message WechatAppPayRequest { + string Description = 1 [json_name = "description"]; + string OutTradeNo = 2 [json_name = "outTradeNo"]; + int64 Cent = 3 [json_name = "cent"]; + string OpenID = 4 [json_name = "openID"]; + string NotifyUrl = 5 [json_name = "notifyUrl"]; + string AppID = 6 [json_name = "appID"]; + string ClientIP = 7 [json_name = "ClientIP"]; + uint32 recordId = 9 ; + string domain = 10 ; + string platform = 11 ; + string scene = 12 ; + int32 timeExpire = 13 [json_name = "time_expire"]; +} + +message WechatJsApiRefundsRequest { + string Reason = 1 [json_name = "Reason"]; + string OutTradeNo = 2 [json_name = "OutTradeNo"]; + string OutRefundNo = 3 [json_name = "OutRefundNo"]; + string NotifyUrl = 4 [json_name = "NotifyUrl"]; + int64 Cent = 5 [json_name = "Cent"]; + string OpenID = 6 [json_name = "OpenID"]; + int64 Total =7[json_name = "Total"]; +} + + +message WechatH5PayRequest { + string Description = 1 [json_name = "description"]; + string OutTradeNo = 2 [json_name = "outTradeNo"]; + int64 Cent = 3 [json_name = "cent"]; + string OpenID = 4 [json_name = "openID"]; + string NotifyUrl = 5 [json_name = "notifyUrl"]; + string AppID = 6 [json_name = "appID"]; + string ClientIP = 7 [json_name = "ClientIP"]; + uint32 recordId = 9 ; + string domain = 10 ; + string platform = 11 ; + string scene = 12 ; + int32 timeExpire = 13 [json_name = "time_expire"]; +} + +message WechatH5PayResponse { + string h5Url = 1 [json_name = "h5_url"]; +} + +message WechatH5QueryByOutTradeNoRequest { + string outTradeNo = 1 [json_name = "outTradeNo"]; +} + +message WechatH5QueryByOutTradeNoResponse { + string appID = 1 [json_name = "appID"]; + string mchID = 2 [json_name = "mch_id"]; + string outTradeNo = 3 [json_name = "out_trade_no"]; + string transactionId = 4 [json_name = "transaction_id"]; + string tradeType = 5 [json_name = "trade_type"]; + string tradeState = 6 [json_name = "trade_state"]; + string tradeStateDesc = 7 [json_name = "trade_state_desc"]; + string bankType = 8 [json_name = "bank_ype"]; + string successTime = 9 [json_name = "success_time"]; + string openID = 10 [json_name = "open_id"]; + int32 total = 11 [json_name = "total"]; +} + +message WechatPayOkRequest { + string outTradeNo = 1 ; + string body = 2 ; +} + +message CommonResponse { + bool Success = 1 [json_name = "success"]; + uint32 ID = 2 ; +} + +message PayQueryRequest { + string payType = 1; + string outTradeNo = 2; +} + +message PayQueryResponse { + repeated PaymentOrderInfo infos = 1; +} + +message PaymentOrderInfo { + int64 id = 1; + string createdAt = 2; + string updatedAt = 3; + string outTradeNo = 4; // 外部流水号 + string channelTradeNo = 5; // 渠道流水号 + int64 amount = 6; // 用户支付总金额 + string currency = 7; // 币种 + string status = 8; + string payTime = 9; + string refundTime = 10; + string payee = 11; + string channelType = 12; // 支付渠道 alipay-支付宝 wxpay-微信 stripe-Stripe支付 + string platform = 13; // 支付具体来源,是app还是h5还是jsapi还是wap + string domain = 14; // 使用平台 + string businessType = 15; // 业务类型,用来确认mq发送 + int64 logId = 16; + string checkSessionId = 17; + string productUUID = 18; + string productName = 19; + string productImg = 20; + string productDescription = 21; + int64 fee = 22; // 手续费 + int64 netIncome = 23; // 净收入【允许退款的最大金额】 +} + +message ExportPayRequest { + string startTime = 1; // 开始时间 + string endTime = 2; // 结束时间 + string reportType = 3; + string reportRangeNum = 4; // 年月 + string channelType = 5; // 交易渠道 + string currency = 6; + string sortBy = 7; // 时间排序asc,desc +} + +message ExportPayResponse { + string reportType = 1; // 日报 月报 + int32 orderNum = 2; // 成功交易的订单数 + repeated Overview overview = 3; // 总览 + repeated ChannelIncome channelIncomes = 4; // 渠道交易情况 + repeated BusinessInfo businessInfos = 5; // 业务交易情况 + repeated OrderDetail orderDetails = 6; // sheet2,订单详情 +} + +message OrderDetail { + int64 paymentOrderId = 1; + string createdAt = 2; + string updatedAt = 3; + string outTradeNo = 4; // 外部流水号 + string channelTradeNo = 5; // 渠道流水号 + string currency = 6; // 币种 + int64 payAmount = 7; // 付款金额 + int64 fee = 8; // 手续费 + int64 netIncome = 9; // 净收入 + string status = 10; + string payTime = 11; + string channelType = 12; // 支付渠道 alipay-支付宝 wxpay-微信 stripe-Stripe支付 + string platform = 13; // 支付具体来源,是app还是h5还是jsapi还是wap + string domain = 14; // 使用平台 + string businessType = 15; // 业务类型,用来确认mq发送 + int64 logId = 16; + string checkSessionId = 17; + string productUUID = 18; + string productName = 19; + string productImg = 20; + string productDescription = 21; +} + +message BusinessInfo { + string BusinessName = 1; // 业务名称 + string currency = 2; // 交易币种 + int32 orderNum = 3; // 成功交易的订单数 + int64 totalIncome = 4; // 总收入 + int64 totalFee = 5; // 总手续费 + int64 totalRefundAmount = 6; // 总退款费 + int64 netIncome = 7; // 净收入 +} + +message Overview { + string currency = 1; // 交易币种 + int32 orderNum = 2; // 成功交易的订单数 + int64 totalIncome = 3; // 总收入 + int64 totalFee = 4; // 总手续费 + int64 totalRefundAmount = 5; // 总退款费 + int64 netIncome = 6; // 净收入 +} + +message ChannelIncome { + string channelType = 1; // 交易渠道 + string currency = 2; // 交易币种 + int32 orderNum = 3; // 成功交易的订单数 + int64 totalIncome = 4; // 总收入 + int64 totalFee = 5; // 总手续费 + int64 totalRefundAmount = 6; // 总退款费 + int64 netIncome = 7; // 净收入 +} diff --git a/api/payment/payment.validator.pb.go b/api/payment/payment.validator.pb.go new file mode 100644 index 0000000..b711a20 --- /dev/null +++ b/api/payment/payment.validator.pb.go @@ -0,0 +1,301 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: pb/payment.proto + +package payment + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + github_com_mwitkow_go_proto_validators "github.com/mwitkow/go-proto-validators" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +func (this *AntomPayQueryRequest) Validate() error { + return nil +} +func (this *AntomPayQueryResponse) Validate() error { + for _, item := range this.Infos { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Infos", err) + } + } + } + return nil +} +func (this *AntomNotifyPayRequest) Validate() error { + return nil +} +func (this *AntomNotifyPayResponse) Validate() error { + return nil +} +func (this *CreatePayRequest) Validate() error { + return nil +} +func (this *CreatePayResponse) Validate() error { + return nil +} +func (this *CreateRefundRequest) Validate() error { + return nil +} +func (this *CreateRefundResponse) Validate() error { + return nil +} +func (this *NotifyPayRequest) Validate() error { + if this.HttpRequest != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.HttpRequest); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("HttpRequest", err) + } + } + return nil +} +func (this *NotifyPayResponse) Validate() error { + return nil +} +func (this *HttpRequest) Validate() error { + // Validation of proto3 map<> fields is unsupported. + return nil +} +func (this *CommonMsg) Validate() error { + return nil +} +func (this *EmptyRequest) Validate() error { + return nil +} +func (this *CreateStripeCheckoutSessionRequest) Validate() error { + return nil +} +func (this *CreateStripeCheckoutSessionResponse) Validate() error { + return nil +} +func (this *GetCheckoutWebhookRequest) Validate() error { + return nil +} +func (this *GetCheckoutWebhookResponse) Validate() error { + return nil +} +func (this *GetStripePaymentIntentInfoRequest) Validate() error { + return nil +} +func (this *GetStripePaymentIntentInfoResponse) Validate() error { + return nil +} +func (this *GetRefundInfoRequest) Validate() error { + return nil +} +func (this *GetRefundInfoResponse) Validate() error { + return nil +} +func (this *AliWapPayRequest) Validate() error { + return nil +} +func (this *AliWapPayResponse) Validate() error { + return nil +} +func (this *AliAppPayRequest) Validate() error { + return nil +} +func (this *AliAppPayResponse) Validate() error { + return nil +} +func (this *AliNativePayRequest) Validate() error { + return nil +} +func (this *AliNativePayResponse) Validate() error { + return nil +} +func (this *AliPcWabPayRequest) Validate() error { + return nil +} +func (this *AliPcWabPayResponse) Validate() error { + return nil +} +func (this *AliReFundRequest) Validate() error { + return nil +} +func (this *AliReFundResponse) Validate() error { + return nil +} +func (this *AliNotifyRequest) Validate() error { + return nil +} +func (this *AliNotifyResponse) Validate() error { + return nil +} +func (this *AliQueryByOutTradeNoRequest) Validate() error { + return nil +} +func (this *AliQueryByOutTradeNoResponse) Validate() error { + return nil +} +func (this *AliRefundQueryByOutTradeNoRequest) Validate() error { + return nil +} +func (this *AliRefundQueryByOutTradeNoResponse) Validate() error { + return nil +} +func (this *WechatJsApiPayRequest) Validate() error { + return nil +} +func (this *WechatJsApiPayResponse) Validate() error { + return nil +} +func (this *WechatAppPayResponse) Validate() error { + return nil +} +func (this *WechatJsApiQueryByOutTradeNoRequest) Validate() error { + return nil +} +func (this *WechatJsApiQueryByOutTradeNoResponse) Validate() error { + return nil +} +func (this *WechatAppQueryByOutTradeNoRequest) Validate() error { + return nil +} +func (this *WechatAppQueryByOutTradeNoResponse) Validate() error { + for _, item := range this.PromotionDetail { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("PromotionDetail", err) + } + } + } + if this.Payer != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Payer); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Payer", err) + } + } + if this.Amount != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Amount); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Amount", err) + } + } + return nil +} +func (this *WechatAppQueryByOutTradeNoResponse_Payer) Validate() error { + return nil +} +func (this *WechatAppQueryByOutTradeNoResponse_Amount) Validate() error { + return nil +} +func (this *WechatAppQueryByOutTradeNoResponse_PromotionDetail) Validate() error { + return nil +} +func (this *GetPayByOutTradeNoRequest) Validate() error { + return nil +} +func (this *GetPayByOutTradeNoResponse) Validate() error { + return nil +} +func (this *WechatJsApiRefundsResponse) Validate() error { + return nil +} +func (this *WechatNativePayRequest) Validate() error { + return nil +} +func (this *WechatNativePayResponse) Validate() error { + return nil +} +func (this *WechatNativeQueryByOutTradeNoRequest) Validate() error { + return nil +} +func (this *WechatRefundQueryByOutRefundNoRequest) Validate() error { + return nil +} +func (this *WechatRefundQueryByOutRefundNoResponse) Validate() error { + return nil +} +func (this *WechatNativeQueryByOutTradeNoResponse) Validate() error { + return nil +} +func (this *WechatAppPayRequest) Validate() error { + return nil +} +func (this *WechatJsApiRefundsRequest) Validate() error { + return nil +} +func (this *WechatH5PayRequest) Validate() error { + return nil +} +func (this *WechatH5PayResponse) Validate() error { + return nil +} +func (this *WechatH5QueryByOutTradeNoRequest) Validate() error { + return nil +} +func (this *WechatH5QueryByOutTradeNoResponse) Validate() error { + return nil +} +func (this *WechatPayOkRequest) Validate() error { + return nil +} +func (this *CommonResponse) Validate() error { + return nil +} +func (this *PayQueryRequest) Validate() error { + return nil +} +func (this *PayQueryResponse) Validate() error { + for _, item := range this.Infos { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Infos", err) + } + } + } + return nil +} +func (this *PaymentOrderInfo) Validate() error { + return nil +} +func (this *ExportPayRequest) Validate() error { + return nil +} +func (this *ExportPayResponse) Validate() error { + for _, item := range this.Overview { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Overview", err) + } + } + } + for _, item := range this.ChannelIncomes { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("ChannelIncomes", err) + } + } + } + for _, item := range this.BusinessInfos { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("BusinessInfos", err) + } + } + } + for _, item := range this.OrderDetails { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("OrderDetails", err) + } + } + } + return nil +} +func (this *OrderDetail) Validate() error { + return nil +} +func (this *BusinessInfo) Validate() error { + return nil +} +func (this *Overview) Validate() error { + return nil +} +func (this *ChannelIncome) Validate() error { + return nil +} diff --git a/api/payment/payment_triple.pb.go b/api/payment/payment_triple.pb.go new file mode 100644 index 0000000..6db6283 --- /dev/null +++ b/api/payment/payment_triple.pb.go @@ -0,0 +1,1505 @@ +// Code generated by protoc-gen-go-triple. DO NOT EDIT. +// versions: +// - protoc-gen-go-triple v1.0.8 +// - protoc v5.26.1 +// source: pb/payment.proto + +package payment + +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 + +// PaymentClient is the client API for Payment 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 PaymentClient interface { + // 统一渠道支付 + CreatePay(ctx context.Context, in *CreatePayRequest, opts ...grpc_go.CallOption) (*CreatePayResponse, common.ErrorWithAttachment) + NotifyPay(ctx context.Context, in *NotifyPayRequest, opts ...grpc_go.CallOption) (*NotifyPayResponse, common.ErrorWithAttachment) + QueryPayByOutTradeNo(ctx context.Context, in *PayQueryRequest, opts ...grpc_go.CallOption) (*PayQueryResponse, common.ErrorWithAttachment) + QueryExportPay(ctx context.Context, in *ExportPayRequest, opts ...grpc_go.CallOption) (*ExportPayResponse, common.ErrorWithAttachment) + CreateRefund(ctx context.Context, in *CreateRefundRequest, opts ...grpc_go.CallOption) (*CreateRefundResponse, common.ErrorWithAttachment) + StripeGermanyWebhook(ctx context.Context, in *GetCheckoutWebhookRequest, opts ...grpc_go.CallOption) (*GetCheckoutWebhookResponse, common.ErrorWithAttachment) + AliCommonWebhook(ctx context.Context, in *NotifyPayRequest, opts ...grpc_go.CallOption) (*NotifyPayResponse, common.ErrorWithAttachment) + WechatFengLianWebhook(ctx context.Context, in *NotifyPayRequest, opts ...grpc_go.CallOption) (*NotifyPayResponse, common.ErrorWithAttachment) + AntomWebhook(ctx context.Context, in *AntomNotifyPayRequest, opts ...grpc_go.CallOption) (*AntomNotifyPayResponse, common.ErrorWithAttachment) + QueryAntomPayByCheckoutSessionId(ctx context.Context, in *AntomPayQueryRequest, opts ...grpc_go.CallOption) (*AntomPayQueryResponse, common.ErrorWithAttachment) + // stripe支付 + CreateStripeCheckoutSession(ctx context.Context, in *CreateStripeCheckoutSessionRequest, opts ...grpc_go.CallOption) (*CreateStripeCheckoutSessionResponse, common.ErrorWithAttachment) + // 支付宝支付 + AliWapPay(ctx context.Context, in *AliWapPayRequest, opts ...grpc_go.CallOption) (*AliWapPayResponse, common.ErrorWithAttachment) + AliAppPay(ctx context.Context, in *AliAppPayRequest, opts ...grpc_go.CallOption) (*AliAppPayResponse, common.ErrorWithAttachment) + AliNativePay(ctx context.Context, in *AliNativePayRequest, opts ...grpc_go.CallOption) (*AliNativePayResponse, common.ErrorWithAttachment) + AliPcWabPay(ctx context.Context, in *AliPcWabPayRequest, opts ...grpc_go.CallOption) (*AliPcWabPayResponse, common.ErrorWithAttachment) + AliReFund(ctx context.Context, in *AliReFundRequest, opts ...grpc_go.CallOption) (*AliReFundResponse, common.ErrorWithAttachment) + AliNotify(ctx context.Context, in *AliNotifyRequest, opts ...grpc_go.CallOption) (*AliNotifyResponse, common.ErrorWithAttachment) + AliQueryByOutTradeNo(ctx context.Context, in *AliQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*AliQueryByOutTradeNoResponse, common.ErrorWithAttachment) + AliRefundQueryByOutTradeNo(ctx context.Context, in *AliRefundQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*AliRefundQueryByOutTradeNoResponse, common.ErrorWithAttachment) + // 微信支付 + WechatJsApiPay(ctx context.Context, in *WechatJsApiPayRequest, opts ...grpc_go.CallOption) (*WechatJsApiPayResponse, common.ErrorWithAttachment) + WechatJsApiQueryByOutTradeNo(ctx context.Context, in *WechatJsApiQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*WechatJsApiQueryByOutTradeNoResponse, common.ErrorWithAttachment) + GetPayByOutTradeNo(ctx context.Context, in *GetPayByOutTradeNoRequest, opts ...grpc_go.CallOption) (*GetPayByOutTradeNoResponse, common.ErrorWithAttachment) + WechatJsApiRefunds(ctx context.Context, in *WechatJsApiRefundsRequest, opts ...grpc_go.CallOption) (*WechatJsApiRefundsResponse, common.ErrorWithAttachment) + SetPayOk(ctx context.Context, in *WechatPayOkRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) + WechatAppPay(ctx context.Context, in *WechatAppPayRequest, opts ...grpc_go.CallOption) (*WechatAppPayResponse, common.ErrorWithAttachment) + WechatAppQueryByOutTradeNo(ctx context.Context, in *WechatAppQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*WechatAppQueryByOutTradeNoResponse, common.ErrorWithAttachment) + WechatNativePay(ctx context.Context, in *WechatNativePayRequest, opts ...grpc_go.CallOption) (*WechatNativePayResponse, common.ErrorWithAttachment) + WechatNativeQueryByOutTradeNo(ctx context.Context, in *WechatNativeQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*WechatNativeQueryByOutTradeNoResponse, common.ErrorWithAttachment) + WechatRefundQueryByOutRefundNo(ctx context.Context, in *WechatRefundQueryByOutRefundNoRequest, opts ...grpc_go.CallOption) (*WechatRefundQueryByOutRefundNoResponse, common.ErrorWithAttachment) + WechatH5Pay(ctx context.Context, in *WechatH5PayRequest, opts ...grpc_go.CallOption) (*WechatH5PayResponse, common.ErrorWithAttachment) + WechatH5QueryByOutTradeNo(ctx context.Context, in *WechatH5QueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*WechatH5QueryByOutTradeNoResponse, common.ErrorWithAttachment) +} + +type paymentClient struct { + cc *triple.TripleConn +} + +type PaymentClientImpl struct { + CreatePay func(ctx context.Context, in *CreatePayRequest) (*CreatePayResponse, error) + NotifyPay func(ctx context.Context, in *NotifyPayRequest) (*NotifyPayResponse, error) + QueryPayByOutTradeNo func(ctx context.Context, in *PayQueryRequest) (*PayQueryResponse, error) + QueryExportPay func(ctx context.Context, in *ExportPayRequest) (*ExportPayResponse, error) + CreateRefund func(ctx context.Context, in *CreateRefundRequest) (*CreateRefundResponse, error) + StripeGermanyWebhook func(ctx context.Context, in *GetCheckoutWebhookRequest) (*GetCheckoutWebhookResponse, error) + AliCommonWebhook func(ctx context.Context, in *NotifyPayRequest) (*NotifyPayResponse, error) + WechatFengLianWebhook func(ctx context.Context, in *NotifyPayRequest) (*NotifyPayResponse, error) + AntomWebhook func(ctx context.Context, in *AntomNotifyPayRequest) (*AntomNotifyPayResponse, error) + QueryAntomPayByCheckoutSessionId func(ctx context.Context, in *AntomPayQueryRequest) (*AntomPayQueryResponse, error) + CreateStripeCheckoutSession func(ctx context.Context, in *CreateStripeCheckoutSessionRequest) (*CreateStripeCheckoutSessionResponse, error) + AliWapPay func(ctx context.Context, in *AliWapPayRequest) (*AliWapPayResponse, error) + AliAppPay func(ctx context.Context, in *AliAppPayRequest) (*AliAppPayResponse, error) + AliNativePay func(ctx context.Context, in *AliNativePayRequest) (*AliNativePayResponse, error) + AliPcWabPay func(ctx context.Context, in *AliPcWabPayRequest) (*AliPcWabPayResponse, error) + AliReFund func(ctx context.Context, in *AliReFundRequest) (*AliReFundResponse, error) + AliNotify func(ctx context.Context, in *AliNotifyRequest) (*AliNotifyResponse, error) + AliQueryByOutTradeNo func(ctx context.Context, in *AliQueryByOutTradeNoRequest) (*AliQueryByOutTradeNoResponse, error) + AliRefundQueryByOutTradeNo func(ctx context.Context, in *AliRefundQueryByOutTradeNoRequest) (*AliRefundQueryByOutTradeNoResponse, error) + WechatJsApiPay func(ctx context.Context, in *WechatJsApiPayRequest) (*WechatJsApiPayResponse, error) + WechatJsApiQueryByOutTradeNo func(ctx context.Context, in *WechatJsApiQueryByOutTradeNoRequest) (*WechatJsApiQueryByOutTradeNoResponse, error) + GetPayByOutTradeNo func(ctx context.Context, in *GetPayByOutTradeNoRequest) (*GetPayByOutTradeNoResponse, error) + WechatJsApiRefunds func(ctx context.Context, in *WechatJsApiRefundsRequest) (*WechatJsApiRefundsResponse, error) + SetPayOk func(ctx context.Context, in *WechatPayOkRequest) (*CommonResponse, error) + WechatAppPay func(ctx context.Context, in *WechatAppPayRequest) (*WechatAppPayResponse, error) + WechatAppQueryByOutTradeNo func(ctx context.Context, in *WechatAppQueryByOutTradeNoRequest) (*WechatAppQueryByOutTradeNoResponse, error) + WechatNativePay func(ctx context.Context, in *WechatNativePayRequest) (*WechatNativePayResponse, error) + WechatNativeQueryByOutTradeNo func(ctx context.Context, in *WechatNativeQueryByOutTradeNoRequest) (*WechatNativeQueryByOutTradeNoResponse, error) + WechatRefundQueryByOutRefundNo func(ctx context.Context, in *WechatRefundQueryByOutRefundNoRequest) (*WechatRefundQueryByOutRefundNoResponse, error) + WechatH5Pay func(ctx context.Context, in *WechatH5PayRequest) (*WechatH5PayResponse, error) + WechatH5QueryByOutTradeNo func(ctx context.Context, in *WechatH5QueryByOutTradeNoRequest) (*WechatH5QueryByOutTradeNoResponse, error) +} + +func (c *PaymentClientImpl) GetDubboStub(cc *triple.TripleConn) PaymentClient { + return NewPaymentClient(cc) +} + +func (c *PaymentClientImpl) XXX_InterfaceName() string { + return "payment.Payment" +} + +func NewPaymentClient(cc *triple.TripleConn) PaymentClient { + return &paymentClient{cc} +} + +func (c *paymentClient) CreatePay(ctx context.Context, in *CreatePayRequest, opts ...grpc_go.CallOption) (*CreatePayResponse, common.ErrorWithAttachment) { + out := new(CreatePayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreatePay", in, out) +} + +func (c *paymentClient) NotifyPay(ctx context.Context, in *NotifyPayRequest, opts ...grpc_go.CallOption) (*NotifyPayResponse, common.ErrorWithAttachment) { + out := new(NotifyPayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/NotifyPay", in, out) +} + +func (c *paymentClient) QueryPayByOutTradeNo(ctx context.Context, in *PayQueryRequest, opts ...grpc_go.CallOption) (*PayQueryResponse, common.ErrorWithAttachment) { + out := new(PayQueryResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/QueryPayByOutTradeNo", in, out) +} + +func (c *paymentClient) QueryExportPay(ctx context.Context, in *ExportPayRequest, opts ...grpc_go.CallOption) (*ExportPayResponse, common.ErrorWithAttachment) { + out := new(ExportPayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/QueryExportPay", in, out) +} + +func (c *paymentClient) CreateRefund(ctx context.Context, in *CreateRefundRequest, opts ...grpc_go.CallOption) (*CreateRefundResponse, common.ErrorWithAttachment) { + out := new(CreateRefundResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateRefund", in, out) +} + +func (c *paymentClient) StripeGermanyWebhook(ctx context.Context, in *GetCheckoutWebhookRequest, opts ...grpc_go.CallOption) (*GetCheckoutWebhookResponse, common.ErrorWithAttachment) { + out := new(GetCheckoutWebhookResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/StripeGermanyWebhook", in, out) +} + +func (c *paymentClient) AliCommonWebhook(ctx context.Context, in *NotifyPayRequest, opts ...grpc_go.CallOption) (*NotifyPayResponse, common.ErrorWithAttachment) { + out := new(NotifyPayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AliCommonWebhook", in, out) +} + +func (c *paymentClient) WechatFengLianWebhook(ctx context.Context, in *NotifyPayRequest, opts ...grpc_go.CallOption) (*NotifyPayResponse, common.ErrorWithAttachment) { + out := new(NotifyPayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatFengLianWebhook", in, out) +} + +func (c *paymentClient) AntomWebhook(ctx context.Context, in *AntomNotifyPayRequest, opts ...grpc_go.CallOption) (*AntomNotifyPayResponse, common.ErrorWithAttachment) { + out := new(AntomNotifyPayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AntomWebhook", in, out) +} + +func (c *paymentClient) QueryAntomPayByCheckoutSessionId(ctx context.Context, in *AntomPayQueryRequest, opts ...grpc_go.CallOption) (*AntomPayQueryResponse, common.ErrorWithAttachment) { + out := new(AntomPayQueryResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/QueryAntomPayByCheckoutSessionId", in, out) +} + +func (c *paymentClient) CreateStripeCheckoutSession(ctx context.Context, in *CreateStripeCheckoutSessionRequest, opts ...grpc_go.CallOption) (*CreateStripeCheckoutSessionResponse, common.ErrorWithAttachment) { + out := new(CreateStripeCheckoutSessionResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateStripeCheckoutSession", in, out) +} + +func (c *paymentClient) AliWapPay(ctx context.Context, in *AliWapPayRequest, opts ...grpc_go.CallOption) (*AliWapPayResponse, common.ErrorWithAttachment) { + out := new(AliWapPayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AliWapPay", in, out) +} + +func (c *paymentClient) AliAppPay(ctx context.Context, in *AliAppPayRequest, opts ...grpc_go.CallOption) (*AliAppPayResponse, common.ErrorWithAttachment) { + out := new(AliAppPayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AliAppPay", in, out) +} + +func (c *paymentClient) AliNativePay(ctx context.Context, in *AliNativePayRequest, opts ...grpc_go.CallOption) (*AliNativePayResponse, common.ErrorWithAttachment) { + out := new(AliNativePayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AliNativePay", in, out) +} + +func (c *paymentClient) AliPcWabPay(ctx context.Context, in *AliPcWabPayRequest, opts ...grpc_go.CallOption) (*AliPcWabPayResponse, common.ErrorWithAttachment) { + out := new(AliPcWabPayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AliPcWabPay", in, out) +} + +func (c *paymentClient) AliReFund(ctx context.Context, in *AliReFundRequest, opts ...grpc_go.CallOption) (*AliReFundResponse, common.ErrorWithAttachment) { + out := new(AliReFundResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AliReFund", in, out) +} + +func (c *paymentClient) AliNotify(ctx context.Context, in *AliNotifyRequest, opts ...grpc_go.CallOption) (*AliNotifyResponse, common.ErrorWithAttachment) { + out := new(AliNotifyResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AliNotify", in, out) +} + +func (c *paymentClient) AliQueryByOutTradeNo(ctx context.Context, in *AliQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*AliQueryByOutTradeNoResponse, common.ErrorWithAttachment) { + out := new(AliQueryByOutTradeNoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AliQueryByOutTradeNo", in, out) +} + +func (c *paymentClient) AliRefundQueryByOutTradeNo(ctx context.Context, in *AliRefundQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*AliRefundQueryByOutTradeNoResponse, common.ErrorWithAttachment) { + out := new(AliRefundQueryByOutTradeNoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AliRefundQueryByOutTradeNo", in, out) +} + +func (c *paymentClient) WechatJsApiPay(ctx context.Context, in *WechatJsApiPayRequest, opts ...grpc_go.CallOption) (*WechatJsApiPayResponse, common.ErrorWithAttachment) { + out := new(WechatJsApiPayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatJsApiPay", in, out) +} + +func (c *paymentClient) WechatJsApiQueryByOutTradeNo(ctx context.Context, in *WechatJsApiQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*WechatJsApiQueryByOutTradeNoResponse, common.ErrorWithAttachment) { + out := new(WechatJsApiQueryByOutTradeNoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatJsApiQueryByOutTradeNo", in, out) +} + +func (c *paymentClient) GetPayByOutTradeNo(ctx context.Context, in *GetPayByOutTradeNoRequest, opts ...grpc_go.CallOption) (*GetPayByOutTradeNoResponse, common.ErrorWithAttachment) { + out := new(GetPayByOutTradeNoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetPayByOutTradeNo", in, out) +} + +func (c *paymentClient) WechatJsApiRefunds(ctx context.Context, in *WechatJsApiRefundsRequest, opts ...grpc_go.CallOption) (*WechatJsApiRefundsResponse, common.ErrorWithAttachment) { + out := new(WechatJsApiRefundsResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatJsApiRefunds", in, out) +} + +func (c *paymentClient) SetPayOk(ctx context.Context, in *WechatPayOkRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { + out := new(CommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SetPayOk", in, out) +} + +func (c *paymentClient) WechatAppPay(ctx context.Context, in *WechatAppPayRequest, opts ...grpc_go.CallOption) (*WechatAppPayResponse, common.ErrorWithAttachment) { + out := new(WechatAppPayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatAppPay", in, out) +} + +func (c *paymentClient) WechatAppQueryByOutTradeNo(ctx context.Context, in *WechatAppQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*WechatAppQueryByOutTradeNoResponse, common.ErrorWithAttachment) { + out := new(WechatAppQueryByOutTradeNoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatAppQueryByOutTradeNo", in, out) +} + +func (c *paymentClient) WechatNativePay(ctx context.Context, in *WechatNativePayRequest, opts ...grpc_go.CallOption) (*WechatNativePayResponse, common.ErrorWithAttachment) { + out := new(WechatNativePayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatNativePay", in, out) +} + +func (c *paymentClient) WechatNativeQueryByOutTradeNo(ctx context.Context, in *WechatNativeQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*WechatNativeQueryByOutTradeNoResponse, common.ErrorWithAttachment) { + out := new(WechatNativeQueryByOutTradeNoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatNativeQueryByOutTradeNo", in, out) +} + +func (c *paymentClient) WechatRefundQueryByOutRefundNo(ctx context.Context, in *WechatRefundQueryByOutRefundNoRequest, opts ...grpc_go.CallOption) (*WechatRefundQueryByOutRefundNoResponse, common.ErrorWithAttachment) { + out := new(WechatRefundQueryByOutRefundNoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatRefundQueryByOutRefundNo", in, out) +} + +func (c *paymentClient) WechatH5Pay(ctx context.Context, in *WechatH5PayRequest, opts ...grpc_go.CallOption) (*WechatH5PayResponse, common.ErrorWithAttachment) { + out := new(WechatH5PayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatH5Pay", in, out) +} + +func (c *paymentClient) WechatH5QueryByOutTradeNo(ctx context.Context, in *WechatH5QueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*WechatH5QueryByOutTradeNoResponse, common.ErrorWithAttachment) { + out := new(WechatH5QueryByOutTradeNoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatH5QueryByOutTradeNo", in, out) +} + +// PaymentServer is the server API for Payment service. +// All implementations must embed UnimplementedPaymentServer +// for forward compatibility +type PaymentServer interface { + // 统一渠道支付 + CreatePay(context.Context, *CreatePayRequest) (*CreatePayResponse, error) + NotifyPay(context.Context, *NotifyPayRequest) (*NotifyPayResponse, error) + QueryPayByOutTradeNo(context.Context, *PayQueryRequest) (*PayQueryResponse, error) + QueryExportPay(context.Context, *ExportPayRequest) (*ExportPayResponse, error) + CreateRefund(context.Context, *CreateRefundRequest) (*CreateRefundResponse, error) + StripeGermanyWebhook(context.Context, *GetCheckoutWebhookRequest) (*GetCheckoutWebhookResponse, error) + AliCommonWebhook(context.Context, *NotifyPayRequest) (*NotifyPayResponse, error) + WechatFengLianWebhook(context.Context, *NotifyPayRequest) (*NotifyPayResponse, error) + AntomWebhook(context.Context, *AntomNotifyPayRequest) (*AntomNotifyPayResponse, error) + QueryAntomPayByCheckoutSessionId(context.Context, *AntomPayQueryRequest) (*AntomPayQueryResponse, error) + // stripe支付 + CreateStripeCheckoutSession(context.Context, *CreateStripeCheckoutSessionRequest) (*CreateStripeCheckoutSessionResponse, error) + // 支付宝支付 + AliWapPay(context.Context, *AliWapPayRequest) (*AliWapPayResponse, error) + AliAppPay(context.Context, *AliAppPayRequest) (*AliAppPayResponse, error) + AliNativePay(context.Context, *AliNativePayRequest) (*AliNativePayResponse, error) + AliPcWabPay(context.Context, *AliPcWabPayRequest) (*AliPcWabPayResponse, error) + AliReFund(context.Context, *AliReFundRequest) (*AliReFundResponse, error) + AliNotify(context.Context, *AliNotifyRequest) (*AliNotifyResponse, error) + AliQueryByOutTradeNo(context.Context, *AliQueryByOutTradeNoRequest) (*AliQueryByOutTradeNoResponse, error) + AliRefundQueryByOutTradeNo(context.Context, *AliRefundQueryByOutTradeNoRequest) (*AliRefundQueryByOutTradeNoResponse, error) + // 微信支付 + WechatJsApiPay(context.Context, *WechatJsApiPayRequest) (*WechatJsApiPayResponse, error) + WechatJsApiQueryByOutTradeNo(context.Context, *WechatJsApiQueryByOutTradeNoRequest) (*WechatJsApiQueryByOutTradeNoResponse, error) + GetPayByOutTradeNo(context.Context, *GetPayByOutTradeNoRequest) (*GetPayByOutTradeNoResponse, error) + WechatJsApiRefunds(context.Context, *WechatJsApiRefundsRequest) (*WechatJsApiRefundsResponse, error) + SetPayOk(context.Context, *WechatPayOkRequest) (*CommonResponse, error) + WechatAppPay(context.Context, *WechatAppPayRequest) (*WechatAppPayResponse, error) + WechatAppQueryByOutTradeNo(context.Context, *WechatAppQueryByOutTradeNoRequest) (*WechatAppQueryByOutTradeNoResponse, error) + WechatNativePay(context.Context, *WechatNativePayRequest) (*WechatNativePayResponse, error) + WechatNativeQueryByOutTradeNo(context.Context, *WechatNativeQueryByOutTradeNoRequest) (*WechatNativeQueryByOutTradeNoResponse, error) + WechatRefundQueryByOutRefundNo(context.Context, *WechatRefundQueryByOutRefundNoRequest) (*WechatRefundQueryByOutRefundNoResponse, error) + WechatH5Pay(context.Context, *WechatH5PayRequest) (*WechatH5PayResponse, error) + WechatH5QueryByOutTradeNo(context.Context, *WechatH5QueryByOutTradeNoRequest) (*WechatH5QueryByOutTradeNoResponse, error) + mustEmbedUnimplementedPaymentServer() +} + +// UnimplementedPaymentServer must be embedded to have forward compatible implementations. +type UnimplementedPaymentServer struct { + proxyImpl protocol.Invoker +} + +func (UnimplementedPaymentServer) CreatePay(context.Context, *CreatePayRequest) (*CreatePayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreatePay not implemented") +} +func (UnimplementedPaymentServer) NotifyPay(context.Context, *NotifyPayRequest) (*NotifyPayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method NotifyPay not implemented") +} +func (UnimplementedPaymentServer) QueryPayByOutTradeNo(context.Context, *PayQueryRequest) (*PayQueryResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method QueryPayByOutTradeNo not implemented") +} +func (UnimplementedPaymentServer) QueryExportPay(context.Context, *ExportPayRequest) (*ExportPayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method QueryExportPay not implemented") +} +func (UnimplementedPaymentServer) CreateRefund(context.Context, *CreateRefundRequest) (*CreateRefundResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateRefund not implemented") +} +func (UnimplementedPaymentServer) StripeGermanyWebhook(context.Context, *GetCheckoutWebhookRequest) (*GetCheckoutWebhookResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method StripeGermanyWebhook not implemented") +} +func (UnimplementedPaymentServer) AliCommonWebhook(context.Context, *NotifyPayRequest) (*NotifyPayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AliCommonWebhook not implemented") +} +func (UnimplementedPaymentServer) WechatFengLianWebhook(context.Context, *NotifyPayRequest) (*NotifyPayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WechatFengLianWebhook not implemented") +} +func (UnimplementedPaymentServer) AntomWebhook(context.Context, *AntomNotifyPayRequest) (*AntomNotifyPayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AntomWebhook not implemented") +} +func (UnimplementedPaymentServer) QueryAntomPayByCheckoutSessionId(context.Context, *AntomPayQueryRequest) (*AntomPayQueryResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method QueryAntomPayByCheckoutSessionId not implemented") +} +func (UnimplementedPaymentServer) CreateStripeCheckoutSession(context.Context, *CreateStripeCheckoutSessionRequest) (*CreateStripeCheckoutSessionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateStripeCheckoutSession not implemented") +} +func (UnimplementedPaymentServer) AliWapPay(context.Context, *AliWapPayRequest) (*AliWapPayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AliWapPay not implemented") +} +func (UnimplementedPaymentServer) AliAppPay(context.Context, *AliAppPayRequest) (*AliAppPayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AliAppPay not implemented") +} +func (UnimplementedPaymentServer) AliNativePay(context.Context, *AliNativePayRequest) (*AliNativePayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AliNativePay not implemented") +} +func (UnimplementedPaymentServer) AliPcWabPay(context.Context, *AliPcWabPayRequest) (*AliPcWabPayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AliPcWabPay not implemented") +} +func (UnimplementedPaymentServer) AliReFund(context.Context, *AliReFundRequest) (*AliReFundResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AliReFund not implemented") +} +func (UnimplementedPaymentServer) AliNotify(context.Context, *AliNotifyRequest) (*AliNotifyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AliNotify not implemented") +} +func (UnimplementedPaymentServer) AliQueryByOutTradeNo(context.Context, *AliQueryByOutTradeNoRequest) (*AliQueryByOutTradeNoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AliQueryByOutTradeNo not implemented") +} +func (UnimplementedPaymentServer) AliRefundQueryByOutTradeNo(context.Context, *AliRefundQueryByOutTradeNoRequest) (*AliRefundQueryByOutTradeNoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AliRefundQueryByOutTradeNo not implemented") +} +func (UnimplementedPaymentServer) WechatJsApiPay(context.Context, *WechatJsApiPayRequest) (*WechatJsApiPayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WechatJsApiPay not implemented") +} +func (UnimplementedPaymentServer) WechatJsApiQueryByOutTradeNo(context.Context, *WechatJsApiQueryByOutTradeNoRequest) (*WechatJsApiQueryByOutTradeNoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WechatJsApiQueryByOutTradeNo not implemented") +} +func (UnimplementedPaymentServer) GetPayByOutTradeNo(context.Context, *GetPayByOutTradeNoRequest) (*GetPayByOutTradeNoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPayByOutTradeNo not implemented") +} +func (UnimplementedPaymentServer) WechatJsApiRefunds(context.Context, *WechatJsApiRefundsRequest) (*WechatJsApiRefundsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WechatJsApiRefunds not implemented") +} +func (UnimplementedPaymentServer) SetPayOk(context.Context, *WechatPayOkRequest) (*CommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetPayOk not implemented") +} +func (UnimplementedPaymentServer) WechatAppPay(context.Context, *WechatAppPayRequest) (*WechatAppPayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WechatAppPay not implemented") +} +func (UnimplementedPaymentServer) WechatAppQueryByOutTradeNo(context.Context, *WechatAppQueryByOutTradeNoRequest) (*WechatAppQueryByOutTradeNoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WechatAppQueryByOutTradeNo not implemented") +} +func (UnimplementedPaymentServer) WechatNativePay(context.Context, *WechatNativePayRequest) (*WechatNativePayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WechatNativePay not implemented") +} +func (UnimplementedPaymentServer) WechatNativeQueryByOutTradeNo(context.Context, *WechatNativeQueryByOutTradeNoRequest) (*WechatNativeQueryByOutTradeNoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WechatNativeQueryByOutTradeNo not implemented") +} +func (UnimplementedPaymentServer) WechatRefundQueryByOutRefundNo(context.Context, *WechatRefundQueryByOutRefundNoRequest) (*WechatRefundQueryByOutRefundNoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WechatRefundQueryByOutRefundNo not implemented") +} +func (UnimplementedPaymentServer) WechatH5Pay(context.Context, *WechatH5PayRequest) (*WechatH5PayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WechatH5Pay not implemented") +} +func (UnimplementedPaymentServer) WechatH5QueryByOutTradeNo(context.Context, *WechatH5QueryByOutTradeNoRequest) (*WechatH5QueryByOutTradeNoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WechatH5QueryByOutTradeNo not implemented") +} +func (s *UnimplementedPaymentServer) XXX_SetProxyImpl(impl protocol.Invoker) { + s.proxyImpl = impl +} + +func (s *UnimplementedPaymentServer) XXX_GetProxyImpl() protocol.Invoker { + return s.proxyImpl +} + +func (s *UnimplementedPaymentServer) XXX_ServiceDesc() *grpc_go.ServiceDesc { + return &Payment_ServiceDesc +} +func (s *UnimplementedPaymentServer) XXX_InterfaceName() string { + return "payment.Payment" +} + +func (UnimplementedPaymentServer) mustEmbedUnimplementedPaymentServer() {} + +// UnsafePaymentServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to PaymentServer will +// result in compilation errors. +type UnsafePaymentServer interface { + mustEmbedUnimplementedPaymentServer() +} + +func RegisterPaymentServer(s grpc_go.ServiceRegistrar, srv PaymentServer) { + s.RegisterService(&Payment_ServiceDesc, srv) +} + +func _Payment_CreatePay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CreatePayRequest) + 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("CreatePay", 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 _Payment_NotifyPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(NotifyPayRequest) + 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("NotifyPay", 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 _Payment_QueryPayByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(PayQueryRequest) + 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("QueryPayByOutTradeNo", 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 _Payment_QueryExportPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ExportPayRequest) + 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("QueryExportPay", 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 _Payment_CreateRefund_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateRefundRequest) + 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("CreateRefund", 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 _Payment_StripeGermanyWebhook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetCheckoutWebhookRequest) + 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("StripeGermanyWebhook", 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 _Payment_AliCommonWebhook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(NotifyPayRequest) + 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("AliCommonWebhook", 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 _Payment_WechatFengLianWebhook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(NotifyPayRequest) + 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("WechatFengLianWebhook", 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 _Payment_AntomWebhook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AntomNotifyPayRequest) + 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("AntomWebhook", 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 _Payment_QueryAntomPayByCheckoutSessionId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AntomPayQueryRequest) + 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("QueryAntomPayByCheckoutSessionId", 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 _Payment_CreateStripeCheckoutSession_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateStripeCheckoutSessionRequest) + 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("CreateStripeCheckoutSession", 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 _Payment_AliWapPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AliWapPayRequest) + 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("AliWapPay", 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 _Payment_AliAppPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AliAppPayRequest) + 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("AliAppPay", 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 _Payment_AliNativePay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AliNativePayRequest) + 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("AliNativePay", 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 _Payment_AliPcWabPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AliPcWabPayRequest) + 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("AliPcWabPay", 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 _Payment_AliReFund_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AliReFundRequest) + 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("AliReFund", 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 _Payment_AliNotify_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AliNotifyRequest) + 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("AliNotify", 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 _Payment_AliQueryByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AliQueryByOutTradeNoRequest) + 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("AliQueryByOutTradeNo", 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 _Payment_AliRefundQueryByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AliRefundQueryByOutTradeNoRequest) + 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("AliRefundQueryByOutTradeNo", 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 _Payment_WechatJsApiPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WechatJsApiPayRequest) + 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("WechatJsApiPay", 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 _Payment_WechatJsApiQueryByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WechatJsApiQueryByOutTradeNoRequest) + 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("WechatJsApiQueryByOutTradeNo", 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 _Payment_GetPayByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetPayByOutTradeNoRequest) + 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("GetPayByOutTradeNo", 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 _Payment_WechatJsApiRefunds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WechatJsApiRefundsRequest) + 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("WechatJsApiRefunds", 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 _Payment_SetPayOk_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WechatPayOkRequest) + 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("SetPayOk", 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 _Payment_WechatAppPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WechatAppPayRequest) + 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("WechatAppPay", 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 _Payment_WechatAppQueryByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WechatAppQueryByOutTradeNoRequest) + 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("WechatAppQueryByOutTradeNo", 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 _Payment_WechatNativePay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WechatNativePayRequest) + 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("WechatNativePay", 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 _Payment_WechatNativeQueryByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WechatNativeQueryByOutTradeNoRequest) + 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("WechatNativeQueryByOutTradeNo", 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 _Payment_WechatRefundQueryByOutRefundNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WechatRefundQueryByOutRefundNoRequest) + 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("WechatRefundQueryByOutRefundNo", 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 _Payment_WechatH5Pay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WechatH5PayRequest) + 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("WechatH5Pay", 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 _Payment_WechatH5QueryByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WechatH5QueryByOutTradeNoRequest) + 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("WechatH5QueryByOutTradeNo", 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) +} + +// Payment_ServiceDesc is the grpc_go.ServiceDesc for Payment service. +// It's only intended for direct use with grpc_go.RegisterService, +// and not to be introspected or modified (even as a copy) +var Payment_ServiceDesc = grpc_go.ServiceDesc{ + ServiceName: "payment.Payment", + HandlerType: (*PaymentServer)(nil), + Methods: []grpc_go.MethodDesc{ + { + MethodName: "CreatePay", + Handler: _Payment_CreatePay_Handler, + }, + { + MethodName: "NotifyPay", + Handler: _Payment_NotifyPay_Handler, + }, + { + MethodName: "QueryPayByOutTradeNo", + Handler: _Payment_QueryPayByOutTradeNo_Handler, + }, + { + MethodName: "QueryExportPay", + Handler: _Payment_QueryExportPay_Handler, + }, + { + MethodName: "CreateRefund", + Handler: _Payment_CreateRefund_Handler, + }, + { + MethodName: "StripeGermanyWebhook", + Handler: _Payment_StripeGermanyWebhook_Handler, + }, + { + MethodName: "AliCommonWebhook", + Handler: _Payment_AliCommonWebhook_Handler, + }, + { + MethodName: "WechatFengLianWebhook", + Handler: _Payment_WechatFengLianWebhook_Handler, + }, + { + MethodName: "AntomWebhook", + Handler: _Payment_AntomWebhook_Handler, + }, + { + MethodName: "QueryAntomPayByCheckoutSessionId", + Handler: _Payment_QueryAntomPayByCheckoutSessionId_Handler, + }, + { + MethodName: "CreateStripeCheckoutSession", + Handler: _Payment_CreateStripeCheckoutSession_Handler, + }, + { + MethodName: "AliWapPay", + Handler: _Payment_AliWapPay_Handler, + }, + { + MethodName: "AliAppPay", + Handler: _Payment_AliAppPay_Handler, + }, + { + MethodName: "AliNativePay", + Handler: _Payment_AliNativePay_Handler, + }, + { + MethodName: "AliPcWabPay", + Handler: _Payment_AliPcWabPay_Handler, + }, + { + MethodName: "AliReFund", + Handler: _Payment_AliReFund_Handler, + }, + { + MethodName: "AliNotify", + Handler: _Payment_AliNotify_Handler, + }, + { + MethodName: "AliQueryByOutTradeNo", + Handler: _Payment_AliQueryByOutTradeNo_Handler, + }, + { + MethodName: "AliRefundQueryByOutTradeNo", + Handler: _Payment_AliRefundQueryByOutTradeNo_Handler, + }, + { + MethodName: "WechatJsApiPay", + Handler: _Payment_WechatJsApiPay_Handler, + }, + { + MethodName: "WechatJsApiQueryByOutTradeNo", + Handler: _Payment_WechatJsApiQueryByOutTradeNo_Handler, + }, + { + MethodName: "GetPayByOutTradeNo", + Handler: _Payment_GetPayByOutTradeNo_Handler, + }, + { + MethodName: "WechatJsApiRefunds", + Handler: _Payment_WechatJsApiRefunds_Handler, + }, + { + MethodName: "SetPayOk", + Handler: _Payment_SetPayOk_Handler, + }, + { + MethodName: "WechatAppPay", + Handler: _Payment_WechatAppPay_Handler, + }, + { + MethodName: "WechatAppQueryByOutTradeNo", + Handler: _Payment_WechatAppQueryByOutTradeNo_Handler, + }, + { + MethodName: "WechatNativePay", + Handler: _Payment_WechatNativePay_Handler, + }, + { + MethodName: "WechatNativeQueryByOutTradeNo", + Handler: _Payment_WechatNativeQueryByOutTradeNo_Handler, + }, + { + MethodName: "WechatRefundQueryByOutRefundNo", + Handler: _Payment_WechatRefundQueryByOutRefundNo_Handler, + }, + { + MethodName: "WechatH5Pay", + Handler: _Payment_WechatH5Pay_Handler, + }, + { + MethodName: "WechatH5QueryByOutTradeNo", + Handler: _Payment_WechatH5QueryByOutTradeNo_Handler, + }, + }, + Streams: []grpc_go.StreamDesc{}, + Metadata: "pb/payment.proto", +} diff --git a/docs/dev/dubbogo.yaml b/docs/dev/dubbogo.yaml index fee5b40..b92ef00 100644 --- a/docs/dev/dubbogo.yaml +++ b/docs/dev/dubbogo.yaml @@ -28,3 +28,9 @@ dubbo: retries: 3 interface: com.fontree.microservices.common.micro.account # filter: echo,metrics,token,accesslog,sign,tps,generic_service,execute,pshutdown,auth,fonValidateFilter + PaymentClientImpl: + interface: com.fontree.microservices.common.payment # must be compatible with grpc or dubbo-java + filter: cshutdown,sign,auth + params: + .accessKeyId: "Paymentksl" + .secretAccessKey: "BSDY-FDF1-Fontree_payment" diff --git a/docs/prod/dubbogo.yaml b/docs/prod/dubbogo.yaml index f1b0692..c7d4621 100644 --- a/docs/prod/dubbogo.yaml +++ b/docs/prod/dubbogo.yaml @@ -26,3 +26,9 @@ dubbo: protocol: tri retries: 0 interface: com.fontree.microservices.common.micro.account + PaymentClientImpl: + interface: com.fontree.microservices.common.payment # must be compatible with grpc or dubbo-java + filter: cshutdown,sign,auth + params: + .accessKeyId: "Paymentksl" + .secretAccessKey: "BSDY-FDF1-Fontree_payment" diff --git a/pkg/router/bundleOrder.go b/pkg/router/bundleOrder.go index bdbf944..44bd843 100644 --- a/pkg/router/bundleOrder.go +++ b/pkg/router/bundleOrder.go @@ -11,6 +11,7 @@ import ( func BundleOrderRouter(r *gin.RouterGroup) { r.POST("/stripe-pay/callback", bundle.StripeCheckoutSessionWebhook) + r.POST("/antom/callback", bundle.AntomWebhook) // Antom回调 bundleOrderRoute := r.Group("bundle-order") bundleOrderRoute.Use(middleware.CheckLogin(service.AccountProvider)) @@ -29,7 +30,8 @@ func BundleOrderRouter(r *gin.RouterGroup) { bundleOrderAppRoute.POST("order-detail", bundle.OrderRecordsDetail) // stripe - bundleOrderAppRoute.POST("create-stripe-pay", bundle.CreateStripeCheckoutSession) + //bundleOrderAppRoute.POST("create-stripe-pay", bundle.CreateStripeCheckoutSession) // stripe支付 + bundleOrderAppRoute.POST("create-stripe-pay", bundle.CreateAntomPay) // Antom国际支付 } } diff --git a/pkg/service/bundle/pay.go b/pkg/service/bundle/pay.go index 27c846a..e28f815 100644 --- a/pkg/service/bundle/pay.go +++ b/pkg/service/bundle/pay.go @@ -2,10 +2,12 @@ package bundle import ( "context" + "encoding/json" "errors" "fmt" "fonchain-fiee/api/bundle" "fonchain-fiee/api/order" + "fonchain-fiee/api/payment" "fonchain-fiee/pkg/config" "fonchain-fiee/pkg/model/login" "fonchain-fiee/pkg/service" @@ -127,6 +129,125 @@ func CreateStripeCheckoutSession(c *gin.Context) { } +func CreateAntomPay(c *gin.Context) { + var req order.CreateStripeCheckoutSessionRequest + + if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil { + service.Error(c, err) + return + } + + // 获取 用户信息 + userInfo := login.GetUserInfoFromC(c) + + // 检查 订单信息 + detail, detailErr := service.BundleProvider.OrderRecordsDetail(context.Background(), &bundle.OrderRecordsDetailRequest{ + OrderNo: req.OutTradeNo, + }) + + if detailErr != nil { + service.Error(c, detailErr) + return + } + + fmt.Println("detail.OrderRecord.CustomerID :", detail.OrderRecord.CustomerID) + + // 判断 是否是 本人操作 + if strconv.FormatUint(userInfo.ID, 10) != detail.OrderRecord.CustomerID { + service.Error(c, errors.New(common.NotMatchOrderInfo)) + return + } + + fmt.Println("detail.OrderRecord.TotalAmount :", detail.OrderRecord.TotalAmount) + fmt.Println("req.ProductAllPrice :", req.ProductAllPrice) + fmt.Println("detail.OrderRecord.TotalAmount*100 :", detail.OrderRecord.TotalAmount*100) + + //金额校验 + orderAmountInCents := int64(math.Round(float64(detail.OrderRecord.TotalAmount * 100))) + reqAmountInCents := int64(math.Round(float64(req.ProductAllPrice))) + if orderAmountInCents != reqAmountInCents { + fmt.Println("111111111111111111111111111111111111") + service.Error(c, errors.New(common.InvalidOrderAmount)) + return + } + + fmt.Println("detail.OrderRecord.Status :", detail.OrderRecord.Status) + fmt.Println("detail.OrderRecord.CheckoutSessionId :", detail.OrderRecord.CheckoutSessionId) + fmt.Println("detail.OrderRecord.PayTime :", detail.OrderRecord.PayTime) + + // 如果 当前订单 是 已签未支付 且 存在 checkoutSessionId 需要 查询 支付结果 + if detail.OrderRecord.Status == bundleModel.OrderSigned && detail.OrderRecord.CheckoutSessionId != "" && detail.OrderRecord.PayTime == "" { + // 查询支付结果 + stripeInfosRes, stripeInfosErr := service.PaymentProvider.QueryAntomPayByCheckoutSessionId(context.Background(), &payment.AntomPayQueryRequest{ + CheckoutSessionIds: []string{detail.OrderRecord.CheckoutSessionId}, + }) + + if stripeInfosErr != nil { + service.Error(c, errors.New(common.ErrorQueryStripeInfo)) + return + } + + if stripeInfosRes != nil && len(stripeInfosRes.Infos) > 0 { + for _, info := range stripeInfosRes.Infos { + if info.OutTradeNo == detail.OrderRecord.OrderNo && info.Status == "paid" { + _, updateOrderRecordErr := service.BundleProvider.UpdateOrderRecord(context.Background(), &bundle.OrderRecord{ + Uuid: detail.OrderRecord.Uuid, + Status: bundleModel.OrderPaid, + PayTime: common.GetBeijingTime(), + }) + fmt.Println("detail.OrderRecord.Uuid :", detail.OrderRecord.Uuid) + if updateOrderRecordErr != nil { + service.Error(c, detailErr) + return + } + service.Success(c, &service.Response{ + Msg: common.HadPay, + Code: 0, + }) + return + } + } + } + } + + var antomReq payment.CreatePayRequest + antomReq.Payee = "Antom" + antomReq.Platform = "antom" + antomReq.ChannelType = "antom" + antomReq.ProductDescription = req.ProductDescription + antomReq.BusinessType = "useless" + antomReq.Domain = "fiee" + antomReq.Amount = req.ProductAllPrice + antomReq.Currency = req.ProductPriceCurrency + antomReq.OutTradeNo = req.OutTradeNo + antomReq.ReturnUrl = req.SuccessUrl + + //调用微服务获取支付地址 + result, err := service.PaymentProvider.CreatePay(context.Background(), &antomReq) + if err != nil { + service.Error(c, err) + return + } + + fmt.Println("result.CheckoutSessionId :", result.CheckoutSessionId) + fmt.Println("result.Url :", result.Url) + + //更新订单状态 + _, updateOrderRecordErr := service.BundleProvider.UpdateOrderRecord(context.Background(), &bundle.OrderRecord{ + Uuid: detail.OrderRecord.Uuid, + CheckoutSessionId: result.CheckoutSessionId, + CheckoutSessionUrl: result.Url, + }) + + if updateOrderRecordErr != nil { + service.Error(c, updateOrderRecordErr) + return + } + + service.Success(c, result) + +} + func StripeCheckoutSessionWebhook(c *gin.Context) { var req order.GetCheckoutWebhookRequest c.Request.Body = http.MaxBytesReader(c.Writer, c.Request.Body, int64(65536)) @@ -160,3 +281,81 @@ func StripeCheckoutSessionWebhook(c *gin.Context) { } service.Success(c) } + +func AntomWebhook(c *gin.Context) { + + var err error + data, err := io.ReadAll(c.Request.Body) + if err != nil { + service.Error(c, err) + return + } + + // 将数据转换为字符串形式并记录日志(如果数据过大则不记录) + dataStr := string(data) + fmt.Println("================ Antom回调参数:", dataStr) + + // 将读取到的数据解析为 map[string]interface{} + var reqMap map[string]interface{} + if err := json.Unmarshal(data, &reqMap); err != nil { + service.Error(c, err) + return + } + + // 提取需要的字段 + notifyType, _ := reqMap["notifyType"].(string) + resultMap, resultExists := reqMap["result"].(map[string]interface{}) + if !resultExists { + service.Error(c, errors.New("result 字段不存在或类型错误")) + return + } + + requestId, _ := reqMap["paymentRequestId"].(string) + paymentId, _ := reqMap["paymentId"].(string) + paymentTime, _ := reqMap["paymentTime"].(string) + + // 提取 result 字段中的子字段 + resultStatus, _ := resultMap["resultStatus"].(string) + resultMessage, _ := resultMap["resultMessage"].(string) + + // 打印提取的字段(可以根据需要处理) + fmt.Println("通知类型:", notifyType) + fmt.Println("订单号:", requestId) + fmt.Println("支付ID:", paymentId) + fmt.Println("支付时间:", paymentTime) + fmt.Println("支付结果状态:", resultStatus) + fmt.Println("支付结果消息:", resultMessage) + /* + * S: 当 notifyType 为PAYMENT_RESULT时,表示支付成功;当 notifyType 为PAYMENT_PENDING时,表示支付处理中。 + * F: 表示支付失败。 + * */ + params := &payment.AntomNotifyPayRequest{ + NotifyType: notifyType, + RequestId: requestId, + PaymentId: paymentId, + PaymentTime: paymentTime, + ResultStatus: resultStatus, + ResultMessage: resultMessage, + } + + resp, err := service.PaymentProvider.AntomWebhook(c, params) + if err != nil { + service.Error(c, err) + return + } + fmt.Println("resp.Status:", resp.Status) + if resp.Status == "paid" { + //支付成功 + _, updateStatusErr := service.BundleProvider.UpdateOrderRecordByOrderNo(context.Background(), &bundle.OrderRecord{ + OrderNo: resp.OutTradeNo, + PayTime: common.GetBeijingTime(), + Status: bundleModel.OrderPaid, + }) + if updateStatusErr != nil { + service.Error(c, err) + return + } + + } + service.Success(c) +} diff --git a/pkg/service/init.go b/pkg/service/init.go index b3cacdc..53c182d 100644 --- a/pkg/service/init.go +++ b/pkg/service/init.go @@ -8,6 +8,7 @@ import ( "fonchain-fiee/api/account" "fonchain-fiee/api/bundle" "fonchain-fiee/api/order" + "fonchain-fiee/api/payment" pkConfig "fonchain-fiee/pkg/config" "os" ) @@ -16,11 +17,13 @@ var AccountProvider = new(account.AccountClientImpl) var BundleProvider = new(bundle.BundleClientImpl) var OrderProvider = new(order.OrderClientImpl) +var PaymentProvider = new(payment.PaymentClientImpl) func init() { config.SetConsumerService(BundleProvider) config.SetConsumerService(OrderProvider) config.SetConsumerService(AccountProvider) + config.SetConsumerService(PaymentProvider) if err := config.Load(); err != nil { panic(err) From 191011fa53988598acd08a7daa769f96deea2426 Mon Sep 17 00:00:00 2001 From: zhoujunyao Date: Mon, 14 Apr 2025 16:35:39 +0800 Subject: [PATCH 02/27] =?UTF-8?q?fix:=20=E8=B0=83=E6=95=B4=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/prod/dubbogo.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/prod/dubbogo.yaml b/docs/prod/dubbogo.yaml index c7d4621..8506816 100644 --- a/docs/prod/dubbogo.yaml +++ b/docs/prod/dubbogo.yaml @@ -27,8 +27,10 @@ dubbo: retries: 0 interface: com.fontree.microservices.common.micro.account PaymentClientImpl: + protocol: tri + retries: 0 interface: com.fontree.microservices.common.payment # must be compatible with grpc or dubbo-java - filter: cshutdown,sign,auth +# filter: cshutdown,sign,auth params: .accessKeyId: "Paymentksl" .secretAccessKey: "BSDY-FDF1-Fontree_payment" From df3ad7fd570e24250ced7830ecb561561b70e76f Mon Sep 17 00:00:00 2001 From: zhoujunyao Date: Mon, 14 Apr 2025 17:59:52 +0800 Subject: [PATCH 03/27] =?UTF-8?q?fix:=20=E8=B0=83=E6=95=B4dubbo=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/prod/dubbogo.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/prod/dubbogo.yaml b/docs/prod/dubbogo.yaml index 8506816..792b421 100644 --- a/docs/prod/dubbogo.yaml +++ b/docs/prod/dubbogo.yaml @@ -29,7 +29,7 @@ dubbo: PaymentClientImpl: protocol: tri retries: 0 - interface: com.fontree.microservices.common.payment # must be compatible with grpc or dubbo-java + interface: com.fontree.microservices.common.payment.cent # must be compatible with grpc or dubbo-java # filter: cshutdown,sign,auth params: .accessKeyId: "Paymentksl" From 2131894c7f5ed8dcd560f4a9b6479fe16b99d390 Mon Sep 17 00:00:00 2001 From: zhoujunyao Date: Mon, 14 Apr 2025 18:05:02 +0800 Subject: [PATCH 04/27] =?UTF-8?q?fix:=20=E5=9B=9E=E9=80=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/prod/dubbogo.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/prod/dubbogo.yaml b/docs/prod/dubbogo.yaml index 792b421..8506816 100644 --- a/docs/prod/dubbogo.yaml +++ b/docs/prod/dubbogo.yaml @@ -29,7 +29,7 @@ dubbo: PaymentClientImpl: protocol: tri retries: 0 - interface: com.fontree.microservices.common.payment.cent # must be compatible with grpc or dubbo-java + interface: com.fontree.microservices.common.payment # must be compatible with grpc or dubbo-java # filter: cshutdown,sign,auth params: .accessKeyId: "Paymentksl" From 26ed034734af4c0cd85f6341cf4a6dc28af5a82e Mon Sep 17 00:00:00 2001 From: zhoujunyao Date: Mon, 14 Apr 2025 18:28:07 +0800 Subject: [PATCH 05/27] =?UTF-8?q?fix:=20=E5=A4=84=E7=90=86dubbo=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/prod/dubbogo.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/prod/dubbogo.yaml b/docs/prod/dubbogo.yaml index 8506816..1b9b576 100644 --- a/docs/prod/dubbogo.yaml +++ b/docs/prod/dubbogo.yaml @@ -26,10 +26,10 @@ dubbo: protocol: tri retries: 0 interface: com.fontree.microservices.common.micro.account - PaymentClientImpl: + PaymentCentClientImpl: protocol: tri retries: 0 - interface: com.fontree.microservices.common.payment # must be compatible with grpc or dubbo-java + interface: com.fontree.microservices.common.payment.cent # must be compatible with grpc or dubbo-java # filter: cshutdown,sign,auth params: .accessKeyId: "Paymentksl" From 736975ed2ee156337392c14c5ac1a642865079b0 Mon Sep 17 00:00:00 2001 From: zhoujunyao Date: Tue, 15 Apr 2025 09:21:39 +0800 Subject: [PATCH 06/27] =?UTF-8?q?fix:=20=E8=B0=83=E6=95=B4=E5=88=9B?= =?UTF-8?q?=E5=BB=BAantom=E6=94=AF=E4=BB=98=E7=9A=84=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/service/bundle/pay.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/service/bundle/pay.go b/pkg/service/bundle/pay.go index e28f815..6cfa525 100644 --- a/pkg/service/bundle/pay.go +++ b/pkg/service/bundle/pay.go @@ -238,6 +238,10 @@ func CreateAntomPay(c *gin.Context) { CheckoutSessionId: result.CheckoutSessionId, CheckoutSessionUrl: result.Url, }) + resp := &order.CreateStripeCheckoutSessionResponse{} + resp.CheckoutSessionUrl = result.Url + resp.CheckoutSessionId = result.CheckoutSessionId + fmt.Println("resp:", resp) if updateOrderRecordErr != nil { service.Error(c, updateOrderRecordErr) From 69beac21ff5666f505d7f6955ba6ac36b4c36880 Mon Sep 17 00:00:00 2001 From: zhoujunyao Date: Tue, 15 Apr 2025 09:45:48 +0800 Subject: [PATCH 07/27] =?UTF-8?q?fix:=20=E8=B0=83=E6=95=B4antom=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E7=9A=84=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/service/bundle/pay.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/service/bundle/pay.go b/pkg/service/bundle/pay.go index 6cfa525..a8fb24e 100644 --- a/pkg/service/bundle/pay.go +++ b/pkg/service/bundle/pay.go @@ -248,7 +248,7 @@ func CreateAntomPay(c *gin.Context) { return } - service.Success(c, result) + service.Success(c, resp) } From fb8bac623c00d5e7808b68521883905750d01aa8 Mon Sep 17 00:00:00 2001 From: zhoujunyao Date: Tue, 15 Apr 2025 09:53:36 +0800 Subject: [PATCH 08/27] =?UTF-8?q?fix:=20=E8=B0=83=E6=95=B4=E8=BF=94?= =?UTF-8?q?=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/service/bundle/pay.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/service/bundle/pay.go b/pkg/service/bundle/pay.go index a8fb24e..9a2e2a2 100644 --- a/pkg/service/bundle/pay.go +++ b/pkg/service/bundle/pay.go @@ -238,7 +238,7 @@ func CreateAntomPay(c *gin.Context) { CheckoutSessionId: result.CheckoutSessionId, CheckoutSessionUrl: result.Url, }) - resp := &order.CreateStripeCheckoutSessionResponse{} + var resp *order.CreateStripeCheckoutSessionResponse resp.CheckoutSessionUrl = result.Url resp.CheckoutSessionId = result.CheckoutSessionId fmt.Println("resp:", resp) From cee52be722c79aab6858f63bfee1333bf940b1c5 Mon Sep 17 00:00:00 2001 From: zhoujunyao Date: Tue, 15 Apr 2025 10:40:21 +0800 Subject: [PATCH 09/27] =?UTF-8?q?fix:=20+=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/service/bundle/pay.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkg/service/bundle/pay.go b/pkg/service/bundle/pay.go index 9a2e2a2..9d7a176 100644 --- a/pkg/service/bundle/pay.go +++ b/pkg/service/bundle/pay.go @@ -238,12 +238,14 @@ func CreateAntomPay(c *gin.Context) { CheckoutSessionId: result.CheckoutSessionId, CheckoutSessionUrl: result.Url, }) - var resp *order.CreateStripeCheckoutSessionResponse + fmt.Println("=====================================") + resp := &order.CreateStripeCheckoutSessionResponse{} resp.CheckoutSessionUrl = result.Url resp.CheckoutSessionId = result.CheckoutSessionId fmt.Println("resp:", resp) if updateOrderRecordErr != nil { + fmt.Println("有更新报错:", updateOrderRecordErr) service.Error(c, updateOrderRecordErr) return } From fbd7578058ae8b21821fb43145785d7b259e3712 Mon Sep 17 00:00:00 2001 From: zhoujunyao Date: Thu, 17 Apr 2025 15:47:33 +0800 Subject: [PATCH 10/27] =?UTF-8?q?fix:=20antom=E5=9B=9E=E8=B0=83=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E4=BC=A0channelCode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/payment/payment.pb.go | 2190 +++++++++++++++++++------------------ api/payment/payment.proto | 3 +- pkg/service/bundle/pay.go | 1 + 3 files changed, 1103 insertions(+), 1091 deletions(-) diff --git a/api/payment/payment.pb.go b/api/payment/payment.pb.go index 85d7c3b..f516ef1 100644 --- a/api/payment/payment.pb.go +++ b/api/payment/payment.pb.go @@ -125,6 +125,7 @@ type AntomNotifyPayRequest struct { PaymentTime string `protobuf:"bytes,4,opt,name=paymentTime,proto3" json:"paymentTime"` ResultStatus string `protobuf:"bytes,5,opt,name=resultStatus,proto3" json:"resultStatus"` ResultMessage string `protobuf:"bytes,6,opt,name=resultMessage,proto3" json:"resultMessage"` + ChannelCode string `protobuf:"bytes,7,opt,name=channelCode,proto3" json:"channelCode"` } func (x *AntomNotifyPayRequest) Reset() { @@ -201,6 +202,13 @@ func (x *AntomNotifyPayRequest) GetResultMessage() string { return "" } +func (x *AntomNotifyPayRequest) GetChannelCode() string { + if x != nil { + return x.ChannelCode + } + return "" +} + type AntomNotifyPayResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -6476,7 +6484,7 @@ var file_pb_payment_proto_rawDesc = []byte{ 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0xdf, 0x01, + 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0x81, 0x02, 0x0a, 0x15, 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, 0x74, @@ -6490,301 +6498,277 @@ var file_pb_payment_proto_rawDesc = []byte{ 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, - 0x50, 0x0a, 0x16, 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, - 0x6f, 0x22, 0xec, 0x05, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, - 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, - 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, - 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x67, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x67, 0x12, 0x2e, - 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, - 0x0a, 0x07, 0x71, 0x75, 0x69, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x71, 0x75, 0x69, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x69, - 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x6f, 0x74, - 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x55, 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, - 0x4e, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, - 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, - 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x26, 0x0a, 0x0e, - 0x63, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, - 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x79, 0x65, - 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x79, 0x65, 0x65, 0x12, 0x20, - 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x11, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, - 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x75, 0x73, 0x69, - 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, - 0x75, 0x61, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, - 0x75, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70, - 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70, - 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, - 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x69, - 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, - 0x22, 0xe3, 0x02, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x22, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x52, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, - 0x6f, 0x67, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x03, - 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x14, - 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, - 0x70, 0x70, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, - 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, - 0x6d, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x73, 0x69, 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x73, 0x69, 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x6e, 0x63, - 0x65, 0x53, 0x74, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, - 0x65, 0x53, 0x74, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x1a, - 0x0a, 0x08, 0x70, 0x72, 0x65, 0x70, 0x61, 0x79, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x70, 0x72, 0x65, 0x70, 0x61, 0x79, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, - 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, - 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x68, 0x65, 0x63, - 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xdf, 0x04, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, - 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x55, 0x55, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, - 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, - 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, - 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x26, 0x0a, 0x0e, - 0x63, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x75, - 0x6e, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x63, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x63, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x79, 0x65, 0x65, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x79, 0x65, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70, 0x12, 0x16, 0x0a, 0x06, - 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, - 0x65, 0x6e, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, - 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x52, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x75, - 0x6e, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x3c, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x82, 0x01, 0x0a, 0x10, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, - 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6f, - 0x73, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x37, 0x0a, 0x0c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x52, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, - 0x0a, 0x08, 0x72, 0x61, 0x77, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x72, 0x61, 0x77, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x45, 0x0a, 0x11, 0x4e, - 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, - 0x73, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, - 0x4e, 0x6f, 0x22, 0xc4, 0x01, 0x0a, 0x0b, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, - 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x3b, 0x0a, 0x07, - 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, - 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, - 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x1a, 0x3a, 0x0a, - 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1d, 0x0a, 0x09, 0x43, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x0e, 0x0a, 0x0c, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x98, 0x04, 0x0a, 0x22, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, - 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, 0x44, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, - 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x51, 0x75, - 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x70, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x28, 0x0a, - 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x41, - 0x6c, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, - 0x6c, 0x12, 0x32, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x69, 0x63, - 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x43, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, - 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1e, 0x0a, - 0x0a, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, - 0x09, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, - 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x23, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, - 0x72, 0x69, 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, - 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x22, 0xa1, 0x01, 0x0a, 0x19, 0x47, 0x65, - 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, - 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, - 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, - 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1e, 0x0a, - 0x0a, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x4b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x4b, 0x65, 0x79, 0x22, 0xa2, 0x01, - 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x57, 0x65, 0x62, - 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, - 0x12, 0x30, 0x0a, 0x13, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x22, 0x6f, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x50, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, - 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, - 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x72, 0x49, 0x44, 0x22, 0xb2, 0x05, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x53, 0x74, 0x72, 0x69, 0x70, - 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x68, + 0x52, 0x0d, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x64, + 0x65, 0x22, 0x50, 0x0a, 0x16, 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, + 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, + 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x4e, 0x6f, 0x22, 0xec, 0x05, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, + 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, + 0x72, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, + 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, 0x44, 0x12, 0x20, + 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x67, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x67, + 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x69, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x71, 0x75, 0x69, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, + 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x26, + 0x0a, 0x0e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, + 0x79, 0x65, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x79, 0x65, 0x65, + 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, + 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, + 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x75, + 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, + 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, + 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x49, 0x70, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x49, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x16, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x69, + 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x74, 0x69, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x65, 0x22, 0xe3, 0x02, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x22, 0x0a, 0x0b, 0x6c, 0x6f, + 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x6c, 0x6f, 0x67, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x49, 0x44, 0x12, 0x10, + 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, + 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, + 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, + 0x74, 0x61, 0x6d, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, + 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, + 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x53, 0x69, 0x67, + 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x53, 0x69, 0x67, 0x6e, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x70, 0x61, 0x79, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x65, 0x70, 0x61, 0x79, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x68, 0x65, 0x63, - 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, - 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, - 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x14, 0x70, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x13, - 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, - 0x0a, 0x08, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, - 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, - 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x45, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0f, 0x70, 0x61, 0x79, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, - 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x79, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x63, 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x2c, 0x0a, 0x11, - 0x61, 0x66, 0x74, 0x65, 0x72, 0x52, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x50, 0x72, 0x69, 0x63, - 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x61, 0x66, 0x74, 0x65, 0x72, 0x52, 0x61, - 0x74, 0x65, 0x50, 0x61, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61, - 0x79, 0x48, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x46, 0x65, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x46, 0x65, 0x65, - 0x12, 0x34, 0x0a, 0x15, 0x61, 0x66, 0x74, 0x65, 0x72, 0x52, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, - 0x4e, 0x65, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x15, 0x61, 0x66, 0x74, 0x65, 0x72, 0x52, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x4e, 0x65, 0x74, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x65, 0x72, 0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, - 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x72, 0x65, 0x66, - 0x75, 0x6e, 0x64, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, - 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, - 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0x50, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, - 0x65, 0x66, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x49, 0x44, 0x22, 0x3b, 0x0a, 0x15, 0x47, 0x65, - 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x75, 0x6e, - 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xc2, 0x02, 0x0a, 0x10, 0x41, 0x6c, 0x69, 0x57, - 0x61, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, - 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, - 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, - 0x64, 0x75, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, - 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x19, 0x0a, 0x07, 0x71, - 0x75, 0x69, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, - 0x69, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, - 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, - 0x79, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, - 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x45, - 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, 0x6d, - 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x5b, 0x0a, 0x11, - 0x41, 0x6c, 0x69, 0x57, 0x61, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x75, 0x72, 0x6c, 0x12, 0x22, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, - 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x5f, 0x72, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xdc, 0x02, 0x0a, 0x10, 0x41, 0x6c, - 0x69, 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xdf, 0x04, 0x0a, 0x13, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, + 0x55, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x55, 0x55, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x26, + 0x0a, 0x0e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x72, 0x65, + 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x79, 0x65, 0x65, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x79, 0x65, 0x65, 0x12, 0x20, 0x0a, 0x0b, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, + 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, + 0x67, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, + 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70, 0x12, 0x16, + 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x49, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, + 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, + 0x66, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x3c, 0x0a, 0x14, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x82, 0x01, 0x0a, 0x10, 0x4e, 0x6f, 0x74, + 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x37, 0x0a, 0x0c, 0x68, 0x74, 0x74, 0x70, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1b, 0x0a, 0x08, 0x72, 0x61, 0x77, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x72, 0x61, 0x77, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x45, 0x0a, + 0x11, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x4e, 0x6f, 0x22, 0xc4, 0x01, 0x0a, 0x0b, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x10, 0x0a, 0x03, + 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x3b, + 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x62, + 0x6f, 0x64, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x1a, + 0x3a, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1d, 0x0a, 0x09, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x0e, 0x0a, 0x0c, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x98, 0x04, 0x0a, 0x22, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, 0x44, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, + 0x55, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, + 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, + 0x28, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x55, 0x72, 0x6c, 0x12, 0x32, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, + 0x69, 0x63, 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x43, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x72, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, + 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x6c, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x6c, 0x12, + 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x72, 0x6c, 0x12, 0x1e, 0x0a, + 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x16, 0x0a, + 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x23, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, + 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, + 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x72, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, + 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x22, 0xa1, 0x01, 0x0a, 0x19, + 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x57, 0x65, 0x62, 0x68, 0x6f, + 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6f, 0x73, + 0x74, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, + 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, + 0x1e, 0x0a, 0x0a, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x4b, 0x65, 0x79, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x4b, 0x65, 0x79, 0x22, + 0xa2, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x57, + 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x4e, 0x6f, 0x12, 0x30, 0x0a, 0x13, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x13, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x22, 0x6f, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x53, 0x74, 0x72, 0x69, 0x70, + 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x72, 0x49, 0x44, 0x22, 0xb2, 0x05, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x53, 0x74, 0x72, + 0x69, 0x70, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x11, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, + 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x14, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x30, + 0x0a, 0x13, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x61, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, + 0x70, 0x61, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x45, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, + 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x79, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x43, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x63, 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x2c, + 0x0a, 0x11, 0x61, 0x66, 0x74, 0x65, 0x72, 0x52, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x50, 0x72, + 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x61, 0x66, 0x74, 0x65, 0x72, + 0x52, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0d, + 0x70, 0x61, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x46, 0x65, 0x65, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x46, + 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x61, 0x66, 0x74, 0x65, 0x72, 0x52, 0x61, 0x74, 0x65, 0x50, + 0x61, 0x79, 0x4e, 0x65, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x15, 0x61, 0x66, 0x74, 0x65, 0x72, 0x52, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x4e, + 0x65, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x66, 0x75, + 0x6e, 0x64, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x72, + 0x65, 0x66, 0x75, 0x6e, 0x64, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, + 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0x50, 0x0a, 0x14, 0x47, 0x65, + 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x1c, + 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x49, 0x44, 0x22, 0x3b, 0x0a, 0x15, + 0x47, 0x65, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x66, + 0x75, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xc2, 0x02, 0x0a, 0x10, 0x41, 0x6c, + 0x69, 0x57, 0x61, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, @@ -6797,406 +6781,172 @@ var file_pb_payment_proto_rawDesc = []byte{ 0x69, 0x66, 0x79, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, 0x74, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, - 0x0a, 0x07, 0x70, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x70, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x5b, 0x0a, 0x11, 0x41, 0x6c, 0x69, 0x41, - 0x70, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, - 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, - 0x22, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x44, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, - 0x5f, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xe8, 0x01, 0x0a, 0x13, 0x41, 0x6c, 0x69, 0x4e, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, - 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, - 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x1d, 0x0a, 0x09, 0x6e, 0x6f, 0x74, - 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, - 0x74, 0x69, 0x66, 0x79, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0a, 0x74, - 0x69, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x22, 0x3a, 0x0a, 0x14, 0x41, 0x6c, 0x69, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xa1, 0x02, 0x0a, - 0x12, 0x41, 0x6c, 0x69, 0x50, 0x63, 0x57, 0x61, 0x62, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, - 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x5b, + 0x0a, 0x11, 0x41, 0x6c, 0x69, 0x57, 0x61, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x22, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x5f, + 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xdc, 0x02, 0x0a, 0x10, + 0x41, 0x6c, 0x69, 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, + 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, - 0x1d, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x21, - 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, - 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x19, 0x0a, 0x07, 0x71, 0x75, 0x69, 0x74, 0x55, 0x72, - 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x69, 0x74, 0x5f, 0x75, 0x72, - 0x6c, 0x12, 0x1d, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x75, 0x72, 0x6c, - 0x22, 0x5b, 0x0a, 0x13, 0x41, 0x6c, 0x69, 0x50, 0x63, 0x57, 0x61, 0x62, 0x50, 0x61, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x13, 0x70, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6d, - 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x57, 0x0a, - 0x10, 0x41, 0x6c, 0x69, 0x52, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, - 0x5f, 0x6e, 0x6f, 0x12, 0x21, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xaa, 0x01, 0x0a, 0x11, 0x41, 0x6c, 0x69, 0x52, 0x65, - 0x46, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x07, - 0x74, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, - 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, - 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, - 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x62, 0x75, 0x79, - 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x62, 0x75, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x5f, 0x69, - 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x65, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x65, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6d, 0x73, 0x67, 0x22, 0x2f, 0x0a, 0x10, 0x41, 0x6c, 0x69, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x08, 0x72, 0x61, 0x77, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x61, 0x77, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x22, 0xf5, 0x02, 0x0a, 0x11, 0x41, 0x6c, 0x69, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x6e, 0x6f, - 0x74, 0x69, 0x66, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x6e, - 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x08, - 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x69, 0x64, 0x12, 0x15, 0x0a, 0x05, 0x61, 0x70, 0x70, - 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x08, 0x73, 0x69, - 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, - 0x67, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x67, 0x6e, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x69, 0x67, 0x6e, 0x12, 0x19, 0x0a, 0x07, 0x74, - 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, - 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, - 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, - 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x24, 0x0a, 0x0c, 0x62, 0x75, 0x79, 0x65, - 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x62, 0x75, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x19, - 0x0a, 0x07, 0x62, 0x75, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x62, 0x75, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0b, 0x74, 0x72, 0x61, - 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x3d, 0x0a, 0x1b, - 0x41, 0x6c, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, - 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, - 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0xeb, 0x01, 0x0a, 0x1c, - 0x41, 0x6c, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, - 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x07, - 0x74, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, - 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, - 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, - 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x24, 0x0a, 0x0c, 0x62, 0x75, 0x79, - 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0e, 0x62, 0x75, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, - 0x21, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0b, 0x62, 0x75, 0x79, 0x65, 0x72, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x75, 0x79, 0x65, - 0x72, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x22, 0x43, 0x0a, 0x21, 0x41, 0x6c, 0x69, - 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, - 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0xf9, - 0x01, 0x0a, 0x22, 0x41, 0x6c, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, - 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, - 0x6e, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x75, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x6e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x75, 0x74, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, - 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x66, - 0x75, 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xdc, 0x02, 0x0a, 0x15, 0x57, - 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, - 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, - 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x65, 0x6e, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, - 0x65, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, - 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, - 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x49, 0x50, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x49, 0x50, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x16, - 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x19, 0x0a, 0x07, 0x71, 0x75, 0x69, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x71, 0x75, 0x69, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x09, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, + 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x09, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0a, 0x74, + 0x69, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x70, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x5b, 0x0a, 0x11, 0x41, 0x6c, + 0x69, 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, + 0x6c, 0x12, 0x22, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x44, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x5f, 0x72, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x5f, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xe8, 0x01, 0x0a, 0x13, 0x41, 0x6c, 0x69, 0x4e, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, + 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x1d, 0x0a, 0x09, 0x6e, + 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0b, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, + 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, - 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, - 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x22, 0xd4, 0x01, 0x0a, 0x16, 0x57, 0x65, - 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x69, - 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, - 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x61, - 0x79, 0x53, 0x69, 0x67, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, - 0x53, 0x69, 0x67, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x65, 0x70, 0x61, 0x79, 0x49, 0x64, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x65, 0x70, 0x61, 0x79, 0x49, 0x64, - 0x22, 0x82, 0x02, 0x0a, 0x14, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, - 0x1c, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x18, 0x0a, - 0x07, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x54, - 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x12, - 0x18, 0x0a, 0x07, 0x50, 0x61, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x70, 0x61, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x65, - 0x70, 0x61, 0x79, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x65, - 0x70, 0x61, 0x79, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, - 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x45, 0x0a, 0x23, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, - 0x73, 0x41, 0x70, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, - 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, - 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0xca, 0x02, 0x0a, - 0x24, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, 0x15, 0x0a, 0x05, 0x6d, - 0x63, 0x68, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x63, 0x68, 0x5f, - 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, - 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x25, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x74, - 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x72, - 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x62, - 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, - 0x61, 0x6e, 0x6b, 0x5f, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x06, 0x6f, 0x70, - 0x65, 0x6e, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x65, 0x6e, - 0x5f, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x43, 0x0a, 0x21, 0x57, 0x65, 0x63, - 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, - 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0xcc, - 0x08, 0x0a, 0x22, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, 0x15, 0x0a, 0x05, 0x6d, - 0x63, 0x68, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x63, 0x68, 0x5f, - 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, - 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x25, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x74, - 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x72, - 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x0e, 0x74, - 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x44, 0x65, 0x73, 0x63, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x5f, 0x64, 0x65, 0x73, 0x63, 0x12, 0x1b, 0x0a, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x12, 0x21, 0x0a, 0x0b, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x66, 0x0a, - 0x0f, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, - 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x47, 0x0a, 0x05, 0x70, 0x61, 0x79, 0x65, 0x72, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, - 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, - 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x50, 0x61, 0x79, 0x65, 0x72, 0x52, 0x05, 0x70, 0x61, 0x79, 0x65, 0x72, 0x12, 0x4a, - 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, - 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, - 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, - 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x1f, 0x0a, 0x05, 0x50, 0x61, - 0x79, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x1a, 0x82, 0x01, 0x0a, 0x06, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1f, 0x0a, 0x0a, - 0x70, 0x61, 0x79, 0x65, 0x72, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0b, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1a, 0x0a, - 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x25, 0x0a, 0x0d, 0x70, 0x61, 0x79, - 0x65, 0x72, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, - 0x1a, 0xca, 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1b, 0x0a, 0x08, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x5f, 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, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x63, 0x6b, - 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x5f, - 0x69, 0x64, 0x12, 0x31, 0x0a, 0x13, 0x77, 0x65, 0x63, 0x68, 0x61, 0x74, 0x70, 0x61, 0x79, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x14, 0x77, 0x65, 0x63, 0x68, 0x61, 0x74, 0x70, 0x61, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x12, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, - 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x13, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x0f, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x10, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x22, 0x3b, 0x0a, - 0x19, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, - 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x75, - 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0xb6, 0x01, 0x0a, 0x1a, 0x47, - 0x65, 0x74, 0x50, 0x61, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, - 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, - 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x14, 0x0a, - 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, - 0x65, 0x6e, 0x65, 0x22, 0x92, 0x02, 0x0a, 0x1a, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, - 0x41, 0x70, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x20, - 0x0a, 0x0b, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, - 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, - 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x4f, 0x75, 0x74, 0x54, - 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x53, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xc5, 0x02, 0x0a, 0x16, 0x57, 0x65, 0x63, - 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, - 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, - 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x6f, 0x74, - 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x6f, - 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, 0x1a, 0x0a, - 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x50, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x50, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, - 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x65, - 0x6e, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x12, - 0x1f, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, - 0x22, 0x34, 0x0a, 0x17, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x07, 0x63, - 0x6f, 0x64, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, - 0x64, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0x46, 0x0a, 0x24, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, - 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, - 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0x4b, - 0x0a, 0x25, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x52, 0x65, - 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x75, - 0x74, 0x5f, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x6e, 0x6f, 0x22, 0xf2, 0x02, 0x0a, 0x26, - 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, - 0x5f, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, - 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x75, 0x74, 0x5f, 0x72, 0x65, - 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x6e, 0x6f, 0x12, 0x25, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x20, - 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x32, 0x0a, 0x13, 0x75, 0x73, - 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x72, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, - 0x0a, 0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x22, 0xcb, 0x02, 0x0a, 0x25, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, - 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, - 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, - 0x12, 0x15, 0x0a, 0x05, 0x6d, 0x63, 0x68, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x6d, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, - 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, - 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x25, 0x0a, 0x0d, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, - 0x12, 0x1d, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x1f, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0b, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, - 0x17, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0xda, - 0x02, 0x0a, 0x13, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, 0x52, + 0x72, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x22, 0x3a, 0x0a, 0x14, 0x41, 0x6c, 0x69, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, + 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, + 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xa1, + 0x02, 0x0a, 0x12, 0x41, 0x6c, 0x69, 0x50, 0x63, 0x57, 0x61, 0x62, 0x50, 0x61, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, + 0x6f, 0x12, 0x1d, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x75, 0x72, 0x6c, + 0x12, 0x21, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x19, 0x0a, 0x07, 0x71, 0x75, 0x69, 0x74, + 0x55, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x69, 0x74, 0x5f, + 0x75, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x75, + 0x72, 0x6c, 0x22, 0x5b, 0x0a, 0x13, 0x41, 0x6c, 0x69, 0x50, 0x63, 0x57, 0x61, 0x62, 0x50, 0x61, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x13, 0x70, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, + 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, + 0x57, 0x0a, 0x10, 0x41, 0x6c, 0x69, 0x52, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, + 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, + 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x21, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xaa, 0x01, 0x0a, 0x11, 0x41, 0x6c, 0x69, + 0x52, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, + 0x0a, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, + 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x62, + 0x75, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x62, 0x75, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x65, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, + 0x66, 0x65, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x2f, 0x0a, 0x10, 0x41, 0x6c, 0x69, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x08, 0x72, 0x61, 0x77, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x61, 0x77, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0xf5, 0x02, 0x0a, 0x11, 0x41, 0x6c, 0x69, 0x4e, 0x6f, + 0x74, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0a, + 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, + 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, + 0x0a, 0x08, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x69, 0x64, 0x12, 0x15, 0x0a, 0x05, 0x61, + 0x70, 0x70, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x70, 0x5f, + 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x08, + 0x73, 0x69, 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x67, + 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x69, 0x67, 0x6e, 0x12, 0x19, 0x0a, + 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, + 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x24, 0x0a, 0x0c, 0x62, 0x75, + 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x62, 0x75, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x12, 0x19, 0x0a, 0x07, 0x62, 0x75, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x62, 0x75, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0b, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x3d, + 0x0a, 0x1b, 0x41, 0x6c, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, + 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0xeb, 0x01, + 0x0a, 0x1c, 0x41, 0x6c, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, + 0x0a, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, + 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x24, 0x0a, 0x0c, 0x62, + 0x75, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x62, 0x75, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x12, 0x21, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0b, 0x62, 0x75, 0x79, 0x65, 0x72, + 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x75, + 0x79, 0x65, 0x72, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x22, 0x43, 0x0a, 0x21, 0x41, + 0x6c, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, + 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, + 0x22, 0xf9, 0x01, 0x0a, 0x22, 0x41, 0x6c, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, + 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, + 0x6e, 0x6f, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, + 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x75, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x75, + 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x6f, 0x12, 0x22, 0x0a, 0x0c, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, + 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xdc, 0x02, 0x0a, + 0x15, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x75, 0x74, 0x54, @@ -7217,50 +6967,42 @@ var file_pb_payment_proto_rawDesc = []byte{ 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, - 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x22, 0xd5, 0x01, 0x0a, 0x19, - 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, - 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, - 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, - 0x64, 0x4e, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, - 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x04, 0x43, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x12, 0x14, 0x0a, - 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x54, 0x6f, - 0x74, 0x61, 0x6c, 0x22, 0xd9, 0x02, 0x0a, 0x12, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, - 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, - 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x12, 0x0a, 0x04, - 0x43, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x65, 0x6e, 0x74, - 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x6f, 0x74, - 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x49, 0x44, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x50, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x50, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x65, 0x6e, - 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x12, 0x1f, - 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x22, - 0x2c, 0x0a, 0x13, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x50, 0x61, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x05, 0x68, 0x35, 0x55, 0x72, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x35, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0x42, 0x0a, - 0x20, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, - 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, - 0x6f, 0x22, 0xf1, 0x02, 0x0a, 0x21, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x51, 0x75, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x22, 0xd4, 0x01, 0x0a, 0x16, + 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x50, 0x61, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x61, + 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x63, + 0x6b, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x12, 0x18, 0x0a, 0x07, + 0x50, 0x61, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, + 0x61, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x65, 0x70, 0x61, 0x79, + 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x65, 0x70, 0x61, 0x79, + 0x49, 0x64, 0x22, 0x82, 0x02, 0x0a, 0x14, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, + 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x41, + 0x70, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, + 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, + 0x18, 0x0a, 0x07, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x69, 0x67, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, + 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, + 0x72, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x61, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x50, + 0x72, 0x65, 0x70, 0x61, 0x79, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, + 0x72, 0x65, 0x70, 0x61, 0x79, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x61, 0x72, 0x74, 0x6e, + 0x65, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, + 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x45, 0x0a, 0x23, 0x57, 0x65, 0x63, 0x68, 0x61, + 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0xca, + 0x02, 0x0a, 0x24, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, 0x15, 0x0a, @@ -7273,376 +7015,644 @@ var file_pb_payment_proto_rawDesc = []byte{ 0x09, 0x74, 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x06, + 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, + 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x43, 0x0a, 0x21, 0x57, + 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, + 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, + 0x22, 0xcc, 0x08, 0x0a, 0x22, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, 0x15, 0x0a, + 0x05, 0x6d, 0x63, 0x68, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x63, + 0x68, 0x5f, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x4e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, + 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x25, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x1d, 0x0a, + 0x09, 0x74, 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0a, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x44, 0x65, 0x73, 0x63, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x54, - 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x5f, - 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x69, - 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x48, 0x0a, 0x12, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x50, - 0x61, 0x79, 0x4f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x12, 0x1b, 0x0a, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x6e, 0x6b, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x12, 0x21, 0x0a, 0x0b, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, + 0x66, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x47, 0x0a, 0x05, 0x70, 0x61, 0x79, 0x65, 0x72, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, + 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x61, 0x79, 0x65, 0x72, 0x52, 0x05, 0x70, 0x61, 0x79, 0x65, 0x72, + 0x12, 0x4a, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x32, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, + 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x1f, 0x0a, 0x05, + 0x50, 0x61, 0x79, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x1a, 0x82, 0x01, + 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1f, + 0x0a, 0x0a, 0x70, 0x61, 0x79, 0x65, 0x72, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, + 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x25, 0x0a, 0x0d, 0x70, + 0x61, 0x79, 0x65, 0x72, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x79, 0x1a, 0xca, 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1b, 0x0a, 0x08, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, + 0x5f, 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, 0x73, 0x63, 0x6f, 0x70, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x07, 0x73, 0x74, 0x6f, + 0x63, 0x6b, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x6f, 0x63, + 0x6b, 0x5f, 0x69, 0x64, 0x12, 0x31, 0x0a, 0x13, 0x77, 0x65, 0x63, 0x68, 0x61, 0x74, 0x70, 0x61, + 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x14, 0x77, 0x65, 0x63, 0x68, 0x61, 0x74, 0x70, 0x61, 0x79, 0x5f, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x12, 0x6d, 0x65, 0x72, 0x63, 0x68, + 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x13, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x5f, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x0f, 0x6f, 0x74, 0x68, 0x65, + 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x10, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x22, + 0x3b, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, + 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0xb6, 0x01, 0x0a, + 0x1a, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x62, - 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, - 0x3a, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, - 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x4b, 0x0a, 0x0f, 0x50, - 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x70, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x70, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, - 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, - 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0x43, 0x0a, 0x10, 0x50, 0x61, 0x79, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x05, - 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0xbe, 0x05, - 0x0a, 0x10, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1e, - 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x26, - 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, - 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, - 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, - 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x70, 0x61, 0x79, 0x65, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x79, - 0x65, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x75, 0x73, 0x69, - 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x6c, 0x6f, 0x67, 0x49, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x6f, 0x67, - 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, 0x65, 0x63, - 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, 0x44, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, - 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, - 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x67, 0x18, 0x14, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x67, 0x12, 0x2e, - 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, - 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x66, 0x65, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x17, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x22, 0xe8, - 0x01, 0x0a, 0x10, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x72, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, - 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, - 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x22, 0xb5, 0x02, 0x0a, 0x11, 0x45, 0x78, - 0x70, 0x6f, 0x72, 0x74, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x2d, 0x0a, 0x08, 0x6f, - 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, - 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, - 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x12, 0x3e, 0x0a, 0x0e, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0d, 0x62, 0x75, - 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x73, 0x69, - 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, - 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x38, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x52, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x22, 0xa1, 0x05, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, - 0x65, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, - 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x1a, 0x0a, - 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x79, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x61, - 0x79, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x74, - 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6e, 0x65, - 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x70, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, + 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x72, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, - 0x22, 0x0a, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x49, 0x64, 0x18, 0x10, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x05, 0x6c, 0x6f, 0x67, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, 0x44, - 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, - 0x55, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x49, 0x6d, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x49, 0x6d, 0x67, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf4, 0x01, 0x0a, 0x0c, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, - 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, - 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x42, 0x75, - 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, - 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, - 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, - 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x65, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x65, 0x65, - 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, - 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x22, 0xcc, 0x01, 0x0a, - 0x08, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, - 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, - 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x63, - 0x6f, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x12, - 0x2c, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, - 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x22, 0xf3, 0x01, 0x0a, 0x0d, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x20, 0x0a, - 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x46, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x46, 0x65, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, - 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, - 0x65, 0x32, 0x82, 0x16, 0x0a, 0x07, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x42, 0x0a, - 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x42, 0x0a, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, 0x12, 0x19, - 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, - 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, - 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x18, 0x2e, - 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x50, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, 0x6f, 0x72, - 0x74, 0x50, 0x61, 0x79, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x45, - 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, - 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x12, 0x1c, 0x2e, 0x70, 0x61, + 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x73, 0x63, 0x65, 0x6e, 0x65, 0x22, 0x92, 0x02, 0x0a, 0x1a, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, + 0x4a, 0x73, 0x41, 0x70, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x49, 0x64, + 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, + 0x4e, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x75, 0x74, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x4f, 0x75, + 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x53, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xc5, 0x02, 0x0a, 0x16, 0x57, + 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, + 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, + 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, + 0x1a, 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x50, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x50, 0x12, 0x1a, 0x0a, 0x08, 0x72, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x73, + 0x63, 0x65, 0x6e, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x65, 0x6e, + 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, + 0x72, 0x65, 0x22, 0x34, 0x0a, 0x17, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, + 0x07, 0x63, 0x6f, 0x64, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0x46, 0x0a, 0x24, 0x57, 0x65, 0x63, 0x68, + 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, + 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, + 0x22, 0x4b, 0x0a, 0x25, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, + 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0b, 0x6f, 0x75, 0x74, + 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x6f, 0x75, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x6e, 0x6f, 0x22, 0xf2, 0x02, + 0x0a, 0x26, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x72, 0x65, 0x66, 0x75, + 0x6e, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x66, 0x75, + 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, + 0x6e, 0x64, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x75, 0x74, 0x5f, + 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x6e, 0x6f, 0x12, 0x25, 0x0a, 0x0d, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, + 0x6e, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x32, 0x0a, 0x13, + 0x75, 0x73, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x21, 0x0a, 0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x22, 0xcb, 0x02, 0x0a, 0x25, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x61, 0x70, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, + 0x49, 0x44, 0x12, 0x15, 0x0a, 0x05, 0x6d, 0x63, 0x68, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x6d, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, + 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x25, 0x0a, 0x0d, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x79, 0x70, 0x65, 0x12, 0x21, + 0x0a, 0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x12, 0x17, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x22, 0xda, 0x02, 0x0a, 0x13, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x75, + 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x65, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, + 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x6f, 0x74, 0x69, 0x66, + 0x79, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x49, 0x44, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x49, 0x50, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x49, 0x50, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x12, 0x1f, 0x0a, 0x0a, + 0x74, 0x69, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x22, 0xd5, 0x01, + 0x0a, 0x19, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x52, 0x65, 0x66, + 0x75, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x52, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, + 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x4e, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, + 0x4e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, + 0x75, 0x6e, 0x64, 0x4e, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, + 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, + 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x04, 0x43, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x65, 0x6e, 0x49, + 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x12, + 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, + 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0xd9, 0x02, 0x0a, 0x12, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, + 0x48, 0x35, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, + 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, + 0x0a, 0x0a, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x12, + 0x0a, 0x04, 0x43, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x65, + 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x6f, + 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, + 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x49, + 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, 0x1a, + 0x0a, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x50, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x50, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, + 0x65, 0x6e, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, + 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, + 0x65, 0x22, 0x2c, 0x0a, 0x13, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x50, 0x61, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x05, 0x68, 0x35, 0x55, 0x72, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x35, 0x5f, 0x75, 0x72, 0x6c, 0x22, + 0x42, 0x0a, 0x20, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, + 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x4e, 0x6f, 0x22, 0xf1, 0x02, 0x0a, 0x21, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, + 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, + 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, + 0x15, 0x0a, 0x05, 0x6d, 0x63, 0x68, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x6d, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x25, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, + 0x1d, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, + 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x28, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x44, 0x65, 0x73, + 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x6e, + 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x6e, + 0x6b, 0x5f, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, + 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x69, + 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x48, 0x0a, 0x12, 0x57, 0x65, 0x63, 0x68, 0x61, + 0x74, 0x50, 0x61, 0x79, 0x4f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, + 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x12, 0x0a, + 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, + 0x79, 0x22, 0x3a, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x0e, 0x0a, + 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x4b, 0x0a, + 0x0f, 0x50, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, + 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0x43, 0x0a, 0x10, 0x50, 0x61, + 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, + 0x0a, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x22, + 0xbe, 0x05, 0x0a, 0x10, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, + 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x4e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, + 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x70, 0x61, 0x79, 0x65, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, + 0x61, 0x79, 0x65, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x75, + 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x49, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, + 0x6f, 0x67, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, + 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, 0x44, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, 0x44, 0x12, 0x20, + 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x13, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x67, 0x18, 0x14, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x67, + 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x10, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x66, + 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, + 0x17, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, + 0x22, 0xe8, 0x01, 0x0a, 0x10, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x61, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, + 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, + 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x22, 0xb5, 0x02, 0x0a, 0x11, + 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x2d, 0x0a, + 0x08, 0x6f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x11, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, + 0x65, 0x77, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x12, 0x3e, 0x0a, 0x0e, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x0e, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0d, + 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x75, + 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x62, 0x75, 0x73, 0x69, + 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x38, 0x0a, 0x0c, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x22, 0xa1, 0x05, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, + 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x70, + 0x61, 0x79, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x70, 0x61, 0x79, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x65, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, + 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, + 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x49, 0x64, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x6f, 0x67, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, + 0x49, 0x44, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x55, 0x55, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x49, 0x6d, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x67, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf4, 0x01, 0x0a, 0x0c, 0x42, 0x75, 0x73, 0x69, + 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x42, 0x75, 0x73, 0x69, + 0x6e, 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x63, + 0x6f, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, + 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, + 0x65, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x75, 0x6e, + 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x22, 0xcc, + 0x01, 0x0a, 0x08, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x12, 0x1a, 0x0a, 0x08, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x63, 0x6f, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, + 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x65, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x65, + 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x22, 0xf3, 0x01, + 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12, + 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1a, 0x0a, + 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, + 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, + 0x6f, 0x6d, 0x65, 0x32, 0x82, 0x16, 0x0a, 0x07, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x42, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x12, 0x19, 0x2e, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, + 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, + 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x50, 0x61, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, + 0x18, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x79, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x50, 0x61, 0x79, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, + 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x12, 0x1c, 0x2e, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x66, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x75, - 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x69, - 0x70, 0x65, 0x47, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x79, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, - 0x12, 0x22, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, - 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, - 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x10, 0x41, - 0x6c, 0x69, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x12, - 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, - 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x15, 0x57, 0x65, 0x63, 0x68, - 0x61, 0x74, 0x46, 0x65, 0x6e, 0x67, 0x4c, 0x69, 0x61, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, + 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x14, 0x53, 0x74, + 0x72, 0x69, 0x70, 0x65, 0x47, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x79, 0x57, 0x65, 0x62, 0x68, 0x6f, + 0x6f, 0x6b, 0x12, 0x22, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x57, 0x65, 0x62, 0x68, + 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, + 0x10, 0x41, 0x6c, 0x69, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0c, 0x41, 0x6e, - 0x74, 0x6f, 0x6d, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x12, 0x1e, 0x2e, 0x70, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, - 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, - 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, - 0x20, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x50, 0x61, 0x79, 0x42, 0x79, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x12, 0x1d, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, 0x74, 0x6f, - 0x6d, 0x50, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1e, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, 0x74, 0x6f, 0x6d, - 0x50, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x7a, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, - 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x2b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, - 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, - 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, - 0x74, 0x72, 0x69, 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, - 0x0a, 0x09, 0x41, 0x6c, 0x69, 0x57, 0x61, 0x70, 0x50, 0x61, 0x79, 0x12, 0x19, 0x2e, 0x70, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x57, 0x61, 0x70, 0x50, 0x61, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x41, 0x6c, 0x69, 0x57, 0x61, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x41, 0x6c, 0x69, 0x41, 0x70, 0x70, 0x50, 0x61, - 0x79, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x41, - 0x70, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x41, 0x6c, - 0x69, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, 0x12, 0x1c, 0x2e, 0x70, 0x61, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x15, 0x57, 0x65, + 0x63, 0x68, 0x61, 0x74, 0x46, 0x65, 0x6e, 0x67, 0x4c, 0x69, 0x61, 0x6e, 0x57, 0x65, 0x62, 0x68, + 0x6f, 0x6f, 0x6b, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, + 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, + 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, + 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0c, + 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x12, 0x1e, 0x2e, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x63, 0x0a, 0x20, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x50, 0x61, 0x79, + 0x42, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, + 0x74, 0x6f, 0x6d, 0x50, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, 0x74, + 0x6f, 0x6d, 0x50, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x7a, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, + 0x72, 0x69, 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, + 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2c, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x44, 0x0a, 0x09, 0x41, 0x6c, 0x69, 0x57, 0x61, 0x70, 0x50, 0x61, 0x79, 0x12, 0x19, 0x2e, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x57, 0x61, 0x70, 0x50, 0x61, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x57, 0x61, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x41, 0x6c, 0x69, 0x41, 0x70, 0x70, + 0x50, 0x61, 0x79, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, + 0x69, 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, + 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x41, 0x70, 0x70, 0x50, + 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, + 0x41, 0x6c, 0x69, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, 0x12, 0x1c, 0x2e, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x41, 0x6c, 0x69, - 0x50, 0x63, 0x57, 0x61, 0x62, 0x50, 0x61, 0x79, 0x12, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x50, 0x63, 0x57, 0x61, 0x62, 0x50, 0x61, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x41, 0x6c, 0x69, 0x50, 0x63, 0x57, 0x61, 0x62, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x41, 0x6c, 0x69, 0x52, 0x65, 0x46, 0x75, - 0x6e, 0x64, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, - 0x52, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, - 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x52, 0x65, 0x46, 0x75, 0x6e, - 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x41, - 0x6c, 0x69, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, - 0x69, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x65, 0x0a, 0x14, 0x41, 0x6c, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, - 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x24, 0x2e, 0x70, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, - 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x25, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x1a, 0x41, 0x6c, 0x69, 0x52, - 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, - 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x2a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x41, 0x6c, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, - 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, - 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x53, 0x0a, 0x0e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, - 0x50, 0x61, 0x79, 0x12, 0x1e, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, - 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, - 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7d, 0x0a, 0x1c, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, - 0x4a, 0x73, 0x41, 0x70, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, - 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x2c, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, - 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, - 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x42, - 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x22, 0x2e, 0x70, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x42, 0x79, 0x4f, 0x75, - 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x23, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, - 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x12, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, - 0x4a, 0x73, 0x41, 0x70, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x12, 0x22, 0x2e, 0x70, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, - 0x70, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x23, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, - 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x50, 0x61, - 0x79, 0x4f, 0x6b, 0x12, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, - 0x63, 0x68, 0x61, 0x74, 0x50, 0x61, 0x79, 0x4f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x57, - 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, 0x12, 0x1c, 0x2e, 0x70, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x50, - 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x1a, 0x57, 0x65, - 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x41, + 0x6c, 0x69, 0x50, 0x63, 0x57, 0x61, 0x62, 0x50, 0x61, 0x79, 0x12, 0x1b, 0x2e, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x50, 0x63, 0x57, 0x61, 0x62, 0x50, 0x61, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x50, 0x63, 0x57, 0x61, 0x62, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x41, 0x6c, 0x69, 0x52, 0x65, + 0x46, 0x75, 0x6e, 0x64, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, + 0x6c, 0x69, 0x52, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x52, 0x65, 0x46, + 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, + 0x09, 0x41, 0x6c, 0x69, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x41, 0x6c, 0x69, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x14, 0x41, 0x6c, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, + 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x24, 0x2e, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, + 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x1a, 0x41, 0x6c, + 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x2a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, + 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, - 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, + 0x6c, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x0f, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, 0x12, 0x1f, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x1d, - 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x2d, 0x2e, - 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, - 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x70, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, - 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x83, - 0x01, 0x0a, 0x1e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, - 0x6f, 0x12, 0x2e, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, - 0x61, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, - 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2f, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, - 0x61, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, - 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, - 0x50, 0x61, 0x79, 0x12, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, - 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1c, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, - 0x74, 0x48, 0x35, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x74, 0x0a, 0x19, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x29, 0x2e, - 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, - 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x0b, 0x5a, 0x09, 0x2e, 0x2f, 0x70, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x0e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, + 0x70, 0x69, 0x50, 0x61, 0x79, 0x12, 0x1e, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x50, 0x61, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x50, 0x61, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7d, 0x0a, 0x1c, 0x57, 0x65, 0x63, 0x68, + 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, + 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x2c, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x61, + 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x22, 0x2e, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x42, 0x79, + 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, + 0x61, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x12, 0x57, 0x65, 0x63, 0x68, + 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x12, 0x22, + 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, + 0x73, 0x41, 0x70, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, + 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x08, 0x53, 0x65, 0x74, + 0x50, 0x61, 0x79, 0x4f, 0x6b, 0x12, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x50, 0x61, 0x79, 0x4f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, + 0x0c, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, 0x12, 0x1c, 0x2e, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, + 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x50, + 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x1a, + 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, + 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x2a, 0x2e, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, + 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x0f, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, 0x12, 0x1f, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, + 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, + 0x0a, 0x1d, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, + 0x2d, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, + 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, + 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x83, 0x01, 0x0a, 0x1e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, + 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, + 0x64, 0x4e, 0x6f, 0x12, 0x2e, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, + 0x63, 0x68, 0x61, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, + 0x79, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, + 0x63, 0x68, 0x61, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, + 0x79, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, + 0x48, 0x35, 0x50, 0x61, 0x79, 0x12, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, + 0x68, 0x61, 0x74, 0x48, 0x35, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x74, 0x0a, 0x19, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, + 0x29, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, + 0x48, 0x35, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x0b, 0x5a, 0x09, 0x2e, 0x2f, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/api/payment/payment.proto b/api/payment/payment.proto index abe77c6..548560a 100644 --- a/api/payment/payment.proto +++ b/api/payment/payment.proto @@ -28,7 +28,7 @@ service Payment{ // stripe支付 rpc CreateStripeCheckoutSession(CreateStripeCheckoutSessionRequest) returns (CreateStripeCheckoutSessionResponse){}; // 创建支付会话链接 -// rpc CommonCheckoutWebhook(GetCheckoutWebhookRequest) returns(GetCheckoutWebhookResponse){}; // 支付回调,通用 + // rpc CommonCheckoutWebhook(GetCheckoutWebhookRequest) returns(GetCheckoutWebhookResponse){}; // 支付回调,通用 // 支付宝支付 rpc AliWapPay(AliWapPayRequest) returns (AliWapPayResponse) {}; // ali网页支付 @@ -71,6 +71,7 @@ message AntomNotifyPayRequest { string paymentTime = 4 [json_name = "paymentTime"]; string resultStatus = 5 [json_name = "resultStatus"]; string resultMessage = 6 [json_name = "resultMessage"]; + string channelCode = 7 [json_name = "channelCode"]; } message AntomNotifyPayResponse { diff --git a/pkg/service/bundle/pay.go b/pkg/service/bundle/pay.go index 9d7a176..473e90e 100644 --- a/pkg/service/bundle/pay.go +++ b/pkg/service/bundle/pay.go @@ -342,6 +342,7 @@ func AntomWebhook(c *gin.Context) { PaymentTime: paymentTime, ResultStatus: resultStatus, ResultMessage: resultMessage, + ChannelCode: "Antom", // fiee对应payment的渠道码 } resp, err := service.PaymentProvider.AntomWebhook(c, params) From c9635a647ca78c18f5af7124e138fc167f4a277c Mon Sep 17 00:00:00 2001 From: zhoujunyao Date: Fri, 16 May 2025 14:39:34 +0800 Subject: [PATCH 11/27] =?UTF-8?q?fix:=20=E8=B0=83=E6=95=B4payment=E7=9A=84?= =?UTF-8?q?proto=E7=9A=84service?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/payment/payment.pb.go | 465 ++++++++++++++++--------------- api/payment/payment.proto | 2 +- api/payment/payment_triple.pb.go | 314 ++++++++++----------- pkg/service/init.go | 2 +- 4 files changed, 392 insertions(+), 391 deletions(-) diff --git a/api/payment/payment.pb.go b/api/payment/payment.pb.go index f516ef1..9fb450f 100644 --- a/api/payment/payment.pb.go +++ b/api/payment/payment.pb.go @@ -7475,184 +7475,185 @@ var file_pb_payment_proto_rawDesc = []byte{ 0x28, 0x03, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, - 0x6f, 0x6d, 0x65, 0x32, 0x82, 0x16, 0x0a, 0x07, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x42, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x12, 0x19, 0x2e, 0x70, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, - 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x50, 0x61, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, - 0x18, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x79, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, - 0x6f, 0x72, 0x74, 0x50, 0x61, 0x79, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x6f, - 0x72, 0x74, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, - 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x12, 0x1c, 0x2e, - 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x66, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x75, - 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x14, 0x53, 0x74, - 0x72, 0x69, 0x70, 0x65, 0x47, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x79, 0x57, 0x65, 0x62, 0x68, 0x6f, - 0x6f, 0x6b, 0x12, 0x22, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x57, 0x65, 0x62, 0x68, - 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, - 0x10, 0x41, 0x6c, 0x69, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, - 0x6b, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x15, 0x57, 0x65, - 0x63, 0x68, 0x61, 0x74, 0x46, 0x65, 0x6e, 0x67, 0x4c, 0x69, 0x61, 0x6e, 0x57, 0x65, 0x62, 0x68, - 0x6f, 0x6f, 0x6b, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, - 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, - 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, - 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0c, - 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x12, 0x1e, 0x2e, 0x70, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x63, 0x0a, 0x20, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x50, 0x61, 0x79, - 0x42, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, - 0x74, 0x6f, 0x6d, 0x50, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, 0x74, - 0x6f, 0x6d, 0x50, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x7a, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, - 0x72, 0x69, 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, - 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2c, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x44, 0x0a, 0x09, 0x41, 0x6c, 0x69, 0x57, 0x61, 0x70, 0x50, 0x61, 0x79, 0x12, 0x19, 0x2e, - 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x57, 0x61, 0x70, 0x50, 0x61, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x57, 0x61, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x41, 0x6c, 0x69, 0x41, 0x70, 0x70, - 0x50, 0x61, 0x79, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, - 0x69, 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, - 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x41, 0x70, 0x70, 0x50, - 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, - 0x41, 0x6c, 0x69, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, 0x12, 0x1c, 0x2e, 0x70, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x41, - 0x6c, 0x69, 0x50, 0x63, 0x57, 0x61, 0x62, 0x50, 0x61, 0x79, 0x12, 0x1b, 0x2e, 0x70, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x50, 0x63, 0x57, 0x61, 0x62, 0x50, 0x61, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x50, 0x63, 0x57, 0x61, 0x62, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x41, 0x6c, 0x69, 0x52, 0x65, - 0x46, 0x75, 0x6e, 0x64, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, - 0x6c, 0x69, 0x52, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x52, 0x65, 0x46, - 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, - 0x09, 0x41, 0x6c, 0x69, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x52, 0x65, + 0x6f, 0x6d, 0x65, 0x32, 0x86, 0x16, 0x0a, 0x0b, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, + 0x65, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, + 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, + 0x79, 0x50, 0x61, 0x79, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, + 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x14, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x4e, 0x6f, 0x12, 0x18, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, + 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x61, 0x79, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x41, 0x6c, 0x69, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x14, 0x41, 0x6c, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, - 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x24, 0x2e, 0x70, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, - 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x1a, 0x41, 0x6c, - 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, - 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x2a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x75, 0x6e, + 0x64, 0x12, 0x1c, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1d, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, + 0x0a, 0x14, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x47, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x79, 0x57, + 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x12, 0x22, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x57, 0x65, 0x62, 0x68, + 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, + 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x4b, 0x0a, 0x10, 0x41, 0x6c, 0x69, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x57, 0x65, + 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, + 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, + 0x0a, 0x15, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x46, 0x65, 0x6e, 0x67, 0x4c, 0x69, 0x61, 0x6e, + 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, + 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x51, 0x0a, 0x0c, 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, + 0x12, 0x1e, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, 0x74, 0x6f, 0x6d, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1f, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, 0x74, 0x6f, 0x6d, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x20, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6e, 0x74, 0x6f, + 0x6d, 0x50, 0x61, 0x79, 0x42, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x50, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x50, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7a, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x41, 0x6c, 0x69, 0x57, 0x61, 0x70, 0x50, 0x61, + 0x79, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x57, + 0x61, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x57, 0x61, 0x70, 0x50, 0x61, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x41, 0x6c, + 0x69, 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, + 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x4d, 0x0a, 0x0c, 0x41, 0x6c, 0x69, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, + 0x12, 0x1c, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x4e, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, + 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x4e, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x4a, 0x0a, 0x0b, 0x41, 0x6c, 0x69, 0x50, 0x63, 0x57, 0x61, 0x62, 0x50, 0x61, 0x79, 0x12, 0x1b, + 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x50, 0x63, 0x57, 0x61, + 0x62, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x50, 0x63, 0x57, 0x61, 0x62, 0x50, 0x61, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x41, + 0x6c, 0x69, 0x52, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x52, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, + 0x69, 0x52, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x44, 0x0a, 0x09, 0x41, 0x6c, 0x69, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, + 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x14, 0x41, 0x6c, 0x69, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, + 0x24, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x41, 0x6c, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, + 0x0a, 0x1a, 0x41, 0x6c, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x2a, 0x2e, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, + 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, - 0x6c, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, - 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x0e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, - 0x70, 0x69, 0x50, 0x61, 0x79, 0x12, 0x1e, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x50, 0x61, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x50, 0x61, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7d, 0x0a, 0x1c, 0x57, 0x65, 0x63, 0x68, - 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, - 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x2c, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x61, - 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x22, 0x2e, - 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x42, 0x79, - 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x0e, 0x57, 0x65, 0x63, 0x68, 0x61, + 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x50, 0x61, 0x79, 0x12, 0x1e, 0x2e, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x50, + 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x50, + 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7d, 0x0a, 0x1c, + 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x2c, 0x2e, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, + 0x70, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, + 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x12, 0x47, + 0x65, 0x74, 0x50, 0x61, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, + 0x6f, 0x12, 0x22, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x12, 0x57, 0x65, 0x63, 0x68, - 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x12, 0x22, - 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, - 0x73, 0x41, 0x70, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x12, + 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, + 0x64, 0x73, 0x12, 0x22, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x08, 0x53, 0x65, 0x74, - 0x50, 0x61, 0x79, 0x4f, 0x6b, 0x12, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x50, 0x61, 0x79, 0x4f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, - 0x0c, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, 0x12, 0x1c, 0x2e, - 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, - 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x50, - 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x1a, - 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, - 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x2a, 0x2e, 0x70, 0x61, 0x79, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x52, 0x65, 0x66, 0x75, + 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, + 0x08, 0x53, 0x65, 0x74, 0x50, 0x61, 0x79, 0x4f, 0x6b, 0x12, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x50, 0x61, 0x79, 0x4f, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, + 0x79, 0x12, 0x1c, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, + 0x61, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1d, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, + 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x77, 0x0a, 0x1a, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x2a, + 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, + 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, - 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x0f, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, 0x12, 0x1f, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, - 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, - 0x0a, 0x1d, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, - 0x2d, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, - 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, - 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, - 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x83, 0x01, 0x0a, 0x1e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, - 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, - 0x64, 0x4e, 0x6f, 0x12, 0x2e, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, - 0x63, 0x68, 0x61, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, - 0x79, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, - 0x63, 0x68, 0x61, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, - 0x79, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, - 0x48, 0x35, 0x50, 0x61, 0x79, 0x12, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, - 0x68, 0x61, 0x74, 0x48, 0x35, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x74, 0x0a, 0x19, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, - 0x29, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x0f, 0x57, 0x65, 0x63, + 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, 0x12, 0x1f, 0x2e, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x80, 0x01, 0x0a, 0x1d, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x4e, 0x6f, 0x12, 0x2d, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, + 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, + 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, + 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, + 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x83, 0x01, 0x0a, 0x1e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x52, + 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x52, + 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, 0x12, 0x2e, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x57, 0x65, + 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x50, 0x61, 0x79, 0x12, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x50, 0x61, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x74, 0x0a, 0x19, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, - 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x70, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x0b, 0x5a, 0x09, 0x2e, 0x2f, 0x70, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x4e, 0x6f, 0x12, 0x29, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, + 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, + 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, + 0x35, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x0b, 0x5a, 0x09, + 0x2e, 0x2f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -7756,68 +7757,68 @@ var file_pb_payment_proto_depIdxs = []int32{ 69, // 8: payment.ExportPayResponse.channelIncomes:type_name -> payment.ChannelIncome 67, // 9: payment.ExportPayResponse.businessInfos:type_name -> payment.BusinessInfo 66, // 10: payment.ExportPayResponse.orderDetails:type_name -> payment.OrderDetail - 4, // 11: payment.Payment.CreatePay:input_type -> payment.CreatePayRequest - 8, // 12: payment.Payment.NotifyPay:input_type -> payment.NotifyPayRequest - 61, // 13: payment.Payment.QueryPayByOutTradeNo:input_type -> payment.PayQueryRequest - 64, // 14: payment.Payment.QueryExportPay:input_type -> payment.ExportPayRequest - 6, // 15: payment.Payment.CreateRefund:input_type -> payment.CreateRefundRequest - 15, // 16: payment.Payment.StripeGermanyWebhook:input_type -> payment.GetCheckoutWebhookRequest - 8, // 17: payment.Payment.AliCommonWebhook:input_type -> payment.NotifyPayRequest - 8, // 18: payment.Payment.WechatFengLianWebhook:input_type -> payment.NotifyPayRequest - 2, // 19: payment.Payment.AntomWebhook:input_type -> payment.AntomNotifyPayRequest - 0, // 20: payment.Payment.QueryAntomPayByCheckoutSessionId:input_type -> payment.AntomPayQueryRequest - 13, // 21: payment.Payment.CreateStripeCheckoutSession:input_type -> payment.CreateStripeCheckoutSessionRequest - 21, // 22: payment.Payment.AliWapPay:input_type -> payment.AliWapPayRequest - 23, // 23: payment.Payment.AliAppPay:input_type -> payment.AliAppPayRequest - 25, // 24: payment.Payment.AliNativePay:input_type -> payment.AliNativePayRequest - 27, // 25: payment.Payment.AliPcWabPay:input_type -> payment.AliPcWabPayRequest - 29, // 26: payment.Payment.AliReFund:input_type -> payment.AliReFundRequest - 31, // 27: payment.Payment.AliNotify:input_type -> payment.AliNotifyRequest - 33, // 28: payment.Payment.AliQueryByOutTradeNo:input_type -> payment.AliQueryByOutTradeNoRequest - 35, // 29: payment.Payment.AliRefundQueryByOutTradeNo:input_type -> payment.AliRefundQueryByOutTradeNoRequest - 37, // 30: payment.Payment.WechatJsApiPay:input_type -> payment.WechatJsApiPayRequest - 40, // 31: payment.Payment.WechatJsApiQueryByOutTradeNo:input_type -> payment.WechatJsApiQueryByOutTradeNoRequest - 44, // 32: payment.Payment.GetPayByOutTradeNo:input_type -> payment.GetPayByOutTradeNoRequest - 54, // 33: payment.Payment.WechatJsApiRefunds:input_type -> payment.WechatJsApiRefundsRequest - 59, // 34: payment.Payment.SetPayOk:input_type -> payment.WechatPayOkRequest - 53, // 35: payment.Payment.WechatAppPay:input_type -> payment.WechatAppPayRequest - 42, // 36: payment.Payment.WechatAppQueryByOutTradeNo:input_type -> payment.WechatAppQueryByOutTradeNoRequest - 47, // 37: payment.Payment.WechatNativePay:input_type -> payment.WechatNativePayRequest - 49, // 38: payment.Payment.WechatNativeQueryByOutTradeNo:input_type -> payment.WechatNativeQueryByOutTradeNoRequest - 50, // 39: payment.Payment.WechatRefundQueryByOutRefundNo:input_type -> payment.WechatRefundQueryByOutRefundNoRequest - 55, // 40: payment.Payment.WechatH5Pay:input_type -> payment.WechatH5PayRequest - 57, // 41: payment.Payment.WechatH5QueryByOutTradeNo:input_type -> payment.WechatH5QueryByOutTradeNoRequest - 5, // 42: payment.Payment.CreatePay:output_type -> payment.CreatePayResponse - 9, // 43: payment.Payment.NotifyPay:output_type -> payment.NotifyPayResponse - 62, // 44: payment.Payment.QueryPayByOutTradeNo:output_type -> payment.PayQueryResponse - 65, // 45: payment.Payment.QueryExportPay:output_type -> payment.ExportPayResponse - 7, // 46: payment.Payment.CreateRefund:output_type -> payment.CreateRefundResponse - 16, // 47: payment.Payment.StripeGermanyWebhook:output_type -> payment.GetCheckoutWebhookResponse - 9, // 48: payment.Payment.AliCommonWebhook:output_type -> payment.NotifyPayResponse - 9, // 49: payment.Payment.WechatFengLianWebhook:output_type -> payment.NotifyPayResponse - 3, // 50: payment.Payment.AntomWebhook:output_type -> payment.AntomNotifyPayResponse - 1, // 51: payment.Payment.QueryAntomPayByCheckoutSessionId:output_type -> payment.AntomPayQueryResponse - 14, // 52: payment.Payment.CreateStripeCheckoutSession:output_type -> payment.CreateStripeCheckoutSessionResponse - 22, // 53: payment.Payment.AliWapPay:output_type -> payment.AliWapPayResponse - 24, // 54: payment.Payment.AliAppPay:output_type -> payment.AliAppPayResponse - 26, // 55: payment.Payment.AliNativePay:output_type -> payment.AliNativePayResponse - 28, // 56: payment.Payment.AliPcWabPay:output_type -> payment.AliPcWabPayResponse - 30, // 57: payment.Payment.AliReFund:output_type -> payment.AliReFundResponse - 32, // 58: payment.Payment.AliNotify:output_type -> payment.AliNotifyResponse - 34, // 59: payment.Payment.AliQueryByOutTradeNo:output_type -> payment.AliQueryByOutTradeNoResponse - 36, // 60: payment.Payment.AliRefundQueryByOutTradeNo:output_type -> payment.AliRefundQueryByOutTradeNoResponse - 38, // 61: payment.Payment.WechatJsApiPay:output_type -> payment.WechatJsApiPayResponse - 41, // 62: payment.Payment.WechatJsApiQueryByOutTradeNo:output_type -> payment.WechatJsApiQueryByOutTradeNoResponse - 45, // 63: payment.Payment.GetPayByOutTradeNo:output_type -> payment.GetPayByOutTradeNoResponse - 46, // 64: payment.Payment.WechatJsApiRefunds:output_type -> payment.WechatJsApiRefundsResponse - 60, // 65: payment.Payment.SetPayOk:output_type -> payment.CommonResponse - 39, // 66: payment.Payment.WechatAppPay:output_type -> payment.WechatAppPayResponse - 43, // 67: payment.Payment.WechatAppQueryByOutTradeNo:output_type -> payment.WechatAppQueryByOutTradeNoResponse - 48, // 68: payment.Payment.WechatNativePay:output_type -> payment.WechatNativePayResponse - 52, // 69: payment.Payment.WechatNativeQueryByOutTradeNo:output_type -> payment.WechatNativeQueryByOutTradeNoResponse - 51, // 70: payment.Payment.WechatRefundQueryByOutRefundNo:output_type -> payment.WechatRefundQueryByOutRefundNoResponse - 56, // 71: payment.Payment.WechatH5Pay:output_type -> payment.WechatH5PayResponse - 58, // 72: payment.Payment.WechatH5QueryByOutTradeNo:output_type -> payment.WechatH5QueryByOutTradeNoResponse + 4, // 11: payment.PaymentCent.CreatePay:input_type -> payment.CreatePayRequest + 8, // 12: payment.PaymentCent.NotifyPay:input_type -> payment.NotifyPayRequest + 61, // 13: payment.PaymentCent.QueryPayByOutTradeNo:input_type -> payment.PayQueryRequest + 64, // 14: payment.PaymentCent.QueryExportPay:input_type -> payment.ExportPayRequest + 6, // 15: payment.PaymentCent.CreateRefund:input_type -> payment.CreateRefundRequest + 15, // 16: payment.PaymentCent.StripeGermanyWebhook:input_type -> payment.GetCheckoutWebhookRequest + 8, // 17: payment.PaymentCent.AliCommonWebhook:input_type -> payment.NotifyPayRequest + 8, // 18: payment.PaymentCent.WechatFengLianWebhook:input_type -> payment.NotifyPayRequest + 2, // 19: payment.PaymentCent.AntomWebhook:input_type -> payment.AntomNotifyPayRequest + 0, // 20: payment.PaymentCent.QueryAntomPayByCheckoutSessionId:input_type -> payment.AntomPayQueryRequest + 13, // 21: payment.PaymentCent.CreateStripeCheckoutSession:input_type -> payment.CreateStripeCheckoutSessionRequest + 21, // 22: payment.PaymentCent.AliWapPay:input_type -> payment.AliWapPayRequest + 23, // 23: payment.PaymentCent.AliAppPay:input_type -> payment.AliAppPayRequest + 25, // 24: payment.PaymentCent.AliNativePay:input_type -> payment.AliNativePayRequest + 27, // 25: payment.PaymentCent.AliPcWabPay:input_type -> payment.AliPcWabPayRequest + 29, // 26: payment.PaymentCent.AliReFund:input_type -> payment.AliReFundRequest + 31, // 27: payment.PaymentCent.AliNotify:input_type -> payment.AliNotifyRequest + 33, // 28: payment.PaymentCent.AliQueryByOutTradeNo:input_type -> payment.AliQueryByOutTradeNoRequest + 35, // 29: payment.PaymentCent.AliRefundQueryByOutTradeNo:input_type -> payment.AliRefundQueryByOutTradeNoRequest + 37, // 30: payment.PaymentCent.WechatJsApiPay:input_type -> payment.WechatJsApiPayRequest + 40, // 31: payment.PaymentCent.WechatJsApiQueryByOutTradeNo:input_type -> payment.WechatJsApiQueryByOutTradeNoRequest + 44, // 32: payment.PaymentCent.GetPayByOutTradeNo:input_type -> payment.GetPayByOutTradeNoRequest + 54, // 33: payment.PaymentCent.WechatJsApiRefunds:input_type -> payment.WechatJsApiRefundsRequest + 59, // 34: payment.PaymentCent.SetPayOk:input_type -> payment.WechatPayOkRequest + 53, // 35: payment.PaymentCent.WechatAppPay:input_type -> payment.WechatAppPayRequest + 42, // 36: payment.PaymentCent.WechatAppQueryByOutTradeNo:input_type -> payment.WechatAppQueryByOutTradeNoRequest + 47, // 37: payment.PaymentCent.WechatNativePay:input_type -> payment.WechatNativePayRequest + 49, // 38: payment.PaymentCent.WechatNativeQueryByOutTradeNo:input_type -> payment.WechatNativeQueryByOutTradeNoRequest + 50, // 39: payment.PaymentCent.WechatRefundQueryByOutRefundNo:input_type -> payment.WechatRefundQueryByOutRefundNoRequest + 55, // 40: payment.PaymentCent.WechatH5Pay:input_type -> payment.WechatH5PayRequest + 57, // 41: payment.PaymentCent.WechatH5QueryByOutTradeNo:input_type -> payment.WechatH5QueryByOutTradeNoRequest + 5, // 42: payment.PaymentCent.CreatePay:output_type -> payment.CreatePayResponse + 9, // 43: payment.PaymentCent.NotifyPay:output_type -> payment.NotifyPayResponse + 62, // 44: payment.PaymentCent.QueryPayByOutTradeNo:output_type -> payment.PayQueryResponse + 65, // 45: payment.PaymentCent.QueryExportPay:output_type -> payment.ExportPayResponse + 7, // 46: payment.PaymentCent.CreateRefund:output_type -> payment.CreateRefundResponse + 16, // 47: payment.PaymentCent.StripeGermanyWebhook:output_type -> payment.GetCheckoutWebhookResponse + 9, // 48: payment.PaymentCent.AliCommonWebhook:output_type -> payment.NotifyPayResponse + 9, // 49: payment.PaymentCent.WechatFengLianWebhook:output_type -> payment.NotifyPayResponse + 3, // 50: payment.PaymentCent.AntomWebhook:output_type -> payment.AntomNotifyPayResponse + 1, // 51: payment.PaymentCent.QueryAntomPayByCheckoutSessionId:output_type -> payment.AntomPayQueryResponse + 14, // 52: payment.PaymentCent.CreateStripeCheckoutSession:output_type -> payment.CreateStripeCheckoutSessionResponse + 22, // 53: payment.PaymentCent.AliWapPay:output_type -> payment.AliWapPayResponse + 24, // 54: payment.PaymentCent.AliAppPay:output_type -> payment.AliAppPayResponse + 26, // 55: payment.PaymentCent.AliNativePay:output_type -> payment.AliNativePayResponse + 28, // 56: payment.PaymentCent.AliPcWabPay:output_type -> payment.AliPcWabPayResponse + 30, // 57: payment.PaymentCent.AliReFund:output_type -> payment.AliReFundResponse + 32, // 58: payment.PaymentCent.AliNotify:output_type -> payment.AliNotifyResponse + 34, // 59: payment.PaymentCent.AliQueryByOutTradeNo:output_type -> payment.AliQueryByOutTradeNoResponse + 36, // 60: payment.PaymentCent.AliRefundQueryByOutTradeNo:output_type -> payment.AliRefundQueryByOutTradeNoResponse + 38, // 61: payment.PaymentCent.WechatJsApiPay:output_type -> payment.WechatJsApiPayResponse + 41, // 62: payment.PaymentCent.WechatJsApiQueryByOutTradeNo:output_type -> payment.WechatJsApiQueryByOutTradeNoResponse + 45, // 63: payment.PaymentCent.GetPayByOutTradeNo:output_type -> payment.GetPayByOutTradeNoResponse + 46, // 64: payment.PaymentCent.WechatJsApiRefunds:output_type -> payment.WechatJsApiRefundsResponse + 60, // 65: payment.PaymentCent.SetPayOk:output_type -> payment.CommonResponse + 39, // 66: payment.PaymentCent.WechatAppPay:output_type -> payment.WechatAppPayResponse + 43, // 67: payment.PaymentCent.WechatAppQueryByOutTradeNo:output_type -> payment.WechatAppQueryByOutTradeNoResponse + 48, // 68: payment.PaymentCent.WechatNativePay:output_type -> payment.WechatNativePayResponse + 52, // 69: payment.PaymentCent.WechatNativeQueryByOutTradeNo:output_type -> payment.WechatNativeQueryByOutTradeNoResponse + 51, // 70: payment.PaymentCent.WechatRefundQueryByOutRefundNo:output_type -> payment.WechatRefundQueryByOutRefundNoResponse + 56, // 71: payment.PaymentCent.WechatH5Pay:output_type -> payment.WechatH5PayResponse + 58, // 72: payment.PaymentCent.WechatH5QueryByOutTradeNo:output_type -> payment.WechatH5QueryByOutTradeNoResponse 42, // [42:73] is the sub-list for method output_type 11, // [11:42] is the sub-list for method input_type 11, // [11:11] is the sub-list for extension type_name diff --git a/api/payment/payment.proto b/api/payment/payment.proto index 548560a..dcd37de 100644 --- a/api/payment/payment.proto +++ b/api/payment/payment.proto @@ -4,7 +4,7 @@ package payment; option go_package = "./payment"; //import "pb/descriptor.proto"; -service Payment{ +service PaymentCent{ // 统一渠道支付 rpc CreatePay(CreatePayRequest) returns (CreatePayResponse); // 创建支付 diff --git a/api/payment/payment_triple.pb.go b/api/payment/payment_triple.pb.go index 6db6283..edd0c8b 100644 --- a/api/payment/payment_triple.pb.go +++ b/api/payment/payment_triple.pb.go @@ -24,10 +24,10 @@ import ( // is compatible with the grpc package it is being compiled against. const _ = grpc_go.SupportPackageIsVersion7 -// PaymentClient is the client API for Payment service. +// PaymentCentClient is the client API for PaymentCent 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 PaymentClient interface { +type PaymentCentClient interface { // 统一渠道支付 CreatePay(ctx context.Context, in *CreatePayRequest, opts ...grpc_go.CallOption) (*CreatePayResponse, common.ErrorWithAttachment) NotifyPay(ctx context.Context, in *NotifyPayRequest, opts ...grpc_go.CallOption) (*NotifyPayResponse, common.ErrorWithAttachment) @@ -65,11 +65,11 @@ type PaymentClient interface { WechatH5QueryByOutTradeNo(ctx context.Context, in *WechatH5QueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*WechatH5QueryByOutTradeNoResponse, common.ErrorWithAttachment) } -type paymentClient struct { +type paymentCentClient struct { cc *triple.TripleConn } -type PaymentClientImpl struct { +type PaymentCentClientImpl struct { CreatePay func(ctx context.Context, in *CreatePayRequest) (*CreatePayResponse, error) NotifyPay func(ctx context.Context, in *NotifyPayRequest) (*NotifyPayResponse, error) QueryPayByOutTradeNo func(ctx context.Context, in *PayQueryRequest) (*PayQueryResponse, error) @@ -103,208 +103,208 @@ type PaymentClientImpl struct { WechatH5QueryByOutTradeNo func(ctx context.Context, in *WechatH5QueryByOutTradeNoRequest) (*WechatH5QueryByOutTradeNoResponse, error) } -func (c *PaymentClientImpl) GetDubboStub(cc *triple.TripleConn) PaymentClient { - return NewPaymentClient(cc) +func (c *PaymentCentClientImpl) GetDubboStub(cc *triple.TripleConn) PaymentCentClient { + return NewPaymentCentClient(cc) } -func (c *PaymentClientImpl) XXX_InterfaceName() string { - return "payment.Payment" +func (c *PaymentCentClientImpl) XXX_InterfaceName() string { + return "payment.PaymentCent" } -func NewPaymentClient(cc *triple.TripleConn) PaymentClient { - return &paymentClient{cc} +func NewPaymentCentClient(cc *triple.TripleConn) PaymentCentClient { + return &paymentCentClient{cc} } -func (c *paymentClient) CreatePay(ctx context.Context, in *CreatePayRequest, opts ...grpc_go.CallOption) (*CreatePayResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) CreatePay(ctx context.Context, in *CreatePayRequest, opts ...grpc_go.CallOption) (*CreatePayResponse, common.ErrorWithAttachment) { out := new(CreatePayResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreatePay", in, out) } -func (c *paymentClient) NotifyPay(ctx context.Context, in *NotifyPayRequest, opts ...grpc_go.CallOption) (*NotifyPayResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) NotifyPay(ctx context.Context, in *NotifyPayRequest, opts ...grpc_go.CallOption) (*NotifyPayResponse, common.ErrorWithAttachment) { out := new(NotifyPayResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/NotifyPay", in, out) } -func (c *paymentClient) QueryPayByOutTradeNo(ctx context.Context, in *PayQueryRequest, opts ...grpc_go.CallOption) (*PayQueryResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) QueryPayByOutTradeNo(ctx context.Context, in *PayQueryRequest, opts ...grpc_go.CallOption) (*PayQueryResponse, common.ErrorWithAttachment) { out := new(PayQueryResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/QueryPayByOutTradeNo", in, out) } -func (c *paymentClient) QueryExportPay(ctx context.Context, in *ExportPayRequest, opts ...grpc_go.CallOption) (*ExportPayResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) QueryExportPay(ctx context.Context, in *ExportPayRequest, opts ...grpc_go.CallOption) (*ExportPayResponse, common.ErrorWithAttachment) { out := new(ExportPayResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/QueryExportPay", in, out) } -func (c *paymentClient) CreateRefund(ctx context.Context, in *CreateRefundRequest, opts ...grpc_go.CallOption) (*CreateRefundResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) CreateRefund(ctx context.Context, in *CreateRefundRequest, opts ...grpc_go.CallOption) (*CreateRefundResponse, common.ErrorWithAttachment) { out := new(CreateRefundResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateRefund", in, out) } -func (c *paymentClient) StripeGermanyWebhook(ctx context.Context, in *GetCheckoutWebhookRequest, opts ...grpc_go.CallOption) (*GetCheckoutWebhookResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) StripeGermanyWebhook(ctx context.Context, in *GetCheckoutWebhookRequest, opts ...grpc_go.CallOption) (*GetCheckoutWebhookResponse, common.ErrorWithAttachment) { out := new(GetCheckoutWebhookResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/StripeGermanyWebhook", in, out) } -func (c *paymentClient) AliCommonWebhook(ctx context.Context, in *NotifyPayRequest, opts ...grpc_go.CallOption) (*NotifyPayResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) AliCommonWebhook(ctx context.Context, in *NotifyPayRequest, opts ...grpc_go.CallOption) (*NotifyPayResponse, common.ErrorWithAttachment) { out := new(NotifyPayResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AliCommonWebhook", in, out) } -func (c *paymentClient) WechatFengLianWebhook(ctx context.Context, in *NotifyPayRequest, opts ...grpc_go.CallOption) (*NotifyPayResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) WechatFengLianWebhook(ctx context.Context, in *NotifyPayRequest, opts ...grpc_go.CallOption) (*NotifyPayResponse, common.ErrorWithAttachment) { out := new(NotifyPayResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatFengLianWebhook", in, out) } -func (c *paymentClient) AntomWebhook(ctx context.Context, in *AntomNotifyPayRequest, opts ...grpc_go.CallOption) (*AntomNotifyPayResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) AntomWebhook(ctx context.Context, in *AntomNotifyPayRequest, opts ...grpc_go.CallOption) (*AntomNotifyPayResponse, common.ErrorWithAttachment) { out := new(AntomNotifyPayResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AntomWebhook", in, out) } -func (c *paymentClient) QueryAntomPayByCheckoutSessionId(ctx context.Context, in *AntomPayQueryRequest, opts ...grpc_go.CallOption) (*AntomPayQueryResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) QueryAntomPayByCheckoutSessionId(ctx context.Context, in *AntomPayQueryRequest, opts ...grpc_go.CallOption) (*AntomPayQueryResponse, common.ErrorWithAttachment) { out := new(AntomPayQueryResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/QueryAntomPayByCheckoutSessionId", in, out) } -func (c *paymentClient) CreateStripeCheckoutSession(ctx context.Context, in *CreateStripeCheckoutSessionRequest, opts ...grpc_go.CallOption) (*CreateStripeCheckoutSessionResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) CreateStripeCheckoutSession(ctx context.Context, in *CreateStripeCheckoutSessionRequest, opts ...grpc_go.CallOption) (*CreateStripeCheckoutSessionResponse, common.ErrorWithAttachment) { out := new(CreateStripeCheckoutSessionResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateStripeCheckoutSession", in, out) } -func (c *paymentClient) AliWapPay(ctx context.Context, in *AliWapPayRequest, opts ...grpc_go.CallOption) (*AliWapPayResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) AliWapPay(ctx context.Context, in *AliWapPayRequest, opts ...grpc_go.CallOption) (*AliWapPayResponse, common.ErrorWithAttachment) { out := new(AliWapPayResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AliWapPay", in, out) } -func (c *paymentClient) AliAppPay(ctx context.Context, in *AliAppPayRequest, opts ...grpc_go.CallOption) (*AliAppPayResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) AliAppPay(ctx context.Context, in *AliAppPayRequest, opts ...grpc_go.CallOption) (*AliAppPayResponse, common.ErrorWithAttachment) { out := new(AliAppPayResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AliAppPay", in, out) } -func (c *paymentClient) AliNativePay(ctx context.Context, in *AliNativePayRequest, opts ...grpc_go.CallOption) (*AliNativePayResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) AliNativePay(ctx context.Context, in *AliNativePayRequest, opts ...grpc_go.CallOption) (*AliNativePayResponse, common.ErrorWithAttachment) { out := new(AliNativePayResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AliNativePay", in, out) } -func (c *paymentClient) AliPcWabPay(ctx context.Context, in *AliPcWabPayRequest, opts ...grpc_go.CallOption) (*AliPcWabPayResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) AliPcWabPay(ctx context.Context, in *AliPcWabPayRequest, opts ...grpc_go.CallOption) (*AliPcWabPayResponse, common.ErrorWithAttachment) { out := new(AliPcWabPayResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AliPcWabPay", in, out) } -func (c *paymentClient) AliReFund(ctx context.Context, in *AliReFundRequest, opts ...grpc_go.CallOption) (*AliReFundResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) AliReFund(ctx context.Context, in *AliReFundRequest, opts ...grpc_go.CallOption) (*AliReFundResponse, common.ErrorWithAttachment) { out := new(AliReFundResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AliReFund", in, out) } -func (c *paymentClient) AliNotify(ctx context.Context, in *AliNotifyRequest, opts ...grpc_go.CallOption) (*AliNotifyResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) AliNotify(ctx context.Context, in *AliNotifyRequest, opts ...grpc_go.CallOption) (*AliNotifyResponse, common.ErrorWithAttachment) { out := new(AliNotifyResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AliNotify", in, out) } -func (c *paymentClient) AliQueryByOutTradeNo(ctx context.Context, in *AliQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*AliQueryByOutTradeNoResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) AliQueryByOutTradeNo(ctx context.Context, in *AliQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*AliQueryByOutTradeNoResponse, common.ErrorWithAttachment) { out := new(AliQueryByOutTradeNoResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AliQueryByOutTradeNo", in, out) } -func (c *paymentClient) AliRefundQueryByOutTradeNo(ctx context.Context, in *AliRefundQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*AliRefundQueryByOutTradeNoResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) AliRefundQueryByOutTradeNo(ctx context.Context, in *AliRefundQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*AliRefundQueryByOutTradeNoResponse, common.ErrorWithAttachment) { out := new(AliRefundQueryByOutTradeNoResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AliRefundQueryByOutTradeNo", in, out) } -func (c *paymentClient) WechatJsApiPay(ctx context.Context, in *WechatJsApiPayRequest, opts ...grpc_go.CallOption) (*WechatJsApiPayResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) WechatJsApiPay(ctx context.Context, in *WechatJsApiPayRequest, opts ...grpc_go.CallOption) (*WechatJsApiPayResponse, common.ErrorWithAttachment) { out := new(WechatJsApiPayResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatJsApiPay", in, out) } -func (c *paymentClient) WechatJsApiQueryByOutTradeNo(ctx context.Context, in *WechatJsApiQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*WechatJsApiQueryByOutTradeNoResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) WechatJsApiQueryByOutTradeNo(ctx context.Context, in *WechatJsApiQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*WechatJsApiQueryByOutTradeNoResponse, common.ErrorWithAttachment) { out := new(WechatJsApiQueryByOutTradeNoResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatJsApiQueryByOutTradeNo", in, out) } -func (c *paymentClient) GetPayByOutTradeNo(ctx context.Context, in *GetPayByOutTradeNoRequest, opts ...grpc_go.CallOption) (*GetPayByOutTradeNoResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) GetPayByOutTradeNo(ctx context.Context, in *GetPayByOutTradeNoRequest, opts ...grpc_go.CallOption) (*GetPayByOutTradeNoResponse, common.ErrorWithAttachment) { out := new(GetPayByOutTradeNoResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetPayByOutTradeNo", in, out) } -func (c *paymentClient) WechatJsApiRefunds(ctx context.Context, in *WechatJsApiRefundsRequest, opts ...grpc_go.CallOption) (*WechatJsApiRefundsResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) WechatJsApiRefunds(ctx context.Context, in *WechatJsApiRefundsRequest, opts ...grpc_go.CallOption) (*WechatJsApiRefundsResponse, common.ErrorWithAttachment) { out := new(WechatJsApiRefundsResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatJsApiRefunds", in, out) } -func (c *paymentClient) SetPayOk(ctx context.Context, in *WechatPayOkRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) SetPayOk(ctx context.Context, in *WechatPayOkRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { out := new(CommonResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SetPayOk", in, out) } -func (c *paymentClient) WechatAppPay(ctx context.Context, in *WechatAppPayRequest, opts ...grpc_go.CallOption) (*WechatAppPayResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) WechatAppPay(ctx context.Context, in *WechatAppPayRequest, opts ...grpc_go.CallOption) (*WechatAppPayResponse, common.ErrorWithAttachment) { out := new(WechatAppPayResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatAppPay", in, out) } -func (c *paymentClient) WechatAppQueryByOutTradeNo(ctx context.Context, in *WechatAppQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*WechatAppQueryByOutTradeNoResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) WechatAppQueryByOutTradeNo(ctx context.Context, in *WechatAppQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*WechatAppQueryByOutTradeNoResponse, common.ErrorWithAttachment) { out := new(WechatAppQueryByOutTradeNoResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatAppQueryByOutTradeNo", in, out) } -func (c *paymentClient) WechatNativePay(ctx context.Context, in *WechatNativePayRequest, opts ...grpc_go.CallOption) (*WechatNativePayResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) WechatNativePay(ctx context.Context, in *WechatNativePayRequest, opts ...grpc_go.CallOption) (*WechatNativePayResponse, common.ErrorWithAttachment) { out := new(WechatNativePayResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatNativePay", in, out) } -func (c *paymentClient) WechatNativeQueryByOutTradeNo(ctx context.Context, in *WechatNativeQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*WechatNativeQueryByOutTradeNoResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) WechatNativeQueryByOutTradeNo(ctx context.Context, in *WechatNativeQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*WechatNativeQueryByOutTradeNoResponse, common.ErrorWithAttachment) { out := new(WechatNativeQueryByOutTradeNoResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatNativeQueryByOutTradeNo", in, out) } -func (c *paymentClient) WechatRefundQueryByOutRefundNo(ctx context.Context, in *WechatRefundQueryByOutRefundNoRequest, opts ...grpc_go.CallOption) (*WechatRefundQueryByOutRefundNoResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) WechatRefundQueryByOutRefundNo(ctx context.Context, in *WechatRefundQueryByOutRefundNoRequest, opts ...grpc_go.CallOption) (*WechatRefundQueryByOutRefundNoResponse, common.ErrorWithAttachment) { out := new(WechatRefundQueryByOutRefundNoResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatRefundQueryByOutRefundNo", in, out) } -func (c *paymentClient) WechatH5Pay(ctx context.Context, in *WechatH5PayRequest, opts ...grpc_go.CallOption) (*WechatH5PayResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) WechatH5Pay(ctx context.Context, in *WechatH5PayRequest, opts ...grpc_go.CallOption) (*WechatH5PayResponse, common.ErrorWithAttachment) { out := new(WechatH5PayResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatH5Pay", in, out) } -func (c *paymentClient) WechatH5QueryByOutTradeNo(ctx context.Context, in *WechatH5QueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*WechatH5QueryByOutTradeNoResponse, common.ErrorWithAttachment) { +func (c *paymentCentClient) WechatH5QueryByOutTradeNo(ctx context.Context, in *WechatH5QueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*WechatH5QueryByOutTradeNoResponse, common.ErrorWithAttachment) { out := new(WechatH5QueryByOutTradeNoResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatH5QueryByOutTradeNo", in, out) } -// PaymentServer is the server API for Payment service. -// All implementations must embed UnimplementedPaymentServer +// PaymentCentServer is the server API for PaymentCent service. +// All implementations must embed UnimplementedPaymentCentServer // for forward compatibility -type PaymentServer interface { +type PaymentCentServer interface { // 统一渠道支付 CreatePay(context.Context, *CreatePayRequest) (*CreatePayResponse, error) NotifyPay(context.Context, *NotifyPayRequest) (*NotifyPayResponse, error) @@ -340,136 +340,136 @@ type PaymentServer interface { WechatRefundQueryByOutRefundNo(context.Context, *WechatRefundQueryByOutRefundNoRequest) (*WechatRefundQueryByOutRefundNoResponse, error) WechatH5Pay(context.Context, *WechatH5PayRequest) (*WechatH5PayResponse, error) WechatH5QueryByOutTradeNo(context.Context, *WechatH5QueryByOutTradeNoRequest) (*WechatH5QueryByOutTradeNoResponse, error) - mustEmbedUnimplementedPaymentServer() + mustEmbedUnimplementedPaymentCentServer() } -// UnimplementedPaymentServer must be embedded to have forward compatible implementations. -type UnimplementedPaymentServer struct { +// UnimplementedPaymentCentServer must be embedded to have forward compatible implementations. +type UnimplementedPaymentCentServer struct { proxyImpl protocol.Invoker } -func (UnimplementedPaymentServer) CreatePay(context.Context, *CreatePayRequest) (*CreatePayResponse, error) { +func (UnimplementedPaymentCentServer) CreatePay(context.Context, *CreatePayRequest) (*CreatePayResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreatePay not implemented") } -func (UnimplementedPaymentServer) NotifyPay(context.Context, *NotifyPayRequest) (*NotifyPayResponse, error) { +func (UnimplementedPaymentCentServer) NotifyPay(context.Context, *NotifyPayRequest) (*NotifyPayResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method NotifyPay not implemented") } -func (UnimplementedPaymentServer) QueryPayByOutTradeNo(context.Context, *PayQueryRequest) (*PayQueryResponse, error) { +func (UnimplementedPaymentCentServer) QueryPayByOutTradeNo(context.Context, *PayQueryRequest) (*PayQueryResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method QueryPayByOutTradeNo not implemented") } -func (UnimplementedPaymentServer) QueryExportPay(context.Context, *ExportPayRequest) (*ExportPayResponse, error) { +func (UnimplementedPaymentCentServer) QueryExportPay(context.Context, *ExportPayRequest) (*ExportPayResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method QueryExportPay not implemented") } -func (UnimplementedPaymentServer) CreateRefund(context.Context, *CreateRefundRequest) (*CreateRefundResponse, error) { +func (UnimplementedPaymentCentServer) CreateRefund(context.Context, *CreateRefundRequest) (*CreateRefundResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateRefund not implemented") } -func (UnimplementedPaymentServer) StripeGermanyWebhook(context.Context, *GetCheckoutWebhookRequest) (*GetCheckoutWebhookResponse, error) { +func (UnimplementedPaymentCentServer) StripeGermanyWebhook(context.Context, *GetCheckoutWebhookRequest) (*GetCheckoutWebhookResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method StripeGermanyWebhook not implemented") } -func (UnimplementedPaymentServer) AliCommonWebhook(context.Context, *NotifyPayRequest) (*NotifyPayResponse, error) { +func (UnimplementedPaymentCentServer) AliCommonWebhook(context.Context, *NotifyPayRequest) (*NotifyPayResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AliCommonWebhook not implemented") } -func (UnimplementedPaymentServer) WechatFengLianWebhook(context.Context, *NotifyPayRequest) (*NotifyPayResponse, error) { +func (UnimplementedPaymentCentServer) WechatFengLianWebhook(context.Context, *NotifyPayRequest) (*NotifyPayResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method WechatFengLianWebhook not implemented") } -func (UnimplementedPaymentServer) AntomWebhook(context.Context, *AntomNotifyPayRequest) (*AntomNotifyPayResponse, error) { +func (UnimplementedPaymentCentServer) AntomWebhook(context.Context, *AntomNotifyPayRequest) (*AntomNotifyPayResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AntomWebhook not implemented") } -func (UnimplementedPaymentServer) QueryAntomPayByCheckoutSessionId(context.Context, *AntomPayQueryRequest) (*AntomPayQueryResponse, error) { +func (UnimplementedPaymentCentServer) QueryAntomPayByCheckoutSessionId(context.Context, *AntomPayQueryRequest) (*AntomPayQueryResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method QueryAntomPayByCheckoutSessionId not implemented") } -func (UnimplementedPaymentServer) CreateStripeCheckoutSession(context.Context, *CreateStripeCheckoutSessionRequest) (*CreateStripeCheckoutSessionResponse, error) { +func (UnimplementedPaymentCentServer) CreateStripeCheckoutSession(context.Context, *CreateStripeCheckoutSessionRequest) (*CreateStripeCheckoutSessionResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateStripeCheckoutSession not implemented") } -func (UnimplementedPaymentServer) AliWapPay(context.Context, *AliWapPayRequest) (*AliWapPayResponse, error) { +func (UnimplementedPaymentCentServer) AliWapPay(context.Context, *AliWapPayRequest) (*AliWapPayResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AliWapPay not implemented") } -func (UnimplementedPaymentServer) AliAppPay(context.Context, *AliAppPayRequest) (*AliAppPayResponse, error) { +func (UnimplementedPaymentCentServer) AliAppPay(context.Context, *AliAppPayRequest) (*AliAppPayResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AliAppPay not implemented") } -func (UnimplementedPaymentServer) AliNativePay(context.Context, *AliNativePayRequest) (*AliNativePayResponse, error) { +func (UnimplementedPaymentCentServer) AliNativePay(context.Context, *AliNativePayRequest) (*AliNativePayResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AliNativePay not implemented") } -func (UnimplementedPaymentServer) AliPcWabPay(context.Context, *AliPcWabPayRequest) (*AliPcWabPayResponse, error) { +func (UnimplementedPaymentCentServer) AliPcWabPay(context.Context, *AliPcWabPayRequest) (*AliPcWabPayResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AliPcWabPay not implemented") } -func (UnimplementedPaymentServer) AliReFund(context.Context, *AliReFundRequest) (*AliReFundResponse, error) { +func (UnimplementedPaymentCentServer) AliReFund(context.Context, *AliReFundRequest) (*AliReFundResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AliReFund not implemented") } -func (UnimplementedPaymentServer) AliNotify(context.Context, *AliNotifyRequest) (*AliNotifyResponse, error) { +func (UnimplementedPaymentCentServer) AliNotify(context.Context, *AliNotifyRequest) (*AliNotifyResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AliNotify not implemented") } -func (UnimplementedPaymentServer) AliQueryByOutTradeNo(context.Context, *AliQueryByOutTradeNoRequest) (*AliQueryByOutTradeNoResponse, error) { +func (UnimplementedPaymentCentServer) AliQueryByOutTradeNo(context.Context, *AliQueryByOutTradeNoRequest) (*AliQueryByOutTradeNoResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AliQueryByOutTradeNo not implemented") } -func (UnimplementedPaymentServer) AliRefundQueryByOutTradeNo(context.Context, *AliRefundQueryByOutTradeNoRequest) (*AliRefundQueryByOutTradeNoResponse, error) { +func (UnimplementedPaymentCentServer) AliRefundQueryByOutTradeNo(context.Context, *AliRefundQueryByOutTradeNoRequest) (*AliRefundQueryByOutTradeNoResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AliRefundQueryByOutTradeNo not implemented") } -func (UnimplementedPaymentServer) WechatJsApiPay(context.Context, *WechatJsApiPayRequest) (*WechatJsApiPayResponse, error) { +func (UnimplementedPaymentCentServer) WechatJsApiPay(context.Context, *WechatJsApiPayRequest) (*WechatJsApiPayResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method WechatJsApiPay not implemented") } -func (UnimplementedPaymentServer) WechatJsApiQueryByOutTradeNo(context.Context, *WechatJsApiQueryByOutTradeNoRequest) (*WechatJsApiQueryByOutTradeNoResponse, error) { +func (UnimplementedPaymentCentServer) WechatJsApiQueryByOutTradeNo(context.Context, *WechatJsApiQueryByOutTradeNoRequest) (*WechatJsApiQueryByOutTradeNoResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method WechatJsApiQueryByOutTradeNo not implemented") } -func (UnimplementedPaymentServer) GetPayByOutTradeNo(context.Context, *GetPayByOutTradeNoRequest) (*GetPayByOutTradeNoResponse, error) { +func (UnimplementedPaymentCentServer) GetPayByOutTradeNo(context.Context, *GetPayByOutTradeNoRequest) (*GetPayByOutTradeNoResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetPayByOutTradeNo not implemented") } -func (UnimplementedPaymentServer) WechatJsApiRefunds(context.Context, *WechatJsApiRefundsRequest) (*WechatJsApiRefundsResponse, error) { +func (UnimplementedPaymentCentServer) WechatJsApiRefunds(context.Context, *WechatJsApiRefundsRequest) (*WechatJsApiRefundsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method WechatJsApiRefunds not implemented") } -func (UnimplementedPaymentServer) SetPayOk(context.Context, *WechatPayOkRequest) (*CommonResponse, error) { +func (UnimplementedPaymentCentServer) SetPayOk(context.Context, *WechatPayOkRequest) (*CommonResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SetPayOk not implemented") } -func (UnimplementedPaymentServer) WechatAppPay(context.Context, *WechatAppPayRequest) (*WechatAppPayResponse, error) { +func (UnimplementedPaymentCentServer) WechatAppPay(context.Context, *WechatAppPayRequest) (*WechatAppPayResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method WechatAppPay not implemented") } -func (UnimplementedPaymentServer) WechatAppQueryByOutTradeNo(context.Context, *WechatAppQueryByOutTradeNoRequest) (*WechatAppQueryByOutTradeNoResponse, error) { +func (UnimplementedPaymentCentServer) WechatAppQueryByOutTradeNo(context.Context, *WechatAppQueryByOutTradeNoRequest) (*WechatAppQueryByOutTradeNoResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method WechatAppQueryByOutTradeNo not implemented") } -func (UnimplementedPaymentServer) WechatNativePay(context.Context, *WechatNativePayRequest) (*WechatNativePayResponse, error) { +func (UnimplementedPaymentCentServer) WechatNativePay(context.Context, *WechatNativePayRequest) (*WechatNativePayResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method WechatNativePay not implemented") } -func (UnimplementedPaymentServer) WechatNativeQueryByOutTradeNo(context.Context, *WechatNativeQueryByOutTradeNoRequest) (*WechatNativeQueryByOutTradeNoResponse, error) { +func (UnimplementedPaymentCentServer) WechatNativeQueryByOutTradeNo(context.Context, *WechatNativeQueryByOutTradeNoRequest) (*WechatNativeQueryByOutTradeNoResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method WechatNativeQueryByOutTradeNo not implemented") } -func (UnimplementedPaymentServer) WechatRefundQueryByOutRefundNo(context.Context, *WechatRefundQueryByOutRefundNoRequest) (*WechatRefundQueryByOutRefundNoResponse, error) { +func (UnimplementedPaymentCentServer) WechatRefundQueryByOutRefundNo(context.Context, *WechatRefundQueryByOutRefundNoRequest) (*WechatRefundQueryByOutRefundNoResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method WechatRefundQueryByOutRefundNo not implemented") } -func (UnimplementedPaymentServer) WechatH5Pay(context.Context, *WechatH5PayRequest) (*WechatH5PayResponse, error) { +func (UnimplementedPaymentCentServer) WechatH5Pay(context.Context, *WechatH5PayRequest) (*WechatH5PayResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method WechatH5Pay not implemented") } -func (UnimplementedPaymentServer) WechatH5QueryByOutTradeNo(context.Context, *WechatH5QueryByOutTradeNoRequest) (*WechatH5QueryByOutTradeNoResponse, error) { +func (UnimplementedPaymentCentServer) WechatH5QueryByOutTradeNo(context.Context, *WechatH5QueryByOutTradeNoRequest) (*WechatH5QueryByOutTradeNoResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method WechatH5QueryByOutTradeNo not implemented") } -func (s *UnimplementedPaymentServer) XXX_SetProxyImpl(impl protocol.Invoker) { +func (s *UnimplementedPaymentCentServer) XXX_SetProxyImpl(impl protocol.Invoker) { s.proxyImpl = impl } -func (s *UnimplementedPaymentServer) XXX_GetProxyImpl() protocol.Invoker { +func (s *UnimplementedPaymentCentServer) XXX_GetProxyImpl() protocol.Invoker { return s.proxyImpl } -func (s *UnimplementedPaymentServer) XXX_ServiceDesc() *grpc_go.ServiceDesc { - return &Payment_ServiceDesc +func (s *UnimplementedPaymentCentServer) XXX_ServiceDesc() *grpc_go.ServiceDesc { + return &PaymentCent_ServiceDesc } -func (s *UnimplementedPaymentServer) XXX_InterfaceName() string { - return "payment.Payment" +func (s *UnimplementedPaymentCentServer) XXX_InterfaceName() string { + return "payment.PaymentCent" } -func (UnimplementedPaymentServer) mustEmbedUnimplementedPaymentServer() {} +func (UnimplementedPaymentCentServer) mustEmbedUnimplementedPaymentCentServer() {} -// UnsafePaymentServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to PaymentServer will +// UnsafePaymentCentServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to PaymentCentServer will // result in compilation errors. -type UnsafePaymentServer interface { - mustEmbedUnimplementedPaymentServer() +type UnsafePaymentCentServer interface { + mustEmbedUnimplementedPaymentCentServer() } -func RegisterPaymentServer(s grpc_go.ServiceRegistrar, srv PaymentServer) { - s.RegisterService(&Payment_ServiceDesc, srv) +func RegisterPaymentCentServer(s grpc_go.ServiceRegistrar, srv PaymentCentServer) { + s.RegisterService(&PaymentCent_ServiceDesc, srv) } -func _Payment_CreatePay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_CreatePay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(CreatePayRequest) if err := dec(in); err != nil { return nil, err @@ -498,7 +498,7 @@ func _Payment_CreatePay_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } -func _Payment_NotifyPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_NotifyPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(NotifyPayRequest) if err := dec(in); err != nil { return nil, err @@ -527,7 +527,7 @@ func _Payment_NotifyPay_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } -func _Payment_QueryPayByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_QueryPayByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(PayQueryRequest) if err := dec(in); err != nil { return nil, err @@ -556,7 +556,7 @@ func _Payment_QueryPayByOutTradeNo_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } -func _Payment_QueryExportPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_QueryExportPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(ExportPayRequest) if err := dec(in); err != nil { return nil, err @@ -585,7 +585,7 @@ func _Payment_QueryExportPay_Handler(srv interface{}, ctx context.Context, dec f return interceptor(ctx, in, info, handler) } -func _Payment_CreateRefund_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_CreateRefund_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(CreateRefundRequest) if err := dec(in); err != nil { return nil, err @@ -614,7 +614,7 @@ func _Payment_CreateRefund_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } -func _Payment_StripeGermanyWebhook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_StripeGermanyWebhook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(GetCheckoutWebhookRequest) if err := dec(in); err != nil { return nil, err @@ -643,7 +643,7 @@ func _Payment_StripeGermanyWebhook_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } -func _Payment_AliCommonWebhook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_AliCommonWebhook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(NotifyPayRequest) if err := dec(in); err != nil { return nil, err @@ -672,7 +672,7 @@ func _Payment_AliCommonWebhook_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } -func _Payment_WechatFengLianWebhook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_WechatFengLianWebhook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(NotifyPayRequest) if err := dec(in); err != nil { return nil, err @@ -701,7 +701,7 @@ func _Payment_WechatFengLianWebhook_Handler(srv interface{}, ctx context.Context return interceptor(ctx, in, info, handler) } -func _Payment_AntomWebhook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_AntomWebhook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(AntomNotifyPayRequest) if err := dec(in); err != nil { return nil, err @@ -730,7 +730,7 @@ func _Payment_AntomWebhook_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } -func _Payment_QueryAntomPayByCheckoutSessionId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_QueryAntomPayByCheckoutSessionId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(AntomPayQueryRequest) if err := dec(in); err != nil { return nil, err @@ -759,7 +759,7 @@ func _Payment_QueryAntomPayByCheckoutSessionId_Handler(srv interface{}, ctx cont return interceptor(ctx, in, info, handler) } -func _Payment_CreateStripeCheckoutSession_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_CreateStripeCheckoutSession_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(CreateStripeCheckoutSessionRequest) if err := dec(in); err != nil { return nil, err @@ -788,7 +788,7 @@ func _Payment_CreateStripeCheckoutSession_Handler(srv interface{}, ctx context.C return interceptor(ctx, in, info, handler) } -func _Payment_AliWapPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_AliWapPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(AliWapPayRequest) if err := dec(in); err != nil { return nil, err @@ -817,7 +817,7 @@ func _Payment_AliWapPay_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } -func _Payment_AliAppPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_AliAppPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(AliAppPayRequest) if err := dec(in); err != nil { return nil, err @@ -846,7 +846,7 @@ func _Payment_AliAppPay_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } -func _Payment_AliNativePay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_AliNativePay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(AliNativePayRequest) if err := dec(in); err != nil { return nil, err @@ -875,7 +875,7 @@ func _Payment_AliNativePay_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } -func _Payment_AliPcWabPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_AliPcWabPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(AliPcWabPayRequest) if err := dec(in); err != nil { return nil, err @@ -904,7 +904,7 @@ func _Payment_AliPcWabPay_Handler(srv interface{}, ctx context.Context, dec func return interceptor(ctx, in, info, handler) } -func _Payment_AliReFund_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_AliReFund_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(AliReFundRequest) if err := dec(in); err != nil { return nil, err @@ -933,7 +933,7 @@ func _Payment_AliReFund_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } -func _Payment_AliNotify_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_AliNotify_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(AliNotifyRequest) if err := dec(in); err != nil { return nil, err @@ -962,7 +962,7 @@ func _Payment_AliNotify_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } -func _Payment_AliQueryByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_AliQueryByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(AliQueryByOutTradeNoRequest) if err := dec(in); err != nil { return nil, err @@ -991,7 +991,7 @@ func _Payment_AliQueryByOutTradeNo_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } -func _Payment_AliRefundQueryByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_AliRefundQueryByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(AliRefundQueryByOutTradeNoRequest) if err := dec(in); err != nil { return nil, err @@ -1020,7 +1020,7 @@ func _Payment_AliRefundQueryByOutTradeNo_Handler(srv interface{}, ctx context.Co return interceptor(ctx, in, info, handler) } -func _Payment_WechatJsApiPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_WechatJsApiPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(WechatJsApiPayRequest) if err := dec(in); err != nil { return nil, err @@ -1049,7 +1049,7 @@ func _Payment_WechatJsApiPay_Handler(srv interface{}, ctx context.Context, dec f return interceptor(ctx, in, info, handler) } -func _Payment_WechatJsApiQueryByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_WechatJsApiQueryByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(WechatJsApiQueryByOutTradeNoRequest) if err := dec(in); err != nil { return nil, err @@ -1078,7 +1078,7 @@ func _Payment_WechatJsApiQueryByOutTradeNo_Handler(srv interface{}, ctx context. return interceptor(ctx, in, info, handler) } -func _Payment_GetPayByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_GetPayByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(GetPayByOutTradeNoRequest) if err := dec(in); err != nil { return nil, err @@ -1107,7 +1107,7 @@ func _Payment_GetPayByOutTradeNo_Handler(srv interface{}, ctx context.Context, d return interceptor(ctx, in, info, handler) } -func _Payment_WechatJsApiRefunds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_WechatJsApiRefunds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(WechatJsApiRefundsRequest) if err := dec(in); err != nil { return nil, err @@ -1136,7 +1136,7 @@ func _Payment_WechatJsApiRefunds_Handler(srv interface{}, ctx context.Context, d return interceptor(ctx, in, info, handler) } -func _Payment_SetPayOk_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_SetPayOk_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(WechatPayOkRequest) if err := dec(in); err != nil { return nil, err @@ -1165,7 +1165,7 @@ func _Payment_SetPayOk_Handler(srv interface{}, ctx context.Context, dec func(in return interceptor(ctx, in, info, handler) } -func _Payment_WechatAppPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_WechatAppPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(WechatAppPayRequest) if err := dec(in); err != nil { return nil, err @@ -1194,7 +1194,7 @@ func _Payment_WechatAppPay_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } -func _Payment_WechatAppQueryByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_WechatAppQueryByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(WechatAppQueryByOutTradeNoRequest) if err := dec(in); err != nil { return nil, err @@ -1223,7 +1223,7 @@ func _Payment_WechatAppQueryByOutTradeNo_Handler(srv interface{}, ctx context.Co return interceptor(ctx, in, info, handler) } -func _Payment_WechatNativePay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_WechatNativePay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(WechatNativePayRequest) if err := dec(in); err != nil { return nil, err @@ -1252,7 +1252,7 @@ func _Payment_WechatNativePay_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } -func _Payment_WechatNativeQueryByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_WechatNativeQueryByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(WechatNativeQueryByOutTradeNoRequest) if err := dec(in); err != nil { return nil, err @@ -1281,7 +1281,7 @@ func _Payment_WechatNativeQueryByOutTradeNo_Handler(srv interface{}, ctx context return interceptor(ctx, in, info, handler) } -func _Payment_WechatRefundQueryByOutRefundNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_WechatRefundQueryByOutRefundNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(WechatRefundQueryByOutRefundNoRequest) if err := dec(in); err != nil { return nil, err @@ -1310,7 +1310,7 @@ func _Payment_WechatRefundQueryByOutRefundNo_Handler(srv interface{}, ctx contex return interceptor(ctx, in, info, handler) } -func _Payment_WechatH5Pay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_WechatH5Pay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(WechatH5PayRequest) if err := dec(in); err != nil { return nil, err @@ -1339,7 +1339,7 @@ func _Payment_WechatH5Pay_Handler(srv interface{}, ctx context.Context, dec func return interceptor(ctx, in, info, handler) } -func _Payment_WechatH5QueryByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _PaymentCent_WechatH5QueryByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(WechatH5QueryByOutTradeNoRequest) if err := dec(in); err != nil { return nil, err @@ -1368,136 +1368,136 @@ func _Payment_WechatH5QueryByOutTradeNo_Handler(srv interface{}, ctx context.Con return interceptor(ctx, in, info, handler) } -// Payment_ServiceDesc is the grpc_go.ServiceDesc for Payment service. +// PaymentCent_ServiceDesc is the grpc_go.ServiceDesc for PaymentCent service. // It's only intended for direct use with grpc_go.RegisterService, // and not to be introspected or modified (even as a copy) -var Payment_ServiceDesc = grpc_go.ServiceDesc{ - ServiceName: "payment.Payment", - HandlerType: (*PaymentServer)(nil), +var PaymentCent_ServiceDesc = grpc_go.ServiceDesc{ + ServiceName: "payment.PaymentCent", + HandlerType: (*PaymentCentServer)(nil), Methods: []grpc_go.MethodDesc{ { MethodName: "CreatePay", - Handler: _Payment_CreatePay_Handler, + Handler: _PaymentCent_CreatePay_Handler, }, { MethodName: "NotifyPay", - Handler: _Payment_NotifyPay_Handler, + Handler: _PaymentCent_NotifyPay_Handler, }, { MethodName: "QueryPayByOutTradeNo", - Handler: _Payment_QueryPayByOutTradeNo_Handler, + Handler: _PaymentCent_QueryPayByOutTradeNo_Handler, }, { MethodName: "QueryExportPay", - Handler: _Payment_QueryExportPay_Handler, + Handler: _PaymentCent_QueryExportPay_Handler, }, { MethodName: "CreateRefund", - Handler: _Payment_CreateRefund_Handler, + Handler: _PaymentCent_CreateRefund_Handler, }, { MethodName: "StripeGermanyWebhook", - Handler: _Payment_StripeGermanyWebhook_Handler, + Handler: _PaymentCent_StripeGermanyWebhook_Handler, }, { MethodName: "AliCommonWebhook", - Handler: _Payment_AliCommonWebhook_Handler, + Handler: _PaymentCent_AliCommonWebhook_Handler, }, { MethodName: "WechatFengLianWebhook", - Handler: _Payment_WechatFengLianWebhook_Handler, + Handler: _PaymentCent_WechatFengLianWebhook_Handler, }, { MethodName: "AntomWebhook", - Handler: _Payment_AntomWebhook_Handler, + Handler: _PaymentCent_AntomWebhook_Handler, }, { MethodName: "QueryAntomPayByCheckoutSessionId", - Handler: _Payment_QueryAntomPayByCheckoutSessionId_Handler, + Handler: _PaymentCent_QueryAntomPayByCheckoutSessionId_Handler, }, { MethodName: "CreateStripeCheckoutSession", - Handler: _Payment_CreateStripeCheckoutSession_Handler, + Handler: _PaymentCent_CreateStripeCheckoutSession_Handler, }, { MethodName: "AliWapPay", - Handler: _Payment_AliWapPay_Handler, + Handler: _PaymentCent_AliWapPay_Handler, }, { MethodName: "AliAppPay", - Handler: _Payment_AliAppPay_Handler, + Handler: _PaymentCent_AliAppPay_Handler, }, { MethodName: "AliNativePay", - Handler: _Payment_AliNativePay_Handler, + Handler: _PaymentCent_AliNativePay_Handler, }, { MethodName: "AliPcWabPay", - Handler: _Payment_AliPcWabPay_Handler, + Handler: _PaymentCent_AliPcWabPay_Handler, }, { MethodName: "AliReFund", - Handler: _Payment_AliReFund_Handler, + Handler: _PaymentCent_AliReFund_Handler, }, { MethodName: "AliNotify", - Handler: _Payment_AliNotify_Handler, + Handler: _PaymentCent_AliNotify_Handler, }, { MethodName: "AliQueryByOutTradeNo", - Handler: _Payment_AliQueryByOutTradeNo_Handler, + Handler: _PaymentCent_AliQueryByOutTradeNo_Handler, }, { MethodName: "AliRefundQueryByOutTradeNo", - Handler: _Payment_AliRefundQueryByOutTradeNo_Handler, + Handler: _PaymentCent_AliRefundQueryByOutTradeNo_Handler, }, { MethodName: "WechatJsApiPay", - Handler: _Payment_WechatJsApiPay_Handler, + Handler: _PaymentCent_WechatJsApiPay_Handler, }, { MethodName: "WechatJsApiQueryByOutTradeNo", - Handler: _Payment_WechatJsApiQueryByOutTradeNo_Handler, + Handler: _PaymentCent_WechatJsApiQueryByOutTradeNo_Handler, }, { MethodName: "GetPayByOutTradeNo", - Handler: _Payment_GetPayByOutTradeNo_Handler, + Handler: _PaymentCent_GetPayByOutTradeNo_Handler, }, { MethodName: "WechatJsApiRefunds", - Handler: _Payment_WechatJsApiRefunds_Handler, + Handler: _PaymentCent_WechatJsApiRefunds_Handler, }, { MethodName: "SetPayOk", - Handler: _Payment_SetPayOk_Handler, + Handler: _PaymentCent_SetPayOk_Handler, }, { MethodName: "WechatAppPay", - Handler: _Payment_WechatAppPay_Handler, + Handler: _PaymentCent_WechatAppPay_Handler, }, { MethodName: "WechatAppQueryByOutTradeNo", - Handler: _Payment_WechatAppQueryByOutTradeNo_Handler, + Handler: _PaymentCent_WechatAppQueryByOutTradeNo_Handler, }, { MethodName: "WechatNativePay", - Handler: _Payment_WechatNativePay_Handler, + Handler: _PaymentCent_WechatNativePay_Handler, }, { MethodName: "WechatNativeQueryByOutTradeNo", - Handler: _Payment_WechatNativeQueryByOutTradeNo_Handler, + Handler: _PaymentCent_WechatNativeQueryByOutTradeNo_Handler, }, { MethodName: "WechatRefundQueryByOutRefundNo", - Handler: _Payment_WechatRefundQueryByOutRefundNo_Handler, + Handler: _PaymentCent_WechatRefundQueryByOutRefundNo_Handler, }, { MethodName: "WechatH5Pay", - Handler: _Payment_WechatH5Pay_Handler, + Handler: _PaymentCent_WechatH5Pay_Handler, }, { MethodName: "WechatH5QueryByOutTradeNo", - Handler: _Payment_WechatH5QueryByOutTradeNo_Handler, + Handler: _PaymentCent_WechatH5QueryByOutTradeNo_Handler, }, }, Streams: []grpc_go.StreamDesc{}, diff --git a/pkg/service/init.go b/pkg/service/init.go index 53c182d..0f80220 100644 --- a/pkg/service/init.go +++ b/pkg/service/init.go @@ -17,7 +17,7 @@ var AccountProvider = new(account.AccountClientImpl) var BundleProvider = new(bundle.BundleClientImpl) var OrderProvider = new(order.OrderClientImpl) -var PaymentProvider = new(payment.PaymentClientImpl) +var PaymentProvider = new(payment.PaymentCentClientImpl) func init() { config.SetConsumerService(BundleProvider) From 7b5fd0182aa555b988cb6e7ef079bf4630b69990 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A1=80=E5=B0=BC=E9=BE=9F?= <365252428@qq.com> Date: Thu, 22 May 2025 20:19:42 +0800 Subject: [PATCH 12/27] 111 --- pkg/router/router.go | 3 +++ pkg/service/redirect/redirect.go | 46 ++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/pkg/router/router.go b/pkg/router/router.go index 0e53fcb..4c53531 100644 --- a/pkg/router/router.go +++ b/pkg/router/router.go @@ -66,6 +66,9 @@ func NewRouter() *gin.Engine { acRoute.POST("approval", account.UserApproval) //实名审核 } } + { + v1.POST("chart/forward/test/", redirect.ForwardTest) + } // 上传 upData := privateGroup.Group("upload") upData.Use(middleware.CheckLogin(service.AccountProvider)) diff --git a/pkg/service/redirect/redirect.go b/pkg/service/redirect/redirect.go index e5faaf5..b67a911 100644 --- a/pkg/service/redirect/redirect.go +++ b/pkg/service/redirect/redirect.go @@ -5,6 +5,7 @@ import ( "fmt" "fonchain-fiee/pkg/service" "github.com/gin-gonic/gin" + "io" "net/http" "time" ) @@ -32,3 +33,48 @@ func ToRedirectRealUrlAdnRand(c *gin.Context) { c.Redirect(http.StatusMovedPermanently, realUrl+fmt.Sprintf("?time=%d", time.Now().Unix())) } +func ForwardTest(c *gin.Context) { + // 1. 创建HTTP客户端(设置超时避免长时间等待) + client := &http.Client{ + Timeout: 10 * time.Second, + } + + // 2. 构造请求 + req, err := http.NewRequest("GET", "https://stockanalysis.com/chart/__data.json", nil) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{ + "error": "Failed to create request", + }) + return + } + + // 3. 添加原始请求的查询参数(可选) + req.URL.RawQuery = c.Request.URL.RawQuery + + // 4. 添加必要的请求头(根据目标API要求) + req.Header.Set("User-Agent", "Mozilla/5.0") + // 可以添加其他必要的headers,如: + // req.Header.Set("Accept", "application/json") + + // 5. 发送请求 + resp, err := client.Do(req) + if err != nil { + c.JSON(http.StatusBadGateway, gin.H{ + "error": "Failed to fetch data from target API", + }) + return + } + defer resp.Body.Close() + + // 6. 读取响应体 + body, err := io.ReadAll(resp.Body) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{ + "error": "Failed to read response body", + }) + return + } + + // 7. 转发响应 + c.Data(resp.StatusCode, resp.Header.Get("Content-Type"), body) +} From 6525b6ead3458410321bfeba68c6070df11797c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A1=80=E5=B0=BC=E9=BE=9F?= <365252428@qq.com> Date: Thu, 22 May 2025 20:19:52 +0800 Subject: [PATCH 13/27] 1 --- 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 4c53531..07419c5 100644 --- a/pkg/router/router.go +++ b/pkg/router/router.go @@ -67,7 +67,7 @@ func NewRouter() *gin.Engine { } } { - v1.POST("chart/forward/test/", redirect.ForwardTest) + v1.POST("chart/forward/test", redirect.ForwardTest) } // 上传 upData := privateGroup.Group("upload") From a357389fac5cebfb4b891f9fa4143b528b63d5fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A1=80=E5=B0=BC=E9=BE=9F?= <365252428@qq.com> Date: Thu, 22 May 2025 20:43:47 +0800 Subject: [PATCH 14/27] 11 --- pkg/service/redirect/redirect.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/service/redirect/redirect.go b/pkg/service/redirect/redirect.go index b67a911..76bc98e 100644 --- a/pkg/service/redirect/redirect.go +++ b/pkg/service/redirect/redirect.go @@ -40,7 +40,7 @@ func ForwardTest(c *gin.Context) { } // 2. 构造请求 - req, err := http.NewRequest("GET", "https://stockanalysis.com/chart/__data.json", nil) + req, err := http.NewRequest("GET", "https://stockanalysis.com/quote/otc/MINM/market-cap/__data.json?x-sveltekit-trailing-slash=1&x-sveltekit-invalidated=001", nil) if err != nil { c.JSON(http.StatusInternalServerError, gin.H{ "error": "Failed to create request", From 48f6eca3144873ad58edabe09c0f8f4eb3e9eba0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A1=80=E5=B0=BC=E9=BE=9F?= <365252428@qq.com> Date: Fri, 23 May 2025 10:53:16 +0800 Subject: [PATCH 15/27] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- go.mod | 19 +++-- go.sum | 57 +++++++++++++++ pkg/router/router.go | 2 +- pkg/service/redirect/redirect.go | 122 +++++++++++++++++++++++-------- 4 files changed, 160 insertions(+), 40 deletions(-) diff --git a/go.mod b/go.mod index 66edb91..a4238b6 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,8 @@ module fonchain-fiee -go 1.18 +go 1.23.0 + +toolchain go1.23.6 //github.com/fonchain_enterprise/utils/aes => ./docs/utils/aes //github.com/fonchain_enterprise/utils/chain => ./docs/utils/chain @@ -20,6 +22,7 @@ go 1.18 //replace github.com/fonchain_enterprise/utils/objstorage => ../../tyfon-新/utils/objstorage replace github.com/fonchain_enterprise/utils/objstorage => ../utils/objstorage + // require ( dubbo.apache.org/dubbo-go/v3 v3.0.2 @@ -98,10 +101,10 @@ require ( go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.6.0 // indirect go.uber.org/zap v1.21.0 - golang.org/x/crypto v0.19.0 // indirect - golang.org/x/net v0.21.0 // indirect - golang.org/x/sys v0.18.0 // indirect - golang.org/x/text v0.14.0 // indirect + golang.org/x/crypto v0.37.0 // indirect + golang.org/x/net v0.39.0 // indirect + golang.org/x/sys v0.32.0 // indirect + golang.org/x/text v0.24.0 // indirect google.golang.org/genproto v0.0.0-20211104193956-4c6863e31247 // indirect google.golang.org/grpc v1.47.0 // indirect gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect @@ -125,9 +128,11 @@ require ( require ( cloud.google.com/go v0.65.0 // indirect github.com/360EntSecGroup-Skylar/excelize v1.4.1 // indirect + github.com/PuerkitoBio/goquery v1.10.3 // indirect github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5 // indirect github.com/alibaba/sentinel-golang v1.0.4 // indirect github.com/aliyun/alibaba-cloud-sdk-go v1.61.18 // indirect + github.com/andybalholm/cascadia v1.3.3 // indirect github.com/aws/aws-sdk-go v1.38.20 // indirect github.com/baidubce/bce-sdk-go v0.9.123 // indirect github.com/buger/jsonparser v1.1.1 // indirect @@ -151,7 +156,7 @@ require ( github.com/go-logr/stdr v1.2.2 // indirect github.com/go-resty/resty/v2 v2.7.0 // indirect github.com/golang/mock v1.5.0 // indirect - github.com/google/go-cmp v0.5.9 // indirect + github.com/google/go-cmp v0.6.0 // indirect github.com/google/uuid v1.6.0 // indirect github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00 // indirect github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect @@ -191,7 +196,7 @@ require ( go.opentelemetry.io/otel/trace v1.7.0 // indirect golang.org/x/arch v0.3.0 // indirect golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 // indirect - golang.org/x/sync v0.1.0 // indirect + golang.org/x/sync v0.13.0 // indirect golang.org/x/time v0.3.0 // indirect google.golang.org/appengine v1.6.6 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index bdf3fff..97358b1 100644 --- a/go.sum +++ b/go.sum @@ -48,6 +48,8 @@ github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/PuerkitoBio/goquery v1.10.3 h1:pFYcNSqHxBD06Fpj/KsbStFRsgRATgnf3LeXiUkhzPo= +github.com/PuerkitoBio/goquery v1.10.3/go.mod h1:tMUX0zDMHXYlAQk6p35XxQMqMweEKB7iK7iLNd4RH4Y= github.com/RoaringBitmap/roaring v1.1.0 h1:b10lZrZXaY6Q6EKIRrmOF519FIyQQ5anPgGr3niw2yY= github.com/RoaringBitmap/roaring v1.1.0/go.mod h1:icnadbWcNyfEHlYdr+tDlOTih1Bf/h+rzPpv4sbomAA= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= @@ -74,6 +76,8 @@ github.com/aliyun/alibaba-cloud-sdk-go v1.61.18/go.mod h1:v8ESoHo4SyHmuB4b1tJqDH github.com/aliyun/aliyun-oss-go-sdk v2.2.4+incompatible/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8= github.com/aliyun/aliyun-oss-go-sdk v2.2.6+incompatible h1:KXeJoM1wo9I/6xPTyt6qCxoSZnmASiAjlrr0dyTUKt8= github.com/aliyun/aliyun-oss-go-sdk v2.2.6+incompatible/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8= +github.com/andybalholm/cascadia v1.3.3 h1:AG2YHrzJIm4BZ19iwJ/DAua6Btl3IwJX+VI4kktS1LM= +github.com/andybalholm/cascadia v1.3.3/go.mod h1:xNd9bqTn98Ln4DwST8/nG+H0yuB8Hmgu1YHNnWw0GeA= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/dubbo-getty v1.4.8 h1:Q9WKXmVu4Dm16cMJHamegRbxpDiYaGIU+MnPGhJhNyk= github.com/apache/dubbo-getty v1.4.8/go.mod h1:cPJlbcHUTNTpiboMQjMHhE9XBni11LiBiG8FdrDuVzk= @@ -385,6 +389,7 @@ github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8 github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= @@ -872,6 +877,7 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/zouyx/agollo/v3 v3.4.5 h1:7YCxzY9ZYaH9TuVUBvmI6Tk0mwMggikah+cfbYogcHQ= github.com/zouyx/agollo/v3 v3.4.5/go.mod h1:LJr3kDmm23QSW+F1Ol4TMHDa7HvJvscMdVxJ2IpUTVc= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= @@ -949,9 +955,14 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -991,6 +1002,11 @@ golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzB golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1040,8 +1056,16 @@ golang.org/x/net v0.0.0-20210917221730-978cfadd31cf/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20211029224645-99673261e6eb/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211105192438-b53810dc28af/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= +golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= +golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= +golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1061,8 +1085,14 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1134,14 +1164,31 @@ golang.org/x/sys v0.0.0-20211117180635-dee7805ff2e1/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= +golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= +golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1151,8 +1198,14 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= +golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1218,6 +1271,10 @@ golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/pkg/router/router.go b/pkg/router/router.go index 07419c5..843ab2b 100644 --- a/pkg/router/router.go +++ b/pkg/router/router.go @@ -67,7 +67,7 @@ func NewRouter() *gin.Engine { } } { - v1.POST("chart/forward/test", redirect.ForwardTest) + v1.GET("chart/forward/test", redirect.ForwardTest) } // 上传 upData := privateGroup.Group("upload") diff --git a/pkg/service/redirect/redirect.go b/pkg/service/redirect/redirect.go index b67a911..f122ecf 100644 --- a/pkg/service/redirect/redirect.go +++ b/pkg/service/redirect/redirect.go @@ -4,9 +4,10 @@ import ( "errors" "fmt" "fonchain-fiee/pkg/service" + "github.com/PuerkitoBio/goquery" "github.com/gin-gonic/gin" - "io" "net/http" + "strings" "time" ) @@ -34,47 +35,104 @@ func ToRedirectRealUrlAdnRand(c *gin.Context) { c.Redirect(http.StatusMovedPermanently, realUrl+fmt.Sprintf("?time=%d", time.Now().Unix())) } func ForwardTest(c *gin.Context) { - // 1. 创建HTTP客户端(设置超时避免长时间等待) + url := "https://stockanalysis.com/quote/otc/MINM/" + + // Create HTTP client with timeout client := &http.Client{ Timeout: 10 * time.Second, } - // 2. 构造请求 - req, err := http.NewRequest("GET", "https://stockanalysis.com/chart/__data.json", nil) + // Make request + resp, err := client.Get(url) if err != nil { - c.JSON(http.StatusInternalServerError, gin.H{ - "error": "Failed to create request", - }) - return - } - - // 3. 添加原始请求的查询参数(可选) - req.URL.RawQuery = c.Request.URL.RawQuery - - // 4. 添加必要的请求头(根据目标API要求) - req.Header.Set("User-Agent", "Mozilla/5.0") - // 可以添加其他必要的headers,如: - // req.Header.Set("Accept", "application/json") - - // 5. 发送请求 - resp, err := client.Do(req) - if err != nil { - c.JSON(http.StatusBadGateway, gin.H{ - "error": "Failed to fetch data from target API", - }) + sendErrorResponse(c, http.StatusInternalServerError, "请求失败", err.Error()) return } defer resp.Body.Close() - // 6. 读取响应体 - body, err := io.ReadAll(resp.Body) - if err != nil { - c.JSON(http.StatusInternalServerError, gin.H{ - "error": "Failed to read response body", - }) + if resp.StatusCode != http.StatusOK { + sendErrorResponse(c, http.StatusInternalServerError, "请求失败", fmt.Sprintf("status code: %d", resp.StatusCode)) return } - // 7. 转发响应 - c.Data(resp.StatusCode, resp.Header.Get("Content-Type"), body) + // Parse HTML + doc, err := goquery.NewDocumentFromReader(resp.Body) + if err != nil { + sendErrorResponse(c, http.StatusInternalServerError, "解析失败", err.Error()) + return + } + + var ( + openValue string + volumeValue string + daysRangeValue string + week52Value string + marketCapValue string + changeValue []string + ) + type StockData struct { + Open string `json:"Open"` + Volume string `json:"Volume"` + DaysRange string `json:"DaysRange"` + Week52Range string `json:"Week52Range"` + MarketCap string `json:"MarketCap"` + Change []string `json:"change"` + } + // Get price + priceDiv := doc.Find("div.text-4xl.font-bold.transition-colors.duration-300.inline-block").First() + price := strings.TrimSpace(priceDiv.Text()) + + // Get change + changeDiv := priceDiv.NextFiltered("div.font-semibold.inline-block.text-2xl.text-red-vivid") + change := strings.TrimSpace(changeDiv.Text()) + + if price != "" && change != "" { + changeValue = []string{price, change} + } + + // Find other values in table + doc.Find("td").Each(func(i int, s *goquery.Selection) { + text := strings.TrimSpace(s.Text()) + switch text { + case "Open": + openValue = strings.TrimSpace(s.Next().Text()) + case "Volume": + volumeValue = strings.TrimSpace(s.Next().Text()) + case "Day's Range": + daysRangeValue = strings.TrimSpace(s.Next().Text()) + case "52-Week Range": + week52Value = strings.TrimSpace(s.Next().Text()) + case "Market Cap": + marketCapValue = strings.TrimSpace(s.Next().Text()) + } + }) + + // Check if all values were found + if openValue != "" && volumeValue != "" && daysRangeValue != "" && + week52Value != "" && marketCapValue != "" && len(changeValue) == 2 { + c.JSON(http.StatusOK, StockData{ + Open: openValue, + Volume: volumeValue, + DaysRange: daysRangeValue, + Week52Range: week52Value, + MarketCap: marketCapValue, + Change: changeValue, + }) + } else { + c.JSON(http.StatusNotFound, gin.H{ + "error": "未找到全部数据", + "Open": openValue, + "Volume": volumeValue, + "DaysRange": daysRangeValue, + "Week52Range": week52Value, + "MarketCap": marketCapValue, + "change": changeValue, + }) + } +} +func sendErrorResponse(c *gin.Context, statusCode int, errorMsg string, detail string) { + c.JSON(statusCode, gin.H{ + "error": errorMsg, + "detail": detail, + }) } From 8562d64dd5fa2bcf16550eb938d01f209251480b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A1=80=E5=B0=BC=E9=BE=9F?= <365252428@qq.com> Date: Fri, 23 May 2025 10:57:29 +0800 Subject: [PATCH 16/27] 11 --- go.mod | 7 +++---- go.sum | 14 ++++++-------- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index a4238b6..598a2c3 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module fonchain-fiee -go 1.23.0 +go 1.18 toolchain go1.23.6 @@ -112,7 +112,9 @@ require ( ) require ( + github.com/360EntSecGroup-Skylar/excelize v1.4.1 github.com/BurntSushi/toml v1.2.1 + github.com/PuerkitoBio/goquery v1.10.3 github.com/disintegration/imaging v1.6.2 github.com/fonchain_enterprise/utils/objstorage v0.0.0-00010101000000-000000000000 github.com/gin-contrib/pprof v1.4.0 @@ -127,8 +129,6 @@ require ( require ( cloud.google.com/go v0.65.0 // indirect - github.com/360EntSecGroup-Skylar/excelize v1.4.1 // indirect - github.com/PuerkitoBio/goquery v1.10.3 // indirect github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5 // indirect github.com/alibaba/sentinel-golang v1.0.4 // indirect github.com/aliyun/alibaba-cloud-sdk-go v1.61.18 // indirect @@ -156,7 +156,6 @@ require ( github.com/go-logr/stdr v1.2.2 // indirect github.com/go-resty/resty/v2 v2.7.0 // indirect github.com/golang/mock v1.5.0 // indirect - github.com/google/go-cmp v0.6.0 // indirect github.com/google/uuid v1.6.0 // indirect github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00 // indirect github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect diff --git a/go.sum b/go.sum index 97358b1..d33406b 100644 --- a/go.sum +++ b/go.sum @@ -286,6 +286,7 @@ github.com/go-ole/go-ole v1.2.4 h1:nNBDSCOigTSiarFpYE9J/KtEA1IOW4CNeqT9TQDqCxI= github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= +github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= @@ -387,8 +388,7 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= @@ -958,10 +958,10 @@ golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= -golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE= golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1060,7 +1060,6 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= -golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= @@ -1086,12 +1085,12 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610= golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1175,10 +1174,9 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -1201,10 +1199,10 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= +golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0= golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= From 2779dcc5bdc2fb18c09cc50950f3d3c9f2e000e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A1=80=E5=B0=BC=E9=BE=9F?= <365252428@qq.com> Date: Fri, 23 May 2025 11:06:08 +0800 Subject: [PATCH 17/27] 11 --- go.mod | 7 +++---- go.sum | 49 ++++++------------------------------------------- 2 files changed, 9 insertions(+), 47 deletions(-) diff --git a/go.mod b/go.mod index 598a2c3..ffb1a03 100644 --- a/go.mod +++ b/go.mod @@ -2,8 +2,6 @@ module fonchain-fiee go 1.18 -toolchain go1.23.6 - //github.com/fonchain_enterprise/utils/aes => ./docs/utils/aes //github.com/fonchain_enterprise/utils/chain => ./docs/utils/chain //github.com/fonchain_enterprise/utils/jwt => ./docs/utils/jwt @@ -114,7 +112,6 @@ require ( require ( github.com/360EntSecGroup-Skylar/excelize v1.4.1 github.com/BurntSushi/toml v1.2.1 - github.com/PuerkitoBio/goquery v1.10.3 github.com/disintegration/imaging v1.6.2 github.com/fonchain_enterprise/utils/objstorage v0.0.0-00010101000000-000000000000 github.com/gin-contrib/pprof v1.4.0 @@ -129,10 +126,11 @@ require ( require ( cloud.google.com/go v0.65.0 // indirect + github.com/PuerkitoBio/goquery v1.8.1 // indirect github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5 // indirect github.com/alibaba/sentinel-golang v1.0.4 // indirect github.com/aliyun/alibaba-cloud-sdk-go v1.61.18 // indirect - github.com/andybalholm/cascadia v1.3.3 // indirect + github.com/andybalholm/cascadia v1.3.1 // indirect github.com/aws/aws-sdk-go v1.38.20 // indirect github.com/baidubce/bce-sdk-go v0.9.123 // indirect github.com/buger/jsonparser v1.1.1 // indirect @@ -156,6 +154,7 @@ require ( github.com/go-logr/stdr v1.2.2 // indirect github.com/go-resty/resty/v2 v2.7.0 // indirect github.com/golang/mock v1.5.0 // indirect + github.com/google/go-cmp v0.6.0 // indirect github.com/google/uuid v1.6.0 // indirect github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00 // indirect github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect diff --git a/go.sum b/go.sum index d33406b..6b73251 100644 --- a/go.sum +++ b/go.sum @@ -48,8 +48,8 @@ github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/PuerkitoBio/goquery v1.10.3 h1:pFYcNSqHxBD06Fpj/KsbStFRsgRATgnf3LeXiUkhzPo= -github.com/PuerkitoBio/goquery v1.10.3/go.mod h1:tMUX0zDMHXYlAQk6p35XxQMqMweEKB7iK7iLNd4RH4Y= +github.com/PuerkitoBio/goquery v1.8.1 h1:uQxhNlArOIdbrH1tr0UXwdVFgDcZDrZVdcpygAcwmWM= +github.com/PuerkitoBio/goquery v1.8.1/go.mod h1:Q8ICL1kNUJ2sXGoAhPGUdYDJvgQgHzJsnnd3H7Ho5jQ= github.com/RoaringBitmap/roaring v1.1.0 h1:b10lZrZXaY6Q6EKIRrmOF519FIyQQ5anPgGr3niw2yY= github.com/RoaringBitmap/roaring v1.1.0/go.mod h1:icnadbWcNyfEHlYdr+tDlOTih1Bf/h+rzPpv4sbomAA= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= @@ -76,8 +76,8 @@ github.com/aliyun/alibaba-cloud-sdk-go v1.61.18/go.mod h1:v8ESoHo4SyHmuB4b1tJqDH github.com/aliyun/aliyun-oss-go-sdk v2.2.4+incompatible/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8= github.com/aliyun/aliyun-oss-go-sdk v2.2.6+incompatible h1:KXeJoM1wo9I/6xPTyt6qCxoSZnmASiAjlrr0dyTUKt8= github.com/aliyun/aliyun-oss-go-sdk v2.2.6+incompatible/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8= -github.com/andybalholm/cascadia v1.3.3 h1:AG2YHrzJIm4BZ19iwJ/DAua6Btl3IwJX+VI4kktS1LM= -github.com/andybalholm/cascadia v1.3.3/go.mod h1:xNd9bqTn98Ln4DwST8/nG+H0yuB8Hmgu1YHNnWw0GeA= +github.com/andybalholm/cascadia v1.3.1 h1:nhxRkql1kdYCc8Snf7D5/D3spOX+dBgjA6u8x004T2c= +github.com/andybalholm/cascadia v1.3.1/go.mod h1:R4bJ1UQfqADjvDa4P6HZHLh/3OxWWEqc0Sk8XGwHqvA= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/dubbo-getty v1.4.8 h1:Q9WKXmVu4Dm16cMJHamegRbxpDiYaGIU+MnPGhJhNyk= github.com/apache/dubbo-getty v1.4.8/go.mod h1:cPJlbcHUTNTpiboMQjMHhE9XBni11LiBiG8FdrDuVzk= @@ -286,7 +286,6 @@ github.com/go-ole/go-ole v1.2.4 h1:nNBDSCOigTSiarFpYE9J/KtEA1IOW4CNeqT9TQDqCxI= github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= -github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= @@ -957,10 +956,6 @@ golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= -golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE= golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1003,10 +998,6 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1052,17 +1043,13 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210916014120-12bc252f5db8/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210917221730-978cfadd31cf/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211029224645-99673261e6eb/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211105192438-b53810dc28af/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -1085,11 +1072,6 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= -golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610= golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1171,22 +1153,11 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= -golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1197,11 +1168,6 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0= golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1270,9 +1236,6 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From a6919e83961dfa605ed13df4eb25b4442ffcd0d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A1=80=E5=B0=BC=E9=BE=9F?= <365252428@qq.com> Date: Fri, 23 May 2025 11:16:03 +0800 Subject: [PATCH 18/27] 11 --- go.mod | 21 ++++++++++----------- go.sum | 39 ++++++++++++++++++--------------------- 2 files changed, 28 insertions(+), 32 deletions(-) diff --git a/go.mod b/go.mod index ffb1a03..b849a37 100644 --- a/go.mod +++ b/go.mod @@ -29,7 +29,7 @@ require ( //github.com/fonchain_enterprise/utils/jwt v0.0.0-00010101000000-000000000000 //github.com/fonchain_enterprise/utils/logger v0.0.0-00010101000000-000000000000 github.com/gin-contrib/gzip v0.0.5 - github.com/gin-gonic/gin v1.9.1 + github.com/gin-gonic/gin v1.9.0 github.com/golang/protobuf v1.5.4 github.com/mwitkow/go-proto-validators v0.3.2 github.com/pkg/errors v0.9.1 // indirect @@ -58,7 +58,7 @@ require ( github.com/go-ole/go-ole v1.2.4 // indirect github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect - github.com/go-playground/validator/v10 v10.14.0 // indirect + github.com/go-playground/validator/v10 v10.11.2 // indirect github.com/goccy/go-json v0.10.2 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect @@ -71,7 +71,7 @@ require ( github.com/leodido/go-urn v1.2.4 // indirect github.com/magiconair/properties v1.8.6 // indirect github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.20 // indirect + github.com/mattn/go-isatty v0.0.17 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect @@ -99,10 +99,10 @@ require ( go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.6.0 // indirect go.uber.org/zap v1.21.0 - golang.org/x/crypto v0.37.0 // indirect - golang.org/x/net v0.39.0 // indirect - golang.org/x/sys v0.32.0 // indirect - golang.org/x/text v0.24.0 // indirect + golang.org/x/crypto v0.19.0 // indirect + golang.org/x/net v0.21.0 // indirect + golang.org/x/sys v0.18.0 // indirect + golang.org/x/text v0.14.0 // indirect google.golang.org/genproto v0.0.0-20211104193956-4c6863e31247 // indirect google.golang.org/grpc v1.47.0 // indirect gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect @@ -112,6 +112,7 @@ require ( require ( github.com/360EntSecGroup-Skylar/excelize v1.4.1 github.com/BurntSushi/toml v1.2.1 + github.com/PuerkitoBio/goquery v1.8.1 github.com/disintegration/imaging v1.6.2 github.com/fonchain_enterprise/utils/objstorage v0.0.0-00010101000000-000000000000 github.com/gin-contrib/pprof v1.4.0 @@ -126,7 +127,6 @@ require ( require ( cloud.google.com/go v0.65.0 // indirect - github.com/PuerkitoBio/goquery v1.8.1 // indirect github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5 // indirect github.com/alibaba/sentinel-golang v1.0.4 // indirect github.com/aliyun/alibaba-cloud-sdk-go v1.61.18 // indirect @@ -146,7 +146,6 @@ require ( github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1 // indirect github.com/envoyproxy/protoc-gen-validate v0.1.0 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect - github.com/gabriel-vasile/mimetype v1.4.2 // indirect github.com/ghodss/yaml v1.0.0 // indirect github.com/go-co-op/gocron v1.9.0 // indirect github.com/go-errors/errors v1.4.2 // indirect @@ -154,7 +153,7 @@ require ( github.com/go-logr/stdr v1.2.2 // indirect github.com/go-resty/resty/v2 v2.7.0 // indirect github.com/golang/mock v1.5.0 // indirect - github.com/google/go-cmp v0.6.0 // indirect + github.com/google/go-cmp v0.5.9 // indirect github.com/google/uuid v1.6.0 // indirect github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00 // indirect github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect @@ -194,7 +193,7 @@ require ( go.opentelemetry.io/otel/trace v1.7.0 // indirect golang.org/x/arch v0.3.0 // indirect golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 // indirect - golang.org/x/sync v0.13.0 // indirect + golang.org/x/sync v0.1.0 // indirect golang.org/x/time v0.3.0 // indirect google.golang.org/appengine v1.6.6 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index 6b73251..dd87352 100644 --- a/go.sum +++ b/go.sum @@ -241,8 +241,6 @@ github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4 github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= -github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU= -github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA= github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= @@ -254,8 +252,8 @@ github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.7.4/go.mod h1:jD2toBW3GZUr5UMcdrwQA10I7RuaFOl/SGeDjXkfUtY= github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= -github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= -github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= +github.com/gin-gonic/gin v1.9.0 h1:OjyFBKICoexlu99ctXNR2gg+c5pKrKMuyjgARg9qeY8= +github.com/gin-gonic/gin v1.9.0/go.mod h1:W1Me9+hsUSyj3CePGrd1/QrKJMSJ1Tu/0hFEH89961k= github.com/go-asn1-ber/asn1-ber v1.3.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= github.com/go-co-op/gocron v1.9.0 h1:+V+DDenw3ryB7B+tK1bAIC5p0ruw4oX9IqAsdRnGIf0= github.com/go-co-op/gocron v1.9.0/go.mod h1:DbJm9kdgr1sEvWpHCA7dFFs/PGHPMil9/97EXCRPr4k= @@ -297,8 +295,8 @@ github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91 github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= github.com/go-playground/validator/v10 v10.10.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos= github.com/go-playground/validator/v10 v10.11.0/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= -github.com/go-playground/validator/v10 v10.14.0 h1:vgvQWe3XCz3gIeFDm/HnTIbj6UGmg/+t63MyGU2n5js= -github.com/go-playground/validator/v10 v10.14.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= +github.com/go-playground/validator/v10 v10.11.2 h1:q3SHpufmypg+erIExEKUmsgmhDTyhcJ38oeKGACXohU= +github.com/go-playground/validator/v10 v10.11.2/go.mod h1:NieE624vt4SCTJtD87arVLvdmjPAeV8BQlHtMnw9D7s= github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGKFlFgcHWWmHQjg= github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= github.com/go-resty/resty/v2 v2.7.0 h1:me+K9p3uhSmXtrBZ4k9jcEAfJmuC8IivWHwaLZwPrFY= @@ -387,8 +385,8 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= @@ -580,8 +578,8 @@ github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcME github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= -github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= +github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= @@ -956,8 +954,8 @@ golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE= -golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc= +golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo= +golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1050,8 +1048,8 @@ golang.org/x/net v0.0.0-20211105192438-b53810dc28af/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= -golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= +golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= +golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1072,8 +1070,8 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610= -golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1152,9 +1150,8 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= -golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= +golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= @@ -1168,8 +1165,8 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0= -golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= From 826c06572daad0e29e2803664d458a5da294777a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A1=80=E5=B0=BC=E9=BE=9F?= <365252428@qq.com> Date: Mon, 26 May 2025 09:13:15 +0800 Subject: [PATCH 19/27] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B7=AF=E7=94=B1?= 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 843ab2b..96321ce 100644 --- a/pkg/router/router.go +++ b/pkg/router/router.go @@ -29,7 +29,7 @@ func NewRouter() *gin.Engine { privateGroup := r.Group("api") privateGroup.Use(middleware.NewLogger(), middleware.Cors(), middleware.GinRecovery(true)) //加入日志中间件,跨域中间件 - v1 := r.Group("api") + v1 := r.Group("api/fiee") GiteaRoute(v1) v1.GET("test", func(c *gin.Context) { From 9693306b5d0e63dd6b4b3bd0bf70345565c3d615 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A1=80=E5=B0=BC=E9=BE=9F?= <365252428@qq.com> Date: Mon, 26 May 2025 09:17:41 +0800 Subject: [PATCH 20/27] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B7=AF=E7=94=B1?= 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 96321ce..62c4f6f 100644 --- a/pkg/router/router.go +++ b/pkg/router/router.go @@ -26,7 +26,7 @@ func NewRouter() *gin.Engine { r.Use(gzip.Gzip(gzip.BestSpeed)) // 中间件占用绝大部分内存 //加入日志中间件,跨域中间件 r.Use(middleware.NewLogger(), middleware.Cors(), middleware.GinRecovery(true)) - privateGroup := r.Group("api") + privateGroup := r.Group("api/fiee") privateGroup.Use(middleware.NewLogger(), middleware.Cors(), middleware.GinRecovery(true)) //加入日志中间件,跨域中间件 v1 := r.Group("api/fiee") From 3df1e05aef7e7fe996a1e89080b1b15ca295a4e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A1=80=E5=B0=BC=E9=BE=9F?= <365252428@qq.com> Date: Mon, 26 May 2025 16:31:38 +0800 Subject: [PATCH 21/27] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/account/account.pb.go | 7584 +++++++------ api/account/account.proto | 400 +- api/account/account.validator.pb.go | 165 +- api/account/account_triple.pb.go | 2312 +++- api/accountFiee/accountFiee.pb.go | 10455 ++++++++++++++++++ api/accountFiee/accountFiee.proto | 820 ++ api/accountFiee/accountFiee.validator.pb.go | 524 + api/accountFiee/accountFiee_triple.pb.go | 1859 ++++ conf/dubbogo.yaml | 10 +- docs/dev/dubbogo.yaml | 10 +- docs/prod/dubbogo.yaml | 10 +- go.mod | 51 +- go.sum | 66 +- pkg/e/code.go | 13 +- pkg/e/msg.go | 2 + pkg/e/oa_msg.go | 1093 ++ pkg/logic/language.go | 132 + pkg/middleware/check_login.go | 115 +- pkg/model/middleware.go | 18 + pkg/router/bundleOrder.go | 14 +- pkg/router/router.go | 10 +- pkg/router/valueAddBundle.go | 2 +- pkg/serializer/common.go | 25 + pkg/service/account/account.go | 34 +- pkg/service/approval/model/oa_type.go | 283 + pkg/service/base.go | 55 + pkg/service/bundle/bundleOrder.go | 6 +- pkg/service/init.go | 9 +- pkg/utils/secret/aes/aes.go | 77 + pkg/utils/secret/aes/aes_test.go | 36 + pkg/utils/secret/secret.go | 105 + pkg/utils/secret/secret_test.go | 58 + 32 files changed, 22488 insertions(+), 3865 deletions(-) create mode 100644 api/accountFiee/accountFiee.pb.go create mode 100644 api/accountFiee/accountFiee.proto create mode 100644 api/accountFiee/accountFiee.validator.pb.go create mode 100644 api/accountFiee/accountFiee_triple.pb.go create mode 100644 pkg/e/oa_msg.go create mode 100644 pkg/logic/language.go create mode 100644 pkg/model/middleware.go create mode 100644 pkg/serializer/common.go create mode 100644 pkg/service/approval/model/oa_type.go create mode 100644 pkg/utils/secret/aes/aes.go create mode 100644 pkg/utils/secret/aes/aes_test.go create mode 100644 pkg/utils/secret/secret.go create mode 100644 pkg/utils/secret/secret_test.go diff --git a/api/account/account.pb.go b/api/account/account.pb.go index bf59432..51fe8f9 100644 --- a/api/account/account.pb.go +++ b/api/account/account.pb.go @@ -16,8 +16,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v4.24.0--rc1 +// protoc-gen-go v1.29.1 +// protoc v3.21.12 // source: api/account/account.proto package account @@ -37,16 +37,18 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -type VerifySliderStatusRequest struct { +type CheckBeforeRegisterRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - NonceStr string `protobuf:"bytes,1,opt,name=nonceStr,proto3" json:"nonceStr"` + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + JobNum string `protobuf:"bytes,2,opt,name=jobNum,proto3" json:"jobNum,omitempty"` + TelNum string `protobuf:"bytes,3,opt,name=telNum,proto3" json:"telNum,omitempty"` } -func (x *VerifySliderStatusRequest) Reset() { - *x = VerifySliderStatusRequest{} +func (x *CheckBeforeRegisterRequest) Reset() { + *x = CheckBeforeRegisterRequest{} if protoimpl.UnsafeEnabled { mi := &file_api_account_account_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -54,13 +56,13 @@ func (x *VerifySliderStatusRequest) Reset() { } } -func (x *VerifySliderStatusRequest) String() string { +func (x *CheckBeforeRegisterRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*VerifySliderStatusRequest) ProtoMessage() {} +func (*CheckBeforeRegisterRequest) ProtoMessage() {} -func (x *VerifySliderStatusRequest) ProtoReflect() protoreflect.Message { +func (x *CheckBeforeRegisterRequest) ProtoReflect() protoreflect.Message { mi := &file_api_account_account_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -72,29 +74,46 @@ func (x *VerifySliderStatusRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use VerifySliderStatusRequest.ProtoReflect.Descriptor instead. -func (*VerifySliderStatusRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use CheckBeforeRegisterRequest.ProtoReflect.Descriptor instead. +func (*CheckBeforeRegisterRequest) Descriptor() ([]byte, []int) { return file_api_account_account_proto_rawDescGZIP(), []int{0} } -func (x *VerifySliderStatusRequest) GetNonceStr() string { +func (x *CheckBeforeRegisterRequest) GetDomain() string { if x != nil { - return x.NonceStr + return x.Domain } return "" } -type VerifySliderStatusResponse struct { +func (x *CheckBeforeRegisterRequest) GetJobNum() string { + if x != nil { + return x.JobNum + } + return "" +} + +func (x *CheckBeforeRegisterRequest) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +type SampleAccountRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - NonceStr string `protobuf:"bytes,1,opt,name=nonceStr,proto3" json:"nonceStr"` - Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` + Code string `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"` + From string `protobuf:"bytes,4,opt,name=from,proto3" json:"from,omitempty"` + TelNum string `protobuf:"bytes,5,opt,name=telNum,proto3" json:"telNum,omitempty"` } -func (x *VerifySliderStatusResponse) Reset() { - *x = VerifySliderStatusResponse{} +func (x *SampleAccountRequest) Reset() { + *x = SampleAccountRequest{} if protoimpl.UnsafeEnabled { mi := &file_api_account_account_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -102,13 +121,13 @@ func (x *VerifySliderStatusResponse) Reset() { } } -func (x *VerifySliderStatusResponse) String() string { +func (x *SampleAccountRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*VerifySliderStatusResponse) ProtoMessage() {} +func (*SampleAccountRequest) ProtoMessage() {} -func (x *VerifySliderStatusResponse) ProtoReflect() protoreflect.Message { +func (x *SampleAccountRequest) ProtoReflect() protoreflect.Message { mi := &file_api_account_account_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -120,40 +139,57 @@ func (x *VerifySliderStatusResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use VerifySliderStatusResponse.ProtoReflect.Descriptor instead. -func (*VerifySliderStatusResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use SampleAccountRequest.ProtoReflect.Descriptor instead. +func (*SampleAccountRequest) Descriptor() ([]byte, []int) { return file_api_account_account_proto_rawDescGZIP(), []int{1} } -func (x *VerifySliderStatusResponse) GetNonceStr() string { +func (x *SampleAccountRequest) GetDomain() string { if x != nil { - return x.NonceStr + return x.Domain } return "" } -func (x *VerifySliderStatusResponse) GetStatus() int32 { +func (x *SampleAccountRequest) GetPassword() string { if x != nil { - return x.Status + return x.Password } - return 0 + return "" } -type SendNationMsgRequest struct { +func (x *SampleAccountRequest) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +func (x *SampleAccountRequest) GetFrom() string { + if x != nil { + return x.From + } + return "" +} + +func (x *SampleAccountRequest) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +type SampleAccountResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain"` - TelNum string `protobuf:"bytes,2,opt,name=TelNum,json=telNum,proto3" json:"TelNum"` - Project string `protobuf:"bytes,3,opt,name=Project,json=project,proto3" json:"Project"` - SignNo uint32 `protobuf:"varint,4,opt,name=signNo,proto3" json:"signNo"` - MId uint32 `protobuf:"varint,5,opt,name=mId,proto3" json:"mId"` - Scope string `protobuf:"bytes,6,opt,name=scope,proto3" json:"scope"` //标记模块 + IsNowAlreadyLogin bool `protobuf:"varint,1,opt,name=isNowAlreadyLogin,proto3" json:"isNowAlreadyLogin,omitempty"` + Num uint32 `protobuf:"varint,2,opt,name=num,proto3" json:"num,omitempty"` // 同时在线的数量 } -func (x *SendNationMsgRequest) Reset() { - *x = SendNationMsgRequest{} +func (x *SampleAccountResponse) Reset() { + *x = SampleAccountResponse{} if protoimpl.UnsafeEnabled { mi := &file_api_account_account_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -161,13 +197,13 @@ func (x *SendNationMsgRequest) Reset() { } } -func (x *SendNationMsgRequest) String() string { +func (x *SampleAccountResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SendNationMsgRequest) ProtoMessage() {} +func (*SampleAccountResponse) ProtoMessage() {} -func (x *SendNationMsgRequest) ProtoReflect() protoreflect.Message { +func (x *SampleAccountResponse) ProtoReflect() protoreflect.Message { mi := &file_api_account_account_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -179,63 +215,36 @@ func (x *SendNationMsgRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SendNationMsgRequest.ProtoReflect.Descriptor instead. -func (*SendNationMsgRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use SampleAccountResponse.ProtoReflect.Descriptor instead. +func (*SampleAccountResponse) Descriptor() ([]byte, []int) { return file_api_account_account_proto_rawDescGZIP(), []int{2} } -func (x *SendNationMsgRequest) GetDomain() string { +func (x *SampleAccountResponse) GetIsNowAlreadyLogin() bool { if x != nil { - return x.Domain + return x.IsNowAlreadyLogin } - return "" + return false } -func (x *SendNationMsgRequest) GetTelNum() string { +func (x *SampleAccountResponse) GetNum() uint32 { if x != nil { - return x.TelNum - } - return "" -} - -func (x *SendNationMsgRequest) GetProject() string { - if x != nil { - return x.Project - } - return "" -} - -func (x *SendNationMsgRequest) GetSignNo() uint32 { - if x != nil { - return x.SignNo + return x.Num } return 0 } -func (x *SendNationMsgRequest) GetMId() uint32 { - if x != nil { - return x.MId - } - return 0 -} - -func (x *SendNationMsgRequest) GetScope() string { - if x != nil { - return x.Scope - } - return "" -} - -type VerifySliderCaptchaResponse struct { +type LoginAndSqueezeOtherResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - NonceStr string `protobuf:"bytes,1,opt,name=nonceStr,proto3" json:"nonceStr"` + NeedDetectImageUrl string `protobuf:"bytes,1,opt,name=needDetectImageUrl,proto3" json:"needDetectImageUrl,omitempty"` + RecentImageUrl string `protobuf:"bytes,2,opt,name=recentImageUrl,proto3" json:"recentImageUrl,omitempty"` } -func (x *VerifySliderCaptchaResponse) Reset() { - *x = VerifySliderCaptchaResponse{} +func (x *LoginAndSqueezeOtherResponse) Reset() { + *x = LoginAndSqueezeOtherResponse{} if protoimpl.UnsafeEnabled { mi := &file_api_account_account_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -243,13 +252,13 @@ func (x *VerifySliderCaptchaResponse) Reset() { } } -func (x *VerifySliderCaptchaResponse) String() string { +func (x *LoginAndSqueezeOtherResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*VerifySliderCaptchaResponse) ProtoMessage() {} +func (*LoginAndSqueezeOtherResponse) ProtoMessage() {} -func (x *VerifySliderCaptchaResponse) ProtoReflect() protoreflect.Message { +func (x *LoginAndSqueezeOtherResponse) ProtoReflect() protoreflect.Message { mi := &file_api_account_account_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -261,29 +270,37 @@ func (x *VerifySliderCaptchaResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use VerifySliderCaptchaResponse.ProtoReflect.Descriptor instead. -func (*VerifySliderCaptchaResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use LoginAndSqueezeOtherResponse.ProtoReflect.Descriptor instead. +func (*LoginAndSqueezeOtherResponse) Descriptor() ([]byte, []int) { return file_api_account_account_proto_rawDescGZIP(), []int{3} } -func (x *VerifySliderCaptchaResponse) GetNonceStr() string { +func (x *LoginAndSqueezeOtherResponse) GetNeedDetectImageUrl() string { if x != nil { - return x.NonceStr + return x.NeedDetectImageUrl } return "" } -type VerifySliderCaptchaRequest struct { +func (x *LoginAndSqueezeOtherResponse) GetRecentImageUrl() string { + if x != nil { + return x.RecentImageUrl + } + return "" +} + +type IsSamePersonResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - NonceStr string `protobuf:"bytes,1,opt,name=nonceStr,proto3" json:"nonceStr"` - BlockX float32 `protobuf:"fixed32,2,opt,name=blockX,proto3" json:"blockX"` + IsPass bool `protobuf:"varint,1,opt,name=isPass,proto3" json:"isPass,omitempty"` + Rate uint32 `protobuf:"varint,2,opt,name=rate,proto3" json:"rate,omitempty"` //相似度 + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` //相似度 } -func (x *VerifySliderCaptchaRequest) Reset() { - *x = VerifySliderCaptchaRequest{} +func (x *IsSamePersonResponse) Reset() { + *x = IsSamePersonResponse{} if protoimpl.UnsafeEnabled { mi := &file_api_account_account_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -291,13 +308,13 @@ func (x *VerifySliderCaptchaRequest) Reset() { } } -func (x *VerifySliderCaptchaRequest) String() string { +func (x *IsSamePersonResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*VerifySliderCaptchaRequest) ProtoMessage() {} +func (*IsSamePersonResponse) ProtoMessage() {} -func (x *VerifySliderCaptchaRequest) ProtoReflect() protoreflect.Message { +func (x *IsSamePersonResponse) ProtoReflect() protoreflect.Message { mi := &file_api_account_account_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -309,40 +326,43 @@ func (x *VerifySliderCaptchaRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use VerifySliderCaptchaRequest.ProtoReflect.Descriptor instead. -func (*VerifySliderCaptchaRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use IsSamePersonResponse.ProtoReflect.Descriptor instead. +func (*IsSamePersonResponse) Descriptor() ([]byte, []int) { return file_api_account_account_proto_rawDescGZIP(), []int{4} } -func (x *VerifySliderCaptchaRequest) GetNonceStr() string { +func (x *IsSamePersonResponse) GetIsPass() bool { if x != nil { - return x.NonceStr + return x.IsPass } - return "" + return false } -func (x *VerifySliderCaptchaRequest) GetBlockX() float32 { +func (x *IsSamePersonResponse) GetRate() uint32 { if x != nil { - return x.BlockX + return x.Rate } return 0 } -type GenerateSliderCaptchaResponse struct { +func (x *IsSamePersonResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +type IsSamePersonRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - NonceStr string `protobuf:"bytes,1,opt,name=nonceStr,proto3" json:"nonceStr"` - CanvasSrc string `protobuf:"bytes,2,opt,name=canvasSrc,proto3" json:"canvasSrc"` - BlockSrc string `protobuf:"bytes,3,opt,name=blockSrc,proto3" json:"blockSrc"` - BlockY uint64 `protobuf:"varint,4,opt,name=blockY,proto3" json:"blockY"` - FaceY uint64 `protobuf:"varint,5,opt,name=faceY,proto3" json:"faceY"` - BlockX uint64 `protobuf:"varint,6,opt,name=blockX,proto3" json:"blockX"` + NeedDetectImageUrl string `protobuf:"bytes,1,opt,name=needDetectImageUrl,proto3" json:"needDetectImageUrl,omitempty"` + RecentImageUrl string `protobuf:"bytes,2,opt,name=recentImageUrl,proto3" json:"recentImageUrl,omitempty"` } -func (x *GenerateSliderCaptchaResponse) Reset() { - *x = GenerateSliderCaptchaResponse{} +func (x *IsSamePersonRequest) Reset() { + *x = IsSamePersonRequest{} if protoimpl.UnsafeEnabled { mi := &file_api_account_account_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -350,13 +370,13 @@ func (x *GenerateSliderCaptchaResponse) Reset() { } } -func (x *GenerateSliderCaptchaResponse) String() string { +func (x *IsSamePersonRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GenerateSliderCaptchaResponse) ProtoMessage() {} +func (*IsSamePersonRequest) ProtoMessage() {} -func (x *GenerateSliderCaptchaResponse) ProtoReflect() protoreflect.Message { +func (x *IsSamePersonRequest) ProtoReflect() protoreflect.Message { mi := &file_api_account_account_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -368,68 +388,36 @@ func (x *GenerateSliderCaptchaResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GenerateSliderCaptchaResponse.ProtoReflect.Descriptor instead. -func (*GenerateSliderCaptchaResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use IsSamePersonRequest.ProtoReflect.Descriptor instead. +func (*IsSamePersonRequest) Descriptor() ([]byte, []int) { return file_api_account_account_proto_rawDescGZIP(), []int{5} } -func (x *GenerateSliderCaptchaResponse) GetNonceStr() string { +func (x *IsSamePersonRequest) GetNeedDetectImageUrl() string { if x != nil { - return x.NonceStr + return x.NeedDetectImageUrl } return "" } -func (x *GenerateSliderCaptchaResponse) GetCanvasSrc() string { +func (x *IsSamePersonRequest) GetRecentImageUrl() string { if x != nil { - return x.CanvasSrc + return x.RecentImageUrl } return "" } -func (x *GenerateSliderCaptchaResponse) GetBlockSrc() string { - if x != nil { - return x.BlockSrc - } - return "" -} - -func (x *GenerateSliderCaptchaResponse) GetBlockY() uint64 { - if x != nil { - return x.BlockY - } - return 0 -} - -func (x *GenerateSliderCaptchaResponse) GetFaceY() uint64 { - if x != nil { - return x.FaceY - } - return 0 -} - -func (x *GenerateSliderCaptchaResponse) GetBlockX() uint64 { - if x != nil { - return x.BlockX - } - return 0 -} - -type GenerateSliderCaptchaRequest struct { +type UpdatePassportStatusRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CanvasWidth uint64 `protobuf:"varint,1,opt,name=canvasWidth,proto3" json:"canvasWidth"` - CanvasHeight uint64 `protobuf:"varint,2,opt,name=canvasHeight,proto3" json:"canvasHeight"` - BlockWidth uint64 `protobuf:"varint,3,opt,name=blockWidth,proto3" json:"blockWidth"` - BlockHeight uint64 `protobuf:"varint,4,opt,name=blockHeight,proto3" json:"blockHeight"` - BlockRadius uint64 `protobuf:"varint,5,opt,name=blockRadius,proto3" json:"blockRadius"` - Place uint64 `protobuf:"varint,6,opt,name=place,proto3" json:"place"` + ID uint32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Status uint32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` } -func (x *GenerateSliderCaptchaRequest) Reset() { - *x = GenerateSliderCaptchaRequest{} +func (x *UpdatePassportStatusRequest) Reset() { + *x = UpdatePassportStatusRequest{} if protoimpl.UnsafeEnabled { mi := &file_api_account_account_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -437,13 +425,13 @@ func (x *GenerateSliderCaptchaRequest) Reset() { } } -func (x *GenerateSliderCaptchaRequest) String() string { +func (x *UpdatePassportStatusRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GenerateSliderCaptchaRequest) ProtoMessage() {} +func (*UpdatePassportStatusRequest) ProtoMessage() {} -func (x *GenerateSliderCaptchaRequest) ProtoReflect() protoreflect.Message { +func (x *UpdatePassportStatusRequest) ProtoReflect() protoreflect.Message { mi := &file_api_account_account_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -455,64 +443,37 @@ func (x *GenerateSliderCaptchaRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GenerateSliderCaptchaRequest.ProtoReflect.Descriptor instead. -func (*GenerateSliderCaptchaRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use UpdatePassportStatusRequest.ProtoReflect.Descriptor instead. +func (*UpdatePassportStatusRequest) Descriptor() ([]byte, []int) { return file_api_account_account_proto_rawDescGZIP(), []int{6} } -func (x *GenerateSliderCaptchaRequest) GetCanvasWidth() uint64 { +func (x *UpdatePassportStatusRequest) GetID() uint32 { if x != nil { - return x.CanvasWidth + return x.ID } return 0 } -func (x *GenerateSliderCaptchaRequest) GetCanvasHeight() uint64 { +func (x *UpdatePassportStatusRequest) GetStatus() uint32 { if x != nil { - return x.CanvasHeight + return x.Status } return 0 } -func (x *GenerateSliderCaptchaRequest) GetBlockWidth() uint64 { - if x != nil { - return x.BlockWidth - } - return 0 -} - -func (x *GenerateSliderCaptchaRequest) GetBlockHeight() uint64 { - if x != nil { - return x.BlockHeight - } - return 0 -} - -func (x *GenerateSliderCaptchaRequest) GetBlockRadius() uint64 { - if x != nil { - return x.BlockRadius - } - return 0 -} - -func (x *GenerateSliderCaptchaRequest) GetPlace() uint64 { - if x != nil { - return x.Place - } - return 0 -} - -type CheckRealNameResponse struct { +type CreateChainAccountResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` - Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status"` + Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + Men string `protobuf:"bytes,2,opt,name=men,proto3" json:"men,omitempty"` + PublicKey string `protobuf:"bytes,3,opt,name=publicKey,proto3" json:"publicKey,omitempty"` } -func (x *CheckRealNameResponse) Reset() { - *x = CheckRealNameResponse{} +func (x *CreateChainAccountResponse) Reset() { + *x = CreateChainAccountResponse{} if protoimpl.UnsafeEnabled { mi := &file_api_account_account_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -520,13 +481,13 @@ func (x *CheckRealNameResponse) Reset() { } } -func (x *CheckRealNameResponse) String() string { +func (x *CreateChainAccountResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CheckRealNameResponse) ProtoMessage() {} +func (*CreateChainAccountResponse) ProtoMessage() {} -func (x *CheckRealNameResponse) ProtoReflect() protoreflect.Message { +func (x *CreateChainAccountResponse) ProtoReflect() protoreflect.Message { mi := &file_api_account_account_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -538,885 +499,28 @@ func (x *CheckRealNameResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CheckRealNameResponse.ProtoReflect.Descriptor instead. -func (*CheckRealNameResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use CreateChainAccountResponse.ProtoReflect.Descriptor instead. +func (*CreateChainAccountResponse) Descriptor() ([]byte, []int) { return file_api_account_account_proto_rawDescGZIP(), []int{7} } -func (x *CheckRealNameResponse) GetId() uint64 { +func (x *CreateChainAccountResponse) GetAccount() string { if x != nil { - return x.Id - } - return 0 -} - -func (x *CheckRealNameResponse) GetStatus() string { - if x != nil { - return x.Status + return x.Account } return "" } -type CheckRealNameRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` - Pass bool `protobuf:"varint,2,opt,name=pass,proto3" json:"pass"` - NotPassRemarks string `protobuf:"bytes,3,opt,name=notPassRemarks,proto3" json:"notPassRemarks"` -} - -func (x *CheckRealNameRequest) Reset() { - *x = CheckRealNameRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CheckRealNameRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CheckRealNameRequest) ProtoMessage() {} - -func (x *CheckRealNameRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_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 CheckRealNameRequest.ProtoReflect.Descriptor instead. -func (*CheckRealNameRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{8} -} - -func (x *CheckRealNameRequest) GetId() uint64 { +func (x *CreateChainAccountResponse) GetMen() string { if x != nil { - return x.Id - } - return 0 -} - -func (x *CheckRealNameRequest) GetPass() bool { - if x != nil { - return x.Pass - } - return false -} - -func (x *CheckRealNameRequest) GetNotPassRemarks() string { - if x != nil { - return x.NotPassRemarks + return x.Men } return "" } -type UserListResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Count uint64 `protobuf:"varint,1,opt,name=count,proto3" json:"count"` - Page uint64 `protobuf:"varint,2,opt,name=page,proto3" json:"page"` - PageSize uint64 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize"` - UserList []*UserListInfo `protobuf:"bytes,4,rep,name=userList,proto3" json:"userList"` -} - -func (x *UserListResponse) Reset() { - *x = UserListResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserListResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserListResponse) ProtoMessage() {} - -func (x *UserListResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_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 UserListResponse.ProtoReflect.Descriptor instead. -func (*UserListResponse) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{9} -} - -func (x *UserListResponse) GetCount() uint64 { +func (x *CreateChainAccountResponse) GetPublicKey() string { if x != nil { - return x.Count - } - return 0 -} - -func (x *UserListResponse) GetPage() uint64 { - if x != nil { - return x.Page - } - return 0 -} - -func (x *UserListResponse) GetPageSize() uint64 { - if x != nil { - return x.PageSize - } - return 0 -} - -func (x *UserListResponse) GetUserList() []*UserListInfo { - if x != nil { - return x.UserList - } - return nil -} - -type UserListInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` - Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name"` - Sex string `protobuf:"bytes,4,opt,name=sex,proto3" json:"sex"` - Nationality string `protobuf:"bytes,5,opt,name=nationality,proto3" json:"nationality"` - DocumentType int32 `protobuf:"varint,6,opt,name=documentType,proto3" json:"documentType"` - CertificatePicture string `protobuf:"bytes,7,opt,name=certificatePicture,proto3" json:"certificatePicture"` - Validity string `protobuf:"bytes,8,opt,name=validity,proto3" json:"validity"` - PlaceOfResidence string `protobuf:"bytes,9,opt,name=placeOfResidence,proto3" json:"placeOfResidence"` - GroupPhoto string `protobuf:"bytes,10,opt,name=groupPhoto,proto3" json:"groupPhoto"` - Attachment string `protobuf:"bytes,11,opt,name=attachment,proto3" json:"attachment"` - RegistrationTime string `protobuf:"bytes,12,opt,name=registrationTime,proto3" json:"registrationTime"` - AuditTime string `protobuf:"bytes,13,opt,name=auditTime,proto3" json:"auditTime"` - SubNum string `protobuf:"bytes,14,opt,name=subNum,proto3" json:"subNum"` - NotPassRemarks string `protobuf:"bytes,15,opt,name=notPassRemarks,proto3" json:"notPassRemarks"` - TelNum string `protobuf:"bytes,16,opt,name=telNum,proto3" json:"telNum"` - TelAreaCode string `protobuf:"bytes,17,opt,name=telAreaCode,proto3" json:"telAreaCode"` - Language string `protobuf:"bytes,18,opt,name=language,proto3" json:"language"` - SubscriberNumber string `protobuf:"bytes,19,opt,name=subscriberNumber,proto3" json:"subscriberNumber"` - NickName string `protobuf:"bytes,20,opt,name=nickName,proto3" json:"nickName"` -} - -func (x *UserListInfo) Reset() { - *x = UserListInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserListInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserListInfo) ProtoMessage() {} - -func (x *UserListInfo) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_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 UserListInfo.ProtoReflect.Descriptor instead. -func (*UserListInfo) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{10} -} - -func (x *UserListInfo) GetId() uint64 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *UserListInfo) GetStatus() int32 { - if x != nil { - return x.Status - } - return 0 -} - -func (x *UserListInfo) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *UserListInfo) GetSex() string { - if x != nil { - return x.Sex - } - return "" -} - -func (x *UserListInfo) GetNationality() string { - if x != nil { - return x.Nationality - } - return "" -} - -func (x *UserListInfo) GetDocumentType() int32 { - if x != nil { - return x.DocumentType - } - return 0 -} - -func (x *UserListInfo) GetCertificatePicture() string { - if x != nil { - return x.CertificatePicture - } - return "" -} - -func (x *UserListInfo) GetValidity() string { - if x != nil { - return x.Validity - } - return "" -} - -func (x *UserListInfo) GetPlaceOfResidence() string { - if x != nil { - return x.PlaceOfResidence - } - return "" -} - -func (x *UserListInfo) GetGroupPhoto() string { - if x != nil { - return x.GroupPhoto - } - return "" -} - -func (x *UserListInfo) GetAttachment() string { - if x != nil { - return x.Attachment - } - return "" -} - -func (x *UserListInfo) GetRegistrationTime() string { - if x != nil { - return x.RegistrationTime - } - return "" -} - -func (x *UserListInfo) GetAuditTime() string { - if x != nil { - return x.AuditTime - } - return "" -} - -func (x *UserListInfo) GetSubNum() string { - if x != nil { - return x.SubNum - } - return "" -} - -func (x *UserListInfo) GetNotPassRemarks() string { - if x != nil { - return x.NotPassRemarks - } - return "" -} - -func (x *UserListInfo) GetTelNum() string { - if x != nil { - return x.TelNum - } - return "" -} - -func (x *UserListInfo) GetTelAreaCode() string { - if x != nil { - return x.TelAreaCode - } - return "" -} - -func (x *UserListInfo) GetLanguage() string { - if x != nil { - return x.Language - } - return "" -} - -func (x *UserListInfo) GetSubscriberNumber() string { - if x != nil { - return x.SubscriberNumber - } - return "" -} - -func (x *UserListInfo) GetNickName() string { - if x != nil { - return x.NickName - } - return "" -} - -type UserListRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain"` - SubNum string `protobuf:"bytes,2,opt,name=subNum,proto3" json:"subNum"` - RealNameOrNot int32 `protobuf:"varint,3,opt,name=realNameOrNot,proto3" json:"realNameOrNot"` - Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name"` - Sex string `protobuf:"bytes,5,opt,name=sex,proto3" json:"sex"` - DocumentType int32 `protobuf:"varint,6,opt,name=documentType,proto3" json:"documentType"` - AuditStatus int32 `protobuf:"varint,7,opt,name=auditStatus,proto3" json:"auditStatus"` - Page uint64 `protobuf:"varint,8,opt,name=page,proto3" json:"page"` - PageSize uint64 `protobuf:"varint,9,opt,name=pageSize,proto3" json:"pageSize"` -} - -func (x *UserListRequest) Reset() { - *x = UserListRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserListRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserListRequest) ProtoMessage() {} - -func (x *UserListRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_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 UserListRequest.ProtoReflect.Descriptor instead. -func (*UserListRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{11} -} - -func (x *UserListRequest) GetDomain() string { - if x != nil { - return x.Domain - } - return "" -} - -func (x *UserListRequest) GetSubNum() string { - if x != nil { - return x.SubNum - } - return "" -} - -func (x *UserListRequest) GetRealNameOrNot() int32 { - if x != nil { - return x.RealNameOrNot - } - return 0 -} - -func (x *UserListRequest) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *UserListRequest) GetSex() string { - if x != nil { - return x.Sex - } - return "" -} - -func (x *UserListRequest) GetDocumentType() int32 { - if x != nil { - return x.DocumentType - } - return 0 -} - -func (x *UserListRequest) GetAuditStatus() int32 { - if x != nil { - return x.AuditStatus - } - return 0 -} - -func (x *UserListRequest) GetPage() uint64 { - if x != nil { - return x.Page - } - return 0 -} - -func (x *UserListRequest) GetPageSize() uint64 { - if x != nil { - return x.PageSize - } - return 0 -} - -type UserInfoResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` - Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name"` - Sex string `protobuf:"bytes,4,opt,name=sex,proto3" json:"sex"` - Nationality string `protobuf:"bytes,5,opt,name=nationality,proto3" json:"nationality"` - DocumentType int32 `protobuf:"varint,6,opt,name=documentType,proto3" json:"documentType"` - CertificatePicture string `protobuf:"bytes,7,opt,name=certificatePicture,proto3" json:"certificatePicture"` - Validity string `protobuf:"bytes,8,opt,name=validity,proto3" json:"validity"` - PlaceOfResidence string `protobuf:"bytes,9,opt,name=placeOfResidence,proto3" json:"placeOfResidence"` - GroupPhoto string `protobuf:"bytes,10,opt,name=groupPhoto,proto3" json:"groupPhoto"` - Attachment string `protobuf:"bytes,11,opt,name=attachment,proto3" json:"attachment"` - SubNum string `protobuf:"bytes,12,opt,name=subNum,proto3" json:"subNum"` - NotPassRemarks string `protobuf:"bytes,13,opt,name=notPassRemarks,proto3" json:"notPassRemarks"` - Domain string `protobuf:"bytes,14,opt,name=domain,proto3" json:"domain"` - Language string `protobuf:"bytes,15,opt,name=language,proto3" json:"language"` - SubscriberNumber string `protobuf:"bytes,16,opt,name=subscriberNumber,proto3" json:"subscriberNumber"` - NickName string `protobuf:"bytes,17,opt,name=nickName,proto3" json:"nickName"` - TelNum string `protobuf:"bytes,18,opt,name=telNum,proto3" json:"telNum"` -} - -func (x *UserInfoResponse) Reset() { - *x = UserInfoResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserInfoResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserInfoResponse) ProtoMessage() {} - -func (x *UserInfoResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_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 UserInfoResponse.ProtoReflect.Descriptor instead. -func (*UserInfoResponse) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{12} -} - -func (x *UserInfoResponse) GetId() uint64 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *UserInfoResponse) GetStatus() int32 { - if x != nil { - return x.Status - } - return 0 -} - -func (x *UserInfoResponse) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *UserInfoResponse) GetSex() string { - if x != nil { - return x.Sex - } - return "" -} - -func (x *UserInfoResponse) GetNationality() string { - if x != nil { - return x.Nationality - } - return "" -} - -func (x *UserInfoResponse) GetDocumentType() int32 { - if x != nil { - return x.DocumentType - } - return 0 -} - -func (x *UserInfoResponse) GetCertificatePicture() string { - if x != nil { - return x.CertificatePicture - } - return "" -} - -func (x *UserInfoResponse) GetValidity() string { - if x != nil { - return x.Validity - } - return "" -} - -func (x *UserInfoResponse) GetPlaceOfResidence() string { - if x != nil { - return x.PlaceOfResidence - } - return "" -} - -func (x *UserInfoResponse) GetGroupPhoto() string { - if x != nil { - return x.GroupPhoto - } - return "" -} - -func (x *UserInfoResponse) GetAttachment() string { - if x != nil { - return x.Attachment - } - return "" -} - -func (x *UserInfoResponse) GetSubNum() string { - if x != nil { - return x.SubNum - } - return "" -} - -func (x *UserInfoResponse) GetNotPassRemarks() string { - if x != nil { - return x.NotPassRemarks - } - return "" -} - -func (x *UserInfoResponse) GetDomain() string { - if x != nil { - return x.Domain - } - return "" -} - -func (x *UserInfoResponse) GetLanguage() string { - if x != nil { - return x.Language - } - return "" -} - -func (x *UserInfoResponse) GetSubscriberNumber() string { - if x != nil { - return x.SubscriberNumber - } - return "" -} - -func (x *UserInfoResponse) GetNickName() string { - if x != nil { - return x.NickName - } - return "" -} - -func (x *UserInfoResponse) GetTelNum() string { - if x != nil { - return x.TelNum - } - return "" -} - -type RealNameResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` - Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status"` -} - -func (x *RealNameResponse) Reset() { - *x = RealNameResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RealNameResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RealNameResponse) ProtoMessage() {} - -func (x *RealNameResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_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 RealNameResponse.ProtoReflect.Descriptor instead. -func (*RealNameResponse) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{13} -} - -func (x *RealNameResponse) GetId() uint64 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *RealNameResponse) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -type RealNameRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` - Sex string `protobuf:"bytes,3,opt,name=sex,proto3" json:"sex"` - Nationality string `protobuf:"bytes,4,opt,name=nationality,proto3" json:"nationality"` - DocumentType int32 `protobuf:"varint,5,opt,name=documentType,proto3" json:"documentType"` - CertificatePicture string `protobuf:"bytes,6,opt,name=certificatePicture,proto3" json:"certificatePicture"` - Validity string `protobuf:"bytes,7,opt,name=validity,proto3" json:"validity"` - PlaceOfResidence string `protobuf:"bytes,8,opt,name=placeOfResidence,proto3" json:"placeOfResidence"` - GroupPhoto string `protobuf:"bytes,9,opt,name=groupPhoto,proto3" json:"groupPhoto"` - Attachment string `protobuf:"bytes,10,opt,name=attachment,proto3" json:"attachment"` -} - -func (x *RealNameRequest) Reset() { - *x = RealNameRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RealNameRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RealNameRequest) ProtoMessage() {} - -func (x *RealNameRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_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 RealNameRequest.ProtoReflect.Descriptor instead. -func (*RealNameRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{14} -} - -func (x *RealNameRequest) GetId() uint64 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *RealNameRequest) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *RealNameRequest) GetSex() string { - if x != nil { - return x.Sex - } - return "" -} - -func (x *RealNameRequest) GetNationality() string { - if x != nil { - return x.Nationality - } - return "" -} - -func (x *RealNameRequest) GetDocumentType() int32 { - if x != nil { - return x.DocumentType - } - return 0 -} - -func (x *RealNameRequest) GetCertificatePicture() string { - if x != nil { - return x.CertificatePicture - } - return "" -} - -func (x *RealNameRequest) GetValidity() string { - if x != nil { - return x.Validity - } - return "" -} - -func (x *RealNameRequest) GetPlaceOfResidence() string { - if x != nil { - return x.PlaceOfResidence - } - return "" -} - -func (x *RealNameRequest) GetGroupPhoto() string { - if x != nil { - return x.GroupPhoto - } - return "" -} - -func (x *RealNameRequest) GetAttachment() string { - if x != nil { - return x.Attachment - } - return "" -} - -type RegisterResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID"` - Status uint64 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` - Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token"` -} - -func (x *RegisterResponse) Reset() { - *x = RegisterResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RegisterResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RegisterResponse) ProtoMessage() {} - -func (x *RegisterResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_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 RegisterResponse.ProtoReflect.Descriptor instead. -func (*RegisterResponse) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{15} -} - -func (x *RegisterResponse) GetID() uint64 { - if x != nil { - return x.ID - } - return 0 -} - -func (x *RegisterResponse) GetStatus() uint64 { - if x != nil { - return x.Status - } - return 0 -} - -func (x *RegisterResponse) GetToken() string { - if x != nil { - return x.Token + return x.PublicKey } return "" } @@ -1426,14 +530,14 @@ type UsersByJobNumRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain"` - JobNum []string `protobuf:"bytes,2,rep,name=jobNum,proto3" json:"jobNum"` + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + JobNum []string `protobuf:"bytes,2,rep,name=jobNum,proto3" json:"jobNum,omitempty"` } func (x *UsersByJobNumRequest) Reset() { *x = UsersByJobNumRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[16] + mi := &file_api_account_account_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1446,7 +550,7 @@ func (x *UsersByJobNumRequest) String() string { func (*UsersByJobNumRequest) ProtoMessage() {} func (x *UsersByJobNumRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[16] + mi := &file_api_account_account_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1459,7 +563,7 @@ func (x *UsersByJobNumRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UsersByJobNumRequest.ProtoReflect.Descriptor instead. func (*UsersByJobNumRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{16} + return file_api_account_account_proto_rawDescGZIP(), []int{8} } func (x *UsersByJobNumRequest) GetDomain() string { @@ -1481,15 +585,15 @@ type QueryPersonnelWithTheSameNameRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Names []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names"` - Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain"` - Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status"` + Names []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"` + Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` + Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` } func (x *QueryPersonnelWithTheSameNameRequest) Reset() { *x = QueryPersonnelWithTheSameNameRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[17] + mi := &file_api_account_account_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1502,7 +606,7 @@ func (x *QueryPersonnelWithTheSameNameRequest) String() string { func (*QueryPersonnelWithTheSameNameRequest) ProtoMessage() {} func (x *QueryPersonnelWithTheSameNameRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[17] + mi := &file_api_account_account_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1515,7 +619,7 @@ func (x *QueryPersonnelWithTheSameNameRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use QueryPersonnelWithTheSameNameRequest.ProtoReflect.Descriptor instead. func (*QueryPersonnelWithTheSameNameRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{17} + return file_api_account_account_proto_rawDescGZIP(), []int{9} } func (x *QueryPersonnelWithTheSameNameRequest) GetNames() []string { @@ -1544,14 +648,14 @@ type QueryPersonnelWithTheSameNameResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Names []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names"` - Count uint64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` + Names []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"` + Count uint64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` } func (x *QueryPersonnelWithTheSameNameResponse) Reset() { *x = QueryPersonnelWithTheSameNameResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[18] + mi := &file_api_account_account_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1564,7 +668,7 @@ func (x *QueryPersonnelWithTheSameNameResponse) String() string { func (*QueryPersonnelWithTheSameNameResponse) ProtoMessage() {} func (x *QueryPersonnelWithTheSameNameResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[18] + mi := &file_api_account_account_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1577,7 +681,7 @@ func (x *QueryPersonnelWithTheSameNameResponse) ProtoReflect() protoreflect.Mess // Deprecated: Use QueryPersonnelWithTheSameNameResponse.ProtoReflect.Descriptor instead. func (*QueryPersonnelWithTheSameNameResponse) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{18} + return file_api_account_account_proto_rawDescGZIP(), []int{10} } func (x *QueryPersonnelWithTheSameNameResponse) GetNames() []string { @@ -1599,30 +703,31 @@ type ListV2Request struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain"` - PageSize uint64 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize"` - Page uint64 `protobuf:"varint,3,opt,name=page,proto3" json:"page"` - Key string `protobuf:"bytes,4,opt,name=key,proto3" json:"key"` - NickName string `protobuf:"bytes,5,opt,name=nickName,proto3" json:"nickName"` - TelNum string `protobuf:"bytes,6,opt,name=telNum,proto3" json:"telNum"` - Status string `protobuf:"bytes,7,opt,name=status,proto3" json:"status"` - PositionName string `protobuf:"bytes,8,opt,name=positionName,proto3" json:"positionName"` - JobNum string `protobuf:"bytes,9,opt,name=jobNum,proto3" json:"jobNum"` - MailAccount string `protobuf:"bytes,10,opt,name=mailAccount,proto3" json:"mailAccount"` - StartEnterDate string `protobuf:"bytes,11,opt,name=startEnterDate,proto3" json:"startEnterDate"` - EndEnterDate string `protobuf:"bytes,12,opt,name=endEnterDate,proto3" json:"endEnterDate"` - PositionId uint32 `protobuf:"varint,13,opt,name=positionId,proto3" json:"positionId"` - DepartmentId uint32 `protobuf:"varint,14,opt,name=departmentId,proto3" json:"departmentId"` - DepartmentName string `protobuf:"bytes,15,opt,name=departmentName,proto3" json:"departmentName"` - DepartmentNames []string `protobuf:"bytes,16,rep,name=departmentNames,proto3" json:"departmentNames"` - PositionIds []uint32 `protobuf:"varint,17,rep,packed,name=positionIds,proto3" json:"positionIds"` - DepartmentIds []uint32 `protobuf:"varint,18,rep,packed,name=departmentIds,proto3" json:"departmentIds"` + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + PageSize uint64 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize,omitempty"` + Page uint64 `protobuf:"varint,3,opt,name=page,proto3" json:"page,omitempty"` + Key string `protobuf:"bytes,4,opt,name=key,proto3" json:"key,omitempty"` + NickName string `protobuf:"bytes,5,opt,name=nickName,proto3" json:"nickName,omitempty"` + TelNum string `protobuf:"bytes,6,opt,name=telNum,proto3" json:"telNum,omitempty"` + Status string `protobuf:"bytes,7,opt,name=status,proto3" json:"status,omitempty"` + PositionName string `protobuf:"bytes,8,opt,name=positionName,proto3" json:"positionName,omitempty"` + JobNum string `protobuf:"bytes,9,opt,name=jobNum,proto3" json:"jobNum,omitempty"` + MailAccount string `protobuf:"bytes,10,opt,name=mailAccount,proto3" json:"mailAccount,omitempty"` + StartEnterDate string `protobuf:"bytes,11,opt,name=startEnterDate,proto3" json:"startEnterDate,omitempty"` + EndEnterDate string `protobuf:"bytes,12,opt,name=endEnterDate,proto3" json:"endEnterDate,omitempty"` + PositionId uint32 `protobuf:"varint,13,opt,name=positionId,proto3" json:"positionId,omitempty"` + DepartmentId uint32 `protobuf:"varint,14,opt,name=departmentId,proto3" json:"departmentId,omitempty"` + DepartmentName string `protobuf:"bytes,15,opt,name=departmentName,proto3" json:"departmentName,omitempty"` + DepartmentNames []string `protobuf:"bytes,16,rep,name=departmentNames,proto3" json:"departmentNames,omitempty"` + PositionIds []uint32 `protobuf:"varint,17,rep,packed,name=positionIds,proto3" json:"positionIds,omitempty"` + DepartmentIds []uint32 `protobuf:"varint,18,rep,packed,name=departmentIds,proto3" json:"departmentIds,omitempty"` + FatherDepartmentId uint32 `protobuf:"varint,19,opt,name=fatherDepartmentId,proto3" json:"fatherDepartmentId,omitempty"` } func (x *ListV2Request) Reset() { *x = ListV2Request{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[19] + mi := &file_api_account_account_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1635,7 +740,7 @@ func (x *ListV2Request) String() string { func (*ListV2Request) ProtoMessage() {} func (x *ListV2Request) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[19] + mi := &file_api_account_account_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1648,7 +753,7 @@ func (x *ListV2Request) ProtoReflect() protoreflect.Message { // Deprecated: Use ListV2Request.ProtoReflect.Descriptor instead. func (*ListV2Request) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{19} + return file_api_account_account_proto_rawDescGZIP(), []int{11} } func (x *ListV2Request) GetDomain() string { @@ -1777,25 +882,32 @@ func (x *ListV2Request) GetDepartmentIds() []uint32 { return nil } +func (x *ListV2Request) GetFatherDepartmentId() uint32 { + if x != nil { + return x.FatherDepartmentId + } + return 0 +} + type SendClockInWechatRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain"` - TelNum string `protobuf:"bytes,2,opt,name=telNum,proto3" json:"telNum"` - OperatedAt string `protobuf:"bytes,3,opt,name=operatedAt,proto3" json:"operatedAt"` - ClockType string `protobuf:"bytes,4,opt,name=clockType,proto3" json:"clockType"` - UserId uint32 `protobuf:"varint,5,opt,name=userId,proto3" json:"userId"` - GhId string `protobuf:"bytes,6,opt,name=ghId,proto3" json:"ghId"` - Address string `protobuf:"bytes,7,opt,name=address,proto3" json:"address"` - LogId uint64 `protobuf:"varint,8,opt,name=logId,proto3" json:"logId"` + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + TelNum string `protobuf:"bytes,2,opt,name=telNum,proto3" json:"telNum,omitempty"` + OperatedAt string `protobuf:"bytes,3,opt,name=operatedAt,proto3" json:"operatedAt,omitempty"` + ClockType string `protobuf:"bytes,4,opt,name=clockType,proto3" json:"clockType,omitempty"` + UserId uint32 `protobuf:"varint,5,opt,name=userId,proto3" json:"userId,omitempty"` + GhId string `protobuf:"bytes,6,opt,name=ghId,proto3" json:"ghId,omitempty"` + Address string `protobuf:"bytes,7,opt,name=address,proto3" json:"address,omitempty"` + LogId uint64 `protobuf:"varint,8,opt,name=logId,proto3" json:"logId,omitempty"` } func (x *SendClockInWechatRequest) Reset() { *x = SendClockInWechatRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[20] + mi := &file_api_account_account_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1808,7 +920,7 @@ func (x *SendClockInWechatRequest) String() string { func (*SendClockInWechatRequest) ProtoMessage() {} func (x *SendClockInWechatRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[20] + mi := &file_api_account_account_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1821,7 +933,7 @@ func (x *SendClockInWechatRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SendClockInWechatRequest.ProtoReflect.Descriptor instead. func (*SendClockInWechatRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{20} + return file_api_account_account_proto_rawDescGZIP(), []int{12} } func (x *SendClockInWechatRequest) GetDomain() string { @@ -1885,15 +997,15 @@ type MailAccountByNickNameRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain"` - NickName string `protobuf:"bytes,2,opt,name=NickName,json=nickName,proto3" json:"NickName"` - ID uint32 `protobuf:"varint,3,opt,name=ID,proto3" json:"ID"` + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + NickName string `protobuf:"bytes,2,opt,name=NickName,json=nickName,proto3" json:"NickName,omitempty"` + ID uint32 `protobuf:"varint,3,opt,name=ID,proto3" json:"ID,omitempty"` } func (x *MailAccountByNickNameRequest) Reset() { *x = MailAccountByNickNameRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[21] + mi := &file_api_account_account_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1906,7 +1018,7 @@ func (x *MailAccountByNickNameRequest) String() string { func (*MailAccountByNickNameRequest) ProtoMessage() {} func (x *MailAccountByNickNameRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[21] + mi := &file_api_account_account_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1919,7 +1031,7 @@ func (x *MailAccountByNickNameRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MailAccountByNickNameRequest.ProtoReflect.Descriptor instead. func (*MailAccountByNickNameRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{21} + return file_api_account_account_proto_rawDescGZIP(), []int{13} } func (x *MailAccountByNickNameRequest) GetDomain() string { @@ -1948,15 +1060,15 @@ type CreateMaiAccountRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID uint32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID"` - NickName string `protobuf:"bytes,2,opt,name=nickName,proto3" json:"nickName"` - Domain string `protobuf:"bytes,3,opt,name=domain,proto3" json:"domain"` + ID uint32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + NickName string `protobuf:"bytes,2,opt,name=nickName,proto3" json:"nickName,omitempty"` + Domain string `protobuf:"bytes,3,opt,name=domain,proto3" json:"domain,omitempty"` } func (x *CreateMaiAccountRequest) Reset() { *x = CreateMaiAccountRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[22] + mi := &file_api_account_account_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1969,7 +1081,7 @@ func (x *CreateMaiAccountRequest) String() string { func (*CreateMaiAccountRequest) ProtoMessage() {} func (x *CreateMaiAccountRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[22] + mi := &file_api_account_account_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1982,7 +1094,7 @@ func (x *CreateMaiAccountRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateMaiAccountRequest.ProtoReflect.Descriptor instead. func (*CreateMaiAccountRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{22} + return file_api_account_account_proto_rawDescGZIP(), []int{14} } func (x *CreateMaiAccountRequest) GetID() uint32 { @@ -2011,14 +1123,14 @@ type MaiAccountResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - EnglishName string `protobuf:"bytes,1,opt,name=englishName,proto3" json:"englishName"` - MailAccount string `protobuf:"bytes,2,opt,name=mailAccount,proto3" json:"mailAccount"` + EnglishName string `protobuf:"bytes,1,opt,name=englishName,proto3" json:"englishName,omitempty"` + MailAccount string `protobuf:"bytes,2,opt,name=mailAccount,proto3" json:"mailAccount,omitempty"` } func (x *MaiAccountResponse) Reset() { *x = MaiAccountResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[23] + mi := &file_api_account_account_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2031,7 +1143,7 @@ func (x *MaiAccountResponse) String() string { func (*MaiAccountResponse) ProtoMessage() {} func (x *MaiAccountResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[23] + mi := &file_api_account_account_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2044,7 +1156,7 @@ func (x *MaiAccountResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MaiAccountResponse.ProtoReflect.Descriptor instead. func (*MaiAccountResponse) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{23} + return file_api_account_account_proto_rawDescGZIP(), []int{15} } func (x *MaiAccountResponse) GetEnglishName() string { @@ -2061,23 +1173,72 @@ func (x *MaiAccountResponse) GetMailAccount() string { return "" } +type FddRemoveUserRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + WxUserId uint32 `protobuf:"varint,2,opt,name=wxUserId,proto3" json:"wxUserId,omitempty"` +} + +func (x *FddRemoveUserRequest) Reset() { + *x = FddRemoveUserRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FddRemoveUserRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FddRemoveUserRequest) ProtoMessage() {} + +func (x *FddRemoveUserRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_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 FddRemoveUserRequest.ProtoReflect.Descriptor instead. +func (*FddRemoveUserRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{16} +} + +func (x *FddRemoveUserRequest) GetWxUserId() uint32 { + if x != nil { + return x.WxUserId + } + return 0 +} + type FddCreateUserRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Openid string `protobuf:"bytes,1,opt,name=openid,proto3" json:"openid"` - WxUserId uint32 `protobuf:"varint,2,opt,name=wxUserId,proto3" json:"wxUserId"` - //string UserId = 3; - CustomerId string `protobuf:"bytes,4,opt,name=customerId,proto3" json:"customerId"` - IsVerify bool `protobuf:"varint,5,opt,name=isVerify,proto3" json:"isVerify"` - TransactionNo string `protobuf:"bytes,6,opt,name=transactionNo,proto3" json:"transactionNo"` + Openid string `protobuf:"bytes,1,opt,name=openid,proto3" json:"openid,omitempty"` + WxUserId uint32 `protobuf:"varint,2,opt,name=wxUserId,proto3" json:"wxUserId,omitempty"` + UserId uint64 `protobuf:"varint,3,opt,name=UserId,proto3" json:"UserId,omitempty"` + CustomerId string `protobuf:"bytes,4,opt,name=customerId,proto3" json:"customerId,omitempty"` + IsVerify bool `protobuf:"varint,5,opt,name=isVerify,proto3" json:"isVerify,omitempty"` + TransactionNo string `protobuf:"bytes,6,opt,name=transactionNo,proto3" json:"transactionNo,omitempty"` + Status uint32 `protobuf:"varint,7,opt,name=status,proto3" json:"status,omitempty"` + IdType string `protobuf:"bytes,8,opt,name=idType,proto3" json:"idType,omitempty"` } func (x *FddCreateUserRequest) Reset() { *x = FddCreateUserRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[24] + mi := &file_api_account_account_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2090,7 +1251,7 @@ func (x *FddCreateUserRequest) String() string { func (*FddCreateUserRequest) ProtoMessage() {} func (x *FddCreateUserRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[24] + mi := &file_api_account_account_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2103,7 +1264,7 @@ func (x *FddCreateUserRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FddCreateUserRequest.ProtoReflect.Descriptor instead. func (*FddCreateUserRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{24} + return file_api_account_account_proto_rawDescGZIP(), []int{17} } func (x *FddCreateUserRequest) GetOpenid() string { @@ -2120,6 +1281,13 @@ func (x *FddCreateUserRequest) GetWxUserId() uint32 { return 0 } +func (x *FddCreateUserRequest) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + func (x *FddCreateUserRequest) GetCustomerId() string { if x != nil { return x.CustomerId @@ -2141,19 +1309,33 @@ func (x *FddCreateUserRequest) GetTransactionNo() string { return "" } +func (x *FddCreateUserRequest) GetStatus() uint32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *FddCreateUserRequest) GetIdType() string { + if x != nil { + return x.IdType + } + return "" +} + type WxBoxUserInfoRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Openid string `protobuf:"bytes,2,opt,name=openid,proto3" json:"openid"` - GhId string `protobuf:"bytes,3,opt,name=ghId,proto3" json:"ghId"` + Openid string `protobuf:"bytes,2,opt,name=openid,proto3" json:"openid,omitempty"` + GhId string `protobuf:"bytes,3,opt,name=ghId,proto3" json:"ghId,omitempty"` } func (x *WxBoxUserInfoRequest) Reset() { *x = WxBoxUserInfoRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[25] + mi := &file_api_account_account_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2166,7 +1348,7 @@ func (x *WxBoxUserInfoRequest) String() string { func (*WxBoxUserInfoRequest) ProtoMessage() {} func (x *WxBoxUserInfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[25] + mi := &file_api_account_account_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2179,7 +1361,7 @@ func (x *WxBoxUserInfoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WxBoxUserInfoRequest.ProtoReflect.Descriptor instead. func (*WxBoxUserInfoRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{25} + return file_api_account_account_proto_rawDescGZIP(), []int{18} } func (x *WxBoxUserInfoRequest) GetOpenid() string { @@ -2201,15 +1383,15 @@ type WxGetOpenIdByCodeRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code"` - State string `protobuf:"bytes,2,opt,name=state,proto3" json:"state"` - GhId string `protobuf:"bytes,3,opt,name=ghId,proto3" json:"ghId"` + Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` + State string `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` + GhId string `protobuf:"bytes,3,opt,name=ghId,proto3" json:"ghId,omitempty"` } func (x *WxGetOpenIdByCodeRequest) Reset() { *x = WxGetOpenIdByCodeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[26] + mi := &file_api_account_account_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2222,7 +1404,7 @@ func (x *WxGetOpenIdByCodeRequest) String() string { func (*WxGetOpenIdByCodeRequest) ProtoMessage() {} func (x *WxGetOpenIdByCodeRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[26] + mi := &file_api_account_account_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2235,7 +1417,7 @@ func (x *WxGetOpenIdByCodeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WxGetOpenIdByCodeRequest.ProtoReflect.Descriptor instead. func (*WxGetOpenIdByCodeRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{26} + return file_api_account_account_proto_rawDescGZIP(), []int{19} } func (x *WxGetOpenIdByCodeRequest) GetCode() string { @@ -2264,13 +1446,13 @@ type WxGetOpenIdByCodeResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OpenId string `protobuf:"bytes,1,opt,name=openId,proto3" json:"openId"` + OpenId string `protobuf:"bytes,1,opt,name=openId,proto3" json:"openId,omitempty"` } func (x *WxGetOpenIdByCodeResponse) Reset() { *x = WxGetOpenIdByCodeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[27] + mi := &file_api_account_account_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2283,7 +1465,7 @@ func (x *WxGetOpenIdByCodeResponse) String() string { func (*WxGetOpenIdByCodeResponse) ProtoMessage() {} func (x *WxGetOpenIdByCodeResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[27] + mi := &file_api_account_account_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2296,7 +1478,7 @@ func (x *WxGetOpenIdByCodeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use WxGetOpenIdByCodeResponse.ProtoReflect.Descriptor instead. func (*WxGetOpenIdByCodeResponse) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{27} + return file_api_account_account_proto_rawDescGZIP(), []int{20} } func (x *WxGetOpenIdByCodeResponse) GetOpenId() string { @@ -2311,13 +1493,13 @@ type WxBoxTelNumByCodeResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TelNum string `protobuf:"bytes,1,opt,name=telNum,proto3" json:"telNum"` + TelNum string `protobuf:"bytes,1,opt,name=telNum,proto3" json:"telNum,omitempty"` } func (x *WxBoxTelNumByCodeResponse) Reset() { *x = WxBoxTelNumByCodeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[28] + mi := &file_api_account_account_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2330,7 +1512,7 @@ func (x *WxBoxTelNumByCodeResponse) String() string { func (*WxBoxTelNumByCodeResponse) ProtoMessage() {} func (x *WxBoxTelNumByCodeResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[28] + mi := &file_api_account_account_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2343,7 +1525,7 @@ func (x *WxBoxTelNumByCodeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use WxBoxTelNumByCodeResponse.ProtoReflect.Descriptor instead. func (*WxBoxTelNumByCodeResponse) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{28} + return file_api_account_account_proto_rawDescGZIP(), []int{21} } func (x *WxBoxTelNumByCodeResponse) GetTelNum() string { @@ -2358,18 +1540,18 @@ type WxBoxUserInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OpenId string `protobuf:"bytes,1,opt,name=openId,proto3" json:"openId"` - GhId string `protobuf:"bytes,2,opt,name=ghId,proto3" json:"ghId"` - IsNew bool `protobuf:"varint,3,opt,name=isNew,proto3" json:"isNew"` - User *UserInfo `protobuf:"bytes,4,opt,name=user,proto3" json:"user"` - WxUserId uint32 `protobuf:"varint,5,opt,name=wxUserId,proto3" json:"wxUserId"` - Fdd *FddInfo `protobuf:"bytes,6,opt,name=fdd,proto3" json:"fdd"` + OpenId string `protobuf:"bytes,1,opt,name=openId,proto3" json:"openId,omitempty"` + GhId string `protobuf:"bytes,2,opt,name=ghId,proto3" json:"ghId,omitempty"` + IsNew bool `protobuf:"varint,3,opt,name=isNew,proto3" json:"isNew,omitempty"` + User *UserInfo `protobuf:"bytes,4,opt,name=user,proto3" json:"user,omitempty"` + WxUserId uint32 `protobuf:"varint,5,opt,name=wxUserId,proto3" json:"wxUserId,omitempty"` + Fdd *FddInfo `protobuf:"bytes,6,opt,name=fdd,proto3" json:"fdd,omitempty"` } func (x *WxBoxUserInfo) Reset() { *x = WxBoxUserInfo{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[29] + mi := &file_api_account_account_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2382,7 +1564,7 @@ func (x *WxBoxUserInfo) String() string { func (*WxBoxUserInfo) ProtoMessage() {} func (x *WxBoxUserInfo) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[29] + mi := &file_api_account_account_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2395,7 +1577,7 @@ func (x *WxBoxUserInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use WxBoxUserInfo.ProtoReflect.Descriptor instead. func (*WxBoxUserInfo) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{29} + return file_api_account_account_proto_rawDescGZIP(), []int{22} } func (x *WxBoxUserInfo) GetOpenId() string { @@ -2445,16 +1627,18 @@ type FddInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID"` - CustomerId string `protobuf:"bytes,2,opt,name=customerId,proto3" json:"customerId"` - IsVerify bool `protobuf:"varint,3,opt,name=isVerify,proto3" json:"isVerify"` - TransactionNo string `protobuf:"bytes,4,opt,name=transactionNo,proto3" json:"transactionNo"` + ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + CustomerId string `protobuf:"bytes,2,opt,name=customerId,proto3" json:"customerId,omitempty"` + IsVerify bool `protobuf:"varint,3,opt,name=isVerify,proto3" json:"isVerify,omitempty"` + TransactionNo string `protobuf:"bytes,4,opt,name=transactionNo,proto3" json:"transactionNo,omitempty"` + Status uint32 `protobuf:"varint,5,opt,name=status,proto3" json:"status,omitempty"` + IdType string `protobuf:"bytes,6,opt,name=idType,proto3" json:"idType,omitempty"` } func (x *FddInfo) Reset() { *x = FddInfo{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[30] + mi := &file_api_account_account_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2467,7 +1651,7 @@ func (x *FddInfo) String() string { func (*FddInfo) ProtoMessage() {} func (x *FddInfo) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[30] + mi := &file_api_account_account_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2480,7 +1664,7 @@ func (x *FddInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use FddInfo.ProtoReflect.Descriptor instead. func (*FddInfo) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{30} + return file_api_account_account_proto_rawDescGZIP(), []int{23} } func (x *FddInfo) GetID() uint64 { @@ -2511,30 +1695,46 @@ func (x *FddInfo) GetTransactionNo() string { return "" } +func (x *FddInfo) GetStatus() uint32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *FddInfo) GetIdType() string { + if x != nil { + return x.IdType + } + return "" +} + type UserInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID"` - NickName string `protobuf:"bytes,3,opt,name=nickName,proto3" json:"nickName"` - TelNum string `protobuf:"bytes,5,opt,name=telNum,proto3" json:"telNum"` - Avatar string `protobuf:"bytes,7,opt,name=avatar,proto3" json:"avatar"` - CreateAt string `protobuf:"bytes,8,opt,name=createAt,proto3" json:"createAt"` - RealNameID uint64 `protobuf:"varint,9,opt,name=realNameID,proto3" json:"realNameID"` - RealName string `protobuf:"bytes,10,opt,name=realName,proto3" json:"realName"` - IDNum string `protobuf:"bytes,11,opt,name=iDNum,proto3" json:"iDNum"` - Domain string `protobuf:"bytes,12,opt,name=domain,proto3" json:"domain"` - RealIDImgA string `protobuf:"bytes,17,opt,name=realIDImgA,proto3" json:"realIDImgA"` - RealIDImgB string `protobuf:"bytes,18,opt,name=realIDImgB,proto3" json:"realIDImgB"` - RealNameIDName string `protobuf:"bytes,19,opt,name=realNameIDName,proto3" json:"realNameIDName"` - Video string `protobuf:"bytes,20,opt,name=video,proto3" json:"video"` + ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + NickName string `protobuf:"bytes,3,opt,name=nickName,proto3" json:"nickName,omitempty"` + TelNum string `protobuf:"bytes,5,opt,name=telNum,proto3" json:"telNum,omitempty"` + Avatar string `protobuf:"bytes,7,opt,name=avatar,proto3" json:"avatar,omitempty"` + CreateAt string `protobuf:"bytes,8,opt,name=createAt,proto3" json:"createAt,omitempty"` + RealNameID uint64 `protobuf:"varint,9,opt,name=realNameID,proto3" json:"realNameID,omitempty"` + RealName string `protobuf:"bytes,10,opt,name=realName,proto3" json:"realName,omitempty"` + IDNum string `protobuf:"bytes,11,opt,name=iDNum,proto3" json:"iDNum,omitempty"` + Domain string `protobuf:"bytes,12,opt,name=domain,proto3" json:"domain,omitempty"` + RealIDImgA string `protobuf:"bytes,17,opt,name=realIDImgA,proto3" json:"realIDImgA,omitempty"` + RealIDImgB string `protobuf:"bytes,18,opt,name=realIDImgB,proto3" json:"realIDImgB,omitempty"` + RealNameIDName string `protobuf:"bytes,19,opt,name=realNameIDName,proto3" json:"realNameIDName,omitempty"` + Video string `protobuf:"bytes,20,opt,name=video,proto3" json:"video,omitempty"` + IdType string `protobuf:"bytes,21,opt,name=idType,proto3" json:"idType,omitempty"` //0 护照 港澳台 护照 通信证等 + Passport *Passport `protobuf:"bytes,22,opt,name=passport,proto3" json:"passport,omitempty"` //护照 港澳台 护照 通信证等 } func (x *UserInfo) Reset() { *x = UserInfo{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[31] + mi := &file_api_account_account_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2547,7 +1747,7 @@ func (x *UserInfo) String() string { func (*UserInfo) ProtoMessage() {} func (x *UserInfo) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[31] + mi := &file_api_account_account_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2560,7 +1760,7 @@ func (x *UserInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use UserInfo.ProtoReflect.Descriptor instead. func (*UserInfo) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{31} + return file_api_account_account_proto_rawDescGZIP(), []int{24} } func (x *UserInfo) GetID() uint64 { @@ -2654,18 +1854,33 @@ func (x *UserInfo) GetVideo() string { return "" } +func (x *UserInfo) GetIdType() string { + if x != nil { + return x.IdType + } + return "" +} + +func (x *UserInfo) GetPassport() *Passport { + if x != nil { + return x.Passport + } + return nil +} + type CommonRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID"` + ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + From string `protobuf:"bytes,2,opt,name=from,proto3" json:"from,omitempty"` } func (x *CommonRequest) Reset() { *x = CommonRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[32] + mi := &file_api_account_account_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2678,7 +1893,7 @@ func (x *CommonRequest) String() string { func (*CommonRequest) ProtoMessage() {} func (x *CommonRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[32] + mi := &file_api_account_account_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2691,7 +1906,7 @@ func (x *CommonRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CommonRequest.ProtoReflect.Descriptor instead. func (*CommonRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{32} + return file_api_account_account_proto_rawDescGZIP(), []int{25} } func (x *CommonRequest) GetID() uint64 { @@ -2701,18 +1916,25 @@ func (x *CommonRequest) GetID() uint64 { return 0 } +func (x *CommonRequest) GetFrom() string { + if x != nil { + return x.From + } + return "" +} + type WxAppRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - GhId string `protobuf:"bytes,1,opt,name=GhId,json=ID,proto3" json:"GhId"` + GhId string `protobuf:"bytes,1,opt,name=GhId,json=ID,proto3" json:"GhId,omitempty"` } func (x *WxAppRequest) Reset() { *x = WxAppRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[33] + mi := &file_api_account_account_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2725,7 +1947,7 @@ func (x *WxAppRequest) String() string { func (*WxAppRequest) ProtoMessage() {} func (x *WxAppRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[33] + mi := &file_api_account_account_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2738,7 +1960,7 @@ func (x *WxAppRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WxAppRequest.ProtoReflect.Descriptor instead. func (*WxAppRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{33} + return file_api_account_account_proto_rawDescGZIP(), []int{26} } func (x *WxAppRequest) GetGhId() string { @@ -2753,14 +1975,14 @@ type WxAppResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AppID string `protobuf:"bytes,1,opt,name=AppID,json=appID,proto3" json:"AppID"` - AppSecret string `protobuf:"bytes,2,opt,name=AppSecret,json=appSecret,proto3" json:"AppSecret"` + AppID string `protobuf:"bytes,1,opt,name=AppID,json=appID,proto3" json:"AppID,omitempty"` + AppSecret string `protobuf:"bytes,2,opt,name=AppSecret,json=appSecret,proto3" json:"AppSecret,omitempty"` } func (x *WxAppResponse) Reset() { *x = WxAppResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[34] + mi := &file_api_account_account_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2773,7 +1995,7 @@ func (x *WxAppResponse) String() string { func (*WxAppResponse) ProtoMessage() {} func (x *WxAppResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[34] + mi := &file_api_account_account_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2786,7 +2008,7 @@ func (x *WxAppResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use WxAppResponse.ProtoReflect.Descriptor instead. func (*WxAppResponse) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{34} + return file_api_account_account_proto_rawDescGZIP(), []int{27} } func (x *WxAppResponse) GetAppID() string { @@ -2808,14 +2030,14 @@ type WxUserUpdateRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - WxID uint32 `protobuf:"varint,1,opt,name=wxID,json=wxId,proto3" json:"wxID"` - UserID uint32 `protobuf:"varint,2,opt,name=userID,proto3" json:"userID"` + WxID uint32 `protobuf:"varint,1,opt,name=wxID,json=wxId,proto3" json:"wxID,omitempty"` + UserID uint32 `protobuf:"varint,2,opt,name=userID,proto3" json:"userID,omitempty"` } func (x *WxUserUpdateRequest) Reset() { *x = WxUserUpdateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[35] + mi := &file_api_account_account_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2828,7 +2050,7 @@ func (x *WxUserUpdateRequest) String() string { func (*WxUserUpdateRequest) ProtoMessage() {} func (x *WxUserUpdateRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[35] + mi := &file_api_account_account_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2841,7 +2063,7 @@ func (x *WxUserUpdateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WxUserUpdateRequest.ProtoReflect.Descriptor instead. func (*WxUserUpdateRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{35} + return file_api_account_account_proto_rawDescGZIP(), []int{28} } func (x *WxUserUpdateRequest) GetWxID() uint32 { @@ -2863,14 +2085,14 @@ type WxUserOrCreateRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OpenID string `protobuf:"bytes,1,opt,name=OpenID,json=openID,proto3" json:"OpenID"` - GhID string `protobuf:"bytes,2,opt,name=GhID,json=ghID,proto3" json:"GhID"` + OpenID string `protobuf:"bytes,1,opt,name=OpenID,json=openID,proto3" json:"OpenID,omitempty"` + GhID string `protobuf:"bytes,2,opt,name=GhID,json=ghID,proto3" json:"GhID,omitempty"` } func (x *WxUserOrCreateRequest) Reset() { *x = WxUserOrCreateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[36] + mi := &file_api_account_account_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2883,7 +2105,7 @@ func (x *WxUserOrCreateRequest) String() string { func (*WxUserOrCreateRequest) ProtoMessage() {} func (x *WxUserOrCreateRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[36] + mi := &file_api_account_account_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2896,7 +2118,7 @@ func (x *WxUserOrCreateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WxUserOrCreateRequest.ProtoReflect.Descriptor instead. func (*WxUserOrCreateRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{36} + return file_api_account_account_proto_rawDescGZIP(), []int{29} } func (x *WxUserOrCreateRequest) GetOpenID() string { @@ -2918,17 +2140,17 @@ type WxUserResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OpenID string `protobuf:"bytes,1,opt,name=OpenID,json=openID,proto3" json:"OpenID"` - UserID uint32 `protobuf:"varint,2,opt,name=UserID,json=userID,proto3" json:"UserID"` - GhID string `protobuf:"bytes,3,opt,name=GhID,json=ghID,proto3" json:"GhID"` - RoleAuth string `protobuf:"bytes,4,opt,name=RoleAuth,json=roleAuth,proto3" json:"RoleAuth"` - ID uint32 `protobuf:"varint,5,opt,name=ID,proto3" json:"ID"` + OpenID string `protobuf:"bytes,1,opt,name=OpenID,json=openID,proto3" json:"OpenID,omitempty"` + UserID uint32 `protobuf:"varint,2,opt,name=UserID,json=userID,proto3" json:"UserID,omitempty"` + GhID string `protobuf:"bytes,3,opt,name=GhID,json=ghID,proto3" json:"GhID,omitempty"` + RoleAuth string `protobuf:"bytes,4,opt,name=RoleAuth,json=roleAuth,proto3" json:"RoleAuth,omitempty"` + ID uint32 `protobuf:"varint,5,opt,name=ID,proto3" json:"ID,omitempty"` } func (x *WxUserResponse) Reset() { *x = WxUserResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[37] + mi := &file_api_account_account_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2941,7 +2163,7 @@ func (x *WxUserResponse) String() string { func (*WxUserResponse) ProtoMessage() {} func (x *WxUserResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[37] + mi := &file_api_account_account_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2954,7 +2176,7 @@ func (x *WxUserResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use WxUserResponse.ProtoReflect.Descriptor instead. func (*WxUserResponse) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{37} + return file_api_account_account_proto_rawDescGZIP(), []int{30} } func (x *WxUserResponse) GetOpenID() string { @@ -2997,13 +2219,13 @@ type LoginLogsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Data []*LoginLog `protobuf:"bytes,1,rep,name=Data,json=data,proto3" json:"Data"` + Data []*LoginLog `protobuf:"bytes,1,rep,name=Data,json=data,proto3" json:"Data,omitempty"` } func (x *LoginLogsResponse) Reset() { *x = LoginLogsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[38] + mi := &file_api_account_account_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3016,7 +2238,7 @@ func (x *LoginLogsResponse) String() string { func (*LoginLogsResponse) ProtoMessage() {} func (x *LoginLogsResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[38] + mi := &file_api_account_account_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3029,7 +2251,7 @@ func (x *LoginLogsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use LoginLogsResponse.ProtoReflect.Descriptor instead. func (*LoginLogsResponse) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{38} + return file_api_account_account_proto_rawDescGZIP(), []int{31} } func (x *LoginLogsResponse) GetData() []*LoginLog { @@ -3044,23 +2266,23 @@ type LoginLog struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain"` - ID uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID"` - UserId uint64 `protobuf:"varint,3,opt,name=UserId,json=userId,proto3" json:"UserId"` - Ip string `protobuf:"bytes,4,opt,name=Ip,json=ip,proto3" json:"Ip"` - Token string `protobuf:"bytes,5,opt,name=Token,json=token,proto3" json:"Token"` - Status uint64 `protobuf:"varint,6,opt,name=Status,json=status,proto3" json:"Status"` - ExpireDate string `protobuf:"bytes,7,opt,name=ExpireDate,json=expireDate,proto3" json:"ExpireDate"` - LastDate string `protobuf:"bytes,8,opt,name=LastDate,json=lastDate,proto3" json:"LastDate"` - LogoutDate string `protobuf:"bytes,9,opt,name=LogoutDate,json=logoutDate,proto3" json:"LogoutDate"` - CreatedAt string `protobuf:"bytes,10,opt,name=CreatedAt,json=createdAt,proto3" json:"CreatedAt"` - Address string `protobuf:"bytes,11,opt,name=Address,json=address,proto3" json:"Address"` + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + ID uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` + UserId uint64 `protobuf:"varint,3,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` + Ip string `protobuf:"bytes,4,opt,name=Ip,json=ip,proto3" json:"Ip,omitempty"` + Token string `protobuf:"bytes,5,opt,name=Token,json=token,proto3" json:"Token,omitempty"` + Status uint64 `protobuf:"varint,6,opt,name=Status,json=status,proto3" json:"Status,omitempty"` + ExpireDate string `protobuf:"bytes,7,opt,name=ExpireDate,json=expireDate,proto3" json:"ExpireDate,omitempty"` + LastDate string `protobuf:"bytes,8,opt,name=LastDate,json=lastDate,proto3" json:"LastDate,omitempty"` + LogoutDate string `protobuf:"bytes,9,opt,name=LogoutDate,json=logoutDate,proto3" json:"LogoutDate,omitempty"` + CreatedAt string `protobuf:"bytes,10,opt,name=CreatedAt,json=createdAt,proto3" json:"CreatedAt,omitempty"` + Address string `protobuf:"bytes,11,opt,name=Address,json=address,proto3" json:"Address,omitempty"` } func (x *LoginLog) Reset() { *x = LoginLog{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[39] + mi := &file_api_account_account_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3073,7 +2295,7 @@ func (x *LoginLog) String() string { func (*LoginLog) ProtoMessage() {} func (x *LoginLog) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[39] + mi := &file_api_account_account_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3086,7 +2308,7 @@ func (x *LoginLog) ProtoReflect() protoreflect.Message { // Deprecated: Use LoginLog.ProtoReflect.Descriptor instead. func (*LoginLog) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{39} + return file_api_account_account_proto_rawDescGZIP(), []int{32} } func (x *LoginLog) GetDomain() string { @@ -3171,14 +2393,14 @@ type OnlineLogByIdRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain"` - ID uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID"` + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + ID uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` } func (x *OnlineLogByIdRequest) Reset() { *x = OnlineLogByIdRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[40] + mi := &file_api_account_account_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3191,7 +2413,7 @@ func (x *OnlineLogByIdRequest) String() string { func (*OnlineLogByIdRequest) ProtoMessage() {} func (x *OnlineLogByIdRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[40] + mi := &file_api_account_account_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3204,7 +2426,7 @@ func (x *OnlineLogByIdRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use OnlineLogByIdRequest.ProtoReflect.Descriptor instead. func (*OnlineLogByIdRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{40} + return file_api_account_account_proto_rawDescGZIP(), []int{33} } func (x *OnlineLogByIdRequest) GetDomain() string { @@ -3226,14 +2448,14 @@ type LoginInfosByUserIdRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain"` - UserId uint64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId"` + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + UserId uint64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` } func (x *LoginInfosByUserIdRequest) Reset() { *x = LoginInfosByUserIdRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[41] + mi := &file_api_account_account_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3246,7 +2468,7 @@ func (x *LoginInfosByUserIdRequest) String() string { func (*LoginInfosByUserIdRequest) ProtoMessage() {} func (x *LoginInfosByUserIdRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[41] + mi := &file_api_account_account_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3259,7 +2481,7 @@ func (x *LoginInfosByUserIdRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use LoginInfosByUserIdRequest.ProtoReflect.Descriptor instead. func (*LoginInfosByUserIdRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{41} + return file_api_account_account_proto_rawDescGZIP(), []int{34} } func (x *LoginInfosByUserIdRequest) GetDomain() string { @@ -3281,18 +2503,18 @@ type SendNewTelNumMsgRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain"` - ID uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID"` - NewTelNum string `protobuf:"bytes,3,opt,name=NewTelNum,json=newTelNum,proto3" json:"NewTelNum"` - Code string `protobuf:"bytes,4,opt,name=Code,json=code,proto3" json:"Code"` - Project string `protobuf:"bytes,5,opt,name=Project,json=project,proto3" json:"Project"` - SignNo uint32 `protobuf:"varint,6,opt,name=signNo,proto3" json:"signNo"` + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + ID uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` + NewTelNum string `protobuf:"bytes,3,opt,name=NewTelNum,json=newTelNum,proto3" json:"NewTelNum,omitempty"` + Code string `protobuf:"bytes,4,opt,name=Code,json=code,proto3" json:"Code,omitempty"` + Project string `protobuf:"bytes,5,opt,name=Project,json=project,proto3" json:"Project,omitempty"` + SignNo uint32 `protobuf:"varint,6,opt,name=signNo,proto3" json:"signNo,omitempty"` } func (x *SendNewTelNumMsgRequest) Reset() { *x = SendNewTelNumMsgRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[42] + mi := &file_api_account_account_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3305,7 +2527,7 @@ func (x *SendNewTelNumMsgRequest) String() string { func (*SendNewTelNumMsgRequest) ProtoMessage() {} func (x *SendNewTelNumMsgRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[42] + mi := &file_api_account_account_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3318,7 +2540,7 @@ func (x *SendNewTelNumMsgRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SendNewTelNumMsgRequest.ProtoReflect.Descriptor instead. func (*SendNewTelNumMsgRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{42} + return file_api_account_account_proto_rawDescGZIP(), []int{35} } func (x *SendNewTelNumMsgRequest) GetDomain() string { @@ -3368,14 +2590,14 @@ type UserByTelRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain"` - Tel string `protobuf:"bytes,2,opt,name=Tel,json=tel,proto3" json:"Tel"` + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + Tel string `protobuf:"bytes,2,opt,name=Tel,json=tel,proto3" json:"Tel,omitempty"` } func (x *UserByTelRequest) Reset() { *x = UserByTelRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[43] + mi := &file_api_account_account_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3388,7 +2610,7 @@ func (x *UserByTelRequest) String() string { func (*UserByTelRequest) ProtoMessage() {} func (x *UserByTelRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[43] + mi := &file_api_account_account_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3401,7 +2623,7 @@ func (x *UserByTelRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UserByTelRequest.ProtoReflect.Descriptor instead. func (*UserByTelRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{43} + return file_api_account_account_proto_rawDescGZIP(), []int{36} } func (x *UserByTelRequest) GetDomain() string { @@ -3427,7 +2649,7 @@ type CommonResponse struct { func (x *CommonResponse) Reset() { *x = CommonResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[44] + mi := &file_api_account_account_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3440,7 +2662,7 @@ func (x *CommonResponse) String() string { func (*CommonResponse) ProtoMessage() {} func (x *CommonResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[44] + mi := &file_api_account_account_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3453,7 +2675,7 @@ func (x *CommonResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CommonResponse.ProtoReflect.Descriptor instead. func (*CommonResponse) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{44} + return file_api_account_account_proto_rawDescGZIP(), []int{37} } type UsersByTelRequest struct { @@ -3461,14 +2683,14 @@ type UsersByTelRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain"` - Tels []string `protobuf:"bytes,2,rep,name=Tels,json=tels,proto3" json:"Tels"` + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + Tels []string `protobuf:"bytes,2,rep,name=Tels,json=tels,proto3" json:"Tels,omitempty"` } func (x *UsersByTelRequest) Reset() { *x = UsersByTelRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[45] + mi := &file_api_account_account_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3481,7 +2703,7 @@ func (x *UsersByTelRequest) String() string { func (*UsersByTelRequest) ProtoMessage() {} func (x *UsersByTelRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[45] + mi := &file_api_account_account_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3494,7 +2716,7 @@ func (x *UsersByTelRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UsersByTelRequest.ProtoReflect.Descriptor instead. func (*UsersByTelRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{45} + return file_api_account_account_proto_rawDescGZIP(), []int{38} } func (x *UsersByTelRequest) GetDomain() string { @@ -3516,19 +2738,19 @@ type ListByIDsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain"` - IDs []uint64 `protobuf:"varint,2,rep,packed,name=IDs,proto3" json:"IDs"` - OrderType uint64 `protobuf:"varint,3,opt,name=OrderType,proto3" json:"OrderType"` - Page uint64 `protobuf:"varint,4,opt,name=Page,json=page,proto3" json:"Page"` - PageSize uint64 `protobuf:"varint,5,opt,name=PageSize,json=pageSize,proto3" json:"PageSize"` - NickName string `protobuf:"bytes,6,opt,name=NickName,json=nickName,proto3" json:"NickName"` - InvitationCode []string `protobuf:"bytes,7,rep,name=InvitationCode,json=invitationCode,proto3" json:"InvitationCode"` + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + IDs []uint64 `protobuf:"varint,2,rep,packed,name=IDs,proto3" json:"IDs,omitempty"` + OrderType uint64 `protobuf:"varint,3,opt,name=OrderType,proto3" json:"OrderType,omitempty"` + Page uint64 `protobuf:"varint,4,opt,name=Page,json=page,proto3" json:"Page,omitempty"` + PageSize uint64 `protobuf:"varint,5,opt,name=PageSize,json=pageSize,proto3" json:"PageSize,omitempty"` + NickName string `protobuf:"bytes,6,opt,name=NickName,json=nickName,proto3" json:"NickName,omitempty"` + InvitationCode []string `protobuf:"bytes,7,rep,name=InvitationCode,json=invitationCode,proto3" json:"InvitationCode,omitempty"` } func (x *ListByIDsRequest) Reset() { *x = ListByIDsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[46] + mi := &file_api_account_account_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3541,7 +2763,7 @@ func (x *ListByIDsRequest) String() string { func (*ListByIDsRequest) ProtoMessage() {} func (x *ListByIDsRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[46] + mi := &file_api_account_account_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3554,7 +2776,7 @@ func (x *ListByIDsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListByIDsRequest.ProtoReflect.Descriptor instead. func (*ListByIDsRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{46} + return file_api_account_account_proto_rawDescGZIP(), []int{39} } func (x *ListByIDsRequest) GetDomain() string { @@ -3611,21 +2833,20 @@ type SendMsgRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain"` - TelNum string `protobuf:"bytes,2,opt,name=TelNum,json=telNum,proto3" json:"TelNum"` + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + TelNum string `protobuf:"bytes,2,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` //string TelNum = 2 [json_name = "telNum",(validator.field) = {regex: "^1\\d{10}$",human_error: "70002"}]; - Project string `protobuf:"bytes,3,opt,name=Project,json=project,proto3" json:"Project"` - SignNo uint32 `protobuf:"varint,4,opt,name=signNo,proto3" json:"signNo"` - MId uint32 `protobuf:"varint,5,opt,name=mId,proto3" json:"mId"` - Scope string `protobuf:"bytes,6,opt,name=scope,proto3" json:"scope"` //标记模块 - Zone string `protobuf:"bytes,7,opt,name=zone,proto3" json:"zone"` //地区 不同地区切换不同发送帐号 - NonceStr string `protobuf:"bytes,8,opt,name=nonceStr,proto3" json:"nonceStr"` + Project string `protobuf:"bytes,3,opt,name=Project,json=project,proto3" json:"Project,omitempty"` + SignNo uint32 `protobuf:"varint,4,opt,name=signNo,proto3" json:"signNo,omitempty"` + MId uint32 `protobuf:"varint,5,opt,name=mId,proto3" json:"mId,omitempty"` + Scope string `protobuf:"bytes,6,opt,name=scope,proto3" json:"scope,omitempty"` //标记模块 + Zone string `protobuf:"bytes,7,opt,name=zone,proto3" json:"zone,omitempty"` //地区 不同地区切换不同发送帐号 } func (x *SendMsgRequest) Reset() { *x = SendMsgRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[47] + mi := &file_api_account_account_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3638,7 +2859,7 @@ func (x *SendMsgRequest) String() string { func (*SendMsgRequest) ProtoMessage() {} func (x *SendMsgRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[47] + mi := &file_api_account_account_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3651,7 +2872,7 @@ func (x *SendMsgRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SendMsgRequest.ProtoReflect.Descriptor instead. func (*SendMsgRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{47} + return file_api_account_account_proto_rawDescGZIP(), []int{40} } func (x *SendMsgRequest) GetDomain() string { @@ -3703,32 +2924,25 @@ func (x *SendMsgRequest) GetZone() string { return "" } -func (x *SendMsgRequest) GetNonceStr() string { - if x != nil { - return x.NonceStr - } - return "" -} - type SendCustomMsgRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain"` - TelNum string `protobuf:"bytes,2,opt,name=TelNum,json=telNum,proto3" json:"TelNum"` - Project string `protobuf:"bytes,3,opt,name=Project,json=project,proto3" json:"Project"` - Url string `protobuf:"bytes,4,opt,name=Url,proto3" json:"Url"` - ID uint64 `protobuf:"varint,5,opt,name=ID,proto3" json:"ID"` - MId uint64 `protobuf:"varint,6,opt,name=MId,json=mId,proto3" json:"MId"` - Location uint64 `protobuf:"varint,7,opt,name=Location,json=location,proto3" json:"Location"` - SigNo uint32 `protobuf:"varint,8,opt,name=SigNo,json=sigNo,proto3" json:"SigNo"` + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + TelNum string `protobuf:"bytes,2,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` + Project string `protobuf:"bytes,3,opt,name=Project,json=project,proto3" json:"Project,omitempty"` + Url string `protobuf:"bytes,4,opt,name=Url,proto3" json:"Url,omitempty"` + ID uint64 `protobuf:"varint,5,opt,name=ID,proto3" json:"ID,omitempty"` + MId uint64 `protobuf:"varint,6,opt,name=MId,json=mId,proto3" json:"MId,omitempty"` + Location uint64 `protobuf:"varint,7,opt,name=Location,json=location,proto3" json:"Location,omitempty"` + SigNo uint32 `protobuf:"varint,8,opt,name=SigNo,json=sigNo,proto3" json:"SigNo,omitempty"` } func (x *SendCustomMsgRequest) Reset() { *x = SendCustomMsgRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[48] + mi := &file_api_account_account_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3741,7 +2955,7 @@ func (x *SendCustomMsgRequest) String() string { func (*SendCustomMsgRequest) ProtoMessage() {} func (x *SendCustomMsgRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[48] + mi := &file_api_account_account_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3754,7 +2968,7 @@ func (x *SendCustomMsgRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SendCustomMsgRequest.ProtoReflect.Descriptor instead. func (*SendCustomMsgRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{48} + return file_api_account_account_proto_rawDescGZIP(), []int{41} } func (x *SendCustomMsgRequest) GetDomain() string { @@ -3818,17 +3032,16 @@ type CheckMsgRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain"` - TelNum string `protobuf:"bytes,2,opt,name=TelNum,json=telNum,proto3" json:"TelNum"` - Code string `protobuf:"bytes,3,opt,name=Code,json=code,proto3" json:"Code"` - Scope string `protobuf:"bytes,4,opt,name=scope,proto3" json:"scope"` //标记模块 - Zone string `protobuf:"bytes,5,opt,name=zone,proto3" json:"zone"` //地区 不同地区切换不同发送帐号 + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + TelNum string `protobuf:"bytes,2,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` + Code string `protobuf:"bytes,3,opt,name=Code,json=code,proto3" json:"Code,omitempty"` + Scope string `protobuf:"bytes,4,opt,name=scope,proto3" json:"scope,omitempty"` //标记模块 } func (x *CheckMsgRequest) Reset() { *x = CheckMsgRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[49] + mi := &file_api_account_account_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3841,7 +3054,7 @@ func (x *CheckMsgRequest) String() string { func (*CheckMsgRequest) ProtoMessage() {} func (x *CheckMsgRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[49] + mi := &file_api_account_account_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3854,7 +3067,7 @@ func (x *CheckMsgRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CheckMsgRequest.ProtoReflect.Descriptor instead. func (*CheckMsgRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{49} + return file_api_account_account_proto_rawDescGZIP(), []int{42} } func (x *CheckMsgRequest) GetDomain() string { @@ -3885,13 +3098,6 @@ func (x *CheckMsgRequest) GetScope() string { return "" } -func (x *CheckMsgRequest) GetZone() string { - if x != nil { - return x.Zone - } - return "" -} - type SendMsgStatusResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3901,7 +3107,7 @@ type SendMsgStatusResponse struct { func (x *SendMsgStatusResponse) Reset() { *x = SendMsgStatusResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[50] + mi := &file_api_account_account_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3914,7 +3120,7 @@ func (x *SendMsgStatusResponse) String() string { func (*SendMsgStatusResponse) ProtoMessage() {} func (x *SendMsgStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[50] + mi := &file_api_account_account_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3927,7 +3133,7 @@ func (x *SendMsgStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SendMsgStatusResponse.ProtoReflect.Descriptor instead. func (*SendMsgStatusResponse) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{50} + return file_api_account_account_proto_rawDescGZIP(), []int{43} } type RemoveRequest struct { @@ -3935,15 +3141,15 @@ type RemoveRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain"` - ID uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID"` - Code string `protobuf:"bytes,3,opt,name=code,proto3" json:"code"` + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + ID uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` + Code string `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"` } func (x *RemoveRequest) Reset() { *x = RemoveRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[51] + mi := &file_api_account_account_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3956,7 +3162,7 @@ func (x *RemoveRequest) String() string { func (*RemoveRequest) ProtoMessage() {} func (x *RemoveRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[51] + mi := &file_api_account_account_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3969,7 +3175,7 @@ func (x *RemoveRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveRequest.ProtoReflect.Descriptor instead. func (*RemoveRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{51} + return file_api_account_account_proto_rawDescGZIP(), []int{44} } func (x *RemoveRequest) GetDomain() string { @@ -3998,27 +3204,27 @@ type WriteOffRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` - Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain"` - UserId uint64 `protobuf:"varint,3,opt,name=userId,proto3" json:"userId"` - Tel string `protobuf:"bytes,4,opt,name=tel,proto3" json:"tel"` - JonNum string `protobuf:"bytes,5,opt,name=jonNum,proto3" json:"jonNum"` - UserName string `protobuf:"bytes,6,opt,name=userName,proto3" json:"userName"` - EnterDate string `protobuf:"bytes,7,opt,name=enterDate,proto3" json:"enterDate"` - PositionName string `protobuf:"bytes,8,opt,name=positionName,proto3" json:"positionName"` - PositionId uint64 `protobuf:"varint,9,opt,name=positionId,proto3" json:"positionId"` - SiteName string `protobuf:"bytes,10,opt,name=siteName,proto3" json:"siteName"` - SiteId uint64 `protobuf:"varint,11,opt,name=siteId,proto3" json:"siteId"` - AuthUrl string `protobuf:"bytes,12,opt,name=authUrl,proto3" json:"authUrl"` - Type string `protobuf:"bytes,13,opt,name=type,proto3" json:"type"` - Status uint32 `protobuf:"varint,14,opt,name=status,proto3" json:"status"` - SubmitDate string `protobuf:"bytes,15,opt,name=submitDate,proto3" json:"submitDate"` + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` + UserId uint64 `protobuf:"varint,3,opt,name=userId,proto3" json:"userId,omitempty"` + Tel string `protobuf:"bytes,4,opt,name=tel,proto3" json:"tel,omitempty"` + JonNum string `protobuf:"bytes,5,opt,name=jonNum,proto3" json:"jonNum,omitempty"` + UserName string `protobuf:"bytes,6,opt,name=userName,proto3" json:"userName,omitempty"` + EnterDate string `protobuf:"bytes,7,opt,name=enterDate,proto3" json:"enterDate,omitempty"` + PositionName string `protobuf:"bytes,8,opt,name=positionName,proto3" json:"positionName,omitempty"` + PositionId uint64 `protobuf:"varint,9,opt,name=positionId,proto3" json:"positionId,omitempty"` + SiteName string `protobuf:"bytes,10,opt,name=siteName,proto3" json:"siteName,omitempty"` + SiteId uint64 `protobuf:"varint,11,opt,name=siteId,proto3" json:"siteId,omitempty"` + AuthUrl string `protobuf:"bytes,12,opt,name=authUrl,proto3" json:"authUrl,omitempty"` + Type string `protobuf:"bytes,13,opt,name=type,proto3" json:"type,omitempty"` + Status uint32 `protobuf:"varint,14,opt,name=status,proto3" json:"status,omitempty"` + SubmitDate string `protobuf:"bytes,15,opt,name=submitDate,proto3" json:"submitDate,omitempty"` } func (x *WriteOffRequest) Reset() { *x = WriteOffRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[52] + mi := &file_api_account_account_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4031,7 +3237,7 @@ func (x *WriteOffRequest) String() string { func (*WriteOffRequest) ProtoMessage() {} func (x *WriteOffRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[52] + mi := &file_api_account_account_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4044,7 +3250,7 @@ func (x *WriteOffRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WriteOffRequest.ProtoReflect.Descriptor instead. func (*WriteOffRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{52} + return file_api_account_account_proto_rawDescGZIP(), []int{45} } func (x *WriteOffRequest) GetId() uint64 { @@ -4157,20 +3363,20 @@ type WriteOffListRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Page uint64 `protobuf:"varint,1,opt,name=page,proto3" json:"page"` - PageSize uint64 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize"` - Domain string `protobuf:"bytes,3,opt,name=domain,proto3" json:"domain"` - UserName string `protobuf:"bytes,4,opt,name=userName,proto3" json:"userName"` - UserId uint64 `protobuf:"varint,5,opt,name=userId,proto3" json:"userId"` - SiteId uint64 `protobuf:"varint,6,opt,name=siteId,proto3" json:"siteId"` - Type string `protobuf:"bytes,7,opt,name=type,proto3" json:"type"` - Status uint32 `protobuf:"varint,8,opt,name=status,proto3" json:"status"` + Page uint64 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"` + PageSize uint64 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize,omitempty"` + Domain string `protobuf:"bytes,3,opt,name=domain,proto3" json:"domain,omitempty"` + UserName string `protobuf:"bytes,4,opt,name=userName,proto3" json:"userName,omitempty"` + UserId uint64 `protobuf:"varint,5,opt,name=userId,proto3" json:"userId,omitempty"` + SiteId uint64 `protobuf:"varint,6,opt,name=siteId,proto3" json:"siteId,omitempty"` + Type string `protobuf:"bytes,7,opt,name=type,proto3" json:"type,omitempty"` + Status uint32 `protobuf:"varint,8,opt,name=status,proto3" json:"status,omitempty"` } func (x *WriteOffListRequest) Reset() { *x = WriteOffListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[53] + mi := &file_api_account_account_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4183,7 +3389,7 @@ func (x *WriteOffListRequest) String() string { func (*WriteOffListRequest) ProtoMessage() {} func (x *WriteOffListRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[53] + mi := &file_api_account_account_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4196,7 +3402,7 @@ func (x *WriteOffListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WriteOffListRequest.ProtoReflect.Descriptor instead. func (*WriteOffListRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{53} + return file_api_account_account_proto_rawDescGZIP(), []int{46} } func (x *WriteOffListRequest) GetPage() uint64 { @@ -4260,14 +3466,14 @@ type WriteOffApproveRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` - Status uint32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Status uint32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` } func (x *WriteOffApproveRequest) Reset() { *x = WriteOffApproveRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[54] + mi := &file_api_account_account_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4280,7 +3486,7 @@ func (x *WriteOffApproveRequest) String() string { func (*WriteOffApproveRequest) ProtoMessage() {} func (x *WriteOffApproveRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[54] + mi := &file_api_account_account_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4293,7 +3499,7 @@ func (x *WriteOffApproveRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WriteOffApproveRequest.ProtoReflect.Descriptor instead. func (*WriteOffApproveRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{54} + return file_api_account_account_proto_rawDescGZIP(), []int{47} } func (x *WriteOffApproveRequest) GetId() uint64 { @@ -4315,14 +3521,14 @@ type WriteOffListResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total"` - WriteOffList []*WriteOffRequest `protobuf:"bytes,2,rep,name=writeOffList,proto3" json:"writeOffList"` + Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"` + WriteOffList []*WriteOffRequest `protobuf:"bytes,2,rep,name=writeOffList,proto3" json:"writeOffList,omitempty"` } func (x *WriteOffListResponse) Reset() { *x = WriteOffListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[55] + mi := &file_api_account_account_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4335,7 +3541,7 @@ func (x *WriteOffListResponse) String() string { func (*WriteOffListResponse) ProtoMessage() {} func (x *WriteOffListResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[55] + mi := &file_api_account_account_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4348,7 +3554,7 @@ func (x *WriteOffListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use WriteOffListResponse.ProtoReflect.Descriptor instead. func (*WriteOffListResponse) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{55} + return file_api_account_account_proto_rawDescGZIP(), []int{48} } func (x *WriteOffListResponse) GetTotal() int64 { @@ -4374,7 +3580,7 @@ type RemoveResponse struct { func (x *RemoveResponse) Reset() { *x = RemoveResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[56] + mi := &file_api_account_account_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4387,7 +3593,7 @@ func (x *RemoveResponse) String() string { func (*RemoveResponse) ProtoMessage() {} func (x *RemoveResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[56] + mi := &file_api_account_account_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4400,7 +3606,7 @@ func (x *RemoveResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveResponse.ProtoReflect.Descriptor instead. func (*RemoveResponse) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{56} + return file_api_account_account_proto_rawDescGZIP(), []int{49} } type UpdateRequest struct { @@ -4408,16 +3614,38 @@ type UpdateRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID"` //ID - Domain string `protobuf:"bytes,2,opt,name=Domain,json=domain,proto3" json:"Domain"` - Language string `protobuf:"bytes,3,opt,name=Language,json=language,proto3" json:"Language"` - NickName string `protobuf:"bytes,4,opt,name=NickName,json=nickName,proto3" json:"NickName"` + ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` //ID + Domain string `protobuf:"bytes,2,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + NickName string `protobuf:"bytes,3,opt,name=NickName,json=nickName,proto3" json:"NickName,omitempty"` + Password string `protobuf:"bytes,4,opt,name=Password,json=password,proto3" json:"Password,omitempty"` //密码 + Avatar string `protobuf:"bytes,5,opt,name=Avatar,json=avatar,proto3" json:"Avatar,omitempty"` //头像 + Status string `protobuf:"bytes,7,opt,name=Status,json=status,proto3" json:"Status,omitempty"` + TelNum string `protobuf:"bytes,8,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` + EnterDate string `protobuf:"bytes,14,opt,name=EnterDate,json=enterDate,proto3" json:"EnterDate,omitempty"` + Extend *Extend `protobuf:"bytes,17,opt,name=Extend,json=extend,proto3" json:"Extend,omitempty"` + Title string `protobuf:"bytes,18,opt,name=Title,json=title,proto3" json:"Title,omitempty"` + JobNum string `protobuf:"bytes,19,opt,name=JobNum,json=jobNum,proto3" json:"JobNum,omitempty"` + BirthDate string `protobuf:"bytes,20,opt,name=BirthDate,json=birthDate,proto3" json:"BirthDate,omitempty"` + Sex uint64 `protobuf:"varint,21,opt,name=Sex,json=sex,proto3" json:"Sex,omitempty"` + IdNum string `protobuf:"bytes,22,opt,name=IdNum,json=idNum,proto3" json:"IdNum,omitempty"` + RealName string `protobuf:"bytes,23,opt,name=RealName,json=realName,proto3" json:"RealName,omitempty"` + InvitationCode string `protobuf:"bytes,24,opt,name=InvitationCode,json=invitationCode,proto3" json:"InvitationCode,omitempty"` + LeftDate string `protobuf:"bytes,25,opt,name=LeftDate,json=leftDate,proto3" json:"LeftDate,omitempty"` + Remark string `protobuf:"bytes,26,opt,name=Remark,json=remark,proto3" json:"Remark,omitempty"` + RecentImg string `protobuf:"bytes,27,opt,name=RecentImg,json=recentImg,proto3" json:"RecentImg,omitempty"` + ICNum string `protobuf:"bytes,28,opt,name=ICNum,json=icNum,proto3" json:"ICNum,omitempty"` + Train string `protobuf:"bytes,29,opt,name=Train,json=train,proto3" json:"Train,omitempty"` + Certificate string `protobuf:"bytes,30,opt,name=Certificate,json=certificate,proto3" json:"Certificate,omitempty"` + TrainVideos []*TrainVideo `protobuf:"bytes,31,rep,name=TrainVideos,json=trainVideos,proto3" json:"TrainVideos,omitempty"` + Operator *Operator `protobuf:"bytes,32,opt,name=operator,proto3" json:"operator,omitempty"` + SecurityCode string `protobuf:"bytes,33,opt,name=SecurityCode,json=securityCode,proto3" json:"SecurityCode,omitempty"` + UserExtend *UserExtend `protobuf:"bytes,34,opt,name=userExtend,proto3" json:"userExtend,omitempty"` } func (x *UpdateRequest) Reset() { *x = UpdateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[57] + mi := &file_api_account_account_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4430,7 +3658,7 @@ func (x *UpdateRequest) String() string { func (*UpdateRequest) ProtoMessage() {} func (x *UpdateRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[57] + mi := &file_api_account_account_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4443,7 +3671,7 @@ func (x *UpdateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateRequest.ProtoReflect.Descriptor instead. func (*UpdateRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{57} + return file_api_account_account_proto_rawDescGZIP(), []int{50} } func (x *UpdateRequest) GetID() uint64 { @@ -4460,13 +3688,6 @@ func (x *UpdateRequest) GetDomain() string { return "" } -func (x *UpdateRequest) GetLanguage() string { - if x != nil { - return x.Language - } - return "" -} - func (x *UpdateRequest) GetNickName() string { if x != nil { return x.NickName @@ -4474,19 +3695,180 @@ func (x *UpdateRequest) GetNickName() string { return "" } +func (x *UpdateRequest) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +func (x *UpdateRequest) GetAvatar() string { + if x != nil { + return x.Avatar + } + return "" +} + +func (x *UpdateRequest) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *UpdateRequest) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *UpdateRequest) GetEnterDate() string { + if x != nil { + return x.EnterDate + } + return "" +} + +func (x *UpdateRequest) GetExtend() *Extend { + if x != nil { + return x.Extend + } + return nil +} + +func (x *UpdateRequest) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *UpdateRequest) GetJobNum() string { + if x != nil { + return x.JobNum + } + return "" +} + +func (x *UpdateRequest) GetBirthDate() string { + if x != nil { + return x.BirthDate + } + return "" +} + +func (x *UpdateRequest) GetSex() uint64 { + if x != nil { + return x.Sex + } + return 0 +} + +func (x *UpdateRequest) GetIdNum() string { + if x != nil { + return x.IdNum + } + return "" +} + +func (x *UpdateRequest) GetRealName() string { + if x != nil { + return x.RealName + } + return "" +} + +func (x *UpdateRequest) GetInvitationCode() string { + if x != nil { + return x.InvitationCode + } + return "" +} + +func (x *UpdateRequest) GetLeftDate() string { + if x != nil { + return x.LeftDate + } + return "" +} + +func (x *UpdateRequest) GetRemark() string { + if x != nil { + return x.Remark + } + return "" +} + +func (x *UpdateRequest) GetRecentImg() string { + if x != nil { + return x.RecentImg + } + return "" +} + +func (x *UpdateRequest) GetICNum() string { + if x != nil { + return x.ICNum + } + return "" +} + +func (x *UpdateRequest) GetTrain() string { + if x != nil { + return x.Train + } + return "" +} + +func (x *UpdateRequest) GetCertificate() string { + if x != nil { + return x.Certificate + } + return "" +} + +func (x *UpdateRequest) GetTrainVideos() []*TrainVideo { + if x != nil { + return x.TrainVideos + } + return nil +} + +func (x *UpdateRequest) GetOperator() *Operator { + if x != nil { + return x.Operator + } + return nil +} + +func (x *UpdateRequest) GetSecurityCode() string { + if x != nil { + return x.SecurityCode + } + return "" +} + +func (x *UpdateRequest) GetUserExtend() *UserExtend { + if x != nil { + return x.UserExtend + } + return nil +} + type Operator struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID uint32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID"` - Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name"` + ID uint32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` } func (x *Operator) Reset() { *x = Operator{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[58] + mi := &file_api_account_account_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4499,7 +3881,7 @@ func (x *Operator) String() string { func (*Operator) ProtoMessage() {} func (x *Operator) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[58] + mi := &file_api_account_account_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4512,7 +3894,7 @@ func (x *Operator) ProtoReflect() protoreflect.Message { // Deprecated: Use Operator.ProtoReflect.Descriptor instead. func (*Operator) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{58} + return file_api_account_account_proto_rawDescGZIP(), []int{51} } func (x *Operator) GetID() uint32 { @@ -4534,16 +3916,16 @@ type TrainVideo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TrainUUID string `protobuf:"bytes,1,opt,name=trainUUID,proto3" json:"trainUUID"` - TrainDesc string `protobuf:"bytes,2,opt,name=trainDesc,proto3" json:"trainDesc"` - Video string `protobuf:"bytes,3,opt,name=video,proto3" json:"video"` - SecurityCode string `protobuf:"bytes,31,opt,name=SecurityCode,json=securityCode,proto3" json:"SecurityCode"` + TrainUUID string `protobuf:"bytes,1,opt,name=trainUUID,proto3" json:"trainUUID,omitempty"` + TrainDesc string `protobuf:"bytes,2,opt,name=trainDesc,proto3" json:"trainDesc,omitempty"` + Video string `protobuf:"bytes,3,opt,name=video,proto3" json:"video,omitempty"` + SecurityCode string `protobuf:"bytes,31,opt,name=SecurityCode,json=securityCode,proto3" json:"SecurityCode,omitempty"` } func (x *TrainVideo) Reset() { *x = TrainVideo{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[59] + mi := &file_api_account_account_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4556,7 +3938,7 @@ func (x *TrainVideo) String() string { func (*TrainVideo) ProtoMessage() {} func (x *TrainVideo) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[59] + mi := &file_api_account_account_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4569,7 +3951,7 @@ func (x *TrainVideo) ProtoReflect() protoreflect.Message { // Deprecated: Use TrainVideo.ProtoReflect.Descriptor instead. func (*TrainVideo) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{59} + return file_api_account_account_proto_rawDescGZIP(), []int{52} } func (x *TrainVideo) GetTrainUUID() string { @@ -4609,7 +3991,7 @@ type UpdateResponse struct { func (x *UpdateResponse) Reset() { *x = UpdateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[60] + mi := &file_api_account_account_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4622,7 +4004,7 @@ func (x *UpdateResponse) String() string { func (*UpdateResponse) ProtoMessage() {} func (x *UpdateResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[60] + mi := &file_api_account_account_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4635,7 +4017,7 @@ func (x *UpdateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateResponse.ProtoReflect.Descriptor instead. func (*UpdateResponse) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{60} + return file_api_account_account_proto_rawDescGZIP(), []int{53} } type PrivacyInfoRequest struct { @@ -4643,15 +4025,15 @@ type PrivacyInfoRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID"` //ID - Domain string `protobuf:"bytes,2,opt,name=Domain,json=domain,proto3" json:"Domain"` - SecurityCode string `protobuf:"bytes,3,opt,name=SecurityCode,json=securityCode,proto3" json:"SecurityCode"` + ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` //ID + Domain string `protobuf:"bytes,2,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + SecurityCode string `protobuf:"bytes,3,opt,name=SecurityCode,json=securityCode,proto3" json:"SecurityCode,omitempty"` } func (x *PrivacyInfoRequest) Reset() { *x = PrivacyInfoRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[61] + mi := &file_api_account_account_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4664,7 +4046,7 @@ func (x *PrivacyInfoRequest) String() string { func (*PrivacyInfoRequest) ProtoMessage() {} func (x *PrivacyInfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[61] + mi := &file_api_account_account_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4677,7 +4059,7 @@ func (x *PrivacyInfoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PrivacyInfoRequest.ProtoReflect.Descriptor instead. func (*PrivacyInfoRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{61} + return file_api_account_account_proto_rawDescGZIP(), []int{54} } func (x *PrivacyInfoRequest) GetID() uint64 { @@ -4706,20 +4088,32 @@ type ListRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain"` - PageSize uint64 `protobuf:"varint,2,opt,name=PageSize,json=pageSize,proto3" json:"PageSize"` - Page uint64 `protobuf:"varint,3,opt,name=Page,json=page,proto3" json:"Page"` - Key string `protobuf:"bytes,4,opt,name=key,proto3" json:"key"` - Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status"` - TelNum string `protobuf:"bytes,6,opt,name=telNum,proto3" json:"telNum"` - StartEnterDate string `protobuf:"bytes,7,opt,name=startEnterDate,proto3" json:"startEnterDate"` - EndEnterDate string `protobuf:"bytes,8,opt,name=endEnterDate,proto3" json:"endEnterDate"` + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + PageSize uint64 `protobuf:"varint,2,opt,name=PageSize,json=pageSize,proto3" json:"PageSize,omitempty"` + Page uint64 `protobuf:"varint,3,opt,name=Page,json=page,proto3" json:"Page,omitempty"` + Key string `protobuf:"bytes,4,opt,name=key,proto3" json:"key,omitempty"` + Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` + TelNum string `protobuf:"bytes,6,opt,name=telNum,proto3" json:"telNum,omitempty"` + StartEnterDate string `protobuf:"bytes,7,opt,name=startEnterDate,proto3" json:"startEnterDate,omitempty"` + EndEnterDate string `protobuf:"bytes,8,opt,name=endEnterDate,proto3" json:"endEnterDate,omitempty"` + NickName string `protobuf:"bytes,9,opt,name=nickName,proto3" json:"nickName,omitempty"` + IsReal uint32 `protobuf:"varint,10,opt,name=isReal,proto3" json:"isReal,omitempty"` + IsMainLand uint32 `protobuf:"varint,11,opt,name=isMainLand,proto3" json:"isMainLand,omitempty"` + FromCode string `protobuf:"bytes,12,opt,name=fromCode,proto3" json:"fromCode,omitempty"` + BankName string `protobuf:"bytes,13,opt,name=bankName,proto3" json:"bankName,omitempty"` + BankNo string `protobuf:"bytes,14,opt,name=bankNo,proto3" json:"bankNo,omitempty"` + Sex uint32 `protobuf:"varint,15,opt,name=sex,proto3" json:"sex,omitempty"` + StartRealTime string `protobuf:"bytes,16,opt,name=startRealTime,proto3" json:"startRealTime,omitempty"` + EndRealTime string `protobuf:"bytes,17,opt,name=endRealTime,proto3" json:"endRealTime,omitempty"` + EndCreatedAt string `protobuf:"bytes,18,opt,name=endCreatedAt,proto3" json:"endCreatedAt,omitempty"` + StartCreatedAt string `protobuf:"bytes,19,opt,name=startCreatedAt,proto3" json:"startCreatedAt,omitempty"` + RealName string `protobuf:"bytes,20,opt,name=realName,proto3" json:"realName,omitempty"` } func (x *ListRequest) Reset() { *x = ListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[62] + mi := &file_api_account_account_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4732,7 +4126,7 @@ func (x *ListRequest) String() string { func (*ListRequest) ProtoMessage() {} func (x *ListRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[62] + mi := &file_api_account_account_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4745,7 +4139,7 @@ func (x *ListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRequest.ProtoReflect.Descriptor instead. func (*ListRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{62} + return file_api_account_account_proto_rawDescGZIP(), []int{55} } func (x *ListRequest) GetDomain() string { @@ -4804,21 +4198,105 @@ func (x *ListRequest) GetEndEnterDate() string { return "" } +func (x *ListRequest) GetNickName() string { + if x != nil { + return x.NickName + } + return "" +} + +func (x *ListRequest) GetIsReal() uint32 { + if x != nil { + return x.IsReal + } + return 0 +} + +func (x *ListRequest) GetIsMainLand() uint32 { + if x != nil { + return x.IsMainLand + } + return 0 +} + +func (x *ListRequest) GetFromCode() string { + if x != nil { + return x.FromCode + } + return "" +} + +func (x *ListRequest) GetBankName() string { + if x != nil { + return x.BankName + } + return "" +} + +func (x *ListRequest) GetBankNo() string { + if x != nil { + return x.BankNo + } + return "" +} + +func (x *ListRequest) GetSex() uint32 { + if x != nil { + return x.Sex + } + return 0 +} + +func (x *ListRequest) GetStartRealTime() string { + if x != nil { + return x.StartRealTime + } + return "" +} + +func (x *ListRequest) GetEndRealTime() string { + if x != nil { + return x.EndRealTime + } + return "" +} + +func (x *ListRequest) GetEndCreatedAt() string { + if x != nil { + return x.EndCreatedAt + } + return "" +} + +func (x *ListRequest) GetStartCreatedAt() string { + if x != nil { + return x.StartCreatedAt + } + return "" +} + +func (x *ListRequest) GetRealName() string { + if x != nil { + return x.RealName + } + return "" +} + type ListResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=Status,json=status,proto3" json:"Status"` - Count uint64 `protobuf:"varint,2,opt,name=Count,json=count,proto3" json:"Count"` - Data []*AccountInfo `protobuf:"bytes,3,rep,name=Data,json=data,proto3" json:"Data"` - AllCount uint64 `protobuf:"varint,4,opt,name=AllCount,json=allCount,proto3" json:"AllCount"` + Status string `protobuf:"bytes,1,opt,name=Status,json=status,proto3" json:"Status,omitempty"` + Count uint64 `protobuf:"varint,2,opt,name=Count,json=count,proto3" json:"Count,omitempty"` + Data []*AccountInfo `protobuf:"bytes,3,rep,name=Data,json=data,proto3" json:"Data,omitempty"` + AllCount uint64 `protobuf:"varint,4,opt,name=AllCount,json=allCount,proto3" json:"AllCount,omitempty"` } func (x *ListResponse) Reset() { *x = ListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[63] + mi := &file_api_account_account_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4831,7 +4309,7 @@ func (x *ListResponse) String() string { func (*ListResponse) ProtoMessage() {} func (x *ListResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[63] + mi := &file_api_account_account_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4844,7 +4322,7 @@ func (x *ListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListResponse.ProtoReflect.Descriptor instead. func (*ListResponse) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{63} + return file_api_account_account_proto_rawDescGZIP(), []int{56} } func (x *ListResponse) GetStatus() string { @@ -4880,15 +4358,15 @@ type InfoRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain"` - ID uint64 `protobuf:"varint,2,opt,name=ID,json=id,proto3" json:"ID"` - Scene string `protobuf:"bytes,3,opt,name=scene,proto3" json:"scene"` //场景值 base-默认仅仅user数据 + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + ID uint64 `protobuf:"varint,2,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + Scene string `protobuf:"bytes,3,opt,name=scene,proto3" json:"scene,omitempty"` //场景值 base-默认仅仅user数据 } func (x *InfoRequest) Reset() { *x = InfoRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[64] + mi := &file_api_account_account_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4901,7 +4379,7 @@ func (x *InfoRequest) String() string { func (*InfoRequest) ProtoMessage() {} func (x *InfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[64] + mi := &file_api_account_account_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4914,7 +4392,7 @@ func (x *InfoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InfoRequest.ProtoReflect.Descriptor instead. func (*InfoRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{64} + return file_api_account_account_proto_rawDescGZIP(), []int{57} } func (x *InfoRequest) GetDomain() string { @@ -4943,15 +4421,15 @@ type InfoResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=Status,json=status,proto3" json:"Status"` - Info *AccountInfo `protobuf:"bytes,2,opt,name=Info,json=accountInfo,proto3" json:"Info"` - IsExist bool `protobuf:"varint,3,opt,name=IsExist,json=isExist,proto3" json:"IsExist"` + Status string `protobuf:"bytes,1,opt,name=Status,json=status,proto3" json:"Status,omitempty"` + Info *AccountInfo `protobuf:"bytes,2,opt,name=Info,json=accountInfo,proto3" json:"Info,omitempty"` + IsExist bool `protobuf:"varint,3,opt,name=IsExist,json=isExist,proto3" json:"IsExist,omitempty"` } func (x *InfoResponse) Reset() { *x = InfoResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[65] + mi := &file_api_account_account_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4964,7 +4442,7 @@ func (x *InfoResponse) String() string { func (*InfoResponse) ProtoMessage() {} func (x *InfoResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[65] + mi := &file_api_account_account_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4977,7 +4455,7 @@ func (x *InfoResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use InfoResponse.ProtoReflect.Descriptor instead. func (*InfoResponse) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{65} + return file_api_account_account_proto_rawDescGZIP(), []int{58} } func (x *InfoResponse) GetStatus() string { @@ -5006,17 +4484,18 @@ type DecryptJwtResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Domain string `protobuf:"bytes,1,opt,name=Domain,json=status,proto3" json:"Domain"` - ID uint64 `protobuf:"varint,2,opt,name=ID,json=id,proto3" json:"ID"` - Account string `protobuf:"bytes,3,opt,name=Account,json=account,proto3" json:"Account"` - NickName string `protobuf:"bytes,4,opt,name=NickName,json=nickName,proto3" json:"NickName"` - IsOffline bool `protobuf:"varint,5,opt,name=IsOffline,json=isOffline,proto3" json:"IsOffline"` + Domain string `protobuf:"bytes,1,opt,name=Domain,json=status,proto3" json:"Domain,omitempty"` + ID uint64 `protobuf:"varint,2,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + Account string `protobuf:"bytes,3,opt,name=Account,json=account,proto3" json:"Account,omitempty"` + NickName string `protobuf:"bytes,4,opt,name=NickName,json=nickName,proto3" json:"NickName,omitempty"` + IsOffline bool `protobuf:"varint,5,opt,name=IsOffline,json=isOffline,proto3" json:"IsOffline,omitempty"` + OfflineCode string `protobuf:"bytes,6,opt,name=offlineCode,proto3" json:"offlineCode,omitempty"` //下线的原因 } func (x *DecryptJwtResponse) Reset() { *x = DecryptJwtResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[66] + mi := &file_api_account_account_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5029,7 +4508,7 @@ func (x *DecryptJwtResponse) String() string { func (*DecryptJwtResponse) ProtoMessage() {} func (x *DecryptJwtResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[66] + mi := &file_api_account_account_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5042,7 +4521,7 @@ func (x *DecryptJwtResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DecryptJwtResponse.ProtoReflect.Descriptor instead. func (*DecryptJwtResponse) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{66} + return file_api_account_account_proto_rawDescGZIP(), []int{59} } func (x *DecryptJwtResponse) GetDomain() string { @@ -5080,19 +4559,26 @@ func (x *DecryptJwtResponse) GetIsOffline() bool { return false } +func (x *DecryptJwtResponse) GetOfflineCode() string { + if x != nil { + return x.OfflineCode + } + return "" +} + type DecryptJwtRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token"` - Domain string `protobuf:"bytes,2,opt,name=Domain,proto3" json:"Domain"` + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + Domain string `protobuf:"bytes,2,opt,name=Domain,proto3" json:"Domain,omitempty"` } func (x *DecryptJwtRequest) Reset() { *x = DecryptJwtRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[67] + mi := &file_api_account_account_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5105,7 +4591,7 @@ func (x *DecryptJwtRequest) String() string { func (*DecryptJwtRequest) ProtoMessage() {} func (x *DecryptJwtRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[67] + mi := &file_api_account_account_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5118,7 +4604,7 @@ func (x *DecryptJwtRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DecryptJwtRequest.ProtoReflect.Descriptor instead. func (*DecryptJwtRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{67} + return file_api_account_account_proto_rawDescGZIP(), []int{60} } func (x *DecryptJwtRequest) GetToken() string { @@ -5140,14 +4626,14 @@ type CheckPwdRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Token string `protobuf:"bytes,1,opt,name=Token,json=token,proto3" json:"Token"` - Password string `protobuf:"bytes,2,opt,name=Password,json=password,proto3" json:"Password"` + Token string `protobuf:"bytes,1,opt,name=Token,json=token,proto3" json:"Token,omitempty"` + Password string `protobuf:"bytes,2,opt,name=Password,json=password,proto3" json:"Password,omitempty"` } func (x *CheckPwdRequest) Reset() { *x = CheckPwdRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[68] + mi := &file_api_account_account_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5160,7 +4646,7 @@ func (x *CheckPwdRequest) String() string { func (*CheckPwdRequest) ProtoMessage() {} func (x *CheckPwdRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[68] + mi := &file_api_account_account_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5173,7 +4659,7 @@ func (x *CheckPwdRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CheckPwdRequest.ProtoReflect.Descriptor instead. func (*CheckPwdRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{68} + return file_api_account_account_proto_rawDescGZIP(), []int{61} } func (x *CheckPwdRequest) GetToken() string { @@ -5195,15 +4681,15 @@ type AuthenticationRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=Name,json=name,proto3" json:"Name"` - IDNum string `protobuf:"bytes,2,opt,name=IDNum,json=idNum,proto3" json:"IDNum"` - Token string `protobuf:"bytes,3,opt,name=Token,json=token,proto3" json:"Token"` + Name string `protobuf:"bytes,1,opt,name=Name,json=name,proto3" json:"Name,omitempty"` + IDNum string `protobuf:"bytes,2,opt,name=IDNum,json=idNum,proto3" json:"IDNum,omitempty"` + Token string `protobuf:"bytes,3,opt,name=Token,json=token,proto3" json:"Token,omitempty"` } func (x *AuthenticationRequest) Reset() { *x = AuthenticationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[69] + mi := &file_api_account_account_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5216,7 +4702,7 @@ func (x *AuthenticationRequest) String() string { func (*AuthenticationRequest) ProtoMessage() {} func (x *AuthenticationRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[69] + mi := &file_api_account_account_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5229,7 +4715,7 @@ func (x *AuthenticationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AuthenticationRequest.ProtoReflect.Descriptor instead. func (*AuthenticationRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{69} + return file_api_account_account_proto_rawDescGZIP(), []int{62} } func (x *AuthenticationRequest) GetName() string { @@ -5258,15 +4744,15 @@ type RequestStatus struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=Status,json=status,proto3" json:"Status"` - ID uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID"` - IsExist bool `protobuf:"varint,3,opt,name=isExist,proto3" json:"isExist"` + Status string `protobuf:"bytes,1,opt,name=Status,json=status,proto3" json:"Status,omitempty"` + ID uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` + IsExist bool `protobuf:"varint,3,opt,name=isExist,proto3" json:"isExist,omitempty"` } func (x *RequestStatus) Reset() { *x = RequestStatus{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[70] + mi := &file_api_account_account_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5279,7 +4765,7 @@ func (x *RequestStatus) String() string { func (*RequestStatus) ProtoMessage() {} func (x *RequestStatus) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[70] + mi := &file_api_account_account_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5292,7 +4778,7 @@ func (x *RequestStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use RequestStatus.ProtoReflect.Descriptor instead. func (*RequestStatus) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{70} + return file_api_account_account_proto_rawDescGZIP(), []int{63} } func (x *RequestStatus) GetStatus() string { @@ -5321,19 +4807,37 @@ type RegistRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain"` - TelNum string `protobuf:"bytes,2,opt,name=telNum,proto3" json:"telNum"` - Code string `protobuf:"bytes,3,opt,name=code,proto3" json:"code"` - Address string `protobuf:"bytes,4,opt,name=address,proto3" json:"address"` - TelAreaCode string `protobuf:"bytes,5,opt,name=telAreaCode,proto3" json:"telAreaCode"` - Language string `protobuf:"bytes,6,opt,name=language,proto3" json:"language"` - NickName string `protobuf:"bytes,7,opt,name=nickName,proto3" json:"nickName"` + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + NickName string `protobuf:"bytes,2,opt,name=NickName,json=nickName,proto3" json:"NickName,omitempty"` + TelNum string `protobuf:"bytes,3,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` + Password string `protobuf:"bytes,4,opt,name=Password,json=password,proto3" json:"Password,omitempty"` //密码 + Avatar string `protobuf:"bytes,5,opt,name=Avatar,json=avatar,proto3" json:"Avatar,omitempty"` //头像 + EnterDate string `protobuf:"bytes,14,opt,name=EnterDate,json=enterDate,proto3" json:"EnterDate,omitempty"` + Extend *Extend `protobuf:"bytes,15,opt,name=Extend,json=extend,proto3" json:"Extend,omitempty"` + JobNum string `protobuf:"bytes,16,opt,name=JobNum,proto3" json:"JobNum,omitempty"` //工号 + Code string `protobuf:"bytes,17,opt,name=Code,json=code,proto3" json:"Code,omitempty"` //工号 + IdNum string `protobuf:"bytes,18,opt,name=IdNum,json=idNum,proto3" json:"IdNum,omitempty"` //年龄 + RealName string `protobuf:"bytes,19,opt,name=RealName,json=realName,proto3" json:"RealName,omitempty"` // + RecentImg string `protobuf:"bytes,20,opt,name=RecentImg,proto3" json:"RecentImg,omitempty"` + RealIDImgA string `protobuf:"bytes,21,opt,name=RealIDImgA,proto3" json:"RealIDImgA,omitempty"` + RealIDImgB string `protobuf:"bytes,22,opt,name=RealIDImgB,proto3" json:"RealIDImgB,omitempty"` + Video string `protobuf:"bytes,23,opt,name=Video,proto3" json:"Video,omitempty"` + ICNum string `protobuf:"bytes,24,opt,name=ICNum,proto3" json:"ICNum,omitempty"` + Train string `protobuf:"bytes,25,opt,name=Train,proto3" json:"Train,omitempty"` + Certificate string `protobuf:"bytes,26,opt,name=Certificate,proto3" json:"Certificate,omitempty"` + Source string `protobuf:"bytes,27,opt,name=Source,proto3" json:"Source,omitempty"` + Operator *Operator `protobuf:"bytes,28,opt,name=operator,proto3" json:"operator,omitempty"` + Status string `protobuf:"bytes,29,opt,name=Status,proto3" json:"Status,omitempty"` + BlockAddr string `protobuf:"bytes,30,opt,name=BlockAddr,proto3" json:"BlockAddr,omitempty"` + Passport *Passport `protobuf:"bytes,31,opt,name=passport,proto3" json:"passport,omitempty"` //护照 港澳台 护照 通信证等 + LeftDate string `protobuf:"bytes,32,opt,name=leftDate,proto3" json:"leftDate,omitempty"` //离职时间 + UserExtend *UserExtend `protobuf:"bytes,33,opt,name=UserExtend,proto3" json:"UserExtend,omitempty"` //离职时间 } func (x *RegistRequest) Reset() { *x = RegistRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[71] + mi := &file_api_account_account_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5346,7 +4850,7 @@ func (x *RegistRequest) String() string { func (*RegistRequest) ProtoMessage() {} func (x *RegistRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[71] + mi := &file_api_account_account_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5359,7 +4863,7 @@ func (x *RegistRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RegistRequest.ProtoReflect.Descriptor instead. func (*RegistRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{71} + return file_api_account_account_proto_rawDescGZIP(), []int{64} } func (x *RegistRequest) GetDomain() string { @@ -5369,41 +4873,6 @@ func (x *RegistRequest) GetDomain() string { return "" } -func (x *RegistRequest) GetTelNum() string { - if x != nil { - return x.TelNum - } - return "" -} - -func (x *RegistRequest) GetCode() string { - if x != nil { - return x.Code - } - return "" -} - -func (x *RegistRequest) GetAddress() string { - if x != nil { - return x.Address - } - return "" -} - -func (x *RegistRequest) GetTelAreaCode() string { - if x != nil { - return x.TelAreaCode - } - return "" -} - -func (x *RegistRequest) GetLanguage() string { - if x != nil { - return x.Language - } - return "" -} - func (x *RegistRequest) GetNickName() string { if x != nil { return x.NickName @@ -5411,24 +4880,417 @@ func (x *RegistRequest) GetNickName() string { return "" } +func (x *RegistRequest) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *RegistRequest) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +func (x *RegistRequest) GetAvatar() string { + if x != nil { + return x.Avatar + } + return "" +} + +func (x *RegistRequest) GetEnterDate() string { + if x != nil { + return x.EnterDate + } + return "" +} + +func (x *RegistRequest) GetExtend() *Extend { + if x != nil { + return x.Extend + } + return nil +} + +func (x *RegistRequest) GetJobNum() string { + if x != nil { + return x.JobNum + } + return "" +} + +func (x *RegistRequest) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +func (x *RegistRequest) GetIdNum() string { + if x != nil { + return x.IdNum + } + return "" +} + +func (x *RegistRequest) GetRealName() string { + if x != nil { + return x.RealName + } + return "" +} + +func (x *RegistRequest) GetRecentImg() string { + if x != nil { + return x.RecentImg + } + return "" +} + +func (x *RegistRequest) GetRealIDImgA() string { + if x != nil { + return x.RealIDImgA + } + return "" +} + +func (x *RegistRequest) GetRealIDImgB() string { + if x != nil { + return x.RealIDImgB + } + return "" +} + +func (x *RegistRequest) GetVideo() string { + if x != nil { + return x.Video + } + return "" +} + +func (x *RegistRequest) GetICNum() string { + if x != nil { + return x.ICNum + } + return "" +} + +func (x *RegistRequest) GetTrain() string { + if x != nil { + return x.Train + } + return "" +} + +func (x *RegistRequest) GetCertificate() string { + if x != nil { + return x.Certificate + } + return "" +} + +func (x *RegistRequest) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +func (x *RegistRequest) GetOperator() *Operator { + if x != nil { + return x.Operator + } + return nil +} + +func (x *RegistRequest) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *RegistRequest) GetBlockAddr() string { + if x != nil { + return x.BlockAddr + } + return "" +} + +func (x *RegistRequest) GetPassport() *Passport { + if x != nil { + return x.Passport + } + return nil +} + +func (x *RegistRequest) GetLeftDate() string { + if x != nil { + return x.LeftDate + } + return "" +} + +func (x *RegistRequest) GetUserExtend() *UserExtend { + if x != nil { + return x.UserExtend + } + return nil +} + +type UserExtend struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid,omitempty"` + UserID string `protobuf:"bytes,3,opt,name=userID,proto3" json:"userID,omitempty"` + Address string `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"` + BankName string `protobuf:"bytes,5,opt,name=bankName,proto3" json:"bankName,omitempty"` + BankNo string `protobuf:"bytes,6,opt,name=bankNo,proto3" json:"bankNo,omitempty"` + Zone string `protobuf:"bytes,7,opt,name=zone,proto3" json:"zone,omitempty"` + IsMainland uint32 `protobuf:"varint,8,opt,name=isMainland,proto3" json:"isMainland,omitempty"` + IsReal uint32 `protobuf:"varint,9,opt,name=isReal,proto3" json:"isReal,omitempty"` //是否实名 + FromCode string `protobuf:"bytes,10,opt,name=fromCode,proto3" json:"fromCode,omitempty"` // 99999 + RealTime string `protobuf:"bytes,11,opt,name=realTime,proto3" json:"realTime,omitempty"` // 实名信息时间 + RealName string `protobuf:"bytes,12,opt,name=realName,proto3" json:"realName,omitempty"` // 实名信息时间 + IdType string `protobuf:"bytes,13,opt,name=idType,proto3" json:"idType,omitempty"` //证件类型 + IdNo string `protobuf:"bytes,14,opt,name=idNo,proto3" json:"idNo,omitempty"` //证件号码 +} + +func (x *UserExtend) Reset() { + *x = UserExtend{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserExtend) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserExtend) ProtoMessage() {} + +func (x *UserExtend) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[65] + 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 UserExtend.ProtoReflect.Descriptor instead. +func (*UserExtend) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{65} +} + +func (x *UserExtend) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UserExtend) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *UserExtend) GetUserID() string { + if x != nil { + return x.UserID + } + return "" +} + +func (x *UserExtend) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *UserExtend) GetBankName() string { + if x != nil { + return x.BankName + } + return "" +} + +func (x *UserExtend) GetBankNo() string { + if x != nil { + return x.BankNo + } + return "" +} + +func (x *UserExtend) GetZone() string { + if x != nil { + return x.Zone + } + return "" +} + +func (x *UserExtend) GetIsMainland() uint32 { + if x != nil { + return x.IsMainland + } + return 0 +} + +func (x *UserExtend) GetIsReal() uint32 { + if x != nil { + return x.IsReal + } + return 0 +} + +func (x *UserExtend) GetFromCode() string { + if x != nil { + return x.FromCode + } + return "" +} + +func (x *UserExtend) GetRealTime() string { + if x != nil { + return x.RealTime + } + return "" +} + +func (x *UserExtend) GetRealName() string { + if x != nil { + return x.RealName + } + return "" +} + +func (x *UserExtend) GetIdType() string { + if x != nil { + return x.IdType + } + return "" +} + +func (x *UserExtend) GetIdNo() string { + if x != nil { + return x.IdNo + } + return "" +} + +type Passport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IdNum string `protobuf:"bytes,1,opt,name=idNum,proto3" json:"idNum,omitempty"` //编号 + RealIDImgA string `protobuf:"bytes,2,opt,name=realIDImgA,proto3" json:"realIDImgA,omitempty"` //正反面 + RealIDImgB string `protobuf:"bytes,3,opt,name=realIDImgB,proto3" json:"realIDImgB,omitempty"` //正反面 + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` //名字 + IdType string `protobuf:"bytes,5,opt,name=idType,proto3" json:"idType,omitempty"` //法大大 保持一致 "0"身份证号 "1" 护照号 "B" 港澳居民来往内地通行证号 "C" 台湾居民来往大陆通行证号 +} + +func (x *Passport) Reset() { + *x = Passport{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Passport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Passport) ProtoMessage() {} + +func (x *Passport) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[66] + 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 Passport.ProtoReflect.Descriptor instead. +func (*Passport) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{66} +} + +func (x *Passport) GetIdNum() string { + if x != nil { + return x.IdNum + } + return "" +} + +func (x *Passport) GetRealIDImgA() string { + if x != nil { + return x.RealIDImgA + } + return "" +} + +func (x *Passport) GetRealIDImgB() string { + if x != nil { + return x.RealIDImgB + } + return "" +} + +func (x *Passport) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Passport) GetIdType() string { + if x != nil { + return x.IdType + } + return "" +} + type LoginRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain"` - TelNum string `protobuf:"bytes,2,opt,name=TelNum,json=telNum,proto3" json:"TelNum"` - Code string `protobuf:"bytes,3,opt,name=Code,json=code,proto3" json:"Code"` - Password string `protobuf:"bytes,4,opt,name=Password,json=password,proto3" json:"Password"` - Ip string `protobuf:"bytes,5,opt,name=Ip,json=ip,proto3" json:"Ip"` - PassCheckIp bool `protobuf:"varint,6,opt,name=passCheckIp,proto3" json:"passCheckIp"` - TelAreaCode string `protobuf:"bytes,7,opt,name=telAreaCode,proto3" json:"telAreaCode"` + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + //string TelNum = 2 [json_name = "telNum",(validator.field) = {regex: "^1\\d{10}$",human_error: "70002"}]; + TelNum string `protobuf:"bytes,2,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` + Code string `protobuf:"bytes,3,opt,name=Code,json=code,proto3" json:"Code,omitempty"` + Password string `protobuf:"bytes,4,opt,name=Password,json=password,proto3" json:"Password,omitempty"` + Ip string `protobuf:"bytes,5,opt,name=Ip,json=ip,proto3" json:"Ip,omitempty"` + PassCheckIp bool `protobuf:"varint,6,opt,name=passCheckIp,proto3" json:"passCheckIp,omitempty"` + From string `protobuf:"bytes,7,opt,name=from,proto3" json:"from,omitempty"` //登陆来源 PC 还是 h5 之类的 + Zone string `protobuf:"bytes,8,opt,name=zone,proto3" json:"zone,omitempty"` } func (x *LoginRequest) Reset() { *x = LoginRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[72] + mi := &file_api_account_account_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5441,7 +5303,7 @@ func (x *LoginRequest) String() string { func (*LoginRequest) ProtoMessage() {} func (x *LoginRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[72] + mi := &file_api_account_account_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5454,7 +5316,7 @@ func (x *LoginRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use LoginRequest.ProtoReflect.Descriptor instead. func (*LoginRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{72} + return file_api_account_account_proto_rawDescGZIP(), []int{67} } func (x *LoginRequest) GetDomain() string { @@ -5499,9 +5361,16 @@ func (x *LoginRequest) GetPassCheckIp() bool { return false } -func (x *LoginRequest) GetTelAreaCode() string { +func (x *LoginRequest) GetFrom() string { if x != nil { - return x.TelAreaCode + return x.From + } + return "" +} + +func (x *LoginRequest) GetZone() string { + if x != nil { + return x.Zone } return "" } @@ -5511,17 +5380,17 @@ type TokenInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AccountInfo *AccountInfo `protobuf:"bytes,1,opt,name=AccountInfo,json=accountInfo,proto3" json:"AccountInfo"` - Token string `protobuf:"bytes,2,opt,name=Token,json=token,proto3" json:"Token"` - RefreshToken string `protobuf:"bytes,4,opt,name=RefreshToken,json=refresh,proto3" json:"RefreshToken"` - IsSampleAddress bool `protobuf:"varint,3,opt,name=IsSampleAddress,json=isSampleAddress,proto3" json:"IsSampleAddress"` - NowAddress string `protobuf:"bytes,5,opt,name=nowAddress,proto3" json:"nowAddress"` + AccountInfo *AccountInfo `protobuf:"bytes,1,opt,name=AccountInfo,json=accountInfo,proto3" json:"AccountInfo,omitempty"` + Token string `protobuf:"bytes,2,opt,name=Token,json=token,proto3" json:"Token,omitempty"` + RefreshToken string `protobuf:"bytes,4,opt,name=RefreshToken,json=refresh,proto3" json:"RefreshToken,omitempty"` + IsSampleAddress bool `protobuf:"varint,3,opt,name=IsSampleAddress,json=isSampleAddress,proto3" json:"IsSampleAddress,omitempty"` + NowAddress string `protobuf:"bytes,5,opt,name=nowAddress,proto3" json:"nowAddress,omitempty"` } func (x *TokenInfo) Reset() { *x = TokenInfo{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[73] + mi := &file_api_account_account_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5534,7 +5403,7 @@ func (x *TokenInfo) String() string { func (*TokenInfo) ProtoMessage() {} func (x *TokenInfo) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[73] + mi := &file_api_account_account_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5547,7 +5416,7 @@ func (x *TokenInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use TokenInfo.ProtoReflect.Descriptor instead. func (*TokenInfo) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{73} + return file_api_account_account_proto_rawDescGZIP(), []int{68} } func (x *TokenInfo) GetAccountInfo() *AccountInfo { @@ -5590,16 +5459,16 @@ type Extend struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - JumpTo string `protobuf:"bytes,1,opt,name=JumpTo,json=jumpTo,proto3" json:"JumpTo"` - Lang string `protobuf:"bytes,2,opt,name=Lang,json=lang,proto3" json:"Lang"` - CanScan bool `protobuf:"varint,3,opt,name=CanScan,json=canScan,proto3" json:"CanScan"` - ResolutionRatio bool `protobuf:"varint,4,opt,name=ResolutionRatio,json=resolutionRatio,proto3" json:"ResolutionRatio"` + JumpTo string `protobuf:"bytes,1,opt,name=JumpTo,json=jumpTo,proto3" json:"JumpTo,omitempty"` + Lang string `protobuf:"bytes,2,opt,name=Lang,json=lang,proto3" json:"Lang,omitempty"` + CanScan bool `protobuf:"varint,3,opt,name=CanScan,json=canScan,proto3" json:"CanScan,omitempty"` + ResolutionRatio bool `protobuf:"varint,4,opt,name=ResolutionRatio,json=resolutionRatio,proto3" json:"ResolutionRatio,omitempty"` } func (x *Extend) Reset() { *x = Extend{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[74] + mi := &file_api_account_account_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5612,7 +5481,7 @@ func (x *Extend) String() string { func (*Extend) ProtoMessage() {} func (x *Extend) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[74] + mi := &file_api_account_account_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5625,7 +5494,7 @@ func (x *Extend) ProtoReflect() protoreflect.Message { // Deprecated: Use Extend.ProtoReflect.Descriptor instead. func (*Extend) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{74} + return file_api_account_account_proto_rawDescGZIP(), []int{69} } func (x *Extend) GetJumpTo() string { @@ -5661,14 +5530,14 @@ type Department struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID"` - Name string `protobuf:"bytes,2,opt,name=Name,json=name,proto3" json:"Name"` + ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Name string `protobuf:"bytes,2,opt,name=Name,json=name,proto3" json:"Name,omitempty"` } func (x *Department) Reset() { *x = Department{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[75] + mi := &file_api_account_account_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5681,7 +5550,7 @@ func (x *Department) String() string { func (*Department) ProtoMessage() {} func (x *Department) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[75] + mi := &file_api_account_account_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5694,7 +5563,7 @@ func (x *Department) ProtoReflect() protoreflect.Message { // Deprecated: Use Department.ProtoReflect.Descriptor instead. func (*Department) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{75} + return file_api_account_account_proto_rawDescGZIP(), []int{70} } func (x *Department) GetID() uint64 { @@ -5717,55 +5586,57 @@ type AccountInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID"` - Account string `protobuf:"bytes,2,opt,name=Account,json=account,proto3" json:"Account"` - NickName string `protobuf:"bytes,3,opt,name=NickName,json=nickName,proto3" json:"NickName"` - Type int64 `protobuf:"varint,4,opt,name=Type,json=type,proto3" json:"Type"` - TelNum string `protobuf:"bytes,5,opt,name=TelNum,json=telNum,proto3" json:"TelNum"` - Status int32 `protobuf:"varint,6,opt,name=Status,json=status,proto3" json:"Status"` - Avatar string `protobuf:"bytes,7,opt,name=Avatar,json=avatar,proto3" json:"Avatar"` - CreateAt string `protobuf:"bytes,8,opt,name=CreateAt,json=createAt,proto3" json:"CreateAt"` - RealNameID uint64 `protobuf:"varint,9,opt,name=RealNameID,json=realNameID,proto3" json:"RealNameID"` - RealName string `protobuf:"bytes,10,opt,name=RealName,json=realName,proto3" json:"RealName"` - IDNum string `protobuf:"bytes,11,opt,name=IDNum,json=iDNum,proto3" json:"IDNum"` - MnemonicWords string `protobuf:"bytes,12,opt,name=MnemonicWords,json=mnemonicWords,proto3" json:"MnemonicWords"` - IsNeedChange uint64 `protobuf:"varint,13,opt,name=IsNeedChange,json=isNeedChange,proto3" json:"IsNeedChange"` - EnterDate string `protobuf:"bytes,14,opt,name=EnterDate,json=enterDate,proto3" json:"EnterDate"` - WorkYear float32 `protobuf:"fixed32,15,opt,name=WorkYear,json=workYear,proto3" json:"WorkYear"` - Domain string `protobuf:"bytes,16,opt,name=Domain,json=domain,proto3" json:"Domain"` - Extend *Extend `protobuf:"bytes,17,opt,name=Extend,json=extend,proto3" json:"Extend"` - JobNum string `protobuf:"bytes,18,opt,name=JobNum,json=jobNum,proto3" json:"JobNum"` - BirthDate string `protobuf:"bytes,19,opt,name=BirthDate,json=birth_date,proto3" json:"BirthDate"` - Age uint64 `protobuf:"varint,20,opt,name=Age,json=age,proto3" json:"Age"` - Sex string `protobuf:"bytes,21,opt,name=Sex,json=sex,proto3" json:"Sex"` - Title string `protobuf:"bytes,22,opt,name=Title,json=title,proto3" json:"Title"` - Departments []*Department `protobuf:"bytes,23,rep,name=Departments,json=departments,proto3" json:"Departments"` - Ip string `protobuf:"bytes,24,opt,name=Ip,json=ip,proto3" json:"Ip"` - LoginDate string `protobuf:"bytes,25,opt,name=LoginDate,json=loginDate,proto3" json:"LoginDate"` - InvitationCode string `protobuf:"bytes,26,opt,name=InvitationCode,json=invitationCode,proto3" json:"InvitationCode"` - NowLogId uint64 `protobuf:"varint,27,opt,name=NowLogId,json=nowLogId,proto3" json:"NowLogId"` - CanScan bool `protobuf:"varint,28,opt,name=CanScan,json=canScan,proto3" json:"CanScan"` - LeftDate string `protobuf:"bytes,29,opt,name=LeftDate,json=leftDate,proto3" json:"LeftDate"` - Positions []*PositionUser `protobuf:"bytes,30,rep,name=Positions,json=positions,proto3" json:"Positions"` - Remark string `protobuf:"bytes,31,opt,name=Remark,json=remark,proto3" json:"Remark"` - RecentImg string `protobuf:"bytes,32,opt,name=recentImg,proto3" json:"recentImg"` - Clocks []*ClockUser `protobuf:"bytes,33,rep,name=clocks,proto3" json:"clocks"` - MailAccount string `protobuf:"bytes,34,opt,name=mailAccount,proto3" json:"mailAccount"` - ICNum string `protobuf:"bytes,35,opt,name=ICNum,json=icNum,proto3" json:"ICNum"` - EnglishName string `protobuf:"bytes,36,opt,name=englishName,proto3" json:"englishName"` - Train string `protobuf:"bytes,37,opt,name=Train,json=train,proto3" json:"Train"` - Certificate string `protobuf:"bytes,38,opt,name=Certificate,json=certificate,proto3" json:"Certificate"` - TrainVideos []*TrainVideo `protobuf:"bytes,39,rep,name=TrainVideos,json=trainVideos,proto3" json:"TrainVideos"` - Operator *Operator `protobuf:"bytes,40,opt,name=operator,proto3" json:"operator"` - UpdatedAt string `protobuf:"bytes,41,opt,name=updatedAt,proto3" json:"updatedAt"` - SecurityCode string `protobuf:"bytes,42,opt,name=SecurityCode,json=securityCode,proto3" json:"SecurityCode"` - BlockAddr string `protobuf:"bytes,43,opt,name=BlockAddr,json=blockAddr,proto3" json:"BlockAddr"` + ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + Account string `protobuf:"bytes,2,opt,name=Account,json=account,proto3" json:"Account,omitempty"` + NickName string `protobuf:"bytes,3,opt,name=NickName,json=nickName,proto3" json:"NickName,omitempty"` + Type int64 `protobuf:"varint,4,opt,name=Type,json=type,proto3" json:"Type,omitempty"` + TelNum string `protobuf:"bytes,5,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` + Status string `protobuf:"bytes,6,opt,name=Status,json=status,proto3" json:"Status,omitempty"` + Avatar string `protobuf:"bytes,7,opt,name=Avatar,json=avatar,proto3" json:"Avatar,omitempty"` + CreateAt string `protobuf:"bytes,8,opt,name=CreateAt,json=createAt,proto3" json:"CreateAt,omitempty"` + RealNameID uint64 `protobuf:"varint,9,opt,name=RealNameID,json=realNameID,proto3" json:"RealNameID,omitempty"` + RealName string `protobuf:"bytes,10,opt,name=RealName,json=realName,proto3" json:"RealName,omitempty"` + IDNum string `protobuf:"bytes,11,opt,name=IDNum,json=iDNum,proto3" json:"IDNum,omitempty"` + MnemonicWords string `protobuf:"bytes,12,opt,name=MnemonicWords,json=mnemonicWords,proto3" json:"MnemonicWords,omitempty"` + IsNeedChange uint64 `protobuf:"varint,13,opt,name=IsNeedChange,json=isNeedChange,proto3" json:"IsNeedChange,omitempty"` + EnterDate string `protobuf:"bytes,14,opt,name=EnterDate,json=enterDate,proto3" json:"EnterDate,omitempty"` + WorkYear float32 `protobuf:"fixed32,15,opt,name=WorkYear,json=workYear,proto3" json:"WorkYear,omitempty"` + Domain string `protobuf:"bytes,16,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + Extend *Extend `protobuf:"bytes,17,opt,name=Extend,json=extend,proto3" json:"Extend,omitempty"` + JobNum string `protobuf:"bytes,18,opt,name=JobNum,json=jobNum,proto3" json:"JobNum,omitempty"` + BirthDate string `protobuf:"bytes,19,opt,name=BirthDate,json=birth_date,proto3" json:"BirthDate,omitempty"` + Age uint64 `protobuf:"varint,20,opt,name=Age,json=age,proto3" json:"Age,omitempty"` + Sex uint64 `protobuf:"varint,21,opt,name=Sex,json=sex,proto3" json:"Sex,omitempty"` + Title string `protobuf:"bytes,22,opt,name=Title,json=title,proto3" json:"Title,omitempty"` + Departments []*Department `protobuf:"bytes,23,rep,name=Departments,json=departments,proto3" json:"Departments,omitempty"` + Ip string `protobuf:"bytes,24,opt,name=Ip,json=ip,proto3" json:"Ip,omitempty"` + LoginDate string `protobuf:"bytes,25,opt,name=LoginDate,json=loginDate,proto3" json:"LoginDate,omitempty"` + InvitationCode string `protobuf:"bytes,26,opt,name=InvitationCode,json=invitationCode,proto3" json:"InvitationCode,omitempty"` + NowLogId uint64 `protobuf:"varint,27,opt,name=NowLogId,json=nowLogId,proto3" json:"NowLogId,omitempty"` + CanScan bool `protobuf:"varint,28,opt,name=CanScan,json=canScan,proto3" json:"CanScan,omitempty"` + LeftDate string `protobuf:"bytes,29,opt,name=LeftDate,json=leftDate,proto3" json:"LeftDate,omitempty"` + Positions []*PositionUser `protobuf:"bytes,30,rep,name=Positions,json=positions,proto3" json:"Positions,omitempty"` + Remark string `protobuf:"bytes,31,opt,name=Remark,json=remark,proto3" json:"Remark,omitempty"` + RecentImg string `protobuf:"bytes,32,opt,name=recentImg,proto3" json:"recentImg,omitempty"` + Clocks []*ClockUser `protobuf:"bytes,33,rep,name=clocks,proto3" json:"clocks,omitempty"` + MailAccount string `protobuf:"bytes,34,opt,name=mailAccount,proto3" json:"mailAccount,omitempty"` + ICNum string `protobuf:"bytes,35,opt,name=ICNum,json=icNum,proto3" json:"ICNum,omitempty"` + EnglishName string `protobuf:"bytes,36,opt,name=englishName,proto3" json:"englishName,omitempty"` + Train string `protobuf:"bytes,37,opt,name=Train,json=train,proto3" json:"Train,omitempty"` + Certificate string `protobuf:"bytes,38,opt,name=Certificate,json=certificate,proto3" json:"Certificate,omitempty"` + TrainVideos []*TrainVideo `protobuf:"bytes,39,rep,name=TrainVideos,json=trainVideos,proto3" json:"TrainVideos,omitempty"` + Operator *Operator `protobuf:"bytes,40,opt,name=operator,proto3" json:"operator,omitempty"` + UpdatedAt string `protobuf:"bytes,41,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` + SecurityCode string `protobuf:"bytes,42,opt,name=SecurityCode,json=securityCode,proto3" json:"SecurityCode,omitempty"` + BlockAddr string `protobuf:"bytes,43,opt,name=BlockAddr,json=blockAddr,proto3" json:"BlockAddr,omitempty"` + Language string `protobuf:"bytes,44,opt,name=Language,json=language,proto3" json:"Language,omitempty"` + UserExtend *UserExtend `protobuf:"bytes,45,opt,name=userExtend,proto3" json:"userExtend,omitempty"` } func (x *AccountInfo) Reset() { *x = AccountInfo{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[76] + mi := &file_api_account_account_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5778,7 +5649,7 @@ func (x *AccountInfo) String() string { func (*AccountInfo) ProtoMessage() {} func (x *AccountInfo) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[76] + mi := &file_api_account_account_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5791,7 +5662,7 @@ func (x *AccountInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use AccountInfo.ProtoReflect.Descriptor instead. func (*AccountInfo) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{76} + return file_api_account_account_proto_rawDescGZIP(), []int{71} } func (x *AccountInfo) GetID() uint64 { @@ -5829,11 +5700,11 @@ func (x *AccountInfo) GetTelNum() string { return "" } -func (x *AccountInfo) GetStatus() int32 { +func (x *AccountInfo) GetStatus() string { if x != nil { return x.Status } - return 0 + return "" } func (x *AccountInfo) GetAvatar() string { @@ -5934,11 +5805,11 @@ func (x *AccountInfo) GetAge() uint64 { return 0 } -func (x *AccountInfo) GetSex() string { +func (x *AccountInfo) GetSex() uint64 { if x != nil { return x.Sex } - return "" + return 0 } func (x *AccountInfo) GetTitle() string { @@ -6095,33 +5966,47 @@ func (x *AccountInfo) GetBlockAddr() string { return "" } +func (x *AccountInfo) GetLanguage() string { + if x != nil { + return x.Language + } + return "" +} + +func (x *AccountInfo) GetUserExtend() *UserExtend { + if x != nil { + return x.UserExtend + } + return nil +} + type UserInfoV2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID"` - Account string `protobuf:"bytes,2,opt,name=Account,proto3" json:"Account"` - NickName string `protobuf:"bytes,3,opt,name=NickName,proto3" json:"NickName"` - TelNum string `protobuf:"bytes,4,opt,name=TelNum,proto3" json:"TelNum"` - Status string `protobuf:"bytes,5,opt,name=Status,proto3" json:"Status"` - Avatar string `protobuf:"bytes,6,opt,name=Avatar,proto3" json:"Avatar"` - CreateAt string `protobuf:"bytes,7,opt,name=CreateAt,proto3" json:"CreateAt"` - RealName string `protobuf:"bytes,8,opt,name=RealName,proto3" json:"RealName"` - IDNum string `protobuf:"bytes,9,opt,name=IDNum,proto3" json:"IDNum"` - EnterDate string `protobuf:"bytes,10,opt,name=EnterDate,proto3" json:"EnterDate"` - Extend *Extend `protobuf:"bytes,11,opt,name=Extend,proto3" json:"Extend"` - JobNum string `protobuf:"bytes,12,opt,name=JobNum,proto3" json:"JobNum"` - RecentImg string `protobuf:"bytes,13,opt,name=recentImg,proto3" json:"recentImg"` - MailAccount string `protobuf:"bytes,14,opt,name=mailAccount,proto3" json:"mailAccount"` - Operator *Operator `protobuf:"bytes,15,opt,name=operator,proto3" json:"operator"` - UpdatedAt string `protobuf:"bytes,16,opt,name=updatedAt,proto3" json:"updatedAt"` + ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Account string `protobuf:"bytes,2,opt,name=Account,proto3" json:"Account,omitempty"` + NickName string `protobuf:"bytes,3,opt,name=NickName,proto3" json:"NickName,omitempty"` + TelNum string `protobuf:"bytes,4,opt,name=TelNum,proto3" json:"TelNum,omitempty"` + Status string `protobuf:"bytes,5,opt,name=Status,proto3" json:"Status,omitempty"` + Avatar string `protobuf:"bytes,6,opt,name=Avatar,proto3" json:"Avatar,omitempty"` + CreateAt string `protobuf:"bytes,7,opt,name=CreateAt,proto3" json:"CreateAt,omitempty"` + RealName string `protobuf:"bytes,8,opt,name=RealName,proto3" json:"RealName,omitempty"` + IDNum string `protobuf:"bytes,9,opt,name=IDNum,proto3" json:"IDNum,omitempty"` + EnterDate string `protobuf:"bytes,10,opt,name=EnterDate,proto3" json:"EnterDate,omitempty"` + Extend *Extend `protobuf:"bytes,11,opt,name=Extend,proto3" json:"Extend,omitempty"` + JobNum string `protobuf:"bytes,12,opt,name=JobNum,proto3" json:"JobNum,omitempty"` + RecentImg string `protobuf:"bytes,13,opt,name=recentImg,proto3" json:"recentImg,omitempty"` + MailAccount string `protobuf:"bytes,14,opt,name=mailAccount,proto3" json:"mailAccount,omitempty"` + Operator *Operator `protobuf:"bytes,15,opt,name=operator,proto3" json:"operator,omitempty"` + UpdatedAt string `protobuf:"bytes,16,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` } func (x *UserInfoV2) Reset() { *x = UserInfoV2{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[77] + mi := &file_api_account_account_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6134,7 +6019,7 @@ func (x *UserInfoV2) String() string { func (*UserInfoV2) ProtoMessage() {} func (x *UserInfoV2) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[77] + mi := &file_api_account_account_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6147,7 +6032,7 @@ func (x *UserInfoV2) ProtoReflect() protoreflect.Message { // Deprecated: Use UserInfoV2.ProtoReflect.Descriptor instead. func (*UserInfoV2) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{77} + return file_api_account_account_proto_rawDescGZIP(), []int{72} } func (x *UserInfoV2) GetID() uint64 { @@ -6267,15 +6152,15 @@ type RefreshTokenRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - RefreshToken string `protobuf:"bytes,1,opt,name=refreshToken,proto3" json:"refreshToken"` - Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain"` - Ip string `protobuf:"bytes,3,opt,name=ip,proto3" json:"ip"` + RefreshToken string `protobuf:"bytes,1,opt,name=refreshToken,proto3" json:"refreshToken,omitempty"` + Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` + Ip string `protobuf:"bytes,3,opt,name=ip,proto3" json:"ip,omitempty"` } func (x *RefreshTokenRequest) Reset() { *x = RefreshTokenRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[78] + mi := &file_api_account_account_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6288,7 +6173,7 @@ func (x *RefreshTokenRequest) String() string { func (*RefreshTokenRequest) ProtoMessage() {} func (x *RefreshTokenRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[78] + mi := &file_api_account_account_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6301,7 +6186,7 @@ func (x *RefreshTokenRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RefreshTokenRequest.ProtoReflect.Descriptor instead. func (*RefreshTokenRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{78} + return file_api_account_account_proto_rawDescGZIP(), []int{73} } func (x *RefreshTokenRequest) GetRefreshToken() string { @@ -6330,19 +6215,19 @@ type PositionUser struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PositionID uint64 `protobuf:"varint,1,opt,name=PositionID,json=positionID,proto3" json:"PositionID"` - PositionName string `protobuf:"bytes,2,opt,name=PositionName,json=positionName,proto3" json:"PositionName"` - DepartmentId uint64 `protobuf:"varint,3,opt,name=DepartmentId,json=departmentId,proto3" json:"DepartmentId"` - DepartmentCode string `protobuf:"bytes,4,opt,name=DepartmentCode,json=departmentCode,proto3" json:"DepartmentCode"` - DepartmentName string `protobuf:"bytes,5,opt,name=DepartmentName,json=departmentName,proto3" json:"DepartmentName"` - UserId uint64 `protobuf:"varint,6,opt,name=UserId,json=userId,proto3" json:"UserId"` - UserName string `protobuf:"bytes,7,opt,name=UserName,json=userName,proto3" json:"UserName"` + PositionID uint64 `protobuf:"varint,1,opt,name=PositionID,json=positionID,proto3" json:"PositionID,omitempty"` + PositionName string `protobuf:"bytes,2,opt,name=PositionName,json=positionName,proto3" json:"PositionName,omitempty"` + DepartmentId uint64 `protobuf:"varint,3,opt,name=DepartmentId,json=departmentId,proto3" json:"DepartmentId,omitempty"` + DepartmentCode string `protobuf:"bytes,4,opt,name=DepartmentCode,json=departmentCode,proto3" json:"DepartmentCode,omitempty"` + DepartmentName string `protobuf:"bytes,5,opt,name=DepartmentName,json=departmentName,proto3" json:"DepartmentName,omitempty"` + UserId uint64 `protobuf:"varint,6,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` + UserName string `protobuf:"bytes,7,opt,name=UserName,json=userName,proto3" json:"UserName,omitempty"` } func (x *PositionUser) Reset() { *x = PositionUser{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[79] + mi := &file_api_account_account_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6355,7 +6240,7 @@ func (x *PositionUser) String() string { func (*PositionUser) ProtoMessage() {} func (x *PositionUser) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[79] + mi := &file_api_account_account_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6368,7 +6253,7 @@ func (x *PositionUser) ProtoReflect() protoreflect.Message { // Deprecated: Use PositionUser.ProtoReflect.Descriptor instead. func (*PositionUser) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{79} + return file_api_account_account_proto_rawDescGZIP(), []int{74} } func (x *PositionUser) GetPositionID() uint64 { @@ -6425,14 +6310,14 @@ type JobNumGetInfoRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - JobNum string `protobuf:"bytes,1,opt,name=jobNum,proto3" json:"jobNum"` - Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain"` + JobNum string `protobuf:"bytes,1,opt,name=jobNum,proto3" json:"jobNum,omitempty"` + Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` } func (x *JobNumGetInfoRequest) Reset() { *x = JobNumGetInfoRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[80] + mi := &file_api_account_account_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6445,7 +6330,7 @@ func (x *JobNumGetInfoRequest) String() string { func (*JobNumGetInfoRequest) ProtoMessage() {} func (x *JobNumGetInfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[80] + mi := &file_api_account_account_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6458,7 +6343,7 @@ func (x *JobNumGetInfoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use JobNumGetInfoRequest.ProtoReflect.Descriptor instead. func (*JobNumGetInfoRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{80} + return file_api_account_account_proto_rawDescGZIP(), []int{75} } func (x *JobNumGetInfoRequest) GetJobNum() string { @@ -6480,15 +6365,15 @@ type CreateClockDeviceRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - DeviceNum string `protobuf:"bytes,1,opt,name=deviceNum,proto3" json:"deviceNum"` - DeviceName string `protobuf:"bytes,2,opt,name=deviceName,proto3" json:"deviceName"` - DeviceSite string `protobuf:"bytes,3,opt,name=deviceSite,proto3" json:"deviceSite"` + DeviceNum string `protobuf:"bytes,1,opt,name=deviceNum,proto3" json:"deviceNum,omitempty"` + DeviceName string `protobuf:"bytes,2,opt,name=deviceName,proto3" json:"deviceName,omitempty"` + DeviceSite string `protobuf:"bytes,3,opt,name=deviceSite,proto3" json:"deviceSite,omitempty"` } func (x *CreateClockDeviceRequest) Reset() { *x = CreateClockDeviceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[81] + mi := &file_api_account_account_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6501,7 +6386,7 @@ func (x *CreateClockDeviceRequest) String() string { func (*CreateClockDeviceRequest) ProtoMessage() {} func (x *CreateClockDeviceRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[81] + mi := &file_api_account_account_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6514,7 +6399,7 @@ func (x *CreateClockDeviceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateClockDeviceRequest.ProtoReflect.Descriptor instead. func (*CreateClockDeviceRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{81} + return file_api_account_account_proto_rawDescGZIP(), []int{76} } func (x *CreateClockDeviceRequest) GetDeviceNum() string { @@ -6543,16 +6428,16 @@ type UpdateClockDeviceRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` - DeviceNum string `protobuf:"bytes,2,opt,name=deviceNum,proto3" json:"deviceNum"` - DeviceName string `protobuf:"bytes,3,opt,name=deviceName,proto3" json:"deviceName"` - DeviceSite string `protobuf:"bytes,4,opt,name=deviceSite,proto3" json:"deviceSite"` + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + DeviceNum string `protobuf:"bytes,2,opt,name=deviceNum,proto3" json:"deviceNum,omitempty"` + DeviceName string `protobuf:"bytes,3,opt,name=deviceName,proto3" json:"deviceName,omitempty"` + DeviceSite string `protobuf:"bytes,4,opt,name=deviceSite,proto3" json:"deviceSite,omitempty"` } func (x *UpdateClockDeviceRequest) Reset() { *x = UpdateClockDeviceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[82] + mi := &file_api_account_account_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6565,7 +6450,7 @@ func (x *UpdateClockDeviceRequest) String() string { func (*UpdateClockDeviceRequest) ProtoMessage() {} func (x *UpdateClockDeviceRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[82] + mi := &file_api_account_account_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6578,7 +6463,7 @@ func (x *UpdateClockDeviceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateClockDeviceRequest.ProtoReflect.Descriptor instead. func (*UpdateClockDeviceRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{82} + return file_api_account_account_proto_rawDescGZIP(), []int{77} } func (x *UpdateClockDeviceRequest) GetId() uint64 { @@ -6614,13 +6499,13 @@ type ClockDeviceResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *ClockDeviceResponse) Reset() { *x = ClockDeviceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[83] + mi := &file_api_account_account_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6633,7 +6518,7 @@ func (x *ClockDeviceResponse) String() string { func (*ClockDeviceResponse) ProtoMessage() {} func (x *ClockDeviceResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[83] + mi := &file_api_account_account_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6646,7 +6531,7 @@ func (x *ClockDeviceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ClockDeviceResponse.ProtoReflect.Descriptor instead. func (*ClockDeviceResponse) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{83} + return file_api_account_account_proto_rawDescGZIP(), []int{78} } func (x *ClockDeviceResponse) GetId() uint64 { @@ -6661,13 +6546,13 @@ type RemoveClockDeviceRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *RemoveClockDeviceRequest) Reset() { *x = RemoveClockDeviceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[84] + mi := &file_api_account_account_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6680,7 +6565,7 @@ func (x *RemoveClockDeviceRequest) String() string { func (*RemoveClockDeviceRequest) ProtoMessage() {} func (x *RemoveClockDeviceRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[84] + mi := &file_api_account_account_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6693,7 +6578,7 @@ func (x *RemoveClockDeviceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveClockDeviceRequest.ProtoReflect.Descriptor instead. func (*RemoveClockDeviceRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{84} + return file_api_account_account_proto_rawDescGZIP(), []int{79} } func (x *RemoveClockDeviceRequest) GetId() uint64 { @@ -6708,19 +6593,19 @@ type ClockDeviceListRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` - DeviceSite string `protobuf:"bytes,2,opt,name=deviceSite,proto3" json:"deviceSite"` - DeviceNum string `protobuf:"bytes,3,opt,name=deviceNum,proto3" json:"deviceNum"` - DeviceName string `protobuf:"bytes,4,opt,name=deviceName,proto3" json:"deviceName"` - Page uint64 `protobuf:"varint,5,opt,name=page,proto3" json:"page"` - PageSize uint64 `protobuf:"varint,6,opt,name=pageSize,proto3" json:"pageSize"` - Ids []uint64 `protobuf:"varint,7,rep,packed,name=ids,proto3" json:"ids"` + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + DeviceSite string `protobuf:"bytes,2,opt,name=deviceSite,proto3" json:"deviceSite,omitempty"` + DeviceNum string `protobuf:"bytes,3,opt,name=deviceNum,proto3" json:"deviceNum,omitempty"` + DeviceName string `protobuf:"bytes,4,opt,name=deviceName,proto3" json:"deviceName,omitempty"` + Page uint64 `protobuf:"varint,5,opt,name=page,proto3" json:"page,omitempty"` + PageSize uint64 `protobuf:"varint,6,opt,name=pageSize,proto3" json:"pageSize,omitempty"` + Ids []uint64 `protobuf:"varint,7,rep,packed,name=ids,proto3" json:"ids,omitempty"` } func (x *ClockDeviceListRequest) Reset() { *x = ClockDeviceListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[85] + mi := &file_api_account_account_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6733,7 +6618,7 @@ func (x *ClockDeviceListRequest) String() string { func (*ClockDeviceListRequest) ProtoMessage() {} func (x *ClockDeviceListRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[85] + mi := &file_api_account_account_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6746,7 +6631,7 @@ func (x *ClockDeviceListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ClockDeviceListRequest.ProtoReflect.Descriptor instead. func (*ClockDeviceListRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{85} + return file_api_account_account_proto_rawDescGZIP(), []int{80} } func (x *ClockDeviceListRequest) GetId() uint64 { @@ -6803,14 +6688,14 @@ type ClockDeviceListResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Count uint64 `protobuf:"varint,1,opt,name=count,proto3" json:"count"` - Data []*ClockDeviceInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data"` + Count uint64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` + Data []*ClockDeviceInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` } func (x *ClockDeviceListResponse) Reset() { *x = ClockDeviceListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[86] + mi := &file_api_account_account_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6823,7 +6708,7 @@ func (x *ClockDeviceListResponse) String() string { func (*ClockDeviceListResponse) ProtoMessage() {} func (x *ClockDeviceListResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[86] + mi := &file_api_account_account_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6836,7 +6721,7 @@ func (x *ClockDeviceListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ClockDeviceListResponse.ProtoReflect.Descriptor instead. func (*ClockDeviceListResponse) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{86} + return file_api_account_account_proto_rawDescGZIP(), []int{81} } func (x *ClockDeviceListResponse) GetCount() uint64 { @@ -6858,20 +6743,20 @@ type ClockUser struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` - CreatedAt string `protobuf:"bytes,2,opt,name=createdAt,proto3" json:"createdAt"` - UpdatedAt string `protobuf:"bytes,3,opt,name=updatedAt,proto3" json:"updatedAt"` - DeletedAt string `protobuf:"bytes,4,opt,name=deletedAt,proto3" json:"deletedAt"` - DeviceID uint64 `protobuf:"varint,5,opt,name=deviceID,proto3" json:"deviceID"` - UserId uint64 `protobuf:"varint,6,opt,name=userId,proto3" json:"userId"` - Status uint64 `protobuf:"varint,7,opt,name=status,proto3" json:"status"` - Device *ClockDeviceInfo `protobuf:"bytes,8,opt,name=device,proto3" json:"device"` + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + CreatedAt string `protobuf:"bytes,2,opt,name=createdAt,proto3" json:"createdAt,omitempty"` + UpdatedAt string `protobuf:"bytes,3,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` + DeletedAt string `protobuf:"bytes,4,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"` + DeviceID uint64 `protobuf:"varint,5,opt,name=deviceID,proto3" json:"deviceID,omitempty"` + UserId uint64 `protobuf:"varint,6,opt,name=userId,proto3" json:"userId,omitempty"` + Status uint64 `protobuf:"varint,7,opt,name=status,proto3" json:"status,omitempty"` + Device *ClockDeviceInfo `protobuf:"bytes,8,opt,name=device,proto3" json:"device,omitempty"` } func (x *ClockUser) Reset() { *x = ClockUser{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[87] + mi := &file_api_account_account_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6884,7 +6769,7 @@ func (x *ClockUser) String() string { func (*ClockUser) ProtoMessage() {} func (x *ClockUser) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[87] + mi := &file_api_account_account_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6897,7 +6782,7 @@ func (x *ClockUser) ProtoReflect() protoreflect.Message { // Deprecated: Use ClockUser.ProtoReflect.Descriptor instead. func (*ClockUser) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{87} + return file_api_account_account_proto_rawDescGZIP(), []int{82} } func (x *ClockUser) GetId() uint64 { @@ -6961,20 +6846,20 @@ type ClockDeviceInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` - CreateAt string `protobuf:"bytes,2,opt,name=createAt,proto3" json:"createAt"` - UpdateAt string `protobuf:"bytes,3,opt,name=updateAt,proto3" json:"updateAt"` - DeviceSite string `protobuf:"bytes,4,opt,name=deviceSite,proto3" json:"deviceSite"` - DeviceNum string `protobuf:"bytes,5,opt,name=deviceNum,proto3" json:"deviceNum"` - DeviceName string `protobuf:"bytes,6,opt,name=deviceName,proto3" json:"deviceName"` - UserNum uint64 `protobuf:"varint,7,opt,name=userNum,proto3" json:"userNum"` - Data []*ClockUserRel `protobuf:"bytes,8,rep,name=data,proto3" json:"data"` + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + CreateAt string `protobuf:"bytes,2,opt,name=createAt,proto3" json:"createAt,omitempty"` + UpdateAt string `protobuf:"bytes,3,opt,name=updateAt,proto3" json:"updateAt,omitempty"` + DeviceSite string `protobuf:"bytes,4,opt,name=deviceSite,proto3" json:"deviceSite,omitempty"` + DeviceNum string `protobuf:"bytes,5,opt,name=deviceNum,proto3" json:"deviceNum,omitempty"` + DeviceName string `protobuf:"bytes,6,opt,name=deviceName,proto3" json:"deviceName,omitempty"` + UserNum uint64 `protobuf:"varint,7,opt,name=userNum,proto3" json:"userNum,omitempty"` + Data []*ClockUserRel `protobuf:"bytes,8,rep,name=data,proto3" json:"data,omitempty"` } func (x *ClockDeviceInfo) Reset() { *x = ClockDeviceInfo{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[88] + mi := &file_api_account_account_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6987,7 +6872,7 @@ func (x *ClockDeviceInfo) String() string { func (*ClockDeviceInfo) ProtoMessage() {} func (x *ClockDeviceInfo) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[88] + mi := &file_api_account_account_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7000,7 +6885,7 @@ func (x *ClockDeviceInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ClockDeviceInfo.ProtoReflect.Descriptor instead. func (*ClockDeviceInfo) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{88} + return file_api_account_account_proto_rawDescGZIP(), []int{83} } func (x *ClockDeviceInfo) GetId() uint64 { @@ -7064,14 +6949,14 @@ type ClockDeviceInfoResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Count uint64 `protobuf:"varint,1,opt,name=count,proto3" json:"count"` - Data []*ClockUserRel `protobuf:"bytes,2,rep,name=data,proto3" json:"data"` + Count uint64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` + Data []*ClockUserRel `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` } func (x *ClockDeviceInfoResponse) Reset() { *x = ClockDeviceInfoResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[89] + mi := &file_api_account_account_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7084,7 +6969,7 @@ func (x *ClockDeviceInfoResponse) String() string { func (*ClockDeviceInfoResponse) ProtoMessage() {} func (x *ClockDeviceInfoResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[89] + mi := &file_api_account_account_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7097,7 +6982,7 @@ func (x *ClockDeviceInfoResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ClockDeviceInfoResponse.ProtoReflect.Descriptor instead. func (*ClockDeviceInfoResponse) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{89} + return file_api_account_account_proto_rawDescGZIP(), []int{84} } func (x *ClockDeviceInfoResponse) GetCount() uint64 { @@ -7119,18 +7004,18 @@ type ClockUserRel struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` - CreateAt string `protobuf:"bytes,2,opt,name=createAt,proto3" json:"createAt"` - UpdateAt string `protobuf:"bytes,3,opt,name=updateAt,proto3" json:"updateAt"` - NickName string `protobuf:"bytes,4,opt,name=nickName,proto3" json:"nickName"` - JobNum string `protobuf:"bytes,5,opt,name=jobNum,proto3" json:"jobNum"` - IcNum string `protobuf:"bytes,6,opt,name=icNum,proto3" json:"icNum"` + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + CreateAt string `protobuf:"bytes,2,opt,name=createAt,proto3" json:"createAt,omitempty"` + UpdateAt string `protobuf:"bytes,3,opt,name=updateAt,proto3" json:"updateAt,omitempty"` + NickName string `protobuf:"bytes,4,opt,name=nickName,proto3" json:"nickName,omitempty"` + JobNum string `protobuf:"bytes,5,opt,name=jobNum,proto3" json:"jobNum,omitempty"` + IcNum string `protobuf:"bytes,6,opt,name=icNum,proto3" json:"icNum,omitempty"` } func (x *ClockUserRel) Reset() { *x = ClockUserRel{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[90] + mi := &file_api_account_account_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7143,7 +7028,7 @@ func (x *ClockUserRel) String() string { func (*ClockUserRel) ProtoMessage() {} func (x *ClockUserRel) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[90] + mi := &file_api_account_account_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7156,7 +7041,7 @@ func (x *ClockUserRel) ProtoReflect() protoreflect.Message { // Deprecated: Use ClockUserRel.ProtoReflect.Descriptor instead. func (*ClockUserRel) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{90} + return file_api_account_account_proto_rawDescGZIP(), []int{85} } func (x *ClockUserRel) GetId() uint64 { @@ -7206,15 +7091,15 @@ type ClockDeviceInfoRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` - Page uint64 `protobuf:"varint,2,opt,name=page,proto3" json:"page"` - PageSize uint64 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize"` + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Page uint64 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"` + PageSize uint64 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` } func (x *ClockDeviceInfoRequest) Reset() { *x = ClockDeviceInfoRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[91] + mi := &file_api_account_account_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7227,7 +7112,7 @@ func (x *ClockDeviceInfoRequest) String() string { func (*ClockDeviceInfoRequest) ProtoMessage() {} func (x *ClockDeviceInfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[91] + mi := &file_api_account_account_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7240,7 +7125,7 @@ func (x *ClockDeviceInfoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ClockDeviceInfoRequest.ProtoReflect.Descriptor instead. func (*ClockDeviceInfoRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{91} + return file_api_account_account_proto_rawDescGZIP(), []int{86} } func (x *ClockDeviceInfoRequest) GetId() uint64 { @@ -7269,15 +7154,15 @@ type ClockBatchBindRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` - UserId []uint64 `protobuf:"varint,2,rep,packed,name=userId,proto3" json:"userId"` - DeviceId []uint64 `protobuf:"varint,3,rep,packed,name=deviceId,proto3" json:"deviceId"` + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + UserId []uint64 `protobuf:"varint,2,rep,packed,name=userId,proto3" json:"userId,omitempty"` + DeviceId []uint64 `protobuf:"varint,3,rep,packed,name=deviceId,proto3" json:"deviceId,omitempty"` } func (x *ClockBatchBindRequest) Reset() { *x = ClockBatchBindRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[92] + mi := &file_api_account_account_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7290,7 +7175,7 @@ func (x *ClockBatchBindRequest) String() string { func (*ClockBatchBindRequest) ProtoMessage() {} func (x *ClockBatchBindRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[92] + mi := &file_api_account_account_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7303,7 +7188,7 @@ func (x *ClockBatchBindRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ClockBatchBindRequest.ProtoReflect.Descriptor instead. func (*ClockBatchBindRequest) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{92} + return file_api_account_account_proto_rawDescGZIP(), []int{87} } func (x *ClockBatchBindRequest) GetId() uint64 { @@ -7332,13 +7217,13 @@ type ClockBatchListResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Data []*ClockUserDeviceBatch `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` + Data []*ClockUserDeviceBatch `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"` } func (x *ClockBatchListResponse) Reset() { *x = ClockBatchListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[93] + mi := &file_api_account_account_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7351,7 +7236,7 @@ func (x *ClockBatchListResponse) String() string { func (*ClockBatchListResponse) ProtoMessage() {} func (x *ClockBatchListResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[93] + mi := &file_api_account_account_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7364,7 +7249,7 @@ func (x *ClockBatchListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ClockBatchListResponse.ProtoReflect.Descriptor instead. func (*ClockBatchListResponse) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{93} + return file_api_account_account_proto_rawDescGZIP(), []int{88} } func (x *ClockBatchListResponse) GetData() []*ClockUserDeviceBatch { @@ -7379,18 +7264,18 @@ type ClockUserDeviceBatch struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UserId uint64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId"` - DeviceId uint64 `protobuf:"varint,2,opt,name=deviceId,proto3" json:"deviceId"` - JobNum string `protobuf:"bytes,3,opt,name=JobNum,proto3" json:"JobNum"` - DeviceNum string `protobuf:"bytes,4,opt,name=deviceNum,proto3" json:"deviceNum"` - DeviceName string `protobuf:"bytes,5,opt,name=deviceName,proto3" json:"deviceName"` - WorkStatus string `protobuf:"bytes,6,opt,name=workStatus,proto3" json:"workStatus"` + UserId uint64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` + DeviceId uint64 `protobuf:"varint,2,opt,name=deviceId,proto3" json:"deviceId,omitempty"` + JobNum string `protobuf:"bytes,3,opt,name=JobNum,proto3" json:"JobNum,omitempty"` + DeviceNum string `protobuf:"bytes,4,opt,name=deviceNum,proto3" json:"deviceNum,omitempty"` + DeviceName string `protobuf:"bytes,5,opt,name=deviceName,proto3" json:"deviceName,omitempty"` + WorkStatus string `protobuf:"bytes,6,opt,name=workStatus,proto3" json:"workStatus,omitempty"` } func (x *ClockUserDeviceBatch) Reset() { *x = ClockUserDeviceBatch{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[94] + mi := &file_api_account_account_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7403,7 +7288,7 @@ func (x *ClockUserDeviceBatch) String() string { func (*ClockUserDeviceBatch) ProtoMessage() {} func (x *ClockUserDeviceBatch) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[94] + mi := &file_api_account_account_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7416,7 +7301,7 @@ func (x *ClockUserDeviceBatch) ProtoReflect() protoreflect.Message { // Deprecated: Use ClockUserDeviceBatch.ProtoReflect.Descriptor instead. func (*ClockUserDeviceBatch) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{94} + return file_api_account_account_proto_rawDescGZIP(), []int{89} } func (x *ClockUserDeviceBatch) GetUserId() uint64 { @@ -7466,31 +7351,31 @@ type ClockLogInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` - Sn string `protobuf:"bytes,2,opt,name=sn,proto3" json:"sn"` - UserId string `protobuf:"bytes,3,opt,name=userId,proto3" json:"userId"` - RecogType string `protobuf:"bytes,4,opt,name=recogType,proto3" json:"recogType"` - RecogTime string `protobuf:"bytes,5,opt,name=recogTime,proto3" json:"recogTime"` - Gender float32 `protobuf:"fixed32,6,opt,name=gender,proto3" json:"gender"` - Photo string `protobuf:"bytes,7,opt,name=photo,proto3" json:"photo"` - PassStatus float32 `protobuf:"fixed32,8,opt,name=passStatus,proto3" json:"passStatus"` - UserName string `protobuf:"bytes,9,opt,name=userName,proto3" json:"userName"` - UserType float32 `protobuf:"fixed32,10,opt,name=userType,proto3" json:"userType"` - Confidence string `protobuf:"bytes,11,opt,name=confidence,proto3" json:"confidence"` - Reflectivity float32 `protobuf:"fixed32,12,opt,name=reflectivity,proto3" json:"reflectivity"` - CardNumber string `protobuf:"bytes,13,opt,name=cardNumber,proto3" json:"cardNumber"` - PassWord string `protobuf:"bytes,14,opt,name=passWord,proto3" json:"passWord"` - QrCode string `protobuf:"bytes,15,opt,name=qrCode,proto3" json:"qrCode"` - Tel string `protobuf:"bytes,16,opt,name=tel,proto3" json:"tel"` - ReasonVisit string `protobuf:"bytes,17,opt,name=reasonVisit,proto3" json:"reasonVisit"` - ReceiverTel string `protobuf:"bytes,18,opt,name=receiverTel,proto3" json:"receiverTel"` - NumOfPeople uint64 `protobuf:"varint,19,opt,name=numOfPeople,proto3" json:"numOfPeople"` + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Sn string `protobuf:"bytes,2,opt,name=sn,proto3" json:"sn,omitempty"` + UserId string `protobuf:"bytes,3,opt,name=userId,proto3" json:"userId,omitempty"` + RecogType string `protobuf:"bytes,4,opt,name=recogType,proto3" json:"recogType,omitempty"` + RecogTime string `protobuf:"bytes,5,opt,name=recogTime,proto3" json:"recogTime,omitempty"` + Gender float32 `protobuf:"fixed32,6,opt,name=gender,proto3" json:"gender,omitempty"` + Photo string `protobuf:"bytes,7,opt,name=photo,proto3" json:"photo,omitempty"` + PassStatus float32 `protobuf:"fixed32,8,opt,name=passStatus,proto3" json:"passStatus,omitempty"` + UserName string `protobuf:"bytes,9,opt,name=userName,proto3" json:"userName,omitempty"` + UserType float32 `protobuf:"fixed32,10,opt,name=userType,proto3" json:"userType,omitempty"` + Confidence string `protobuf:"bytes,11,opt,name=confidence,proto3" json:"confidence,omitempty"` + Reflectivity float32 `protobuf:"fixed32,12,opt,name=reflectivity,proto3" json:"reflectivity,omitempty"` + CardNumber string `protobuf:"bytes,13,opt,name=cardNumber,proto3" json:"cardNumber,omitempty"` + PassWord string `protobuf:"bytes,14,opt,name=passWord,proto3" json:"passWord,omitempty"` + QrCode string `protobuf:"bytes,15,opt,name=qrCode,proto3" json:"qrCode,omitempty"` + Tel string `protobuf:"bytes,16,opt,name=tel,proto3" json:"tel,omitempty"` + ReasonVisit string `protobuf:"bytes,17,opt,name=reasonVisit,proto3" json:"reasonVisit,omitempty"` + ReceiverTel string `protobuf:"bytes,18,opt,name=receiverTel,proto3" json:"receiverTel,omitempty"` + NumOfPeople uint64 `protobuf:"varint,19,opt,name=numOfPeople,proto3" json:"numOfPeople,omitempty"` } func (x *ClockLogInfo) Reset() { *x = ClockLogInfo{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[95] + mi := &file_api_account_account_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7503,7 +7388,7 @@ func (x *ClockLogInfo) String() string { func (*ClockLogInfo) ProtoMessage() {} func (x *ClockLogInfo) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[95] + mi := &file_api_account_account_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7516,7 +7401,7 @@ func (x *ClockLogInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ClockLogInfo.ProtoReflect.Descriptor instead. func (*ClockLogInfo) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{95} + return file_api_account_account_proto_rawDescGZIP(), []int{90} } func (x *ClockLogInfo) GetId() uint64 { @@ -7657,20 +7542,20 @@ type ClockLogReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` - Page uint64 `protobuf:"varint,2,opt,name=page,proto3" json:"page"` - PageSize uint64 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize"` - UserName string `protobuf:"bytes,4,opt,name=userName,proto3" json:"userName"` - RecogType string `protobuf:"bytes,5,opt,name=recogType,proto3" json:"recogType"` - DeviceNum string `protobuf:"bytes,6,opt,name=deviceNum,proto3" json:"deviceNum"` - RecogDate string `protobuf:"bytes,7,opt,name=recogDate,proto3" json:"recogDate"` - UserId uint64 `protobuf:"varint,8,opt,name=userId,proto3" json:"userId"` + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Page uint64 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"` + PageSize uint64 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` + UserName string `protobuf:"bytes,4,opt,name=userName,proto3" json:"userName,omitempty"` + RecogType string `protobuf:"bytes,5,opt,name=recogType,proto3" json:"recogType,omitempty"` + DeviceNum string `protobuf:"bytes,6,opt,name=deviceNum,proto3" json:"deviceNum,omitempty"` + RecogDate string `protobuf:"bytes,7,opt,name=recogDate,proto3" json:"recogDate,omitempty"` + UserId uint64 `protobuf:"varint,8,opt,name=userId,proto3" json:"userId,omitempty"` } func (x *ClockLogReq) Reset() { *x = ClockLogReq{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[96] + mi := &file_api_account_account_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7683,7 +7568,7 @@ func (x *ClockLogReq) String() string { func (*ClockLogReq) ProtoMessage() {} func (x *ClockLogReq) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[96] + mi := &file_api_account_account_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7696,7 +7581,7 @@ func (x *ClockLogReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ClockLogReq.ProtoReflect.Descriptor instead. func (*ClockLogReq) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{96} + return file_api_account_account_proto_rawDescGZIP(), []int{91} } func (x *ClockLogReq) GetId() uint64 { @@ -7760,14 +7645,14 @@ type ClockLogListResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Data []*ClockLogInfo `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` - Count uint64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` + Data []*ClockLogInfo `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"` + Count uint64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` } func (x *ClockLogListResponse) Reset() { *x = ClockLogListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_account_account_proto_msgTypes[97] + mi := &file_api_account_account_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7780,7 +7665,7 @@ func (x *ClockLogListResponse) String() string { func (*ClockLogListResponse) ProtoMessage() {} func (x *ClockLogListResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_account_account_proto_msgTypes[97] + mi := &file_api_account_account_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7793,7 +7678,7 @@ func (x *ClockLogListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ClockLogListResponse.ProtoReflect.Descriptor instead. func (*ClockLogListResponse) Descriptor() ([]byte, []int) { - return file_api_account_account_proto_rawDescGZIP(), []int{97} + return file_api_account_account_proto_rawDescGZIP(), []int{92} } func (x *ClockLogListResponse) GetData() []*ClockLogInfo { @@ -7810,6 +7695,597 @@ func (x *ClockLogListResponse) GetCount() uint64 { return 0 } +type SendNationMsgRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + TelNum string `protobuf:"bytes,2,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` + Project string `protobuf:"bytes,3,opt,name=Project,json=project,proto3" json:"Project,omitempty"` + SignNo uint32 `protobuf:"varint,4,opt,name=signNo,proto3" json:"signNo,omitempty"` + MId uint32 `protobuf:"varint,5,opt,name=mId,proto3" json:"mId,omitempty"` + Scope string `protobuf:"bytes,6,opt,name=scope,proto3" json:"scope,omitempty"` //标记模块 +} + +func (x *SendNationMsgRequest) Reset() { + *x = SendNationMsgRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SendNationMsgRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendNationMsgRequest) ProtoMessage() {} + +func (x *SendNationMsgRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[93] + 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 SendNationMsgRequest.ProtoReflect.Descriptor instead. +func (*SendNationMsgRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{93} +} + +func (x *SendNationMsgRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *SendNationMsgRequest) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *SendNationMsgRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *SendNationMsgRequest) GetSignNo() uint32 { + if x != nil { + return x.SignNo + } + return 0 +} + +func (x *SendNationMsgRequest) GetMId() uint32 { + if x != nil { + return x.MId + } + return 0 +} + +func (x *SendNationMsgRequest) GetScope() string { + if x != nil { + return x.Scope + } + return "" +} + +type UpdateLanguageRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + ID uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` + Language string `protobuf:"bytes,3,opt,name=language,proto3" json:"language,omitempty"` +} + +func (x *UpdateLanguageRequest) Reset() { + *x = UpdateLanguageRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateLanguageRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateLanguageRequest) ProtoMessage() {} + +func (x *UpdateLanguageRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[94] + 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 UpdateLanguageRequest.ProtoReflect.Descriptor instead. +func (*UpdateLanguageRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{94} +} + +func (x *UpdateLanguageRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *UpdateLanguageRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *UpdateLanguageRequest) GetLanguage() string { + if x != nil { + return x.Language + } + return "" +} + +type UpdateLanguageResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + TelNum string `protobuf:"bytes,2,opt,name=telNum,proto3" json:"telNum,omitempty"` + Language string `protobuf:"bytes,3,opt,name=language,proto3" json:"language,omitempty"` +} + +func (x *UpdateLanguageResponse) Reset() { + *x = UpdateLanguageResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateLanguageResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateLanguageResponse) ProtoMessage() {} + +func (x *UpdateLanguageResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[95] + 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 UpdateLanguageResponse.ProtoReflect.Descriptor instead. +func (*UpdateLanguageResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{95} +} + +func (x *UpdateLanguageResponse) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *UpdateLanguageResponse) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *UpdateLanguageResponse) GetLanguage() string { + if x != nil { + return x.Language + } + return "" +} + +type GenerateSliderCaptchaRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CanvasWidth uint64 `protobuf:"varint,1,opt,name=canvasWidth,proto3" json:"canvasWidth,omitempty"` + CanvasHeight uint64 `protobuf:"varint,2,opt,name=canvasHeight,proto3" json:"canvasHeight,omitempty"` + BlockWidth uint64 `protobuf:"varint,3,opt,name=blockWidth,proto3" json:"blockWidth,omitempty"` + BlockHeight uint64 `protobuf:"varint,4,opt,name=blockHeight,proto3" json:"blockHeight,omitempty"` + BlockRadius uint64 `protobuf:"varint,5,opt,name=blockRadius,proto3" json:"blockRadius,omitempty"` + Place uint64 `protobuf:"varint,6,opt,name=place,proto3" json:"place,omitempty"` +} + +func (x *GenerateSliderCaptchaRequest) Reset() { + *x = GenerateSliderCaptchaRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GenerateSliderCaptchaRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateSliderCaptchaRequest) ProtoMessage() {} + +func (x *GenerateSliderCaptchaRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[96] + 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 GenerateSliderCaptchaRequest.ProtoReflect.Descriptor instead. +func (*GenerateSliderCaptchaRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{96} +} + +func (x *GenerateSliderCaptchaRequest) GetCanvasWidth() uint64 { + if x != nil { + return x.CanvasWidth + } + return 0 +} + +func (x *GenerateSliderCaptchaRequest) GetCanvasHeight() uint64 { + if x != nil { + return x.CanvasHeight + } + return 0 +} + +func (x *GenerateSliderCaptchaRequest) GetBlockWidth() uint64 { + if x != nil { + return x.BlockWidth + } + return 0 +} + +func (x *GenerateSliderCaptchaRequest) GetBlockHeight() uint64 { + if x != nil { + return x.BlockHeight + } + return 0 +} + +func (x *GenerateSliderCaptchaRequest) GetBlockRadius() uint64 { + if x != nil { + return x.BlockRadius + } + return 0 +} + +func (x *GenerateSliderCaptchaRequest) GetPlace() uint64 { + if x != nil { + return x.Place + } + return 0 +} + +type GenerateSliderCaptchaResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NonceStr string `protobuf:"bytes,1,opt,name=nonceStr,proto3" json:"nonceStr,omitempty"` + CanvasSrc string `protobuf:"bytes,2,opt,name=canvasSrc,proto3" json:"canvasSrc,omitempty"` + BlockSrc string `protobuf:"bytes,3,opt,name=blockSrc,proto3" json:"blockSrc,omitempty"` + BlockY uint64 `protobuf:"varint,4,opt,name=blockY,proto3" json:"blockY,omitempty"` + FaceY uint64 `protobuf:"varint,5,opt,name=faceY,proto3" json:"faceY,omitempty"` + BlockX uint64 `protobuf:"varint,6,opt,name=blockX,proto3" json:"blockX,omitempty"` +} + +func (x *GenerateSliderCaptchaResponse) Reset() { + *x = GenerateSliderCaptchaResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GenerateSliderCaptchaResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateSliderCaptchaResponse) ProtoMessage() {} + +func (x *GenerateSliderCaptchaResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[97] + 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 GenerateSliderCaptchaResponse.ProtoReflect.Descriptor instead. +func (*GenerateSliderCaptchaResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{97} +} + +func (x *GenerateSliderCaptchaResponse) GetNonceStr() string { + if x != nil { + return x.NonceStr + } + return "" +} + +func (x *GenerateSliderCaptchaResponse) GetCanvasSrc() string { + if x != nil { + return x.CanvasSrc + } + return "" +} + +func (x *GenerateSliderCaptchaResponse) GetBlockSrc() string { + if x != nil { + return x.BlockSrc + } + return "" +} + +func (x *GenerateSliderCaptchaResponse) GetBlockY() uint64 { + if x != nil { + return x.BlockY + } + return 0 +} + +func (x *GenerateSliderCaptchaResponse) GetFaceY() uint64 { + if x != nil { + return x.FaceY + } + return 0 +} + +func (x *GenerateSliderCaptchaResponse) GetBlockX() uint64 { + if x != nil { + return x.BlockX + } + return 0 +} + +type VerifySliderCaptchaRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NonceStr string `protobuf:"bytes,1,opt,name=nonceStr,proto3" json:"nonceStr,omitempty"` + BlockX float32 `protobuf:"fixed32,2,opt,name=blockX,proto3" json:"blockX,omitempty"` +} + +func (x *VerifySliderCaptchaRequest) Reset() { + *x = VerifySliderCaptchaRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[98] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VerifySliderCaptchaRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerifySliderCaptchaRequest) ProtoMessage() {} + +func (x *VerifySliderCaptchaRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[98] + 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 VerifySliderCaptchaRequest.ProtoReflect.Descriptor instead. +func (*VerifySliderCaptchaRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{98} +} + +func (x *VerifySliderCaptchaRequest) GetNonceStr() string { + if x != nil { + return x.NonceStr + } + return "" +} + +func (x *VerifySliderCaptchaRequest) GetBlockX() float32 { + if x != nil { + return x.BlockX + } + return 0 +} + +type VerifySliderCaptchaResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NonceStr string `protobuf:"bytes,1,opt,name=nonceStr,proto3" json:"nonceStr,omitempty"` +} + +func (x *VerifySliderCaptchaResponse) Reset() { + *x = VerifySliderCaptchaResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[99] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VerifySliderCaptchaResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerifySliderCaptchaResponse) ProtoMessage() {} + +func (x *VerifySliderCaptchaResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[99] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VerifySliderCaptchaResponse.ProtoReflect.Descriptor instead. +func (*VerifySliderCaptchaResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{99} +} + +func (x *VerifySliderCaptchaResponse) GetNonceStr() string { + if x != nil { + return x.NonceStr + } + return "" +} + +type VerifySliderStatusRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NonceStr string `protobuf:"bytes,1,opt,name=nonceStr,proto3" json:"nonceStr,omitempty"` +} + +func (x *VerifySliderStatusRequest) Reset() { + *x = VerifySliderStatusRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VerifySliderStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerifySliderStatusRequest) ProtoMessage() {} + +func (x *VerifySliderStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[100] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VerifySliderStatusRequest.ProtoReflect.Descriptor instead. +func (*VerifySliderStatusRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{100} +} + +func (x *VerifySliderStatusRequest) GetNonceStr() string { + if x != nil { + return x.NonceStr + } + return "" +} + +type VerifySliderStatusResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NonceStr string `protobuf:"bytes,1,opt,name=nonceStr,proto3" json:"nonceStr,omitempty"` + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *VerifySliderStatusResponse) Reset() { + *x = VerifySliderStatusResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[101] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VerifySliderStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerifySliderStatusResponse) ProtoMessage() {} + +func (x *VerifySliderStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[101] + 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 VerifySliderStatusResponse.ProtoReflect.Descriptor instead. +func (*VerifySliderStatusResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{101} +} + +func (x *VerifySliderStatusResponse) GetNonceStr() string { + if x != nil { + return x.NonceStr + } + return "" +} + +func (x *VerifySliderStatusResponse) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + var File_api_account_account_proto protoreflect.FileDescriptor var file_api_account_account_proto_rawDesc = []byte{ @@ -7819,1189 +8295,1480 @@ var file_api_account_account_proto_rawDesc = []byte{ 0x2f, 0x6d, 0x77, 0x69, 0x74, 0x6b, 0x6f, 0x77, 0x2f, 0x67, 0x6f, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x40, 0x76, 0x30, 0x2e, 0x33, 0x2e, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x22, 0x37, 0x0a, 0x19, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, - 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x22, 0x50, 0x0a, 0x1a, - 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, - 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, - 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xbe, - 0x01, 0x0a, 0x14, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x67, + 0x6f, 0x74, 0x6f, 0x22, 0x64, 0x0a, 0x1a, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x65, 0x66, 0x6f, + 0x72, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, 0x62, + 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, + 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x22, 0x8a, 0x01, 0x0a, 0x14, 0x53, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, + 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, + 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, + 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x16, + 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x22, 0x57, 0x0a, 0x15, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x2c, 0x0a, 0x11, 0x69, 0x73, 0x4e, 0x6f, 0x77, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x4c, + 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x73, 0x4e, 0x6f, + 0x77, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x10, 0x0a, + 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x22, + 0x76, 0x0a, 0x1c, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x6e, 0x64, 0x53, 0x71, 0x75, 0x65, 0x65, + 0x7a, 0x65, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x2e, 0x0a, 0x12, 0x6e, 0x65, 0x65, 0x64, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6e, 0x65, 0x65, + 0x64, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, + 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x22, 0x5c, 0x0a, 0x14, 0x49, 0x73, 0x53, 0x61, 0x6d, + 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x69, 0x73, 0x50, 0x61, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x06, 0x69, 0x73, 0x50, 0x61, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x74, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x72, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x6d, 0x0a, 0x13, 0x49, 0x73, 0x53, 0x61, 0x6d, 0x65, 0x50, + 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x12, + 0x6e, 0x65, 0x65, 0x64, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, + 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6e, 0x65, 0x65, 0x64, 0x44, 0x65, + 0x74, 0x65, 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x26, 0x0a, 0x0e, + 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x55, 0x72, 0x6c, 0x22, 0x45, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, + 0x73, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x66, 0x0a, 0x1a, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6d, 0x65, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, + 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x4b, 0x65, 0x79, 0x22, 0x46, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x4a, 0x6f, + 0x62, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x22, 0x6c, 0x0a, 0x24, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x6e, 0x65, 0x6c, 0x57, 0x69, 0x74, + 0x68, 0x54, 0x68, 0x65, 0x53, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x53, 0x0a, 0x25, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x6e, 0x65, 0x6c, 0x57, 0x69, 0x74, 0x68, 0x54, + 0x68, 0x65, 0x53, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xfc, + 0x04, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x25, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, + 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, + 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, + 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, 0x62, + 0x4e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, + 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x45, 0x6e, 0x74, 0x65, + 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x65, + 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, + 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, + 0x22, 0x0a, 0x0c, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x70, + 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x64, + 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x10, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x61, 0x72, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, + 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x2e, 0x0a, + 0x12, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x49, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x66, 0x61, 0x74, 0x68, 0x65, + 0x72, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xe4, 0x01, + 0x0a, 0x18, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x57, 0x65, 0x63, + 0x68, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, + 0x6f, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, + 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x67, 0x68, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x67, 0x68, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, + 0x6f, 0x67, 0x49, 0x64, 0x22, 0x82, 0x01, 0x0a, 0x1c, 0x4d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x79, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, + 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2b, 0x0a, 0x08, + 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, + 0xe2, 0xdf, 0x1f, 0x0b, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x35, 0x58, 0x01, 0x78, 0x14, 0x52, + 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x5d, 0x0a, 0x17, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4d, 0x61, 0x69, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x02, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x58, 0x0a, 0x12, 0x4d, 0x61, 0x69, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, + 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x22, 0x32, 0x0a, 0x14, 0x46, 0x64, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x78, + 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x77, 0x78, + 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0xf4, 0x01, 0x0a, 0x14, 0x46, 0x64, 0x64, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x78, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x77, 0x78, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, + 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, + 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x64, 0x54, 0x79, 0x70, 0x65, 0x22, 0x42, 0x0a, + 0x14, 0x57, 0x78, 0x42, 0x6f, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x67, 0x68, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x68, 0x49, + 0x64, 0x22, 0x58, 0x0a, 0x18, 0x57, 0x78, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, + 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x68, 0x49, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x68, 0x49, 0x64, 0x22, 0x33, 0x0a, 0x19, 0x57, + 0x78, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, + 0x22, 0x33, 0x0a, 0x19, 0x57, 0x78, 0x42, 0x6f, 0x78, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x42, + 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, + 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x22, 0xb8, 0x01, 0x0a, 0x0d, 0x57, 0x78, 0x42, 0x6f, 0x78, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x67, 0x68, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, + 0x68, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x12, 0x25, 0x0a, 0x04, 0x75, 0x73, 0x65, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, + 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x08, 0x77, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x03, + 0x66, 0x64, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2e, 0x46, 0x64, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x03, 0x66, 0x64, 0x64, + 0x22, 0xab, 0x01, 0x0a, 0x07, 0x46, 0x64, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, + 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, + 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x64, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x64, 0x54, 0x79, 0x70, 0x65, 0x22, 0xb1, + 0x03, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x6e, + 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, + 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, + 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, + 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, + 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, + 0x65, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x69, 0x44, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x69, 0x44, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1e, 0x0a, + 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, 0x41, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, 0x41, 0x12, 0x1e, 0x0a, + 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, 0x42, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, 0x42, 0x12, 0x26, 0x0a, + 0x0e, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, + 0x44, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x14, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x69, + 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x64, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x18, + 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x50, 0x61, 0x73, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x70, 0x6f, + 0x72, 0x74, 0x22, 0x33, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x22, 0x20, 0x0a, 0x0c, 0x57, 0x78, 0x41, 0x70, 0x70, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x04, 0x47, 0x68, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x44, 0x22, 0x43, 0x0a, 0x0d, 0x57, 0x78, 0x41, + 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, + 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, + 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x70, 0x70, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x70, 0x70, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x5b, + 0x0a, 0x13, 0x57, 0x78, 0x55, 0x73, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x77, 0x78, 0x49, 0x44, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x42, 0x18, 0xe2, 0xdf, 0x1f, 0x14, 0x2a, 0x10, 0xe7, 0xbc, 0xba, 0xe5, 0xb0, + 0x91, 0xe5, 0x8f, 0x82, 0xe6, 0x95, 0xb0, 0x77, 0x78, 0x49, 0x44, 0x58, 0x01, 0x52, 0x04, 0x77, + 0x78, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x73, 0x0a, 0x15, 0x57, + 0x78, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x06, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x14, 0xe2, 0xdf, 0x1f, 0x10, 0x2a, 0x0c, 0xe7, 0xbc, 0xba, 0xe5, + 0xb0, 0x91, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x58, 0x01, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, + 0x49, 0x44, 0x12, 0x2c, 0x0a, 0x04, 0x47, 0x68, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x18, 0xe2, 0xdf, 0x1f, 0x14, 0x2a, 0x10, 0xe7, 0xbc, 0xba, 0xe5, 0xb0, 0x91, 0xe5, 0x8f, + 0x82, 0xe6, 0x95, 0xb0, 0x67, 0x68, 0x69, 0x64, 0x58, 0x01, 0x52, 0x04, 0x67, 0x68, 0x49, 0x44, + 0x22, 0x80, 0x01, 0x0a, 0x0e, 0x57, 0x78, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x73, 0x65, + 0x72, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x47, 0x68, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x67, 0x68, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, 0x6c, 0x65, 0x41, + 0x75, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x41, + 0x75, 0x74, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x02, 0x49, 0x44, 0x22, 0x3a, 0x0a, 0x11, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, + 0x9c, 0x02, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x12, 0x16, 0x0a, 0x06, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, + 0x49, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x45, 0x78, + 0x70, 0x69, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x61, + 0x73, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, + 0x73, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, + 0x44, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x6f, + 0x75, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x3e, + 0x0a, 0x14, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4c, 0x6f, 0x67, 0x42, 0x79, 0x49, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, + 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x22, 0x4b, + 0x0a, 0x19, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x42, 0x79, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x44, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0xca, 0x01, 0x0a, 0x17, + 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x65, 0x77, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, - 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x25, - 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, - 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x74, - 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x49, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, - 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, + 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x24, + 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x14, 0xe2, 0xdf, 0x1f, 0x10, + 0x2a, 0x0c, 0xe7, 0xbc, 0xba, 0xe5, 0xb0, 0x91, 0xe5, 0x8f, 0x82, 0xe6, 0x95, 0xb0, 0x58, 0x01, + 0x52, 0x02, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x65, 0x77, 0x54, 0x65, 0x6c, 0x4e, 0x75, + 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x54, 0x65, 0x6c, 0x4e, + 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x22, 0x4b, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, + 0x42, 0x79, 0x54, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, + 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x74, 0x65, 0x6c, 0x22, 0x10, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x73, + 0x42, 0x79, 0x54, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, + 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x65, 0x6c, 0x73, 0x22, 0xdd, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, + 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, + 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x49, 0x44, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, + 0x52, 0x03, 0x49, 0x44, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x26, 0x0a, 0x0e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, + 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xbd, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x6e, 0x64, + 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, + 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x6d, + 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, + 0x6f, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0xed, 0x01, 0x0a, 0x14, 0x53, 0x65, 0x6e, 0x64, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, + 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2e, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, + 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x16, 0xe2, 0xdf, 0x1f, 0x12, 0x0a, 0x09, 0x5e, + 0x31, 0x5c, 0x64, 0x7b, 0x31, 0x30, 0x7d, 0x24, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x32, 0x52, + 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x55, 0x72, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x02, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x03, 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x69, 0x67, 0x4e, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x05, 0x73, 0x69, 0x67, 0x4e, 0x6f, 0x22, 0x89, 0x01, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, + 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x21, 0x0a, 0x04, 0x43, 0x6f, + 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, + 0x37, 0x30, 0x30, 0x30, 0x33, 0x58, 0x01, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, + 0x6f, 0x70, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x0a, 0x0d, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, + 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, + 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x10, 0x00, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x34, 0x52, + 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x93, 0x03, 0x0a, 0x0f, 0x57, 0x72, 0x69, 0x74, + 0x65, 0x4f, 0x66, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x74, + 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x65, 0x6c, 0x12, 0x16, 0x0a, + 0x06, 0x6a, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, + 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, + 0x22, 0x0a, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x69, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x69, 0x74, 0x65, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x06, 0x73, 0x69, 0x74, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x75, 0x74, 0x68, 0x55, + 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x55, 0x72, + 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, + 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x44, 0x61, 0x74, 0x65, 0x22, 0xd5, 0x01, + 0x0a, 0x13, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, + 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x74, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x06, 0x73, 0x69, 0x74, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 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, 0x22, 0x40, 0x0a, 0x16, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, + 0x66, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x6a, 0x0a, 0x14, 0x57, 0x72, 0x69, 0x74, 0x65, + 0x4f, 0x66, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x3c, 0x0a, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, + 0x66, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x4c, + 0x69, 0x73, 0x74, 0x22, 0x10, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa4, 0x06, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, + 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, + 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, + 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, + 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x16, + 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x1c, + 0x0a, 0x09, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x06, + 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x06, 0x65, + 0x78, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x12, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4a, + 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, + 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x69, 0x72, 0x74, 0x68, 0x44, 0x61, 0x74, 0x65, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x69, 0x72, 0x74, 0x68, 0x44, 0x61, 0x74, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x53, 0x65, 0x78, 0x18, 0x15, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, + 0x73, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x16, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x69, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x61, + 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x61, + 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, + 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x4c, 0x65, 0x66, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6c, 0x65, 0x66, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, + 0x61, 0x72, 0x6b, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, + 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x67, 0x18, 0x1b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x67, 0x12, + 0x14, 0x0a, 0x05, 0x49, 0x43, 0x4e, 0x75, 0x6d, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x18, 0x1d, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x43, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, + 0x0b, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x18, 0x1f, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x74, 0x72, 0x61, + 0x69, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x56, 0x69, + 0x64, 0x65, 0x6f, 0x73, 0x12, 0x2d, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, + 0x6f, 0x64, 0x65, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x33, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x45, + 0x78, 0x74, 0x65, 0x6e, 0x64, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, + 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x22, 0x2e, 0x0a, 0x08, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x82, 0x01, 0x0a, + 0x0a, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x74, + 0x72, 0x61, 0x69, 0x6e, 0x55, 0x55, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x74, 0x72, 0x61, 0x69, 0x6e, 0x55, 0x55, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x72, 0x61, + 0x69, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72, + 0x61, 0x69, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x22, 0x0a, + 0x0c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x1f, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x64, + 0x65, 0x22, 0x10, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x0a, 0x12, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, + 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x64, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x43, 0x6f, 0x64, 0x65, 0x22, 0xd8, 0x04, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, + 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x50, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, + 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x45, 0x6e, 0x74, 0x65, + 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, + 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e, 0x64, + 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, + 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, + 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x12, 0x1e, 0x0a, + 0x0a, 0x69, 0x73, 0x4d, 0x61, 0x69, 0x6e, 0x4c, 0x61, 0x6e, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0a, 0x69, 0x73, 0x4d, 0x61, 0x69, 0x6e, 0x4c, 0x61, 0x6e, 0x64, 0x12, 0x1a, 0x0a, + 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x6e, + 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x6e, + 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x61, 0x6e, 0x6b, 0x4e, 0x6f, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x61, 0x6e, 0x6b, 0x4e, 0x6f, 0x12, 0x10, 0x0a, + 0x03, 0x73, 0x65, 0x78, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, + 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x61, + 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x61, 0x6c, + 0x54, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x64, 0x52, + 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x6e, 0x64, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, + 0x6e, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x13, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x22, + 0x82, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, + 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x6c, 0x6c, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x61, 0x6c, 0x6c, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x5a, 0x0a, 0x0b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, + 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, + 0x65, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, + 0x22, 0x71, 0x0a, 0x0c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2f, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x73, 0x45, + 0x78, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x45, 0x78, + 0x69, 0x73, 0x74, 0x22, 0xb2, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4a, + 0x77, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x73, 0x4f, 0x66, + 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x4f, + 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, + 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x66, 0x66, + 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x41, 0x0a, 0x11, 0x44, 0x65, 0x63, 0x72, + 0x79, 0x70, 0x74, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x43, 0x0a, 0x0f, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x50, 0x77, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, + 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, + 0x22, 0x67, 0x0a, 0x15, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, + 0x05, 0x49, 0x44, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0e, 0xe2, 0xdf, + 0x1f, 0x0a, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x36, 0x80, 0x01, 0x12, 0x52, 0x05, 0x69, 0x64, + 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x51, 0x0a, 0x0d, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, + 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x22, 0xa2, 0x06, 0x0a, + 0x0d, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, + 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, + 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2b, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xe2, 0xdf, 0x1f, 0x0b, 0x2a, 0x05, 0x37, + 0x30, 0x30, 0x30, 0x35, 0x58, 0x01, 0x78, 0x14, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x29, 0x0a, 0x08, 0x50, 0x61, + 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, + 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x37, 0x70, 0x05, 0x52, 0x08, 0x70, 0x61, 0x73, + 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x1c, 0x0a, + 0x09, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x45, + 0x78, 0x74, 0x65, 0x6e, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x06, 0x65, 0x78, + 0x74, 0x65, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, + 0x43, 0x6f, 0x64, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x49, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x69, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x67, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x67, + 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x61, 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, 0x41, 0x18, 0x15, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x52, 0x65, 0x61, 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, 0x41, + 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x61, 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, 0x42, 0x18, 0x16, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x52, 0x65, 0x61, 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, 0x42, + 0x12, 0x14, 0x0a, 0x05, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x43, 0x4e, 0x75, 0x6d, 0x18, + 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x49, 0x43, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, + 0x54, 0x72, 0x61, 0x69, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x72, 0x61, + 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x1b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x08, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, + 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, + 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x64, + 0x72, 0x12, 0x2d, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x1f, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x50, 0x61, + 0x73, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x70, 0x6f, 0x72, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x65, 0x66, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x20, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6c, 0x65, 0x66, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x0a, + 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x13, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, + 0x78, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, + 0x64, 0x22, 0xe2, 0x02, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 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, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x61, 0x6e, 0x6b, 0x4e, 0x6f, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x62, 0x61, 0x6e, 0x6b, 0x4e, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x7a, 0x6f, + 0x6e, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x1e, + 0x0a, 0x0a, 0x69, 0x73, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x61, 0x6e, 0x64, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0a, 0x69, 0x73, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x61, 0x6e, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x69, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, + 0x69, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x43, 0x6f, + 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x64, + 0x54, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x64, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x64, 0x4e, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x69, 0x64, 0x4e, 0x6f, 0x22, 0x8c, 0x01, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x70, + 0x6f, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x69, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x61, + 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, 0x41, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, + 0x65, 0x61, 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, 0x41, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x61, + 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, 0x42, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, + 0x65, 0x61, 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, 0x42, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x69, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, + 0x64, 0x54, 0x79, 0x70, 0x65, 0x22, 0xd7, 0x01, 0x0a, 0x0c, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, + 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, + 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, + 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, + 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, + 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x49, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x61, 0x73, 0x73, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x7a, + 0x6f, 0x6e, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, + 0xc2, 0x01, 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x36, 0x0a, + 0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0c, 0x52, + 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x12, 0x28, 0x0a, 0x0f, 0x49, 0x73, + 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x6f, 0x77, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, 0x77, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x22, 0x78, 0x0a, 0x06, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x4a, 0x75, 0x6d, 0x70, 0x54, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x6a, 0x75, 0x6d, 0x70, 0x54, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x61, + 0x6e, 0x53, 0x63, 0x61, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x61, 0x6e, + 0x53, 0x63, 0x61, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, + 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x22, 0x30, + 0x0a, 0x0a, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0xf2, 0x0a, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, + 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, + 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, + 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, + 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, + 0x61, 0x74, 0x61, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, + 0x61, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x12, 0x1a, + 0x0a, 0x08, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x44, + 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x44, 0x4e, 0x75, 0x6d, + 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x64, + 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, + 0x63, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x49, 0x73, 0x4e, 0x65, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x69, 0x73, + 0x4e, 0x65, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x45, 0x6e, + 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x57, 0x6f, 0x72, 0x6b, + 0x59, 0x65, 0x61, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, + 0x59, 0x65, 0x61, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x27, 0x0a, 0x06, + 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x06, 0x65, + 0x78, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, + 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x1d, 0x0a, + 0x09, 0x42, 0x69, 0x72, 0x74, 0x68, 0x44, 0x61, 0x74, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x62, 0x69, 0x72, 0x74, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x41, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x10, + 0x0a, 0x03, 0x53, 0x65, 0x78, 0x18, 0x15, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x73, 0x65, 0x78, + 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x0b, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x0e, 0x0a, + 0x02, 0x49, 0x70, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x1c, 0x0a, + 0x09, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x49, + 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x1a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x77, 0x4c, 0x6f, 0x67, 0x49, 0x64, 0x18, + 0x1b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6e, 0x6f, 0x77, 0x4c, 0x6f, 0x67, 0x49, 0x64, 0x12, + 0x18, 0x0a, 0x07, 0x43, 0x61, 0x6e, 0x53, 0x63, 0x61, 0x6e, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x63, 0x61, 0x6e, 0x53, 0x63, 0x61, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x65, 0x66, + 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x65, 0x66, + 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x09, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, + 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, + 0x72, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x67, 0x18, + 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x67, + 0x12, 0x2a, 0x0a, 0x06, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x06, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x20, 0x0a, 0x0b, + 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x22, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, + 0x0a, 0x05, 0x49, 0x43, 0x4e, 0x75, 0x6d, 0x18, 0x23, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, + 0x63, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x67, 0x6c, 0x69, + 0x73, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x18, + 0x25, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x35, + 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x18, 0x27, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x74, 0x72, + 0x61, 0x69, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x56, + 0x69, 0x64, 0x65, 0x6f, 0x73, 0x12, 0x2d, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x18, 0x29, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, + 0x64, 0x65, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, + 0x64, 0x64, 0x72, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x41, 0x64, 0x64, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x18, 0x2c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x12, 0x33, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x18, 0x2d, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, + 0x73, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x45, + 0x78, 0x74, 0x65, 0x6e, 0x64, 0x22, 0xd4, 0x03, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, + 0x66, 0x6f, 0x56, 0x32, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x02, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, + 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x54, 0x65, 0x6c, 0x4e, + 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, + 0x61, 0x74, 0x61, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x41, 0x76, 0x61, 0x74, + 0x61, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x44, + 0x4e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x49, 0x44, 0x4e, 0x75, 0x6d, + 0x12, 0x1c, 0x0a, 0x09, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, 0x27, + 0x0a, 0x06, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, + 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x52, + 0x06, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x4a, 0x6f, 0x62, 0x4e, 0x75, + 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, + 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x67, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x67, 0x12, 0x20, 0x0a, + 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x2d, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, + 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x61, 0x0a, 0x13, + 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, + 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x22, + 0xfa, 0x01, 0x0a, 0x0c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, 0x65, 0x72, + 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, + 0x12, 0x22, 0x0a, 0x0c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x61, + 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x44, 0x65, 0x70, 0x61, + 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, + 0x12, 0x26, 0x0a, 0x0e, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x46, 0x0a, 0x14, + 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x78, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, + 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1e, + 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, + 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x22, 0x88, + 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x22, 0x25, 0x0a, 0x13, 0x43, 0x6c, 0x6f, + 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, + 0x22, 0x2a, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0xc8, 0x01, 0x0a, + 0x16, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x53, 0x69, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x04, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x5d, 0x0a, 0x17, 0x43, 0x6c, 0x6f, 0x63, 0x6b, + 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xf3, 0x01, 0x0a, 0x09, 0x43, 0x6c, 0x6f, 0x63, 0x6b, + 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x30, 0x0a, 0x06, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0xfc, 0x01, 0x0a, + 0x0f, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x75, + 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, + 0x12, 0x29, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, + 0x65, 0x72, 0x52, 0x65, 0x6c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x5a, 0x0a, 0x17, 0x43, + 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, + 0x6c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa0, 0x01, 0x0a, 0x0c, 0x43, 0x6c, 0x6f, 0x63, + 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, + 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x22, 0x58, 0x0a, 0x16, 0x43, 0x6c, + 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, + 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, + 0x53, 0x69, 0x7a, 0x65, 0x22, 0x5b, 0x0a, 0x15, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x42, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, + 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x06, 0x75, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, + 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, + 0x64, 0x22, 0x4b, 0x0a, 0x16, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc0, + 0x01, 0x0a, 0x14, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x4a, + 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4a, 0x6f, 0x62, + 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, + 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x22, 0x98, 0x04, 0x0a, 0x0c, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x73, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x73, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, + 0x63, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, + 0x65, 0x63, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x6f, + 0x67, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, + 0x6f, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x14, + 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, + 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, + 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, + 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x61, 0x72, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x72, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x57, 0x6f, 0x72, 0x64, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x57, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, + 0x71, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x71, 0x72, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x65, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x74, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x56, 0x69, 0x73, 0x69, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x56, 0x69, 0x73, 0x69, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x72, 0x54, 0x65, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x54, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x75, + 0x6d, 0x4f, 0x66, 0x50, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0b, 0x6e, 0x75, 0x6d, 0x4f, 0x66, 0x50, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x22, 0xdb, 0x01, 0x0a, + 0x0b, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x6f, + 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, + 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x44, 0x61, 0x74, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x44, 0x61, + 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x57, 0x0a, 0x14, 0x43, 0x6c, + 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x29, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, + 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, + 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x22, 0xbe, 0x01, 0x0a, 0x14, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, + 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, + 0x58, 0x01, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x12, 0x10, 0x0a, 0x03, + 0x6d, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x49, 0x64, 0x12, 0x14, + 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, + 0x63, 0x6f, 0x70, 0x65, 0x22, 0x6a, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, + 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, + 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, + 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x02, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x22, 0x5c, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, + 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, + 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, + 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x22, 0xde, + 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x6c, 0x69, 0x64, 0x65, + 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x57, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x57, 0x69, 0x64, 0x74, + 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x48, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x48, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x69, + 0x64, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6c, 0x61, + 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x22, + 0xbb, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x6c, 0x69, 0x64, + 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x12, 0x1c, 0x0a, + 0x09, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x53, 0x72, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x53, 0x72, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x72, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x72, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x59, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x59, 0x12, + 0x14, 0x0a, 0x05, 0x66, 0x61, 0x63, 0x65, 0x59, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, + 0x66, 0x61, 0x63, 0x65, 0x59, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x58, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x58, 0x22, 0x50, 0x0a, + 0x1a, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, + 0x74, 0x63, 0x68, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6e, + 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, + 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x58, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x58, 0x22, 0x39, 0x0a, 0x1b, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x22, 0x50, 0x0a, 0x1a, 0x56, 0x65, - 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, - 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x6e, 0x63, - 0x65, 0x53, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, - 0x65, 0x53, 0x74, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x58, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x58, 0x22, 0xbb, 0x01, 0x0a, - 0x1d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, - 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, - 0x6e, 0x76, 0x61, 0x73, 0x53, 0x72, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, - 0x61, 0x6e, 0x76, 0x61, 0x73, 0x53, 0x72, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x53, 0x72, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x53, 0x72, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x59, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x59, 0x12, 0x14, 0x0a, 0x05, - 0x66, 0x61, 0x63, 0x65, 0x59, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x66, 0x61, 0x63, - 0x65, 0x59, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x58, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x58, 0x22, 0xde, 0x01, 0x0a, 0x1c, 0x47, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, - 0x74, 0x63, 0x68, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x63, - 0x61, 0x6e, 0x76, 0x61, 0x73, 0x57, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0b, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x22, 0x0a, - 0x0c, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x48, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x69, 0x64, 0x74, 0x68, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x69, 0x64, 0x74, - 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x61, 0x64, 0x69, - 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, - 0x61, 0x64, 0x69, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x22, 0x3f, 0x0a, 0x15, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x62, 0x0a, 0x14, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x04, 0x70, 0x61, 0x73, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x50, - 0x61, 0x73, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, - 0x22, 0x8b, 0x01, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, - 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x31, 0x0a, 0x08, 0x75, - 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x82, - 0x05, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 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, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, - 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x20, 0x0a, - 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, - 0x22, 0x0a, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x12, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x69, 0x63, 0x74, - 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x12, - 0x2a, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x4f, 0x66, 0x52, 0x65, 0x73, 0x69, 0x64, 0x65, - 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x63, 0x65, - 0x4f, 0x66, 0x52, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x61, - 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x72, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x64, 0x69, 0x74, - 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, - 0x0e, 0x6e, 0x6f, 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x18, - 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, - 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, - 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, - 0x0b, 0x74, 0x65, 0x6c, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x11, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x6c, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, - 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, - 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, - 0x61, 0x6d, 0x65, 0x22, 0x83, 0x02, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x61, 0x6c, 0x4e, - 0x61, 0x6d, 0x65, 0x4f, 0x72, 0x4e, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, - 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4f, 0x72, 0x4e, 0x6f, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x73, 0x65, 0x78, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d, - 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x75, - 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xb2, 0x04, 0x0a, 0x10, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 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, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, - 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x22, - 0x0a, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, - 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, - 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x12, 0x2a, - 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x4f, 0x66, 0x52, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x4f, - 0x66, 0x52, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, - 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, - 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x4e, - 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x6d, - 0x61, 0x72, 0x6b, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x50, - 0x61, 0x73, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x2a, - 0x0a, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x62, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, - 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, - 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, - 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x22, 0x3a, - 0x0a, 0x10, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xc5, 0x02, 0x0a, 0x0f, 0x52, - 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x73, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, - 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x6f, - 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x65, - 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x4f, - 0x66, 0x52, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x10, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x4f, 0x66, 0x52, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, - 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x68, 0x6f, 0x74, 0x6f, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x68, 0x6f, - 0x74, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, - 0x6e, 0x74, 0x22, 0x50, 0x0a, 0x10, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, - 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x46, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x4a, - 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x22, 0x6c, 0x0a, 0x24, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x6e, 0x65, 0x6c, 0x57, 0x69, - 0x74, 0x68, 0x54, 0x68, 0x65, 0x53, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x53, 0x0a, 0x25, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x6e, 0x65, 0x6c, 0x57, 0x69, 0x74, 0x68, - 0x54, 0x68, 0x65, 0x53, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, - 0xcc, 0x04, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x25, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, - 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, - 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, - 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, - 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, - 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, - 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x4e, - 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x45, 0x6e, 0x74, - 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, - 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, - 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, - 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, - 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, - 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, - 0x10, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x61, - 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0d, 0x52, - 0x0d, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x22, 0xe4, - 0x01, 0x0a, 0x18, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x57, 0x65, - 0x63, 0x68, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, - 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x68, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x67, 0x68, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, - 0x6c, 0x6f, 0x67, 0x49, 0x64, 0x22, 0x82, 0x01, 0x0a, 0x1c, 0x4d, 0x61, 0x69, 0x6c, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x79, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, - 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2b, 0x0a, - 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0f, 0xe2, 0xdf, 0x1f, 0x0b, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x35, 0x58, 0x01, 0x78, 0x14, - 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x5d, 0x0a, 0x17, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x69, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x58, 0x0a, 0x12, 0x4d, 0x61, 0x69, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x22, 0xac, 0x01, 0x0a, 0x14, 0x46, 0x64, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, - 0x65, 0x6e, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x77, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x24, 0x0a, 0x0d, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x4e, 0x6f, 0x22, 0x42, 0x0a, 0x14, 0x57, 0x78, 0x42, 0x6f, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, - 0x65, 0x6e, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, - 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x68, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x67, 0x68, 0x49, 0x64, 0x22, 0x58, 0x0a, 0x18, 0x57, 0x78, 0x47, 0x65, 0x74, 0x4f, + 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x22, 0x37, 0x0a, 0x19, 0x56, 0x65, + 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, + 0x53, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, + 0x53, 0x74, 0x72, 0x22, 0x50, 0x0a, 0x1a, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, + 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0xe9, 0x30, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x34, 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x15, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x12, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0c, 0x52, 0x65, 0x66, 0x72, 0x65, + 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1c, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x06, 0x4c, + 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x12, 0x1a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x38, 0x0a, 0x05, + 0x57, 0x78, 0x41, 0x70, 0x70, 0x12, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x57, 0x78, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x57, 0x78, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x57, 0x78, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x57, + 0x78, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x57, + 0x78, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x49, 0x0a, 0x0c, 0x57, 0x78, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, + 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x57, 0x78, 0x55, 0x73, 0x65, 0x72, + 0x4f, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x57, 0x78, 0x55, 0x73, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0c, 0x57, 0x78, + 0x55, 0x73, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x57, 0x78, 0x55, 0x73, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x2e, 0x57, 0x78, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x11, 0x57, 0x78, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, + 0x49, 0x64, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x2e, 0x57, 0x78, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x42, 0x79, + 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x57, 0x78, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x49, + 0x64, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x49, 0x0a, 0x0a, 0x57, 0x78, 0x42, 0x6f, 0x78, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, + 0x21, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x57, 0x78, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x67, 0x68, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x68, 0x49, 0x64, - 0x22, 0x33, 0x0a, 0x19, 0x57, 0x78, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x42, - 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, - 0x70, 0x65, 0x6e, 0x49, 0x64, 0x22, 0x33, 0x0a, 0x19, 0x57, 0x78, 0x42, 0x6f, 0x78, 0x54, 0x65, - 0x6c, 0x4e, 0x75, 0x6d, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x22, 0xb8, 0x01, 0x0a, 0x0d, 0x57, - 0x78, 0x42, 0x6f, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, - 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, - 0x65, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x68, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x67, 0x68, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x4e, 0x65, - 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x12, 0x25, - 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x77, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x22, 0x0a, 0x03, 0x66, 0x64, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, - 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x46, 0x64, 0x64, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x03, 0x66, 0x64, 0x64, 0x22, 0x7b, 0x0a, 0x07, 0x46, 0x64, 0x64, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, - 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x24, 0x0a, 0x0d, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x4e, 0x6f, 0x22, 0xea, 0x02, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, - 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, - 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, - 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x4e, - 0x61, 0x6d, 0x65, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x72, 0x65, 0x61, - 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x44, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x69, 0x44, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, 0x41, 0x18, - 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, - 0x41, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, 0x42, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, - 0x42, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x6c, 0x4e, - 0x61, 0x6d, 0x65, 0x49, 0x44, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x69, 0x64, - 0x65, 0x6f, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x22, - 0x1f, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, - 0x22, 0x20, 0x0a, 0x0c, 0x57, 0x78, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x10, 0x0a, 0x04, 0x47, 0x68, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x49, 0x44, 0x22, 0x43, 0x0a, 0x0d, 0x57, 0x78, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x70, 0x70, - 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x70, - 0x70, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x5b, 0x0a, 0x13, 0x57, 0x78, 0x55, 0x73, 0x65, - 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, - 0x0a, 0x04, 0x77, 0x78, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x18, 0xe2, 0xdf, - 0x1f, 0x14, 0x2a, 0x10, 0xe7, 0xbc, 0xba, 0xe5, 0xb0, 0x91, 0xe5, 0x8f, 0x82, 0xe6, 0x95, 0xb0, - 0x77, 0x78, 0x49, 0x44, 0x58, 0x01, 0x52, 0x04, 0x77, 0x78, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, - 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x73, - 0x65, 0x72, 0x49, 0x44, 0x22, 0x73, 0x0a, 0x15, 0x57, 0x78, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x72, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, - 0x06, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x14, 0xe2, - 0xdf, 0x1f, 0x10, 0x2a, 0x0c, 0xe7, 0xbc, 0xba, 0xe5, 0xb0, 0x91, 0x6f, 0x70, 0x65, 0x6e, 0x69, - 0x64, 0x58, 0x01, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x12, 0x2c, 0x0a, 0x04, 0x47, - 0x68, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xe2, 0xdf, 0x1f, 0x14, 0x2a, - 0x10, 0xe7, 0xbc, 0xba, 0xe5, 0xb0, 0x91, 0xe5, 0x8f, 0x82, 0xe6, 0x95, 0xb0, 0x67, 0x68, 0x69, - 0x64, 0x58, 0x01, 0x52, 0x04, 0x67, 0x68, 0x49, 0x44, 0x22, 0x80, 0x01, 0x0a, 0x0e, 0x57, 0x78, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, - 0x65, 0x6e, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, - 0x47, 0x68, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x68, 0x49, 0x44, - 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x68, 0x12, 0x0e, 0x0a, 0x02, - 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x3a, 0x0a, 0x11, - 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x25, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x11, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4c, - 0x6f, 0x67, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x9c, 0x02, 0x0a, 0x08, 0x4c, 0x6f, 0x67, - 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, - 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, - 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, - 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x44, 0x61, 0x74, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x44, - 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x61, 0x73, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, - 0x1e, 0x0a, 0x0a, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x3e, 0x0a, 0x14, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x4c, 0x6f, 0x67, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x22, 0x4b, 0x0a, 0x19, 0x4c, 0x6f, 0x67, 0x69, 0x6e, - 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x22, 0xca, 0x01, 0x0a, 0x17, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x65, 0x77, - 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, - 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x24, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x42, 0x14, 0xe2, 0xdf, 0x1f, 0x10, 0x2a, 0x0c, 0xe7, 0xbc, 0xba, 0xe5, 0xb0, - 0x91, 0xe5, 0x8f, 0x82, 0xe6, 0x95, 0xb0, 0x58, 0x01, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1c, 0x0a, - 0x09, 0x4e, 0x65, 0x77, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x6e, 0x65, 0x77, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x43, - 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x67, - 0x6e, 0x4e, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x4e, - 0x6f, 0x22, 0x4b, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x54, 0x65, 0x6c, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, - 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, - 0x54, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x65, 0x6c, 0x22, 0x10, - 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x4e, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x54, 0x65, 0x6c, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, - 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, - 0x54, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x6c, 0x73, - 0x22, 0xdd, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, - 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, - 0x49, 0x44, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x03, 0x49, 0x44, 0x73, 0x12, 0x1c, - 0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x50, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x49, 0x6e, 0x76, 0x69, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, - 0x22, 0xd9, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, - 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, - 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, - 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x69, - 0x67, 0x6e, 0x4e, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x03, 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x22, 0xed, 0x01, 0x0a, - 0x14, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, - 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2e, 0x0a, 0x06, - 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x16, 0xe2, 0xdf, - 0x1f, 0x12, 0x0a, 0x09, 0x5e, 0x31, 0x5c, 0x64, 0x7b, 0x31, 0x30, 0x7d, 0x24, 0x2a, 0x05, 0x37, - 0x30, 0x30, 0x30, 0x32, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, 0x72, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x49, 0x64, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x69, 0x67, 0x4e, 0x6f, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x69, 0x67, 0x4e, 0x6f, 0x22, 0x9d, 0x01, 0x0a, - 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, - 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, - 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, - 0x21, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, - 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x33, 0x58, 0x01, 0x52, 0x04, 0x63, 0x6f, - 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x17, 0x0a, 0x15, + 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x57, 0x78, 0x42, + 0x6f, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x15, + 0x57, 0x78, 0x42, 0x6f, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x4f, + 0x70, 0x65, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x57, 0x78, 0x42, 0x6f, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x57, + 0x78, 0x42, 0x6f, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x5c, + 0x0a, 0x11, 0x57, 0x78, 0x42, 0x6f, 0x78, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x42, 0x79, 0x43, + 0x6f, 0x64, 0x65, 0x12, 0x21, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x57, 0x78, + 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x57, 0x78, 0x42, 0x6f, 0x78, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x42, 0x79, 0x43, 0x6f, + 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x0f, + 0x57, 0x78, 0x42, 0x6f, 0x78, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, + 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x57, 0x78, 0x42, 0x6f, 0x78, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x44, 0x0a, 0x0f, 0x57, 0x78, 0x42, 0x6f, 0x78, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x57, 0x78, 0x42, 0x6f, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x17, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0d, 0x46, 0x64, 0x64, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2e, 0x46, 0x64, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0d, 0x46, 0x64, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x55, 0x73, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x46, + 0x64, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, + 0x0a, 0x0d, 0x46, 0x64, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, + 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x46, 0x64, 0x64, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, + 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x07, 0x4f, 0x66, 0x66, + 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x09, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x4c, 0x6f, 0x67, 0x12, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, + 0x6f, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0d, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x4c, 0x6f, 0x67, 0x42, 0x79, 0x49, 0x64, 0x12, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4c, 0x6f, 0x67, 0x42, 0x79, 0x49, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x08, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x50, 0x77, 0x64, 0x12, 0x18, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x77, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x08, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0f, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x72, 0x45, 0x78, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, + 0x44, 0x0a, 0x07, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x12, 0x17, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, + 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x0d, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x12, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, - 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1d, 0x0a, - 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x10, - 0x00, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x34, 0x52, 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, - 0x22, 0x93, 0x03, 0x0a, 0x0f, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, - 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x74, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x12, 0x1a, - 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, - 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, - 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, - 0x73, 0x69, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x73, 0x69, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x74, 0x65, - 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x69, 0x74, 0x65, 0x49, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x61, 0x75, 0x74, 0x68, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, - 0x44, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, - 0x69, 0x74, 0x44, 0x61, 0x74, 0x65, 0x22, 0xd5, 0x01, 0x0a, 0x13, 0x57, 0x72, 0x69, 0x74, 0x65, - 0x4f, 0x66, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, - 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, - 0x74, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x69, 0x74, 0x65, - 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x74, 0x79, 0x70, 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, 0x22, 0x40, - 0x0a, 0x16, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x22, 0x6a, 0x0a, 0x14, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x3c, - 0x0a, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x57, - 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0c, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x10, 0x0a, 0x0e, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, - 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, - 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x61, 0x6e, 0x67, 0x75, - 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, - 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x22, - 0x2e, 0x0a, 0x08, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x49, - 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x22, - 0x82, 0x01, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x1c, - 0x0a, 0x09, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x55, 0x55, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x55, 0x55, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, - 0x74, 0x72, 0x61, 0x69, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x69, - 0x64, 0x65, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, - 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x64, 0x65, - 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x43, 0x6f, 0x64, 0x65, 0x22, 0x10, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x0a, 0x12, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, - 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, - 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x25, 0x0a, 0x06, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, - 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, - 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xf2, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, - 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, - 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, - 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, - 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, - 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, - 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x45, - 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x6e, 0x64, 0x45, - 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x22, 0x82, 0x01, 0x0a, - 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x44, - 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x22, 0x5a, 0x0a, 0x0b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, - 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x22, 0x71, 0x0a, - 0x0c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2f, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x73, 0x45, 0x78, 0x69, 0x73, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, - 0x22, 0x90, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4a, 0x77, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x18, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, - 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, - 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x73, 0x4f, 0x66, 0x66, 0x6c, 0x69, - 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x4f, 0x66, 0x66, 0x6c, - 0x69, 0x6e, 0x65, 0x22, 0x41, 0x0a, 0x11, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4a, 0x77, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, - 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x43, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, - 0x77, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, - 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x67, 0x0a, 0x15, 0x41, - 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x49, 0x44, 0x4e, 0x75, - 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0e, 0xe2, 0xdf, 0x1f, 0x0a, 0x2a, 0x05, 0x37, - 0x30, 0x30, 0x30, 0x36, 0x80, 0x01, 0x12, 0x52, 0x05, 0x69, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x14, - 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x51, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, - 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x18, 0x0a, - 0x07, 0x69, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x69, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x22, 0xc7, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x65, 0x6c, 0x41, 0x72, - 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, - 0x6c, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, - 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, - 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, - 0x65, 0x22, 0xd1, 0x01, 0x0a, 0x0c, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, - 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, - 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, - 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, - 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x70, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x49, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x65, 0x6c, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, - 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x6c, 0x41, 0x72, 0x65, - 0x61, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xc2, 0x01, 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x36, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x1d, 0x0a, 0x0c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, - 0x12, 0x28, 0x0a, 0x0f, 0x49, 0x73, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x53, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x6f, - 0x77, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x6e, 0x6f, 0x77, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x78, 0x0a, 0x06, 0x45, 0x78, - 0x74, 0x65, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x4a, 0x75, 0x6d, 0x70, 0x54, 0x6f, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x75, 0x6d, 0x70, 0x54, 0x6f, 0x12, 0x12, 0x0a, 0x04, - 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x61, 0x6e, 0x67, - 0x12, 0x18, 0x0a, 0x07, 0x43, 0x61, 0x6e, 0x53, 0x63, 0x61, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x63, 0x61, 0x6e, 0x53, 0x63, 0x61, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x52, 0x65, - 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x61, 0x74, 0x69, 0x6f, 0x22, 0x30, 0x0a, 0x0a, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, - 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa1, 0x0a, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, - 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, - 0x6d, 0x65, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x49, 0x44, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x69, 0x44, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, - 0x69, 0x63, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6d, - 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c, - 0x49, 0x73, 0x4e, 0x65, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0c, 0x69, 0x73, 0x4e, 0x65, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x57, 0x6f, 0x72, 0x6b, 0x59, 0x65, 0x61, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x59, 0x65, 0x61, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x12, 0x27, 0x0a, 0x06, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x18, 0x11, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x74, - 0x65, 0x6e, 0x64, 0x52, 0x06, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x4a, - 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, - 0x4e, 0x75, 0x6d, 0x12, 0x1d, 0x0a, 0x09, 0x42, 0x69, 0x72, 0x74, 0x68, 0x44, 0x61, 0x74, 0x65, - 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x69, 0x72, 0x74, 0x68, 0x5f, 0x64, 0x61, - 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x41, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x03, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x53, 0x65, 0x78, 0x18, 0x15, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, - 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x35, 0x0a, 0x0b, - 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x61, - 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x65, - 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x44, 0x61, 0x74, - 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x6f, 0x64, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x69, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x77, - 0x4c, 0x6f, 0x67, 0x49, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6e, 0x6f, 0x77, - 0x4c, 0x6f, 0x67, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x61, 0x6e, 0x53, 0x63, 0x61, 0x6e, - 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x61, 0x6e, 0x53, 0x63, 0x61, 0x6e, 0x12, - 0x1a, 0x0a, 0x08, 0x4c, 0x65, 0x66, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6c, 0x65, 0x66, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x09, 0x50, - 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, - 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x65, - 0x6e, 0x74, 0x49, 0x6d, 0x67, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, - 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x67, 0x12, 0x2a, 0x0a, 0x06, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x73, - 0x18, 0x21, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x06, 0x63, 0x6c, 0x6f, 0x63, - 0x6b, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x22, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x43, 0x4e, 0x75, 0x6d, 0x18, 0x23, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, - 0x67, 0x6c, 0x69, 0x73, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x65, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x54, 0x72, 0x61, 0x69, 0x6e, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x72, 0x61, - 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x56, 0x69, 0x64, - 0x65, 0x6f, 0x73, 0x18, 0x27, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x2e, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x0b, - 0x74, 0x72, 0x61, 0x69, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x12, 0x2d, 0x0a, 0x08, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x29, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x75, - 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, 0x22, 0xd4, 0x03, 0x0a, 0x0a, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x32, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x41, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x49, 0x44, 0x4e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x49, 0x44, 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, - 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, - 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x45, 0x78, - 0x74, 0x65, 0x6e, 0x64, 0x52, 0x06, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, - 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4a, 0x6f, - 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, 0x6d, - 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, - 0x6d, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x22, 0x61, 0x0a, 0x13, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x72, - 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, - 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x70, 0x22, 0xfa, 0x01, 0x0a, 0x0c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x44, 0x65, 0x70, - 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0c, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, - 0x0e, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, - 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, - 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, - 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, - 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, - 0x65, 0x22, 0x46, 0x0a, 0x14, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x47, 0x65, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, 0x62, - 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, - 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x78, 0x0a, 0x18, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, - 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, - 0x69, 0x74, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, - 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1e, - 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, - 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x22, 0x25, - 0x0a, 0x13, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x2a, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, - 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, - 0x64, 0x22, 0xc8, 0x01, 0x0a, 0x16, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, - 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, - 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x04, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x5d, 0x0a, 0x17, - 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xf3, 0x01, 0x0a, 0x09, - 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x44, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x44, 0x12, - 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x30, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x22, 0xfc, 0x01, 0x0a, 0x0f, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1e, 0x0a, - 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x75, - 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x75, 0x73, - 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x29, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, - 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x6c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x22, 0x5a, 0x0a, 0x17, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x29, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, - 0x73, 0x65, 0x72, 0x52, 0x65, 0x6c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa0, 0x01, 0x0a, - 0x0c, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x6c, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, - 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x63, 0x4e, - 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x22, - 0x58, 0x0a, 0x16, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x5b, 0x0a, 0x15, 0x43, 0x6c, 0x6f, - 0x63, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x42, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x22, 0x4b, 0x0a, 0x16, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x31, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, - 0x65, 0x72, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x22, 0xc0, 0x01, 0x0a, 0x14, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, - 0x72, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, - 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, - 0x12, 0x16, 0x0a, 0x06, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x98, 0x04, 0x0a, 0x0c, 0x43, 0x6c, 0x6f, 0x63, 0x6b, - 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x73, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x73, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x67, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x67, 0x65, 0x6e, - 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x73, - 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x70, - 0x61, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, - 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, - 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, - 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, - 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x61, 0x72, 0x64, 0x4e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x72, 0x64, 0x4e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x57, 0x6f, 0x72, - 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x57, 0x6f, 0x72, - 0x64, 0x12, 0x16, 0x0a, 0x06, 0x71, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x71, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x65, 0x6c, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x72, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x56, 0x69, 0x73, 0x69, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x56, 0x69, 0x73, 0x69, 0x74, 0x12, 0x20, 0x0a, - 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x54, 0x65, 0x6c, 0x18, 0x12, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x54, 0x65, 0x6c, 0x12, - 0x20, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x4f, 0x66, 0x50, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x18, 0x13, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x4f, 0x66, 0x50, 0x65, 0x6f, 0x70, 0x6c, - 0x65, 0x22, 0xdb, 0x01, 0x0a, 0x0b, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x52, 0x65, - 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, - 0x6f, 0x67, 0x44, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, - 0x63, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, - 0x57, 0x0a, 0x14, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, - 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0xe9, 0x16, 0x0a, 0x07, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x15, 0x2e, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0c, 0x52, 0x65, - 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1c, 0x2e, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x3f, - 0x0a, 0x06, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x12, 0x1a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x45, + 0x78, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x12, 0x1d, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, + 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0f, 0x53, + 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x17, + 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x08, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, + 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x56, 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x65, 0x77, 0x54, 0x65, 0x6c, 0x4e, + 0x75, 0x6d, 0x4d, 0x73, 0x67, 0x12, 0x20, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x65, 0x77, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x4d, 0x73, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0c, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x65, 0x77, 0x54, 0x65, 0x6c, 0x4e, 0x75, + 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, + 0x0e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, + 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x44, 0x65, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x4a, 0x77, 0x74, 0x12, 0x1a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x44, 0x65, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x35, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, + 0x4e, 0x75, 0x6d, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x47, 0x65, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x35, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x08, 0x52, 0x61, 0x6e, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x79, 0x49, 0x44, + 0x73, 0x12, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, + 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x08, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x12, 0x18, + 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, + 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x0b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x41, + 0x70, 0x70, 0x12, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, + 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x22, 0x00, 0x12, 0x51, 0x0a, 0x10, 0x46, 0x69, 0x6e, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, + 0x66, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x57, + 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, + 0x66, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x16, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x42, 0x0a, 0x0b, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, + 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x54, + 0x65, 0x6c, 0x12, 0x1a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, + 0x72, 0x73, 0x42, 0x79, 0x54, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, + 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x42, + 0x79, 0x54, 0x65, 0x6c, 0x12, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, + 0x73, 0x65, 0x72, 0x42, 0x79, 0x54, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x13, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, + 0x23, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, + 0x65, 0x66, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x3c, 0x0a, 0x07, 0x4f, 0x66, 0x66, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x2e, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, - 0x09, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4c, 0x6f, 0x67, 0x12, 0x22, 0x2e, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x42, - 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, - 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4c, 0x6f, - 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0d, - 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4c, 0x6f, 0x67, 0x42, 0x79, 0x49, 0x64, 0x12, 0x1d, 0x2e, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4c, 0x6f, - 0x67, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x22, - 0x00, 0x12, 0x3f, 0x0a, 0x08, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x77, 0x64, 0x12, 0x18, 0x2e, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x77, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x44, 0x0a, 0x07, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x12, 0x17, 0x2e, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x0d, 0x53, 0x65, 0x6e, 0x64, - 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x12, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, - 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0f, 0x53, 0x65, - 0x6e, 0x64, 0x45, 0x78, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x12, 0x1d, 0x2e, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, - 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, - 0x72, 0x12, 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, - 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x08, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, - 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x65, 0x77, 0x54, - 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x4d, 0x73, 0x67, 0x12, 0x20, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x65, 0x77, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, - 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0c, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x2e, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x65, 0x77, 0x54, 0x65, - 0x6c, 0x4e, 0x75, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, + 0x48, 0x0a, 0x0b, 0x4f, 0x6e, 0x6c, 0x79, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x12, 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x4a, 0x0a, 0x0e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x41, 0x75, 0x74, - 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, - 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4a, 0x77, 0x74, 0x12, 0x1a, 0x2e, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4a, 0x77, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x2e, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x2e, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x47, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x4e, - 0x75, 0x6d, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x35, 0x0a, 0x04, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x14, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x39, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x2e, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x09, 0x4c, - 0x69, 0x73, 0x74, 0x42, 0x79, 0x49, 0x44, 0x73, 0x12, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x06, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, - 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x06, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x12, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, - 0x79, 0x54, 0x65, 0x6c, 0x12, 0x1a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x54, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x09, 0x55, 0x73, 0x65, - 0x72, 0x42, 0x79, 0x54, 0x65, 0x6c, 0x12, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x2e, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x54, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, - 0x0a, 0x0b, 0x4f, 0x6e, 0x6c, 0x79, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x12, 0x17, 0x2e, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0c, 0x4f, 0x6e, 0x6c, 0x79, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, - 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x15, 0x4d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x42, 0x79, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x2e, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x42, 0x79, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4d, - 0x61, 0x69, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x06, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x32, 0x12, 0x16, 0x2e, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x32, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, - 0x01, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x6e, 0x65, - 0x6c, 0x57, 0x69, 0x74, 0x68, 0x54, 0x68, 0x65, 0x53, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x2d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0c, 0x4f, 0x6e, 0x6c, + 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, + 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, + 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x21, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x63, 0x6b, + 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, + 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x12, 0x21, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, + 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x21, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x6f, 0x63, 0x6b, + 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, + 0x0f, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x1f, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, + 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, + 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x0f, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, + 0x16, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x6e, 0x67, + 0x6c, 0x65, 0x55, 0x6e, 0x74, 0x69, 0x65, 0x12, 0x21, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x14, 0x43, 0x6c, + 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x42, 0x69, + 0x6e, 0x64, 0x12, 0x1f, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, + 0x63, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x1a, 0x20, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, + 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x15, 0x43, 0x6c, 0x6f, 0x63, 0x6b, + 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x74, 0x69, 0x65, + 0x12, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x42, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x20, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, + 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x59, 0x0a, 0x14, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1e, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x42, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x56, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, + 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x1c, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x15, 0x4d, 0x61, 0x69, 0x6c, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x79, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x25, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x69, 0x6c, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x79, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x4d, 0x61, 0x69, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4d, 0x61, 0x69, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x69, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x12, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66, 0x6f, + 0x1a, 0x1c, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, + 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x51, 0x0a, 0x11, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x57, + 0x65, 0x63, 0x68, 0x61, 0x74, 0x12, 0x21, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x53, 0x65, 0x6e, 0x64, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x57, 0x65, 0x63, 0x68, 0x61, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x10, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x6c, 0x6f, 0x63, 0x6b, + 0x4c, 0x6f, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x67, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x59, + 0x0a, 0x19, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x43, 0x6c, + 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x12, 0x21, 0x2e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x49, + 0x6e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, + 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x06, 0x4c, 0x69, 0x73, + 0x74, 0x56, 0x32, 0x12, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x0d, 0x53, 0x65, 0x6e, + 0x64, 0x4e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x12, 0x1d, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x0e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x1e, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, + 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, + 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x68, 0x0a, 0x15, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x6c, 0x69, 0x64, + 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x12, 0x25, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x6c, 0x69, 0x64, + 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x26, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x13, 0x56, 0x65, + 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, + 0x61, 0x12, 0x23, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x69, + 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, + 0x74, 0x63, 0x68, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, + 0x0a, 0x12, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x56, + 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x50, 0x0a, 0x0d, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x43, 0x0a, 0x14, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x6e, 0x64, 0x53, 0x71, 0x75, + 0x65, 0x65, 0x7a, 0x65, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x12, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x12, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x6e, 0x65, 0x6c, 0x57, 0x69, 0x74, 0x68, 0x54, 0x68, 0x65, - 0x53, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, - 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x6e, 0x65, 0x6c, 0x57, 0x69, 0x74, 0x68, 0x54, 0x68, 0x65, 0x53, - 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x47, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x4a, 0x6f, 0x62, 0x4e, - 0x75, 0x6d, 0x12, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, - 0x72, 0x73, 0x42, 0x79, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x08, 0x52, 0x65, - 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x2e, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x61, 0x6c, 0x4e, - 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, - 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, - 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x50, 0x0a, 0x0d, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x68, 0x0a, 0x15, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, - 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x12, 0x25, 0x2e, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, - 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x47, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, - 0x63, 0x68, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, - 0x13, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, - 0x74, 0x63, 0x68, 0x61, 0x12, 0x23, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x56, - 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, - 0x68, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, - 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x50, 0x0a, 0x0d, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, - 0x73, 0x67, 0x12, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, - 0x64, 0x4e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, - 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x12, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, - 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, - 0x69, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x53, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x6e, 0x65, + 0x6c, 0x57, 0x69, 0x74, 0x68, 0x54, 0x68, 0x65, 0x53, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x6e, 0x65, 0x6c, + 0x57, 0x69, 0x74, 0x68, 0x54, 0x68, 0x65, 0x53, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0d, 0x55, 0x73, 0x65, + 0x72, 0x73, 0x42, 0x79, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x1d, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x4a, 0x6f, 0x62, 0x4e, + 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x49, 0x73, 0x53, 0x61, 0x6d, 0x65, 0x50, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x12, 0x1c, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x49, 0x73, 0x53, + 0x61, 0x6d, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x49, 0x73, 0x53, 0x61, 0x6d, + 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x48, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x61, 0x6c, 0x4e, + 0x61, 0x6d, 0x65, 0x4f, 0x72, 0x50, 0x61, 0x73, 0x73, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x11, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, + 0x1a, 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0f, 0x46, + 0x64, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x56, 0x32, 0x12, 0x1d, + 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x46, 0x64, 0x64, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x13, 0x46, 0x64, 0x64, 0x55, + 0x73, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x11, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, + 0x66, 0x6f, 0x1a, 0x10, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x46, 0x64, 0x64, + 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, + 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x12, 0x14, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, + 0x00, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -9016,213 +9783,310 @@ func file_api_account_account_proto_rawDescGZIP() []byte { return file_api_account_account_proto_rawDescData } -var file_api_account_account_proto_msgTypes = make([]protoimpl.MessageInfo, 98) +var file_api_account_account_proto_msgTypes = make([]protoimpl.MessageInfo, 102) var file_api_account_account_proto_goTypes = []interface{}{ - (*VerifySliderStatusRequest)(nil), // 0: account.VerifySliderStatusRequest - (*VerifySliderStatusResponse)(nil), // 1: account.VerifySliderStatusResponse - (*SendNationMsgRequest)(nil), // 2: account.SendNationMsgRequest - (*VerifySliderCaptchaResponse)(nil), // 3: account.VerifySliderCaptchaResponse - (*VerifySliderCaptchaRequest)(nil), // 4: account.VerifySliderCaptchaRequest - (*GenerateSliderCaptchaResponse)(nil), // 5: account.GenerateSliderCaptchaResponse - (*GenerateSliderCaptchaRequest)(nil), // 6: account.GenerateSliderCaptchaRequest - (*CheckRealNameResponse)(nil), // 7: account.CheckRealNameResponse - (*CheckRealNameRequest)(nil), // 8: account.CheckRealNameRequest - (*UserListResponse)(nil), // 9: account.UserListResponse - (*UserListInfo)(nil), // 10: account.UserListInfo - (*UserListRequest)(nil), // 11: account.UserListRequest - (*UserInfoResponse)(nil), // 12: account.UserInfoResponse - (*RealNameResponse)(nil), // 13: account.RealNameResponse - (*RealNameRequest)(nil), // 14: account.RealNameRequest - (*RegisterResponse)(nil), // 15: account.RegisterResponse - (*UsersByJobNumRequest)(nil), // 16: account.UsersByJobNumRequest - (*QueryPersonnelWithTheSameNameRequest)(nil), // 17: account.QueryPersonnelWithTheSameNameRequest - (*QueryPersonnelWithTheSameNameResponse)(nil), // 18: account.QueryPersonnelWithTheSameNameResponse - (*ListV2Request)(nil), // 19: account.ListV2Request - (*SendClockInWechatRequest)(nil), // 20: account.SendClockInWechatRequest - (*MailAccountByNickNameRequest)(nil), // 21: account.MailAccountByNickNameRequest - (*CreateMaiAccountRequest)(nil), // 22: account.CreateMaiAccountRequest - (*MaiAccountResponse)(nil), // 23: account.MaiAccountResponse - (*FddCreateUserRequest)(nil), // 24: account.FddCreateUserRequest - (*WxBoxUserInfoRequest)(nil), // 25: account.WxBoxUserInfoRequest - (*WxGetOpenIdByCodeRequest)(nil), // 26: account.WxGetOpenIdByCodeRequest - (*WxGetOpenIdByCodeResponse)(nil), // 27: account.WxGetOpenIdByCodeResponse - (*WxBoxTelNumByCodeResponse)(nil), // 28: account.WxBoxTelNumByCodeResponse - (*WxBoxUserInfo)(nil), // 29: account.WxBoxUserInfo - (*FddInfo)(nil), // 30: account.FddInfo - (*UserInfo)(nil), // 31: account.UserInfo - (*CommonRequest)(nil), // 32: account.CommonRequest - (*WxAppRequest)(nil), // 33: account.WxAppRequest - (*WxAppResponse)(nil), // 34: account.WxAppResponse - (*WxUserUpdateRequest)(nil), // 35: account.WxUserUpdateRequest - (*WxUserOrCreateRequest)(nil), // 36: account.WxUserOrCreateRequest - (*WxUserResponse)(nil), // 37: account.WxUserResponse - (*LoginLogsResponse)(nil), // 38: account.LoginLogsResponse - (*LoginLog)(nil), // 39: account.LoginLog - (*OnlineLogByIdRequest)(nil), // 40: account.OnlineLogByIdRequest - (*LoginInfosByUserIdRequest)(nil), // 41: account.LoginInfosByUserIdRequest - (*SendNewTelNumMsgRequest)(nil), // 42: account.SendNewTelNumMsgRequest - (*UserByTelRequest)(nil), // 43: account.UserByTelRequest - (*CommonResponse)(nil), // 44: account.CommonResponse - (*UsersByTelRequest)(nil), // 45: account.UsersByTelRequest - (*ListByIDsRequest)(nil), // 46: account.ListByIDsRequest - (*SendMsgRequest)(nil), // 47: account.SendMsgRequest - (*SendCustomMsgRequest)(nil), // 48: account.SendCustomMsgRequest - (*CheckMsgRequest)(nil), // 49: account.CheckMsgRequest - (*SendMsgStatusResponse)(nil), // 50: account.SendMsgStatusResponse - (*RemoveRequest)(nil), // 51: account.RemoveRequest - (*WriteOffRequest)(nil), // 52: account.WriteOffRequest - (*WriteOffListRequest)(nil), // 53: account.WriteOffListRequest - (*WriteOffApproveRequest)(nil), // 54: account.WriteOffApproveRequest - (*WriteOffListResponse)(nil), // 55: account.WriteOffListResponse - (*RemoveResponse)(nil), // 56: account.RemoveResponse - (*UpdateRequest)(nil), // 57: account.UpdateRequest - (*Operator)(nil), // 58: account.Operator - (*TrainVideo)(nil), // 59: account.trainVideo - (*UpdateResponse)(nil), // 60: account.UpdateResponse - (*PrivacyInfoRequest)(nil), // 61: account.PrivacyInfoRequest - (*ListRequest)(nil), // 62: account.ListRequest - (*ListResponse)(nil), // 63: account.ListResponse - (*InfoRequest)(nil), // 64: account.InfoRequest - (*InfoResponse)(nil), // 65: account.InfoResponse - (*DecryptJwtResponse)(nil), // 66: account.DecryptJwtResponse - (*DecryptJwtRequest)(nil), // 67: account.DecryptJwtRequest - (*CheckPwdRequest)(nil), // 68: account.CheckPwdRequest - (*AuthenticationRequest)(nil), // 69: account.AuthenticationRequest - (*RequestStatus)(nil), // 70: account.RequestStatus - (*RegistRequest)(nil), // 71: account.RegistRequest - (*LoginRequest)(nil), // 72: account.LoginRequest - (*TokenInfo)(nil), // 73: account.TokenInfo - (*Extend)(nil), // 74: account.Extend - (*Department)(nil), // 75: account.Department - (*AccountInfo)(nil), // 76: account.AccountInfo - (*UserInfoV2)(nil), // 77: account.UserInfoV2 - (*RefreshTokenRequest)(nil), // 78: account.RefreshTokenRequest - (*PositionUser)(nil), // 79: account.PositionUser - (*JobNumGetInfoRequest)(nil), // 80: account.JobNumGetInfoRequest - (*CreateClockDeviceRequest)(nil), // 81: account.CreateClockDeviceRequest - (*UpdateClockDeviceRequest)(nil), // 82: account.UpdateClockDeviceRequest - (*ClockDeviceResponse)(nil), // 83: account.ClockDeviceResponse - (*RemoveClockDeviceRequest)(nil), // 84: account.RemoveClockDeviceRequest - (*ClockDeviceListRequest)(nil), // 85: account.ClockDeviceListRequest - (*ClockDeviceListResponse)(nil), // 86: account.ClockDeviceListResponse - (*ClockUser)(nil), // 87: account.ClockUser - (*ClockDeviceInfo)(nil), // 88: account.ClockDeviceInfo - (*ClockDeviceInfoResponse)(nil), // 89: account.ClockDeviceInfoResponse - (*ClockUserRel)(nil), // 90: account.ClockUserRel - (*ClockDeviceInfoRequest)(nil), // 91: account.ClockDeviceInfoRequest - (*ClockBatchBindRequest)(nil), // 92: account.ClockBatchBindRequest - (*ClockBatchListResponse)(nil), // 93: account.ClockBatchListResponse - (*ClockUserDeviceBatch)(nil), // 94: account.ClockUserDeviceBatch - (*ClockLogInfo)(nil), // 95: account.ClockLogInfo - (*ClockLogReq)(nil), // 96: account.ClockLogReq - (*ClockLogListResponse)(nil), // 97: account.ClockLogListResponse + (*CheckBeforeRegisterRequest)(nil), // 0: account.CheckBeforeRegisterRequest + (*SampleAccountRequest)(nil), // 1: account.SampleAccountRequest + (*SampleAccountResponse)(nil), // 2: account.SampleAccountResponse + (*LoginAndSqueezeOtherResponse)(nil), // 3: account.LoginAndSqueezeOtherResponse + (*IsSamePersonResponse)(nil), // 4: account.IsSamePersonResponse + (*IsSamePersonRequest)(nil), // 5: account.IsSamePersonRequest + (*UpdatePassportStatusRequest)(nil), // 6: account.UpdatePassportStatusRequest + (*CreateChainAccountResponse)(nil), // 7: account.CreateChainAccountResponse + (*UsersByJobNumRequest)(nil), // 8: account.UsersByJobNumRequest + (*QueryPersonnelWithTheSameNameRequest)(nil), // 9: account.QueryPersonnelWithTheSameNameRequest + (*QueryPersonnelWithTheSameNameResponse)(nil), // 10: account.QueryPersonnelWithTheSameNameResponse + (*ListV2Request)(nil), // 11: account.ListV2Request + (*SendClockInWechatRequest)(nil), // 12: account.SendClockInWechatRequest + (*MailAccountByNickNameRequest)(nil), // 13: account.MailAccountByNickNameRequest + (*CreateMaiAccountRequest)(nil), // 14: account.CreateMaiAccountRequest + (*MaiAccountResponse)(nil), // 15: account.MaiAccountResponse + (*FddRemoveUserRequest)(nil), // 16: account.FddRemoveUserRequest + (*FddCreateUserRequest)(nil), // 17: account.FddCreateUserRequest + (*WxBoxUserInfoRequest)(nil), // 18: account.WxBoxUserInfoRequest + (*WxGetOpenIdByCodeRequest)(nil), // 19: account.WxGetOpenIdByCodeRequest + (*WxGetOpenIdByCodeResponse)(nil), // 20: account.WxGetOpenIdByCodeResponse + (*WxBoxTelNumByCodeResponse)(nil), // 21: account.WxBoxTelNumByCodeResponse + (*WxBoxUserInfo)(nil), // 22: account.WxBoxUserInfo + (*FddInfo)(nil), // 23: account.FddInfo + (*UserInfo)(nil), // 24: account.UserInfo + (*CommonRequest)(nil), // 25: account.CommonRequest + (*WxAppRequest)(nil), // 26: account.WxAppRequest + (*WxAppResponse)(nil), // 27: account.WxAppResponse + (*WxUserUpdateRequest)(nil), // 28: account.WxUserUpdateRequest + (*WxUserOrCreateRequest)(nil), // 29: account.WxUserOrCreateRequest + (*WxUserResponse)(nil), // 30: account.WxUserResponse + (*LoginLogsResponse)(nil), // 31: account.LoginLogsResponse + (*LoginLog)(nil), // 32: account.LoginLog + (*OnlineLogByIdRequest)(nil), // 33: account.OnlineLogByIdRequest + (*LoginInfosByUserIdRequest)(nil), // 34: account.LoginInfosByUserIdRequest + (*SendNewTelNumMsgRequest)(nil), // 35: account.SendNewTelNumMsgRequest + (*UserByTelRequest)(nil), // 36: account.UserByTelRequest + (*CommonResponse)(nil), // 37: account.CommonResponse + (*UsersByTelRequest)(nil), // 38: account.UsersByTelRequest + (*ListByIDsRequest)(nil), // 39: account.ListByIDsRequest + (*SendMsgRequest)(nil), // 40: account.SendMsgRequest + (*SendCustomMsgRequest)(nil), // 41: account.SendCustomMsgRequest + (*CheckMsgRequest)(nil), // 42: account.CheckMsgRequest + (*SendMsgStatusResponse)(nil), // 43: account.SendMsgStatusResponse + (*RemoveRequest)(nil), // 44: account.RemoveRequest + (*WriteOffRequest)(nil), // 45: account.WriteOffRequest + (*WriteOffListRequest)(nil), // 46: account.WriteOffListRequest + (*WriteOffApproveRequest)(nil), // 47: account.WriteOffApproveRequest + (*WriteOffListResponse)(nil), // 48: account.WriteOffListResponse + (*RemoveResponse)(nil), // 49: account.RemoveResponse + (*UpdateRequest)(nil), // 50: account.UpdateRequest + (*Operator)(nil), // 51: account.Operator + (*TrainVideo)(nil), // 52: account.trainVideo + (*UpdateResponse)(nil), // 53: account.UpdateResponse + (*PrivacyInfoRequest)(nil), // 54: account.PrivacyInfoRequest + (*ListRequest)(nil), // 55: account.ListRequest + (*ListResponse)(nil), // 56: account.ListResponse + (*InfoRequest)(nil), // 57: account.InfoRequest + (*InfoResponse)(nil), // 58: account.InfoResponse + (*DecryptJwtResponse)(nil), // 59: account.DecryptJwtResponse + (*DecryptJwtRequest)(nil), // 60: account.DecryptJwtRequest + (*CheckPwdRequest)(nil), // 61: account.CheckPwdRequest + (*AuthenticationRequest)(nil), // 62: account.AuthenticationRequest + (*RequestStatus)(nil), // 63: account.RequestStatus + (*RegistRequest)(nil), // 64: account.RegistRequest + (*UserExtend)(nil), // 65: account.UserExtend + (*Passport)(nil), // 66: account.Passport + (*LoginRequest)(nil), // 67: account.LoginRequest + (*TokenInfo)(nil), // 68: account.TokenInfo + (*Extend)(nil), // 69: account.Extend + (*Department)(nil), // 70: account.Department + (*AccountInfo)(nil), // 71: account.AccountInfo + (*UserInfoV2)(nil), // 72: account.UserInfoV2 + (*RefreshTokenRequest)(nil), // 73: account.RefreshTokenRequest + (*PositionUser)(nil), // 74: account.PositionUser + (*JobNumGetInfoRequest)(nil), // 75: account.JobNumGetInfoRequest + (*CreateClockDeviceRequest)(nil), // 76: account.CreateClockDeviceRequest + (*UpdateClockDeviceRequest)(nil), // 77: account.UpdateClockDeviceRequest + (*ClockDeviceResponse)(nil), // 78: account.ClockDeviceResponse + (*RemoveClockDeviceRequest)(nil), // 79: account.RemoveClockDeviceRequest + (*ClockDeviceListRequest)(nil), // 80: account.ClockDeviceListRequest + (*ClockDeviceListResponse)(nil), // 81: account.ClockDeviceListResponse + (*ClockUser)(nil), // 82: account.ClockUser + (*ClockDeviceInfo)(nil), // 83: account.ClockDeviceInfo + (*ClockDeviceInfoResponse)(nil), // 84: account.ClockDeviceInfoResponse + (*ClockUserRel)(nil), // 85: account.ClockUserRel + (*ClockDeviceInfoRequest)(nil), // 86: account.ClockDeviceInfoRequest + (*ClockBatchBindRequest)(nil), // 87: account.ClockBatchBindRequest + (*ClockBatchListResponse)(nil), // 88: account.ClockBatchListResponse + (*ClockUserDeviceBatch)(nil), // 89: account.ClockUserDeviceBatch + (*ClockLogInfo)(nil), // 90: account.ClockLogInfo + (*ClockLogReq)(nil), // 91: account.ClockLogReq + (*ClockLogListResponse)(nil), // 92: account.ClockLogListResponse + (*SendNationMsgRequest)(nil), // 93: account.SendNationMsgRequest + (*UpdateLanguageRequest)(nil), // 94: account.UpdateLanguageRequest + (*UpdateLanguageResponse)(nil), // 95: account.UpdateLanguageResponse + (*GenerateSliderCaptchaRequest)(nil), // 96: account.GenerateSliderCaptchaRequest + (*GenerateSliderCaptchaResponse)(nil), // 97: account.GenerateSliderCaptchaResponse + (*VerifySliderCaptchaRequest)(nil), // 98: account.VerifySliderCaptchaRequest + (*VerifySliderCaptchaResponse)(nil), // 99: account.VerifySliderCaptchaResponse + (*VerifySliderStatusRequest)(nil), // 100: account.VerifySliderStatusRequest + (*VerifySliderStatusResponse)(nil), // 101: account.VerifySliderStatusResponse } var file_api_account_account_proto_depIdxs = []int32{ - 10, // 0: account.UserListResponse.userList:type_name -> account.UserListInfo - 31, // 1: account.WxBoxUserInfo.user:type_name -> account.UserInfo - 30, // 2: account.WxBoxUserInfo.fdd:type_name -> account.FddInfo - 39, // 3: account.LoginLogsResponse.Data:type_name -> account.LoginLog - 52, // 4: account.WriteOffListResponse.writeOffList:type_name -> account.WriteOffRequest - 76, // 5: account.ListResponse.Data:type_name -> account.AccountInfo - 76, // 6: account.InfoResponse.Info:type_name -> account.AccountInfo - 76, // 7: account.TokenInfo.AccountInfo:type_name -> account.AccountInfo - 74, // 8: account.AccountInfo.Extend:type_name -> account.Extend - 75, // 9: account.AccountInfo.Departments:type_name -> account.Department - 79, // 10: account.AccountInfo.Positions:type_name -> account.PositionUser - 87, // 11: account.AccountInfo.clocks:type_name -> account.ClockUser - 59, // 12: account.AccountInfo.TrainVideos:type_name -> account.trainVideo - 58, // 13: account.AccountInfo.operator:type_name -> account.Operator - 74, // 14: account.UserInfoV2.Extend:type_name -> account.Extend - 58, // 15: account.UserInfoV2.operator:type_name -> account.Operator - 88, // 16: account.ClockDeviceListResponse.data:type_name -> account.ClockDeviceInfo - 88, // 17: account.ClockUser.device:type_name -> account.ClockDeviceInfo - 90, // 18: account.ClockDeviceInfo.data:type_name -> account.ClockUserRel - 90, // 19: account.ClockDeviceInfoResponse.data:type_name -> account.ClockUserRel - 94, // 20: account.ClockBatchListResponse.data:type_name -> account.ClockUserDeviceBatch - 95, // 21: account.ClockLogListResponse.data:type_name -> account.ClockLogInfo - 72, // 22: account.Account.Login:input_type -> account.LoginRequest - 78, // 23: account.Account.RefreshToken:input_type -> account.RefreshTokenRequest - 67, // 24: account.Account.Logout:input_type -> account.DecryptJwtRequest - 32, // 25: account.Account.OffLine:input_type -> account.CommonRequest - 41, // 26: account.Account.OnlineLog:input_type -> account.LoginInfosByUserIdRequest - 40, // 27: account.Account.OnlineLogById:input_type -> account.OnlineLogByIdRequest - 68, // 28: account.Account.CheckPwd:input_type -> account.CheckPwdRequest - 47, // 29: account.Account.SendMsg:input_type -> account.SendMsgRequest - 48, // 30: account.Account.SendCustomMsg:input_type -> account.SendCustomMsgRequest - 48, // 31: account.Account.SendExCustomMsg:input_type -> account.SendCustomMsgRequest - 47, // 32: account.Account.SendMsgRegister:input_type -> account.SendMsgRequest - 49, // 33: account.Account.CheckMsg:input_type -> account.CheckMsgRequest - 42, // 34: account.Account.SendNewTelNumMsg:input_type -> account.SendNewTelNumMsgRequest - 42, // 35: account.Account.UpdateTelNum:input_type -> account.SendNewTelNumMsgRequest - 69, // 36: account.Account.Authentication:input_type -> account.AuthenticationRequest - 67, // 37: account.Account.DecryptJwt:input_type -> account.DecryptJwtRequest - 64, // 38: account.Account.Info:input_type -> account.InfoRequest - 80, // 39: account.Account.JobNumGetInfo:input_type -> account.JobNumGetInfoRequest - 62, // 40: account.Account.List:input_type -> account.ListRequest - 62, // 41: account.Account.RandList:input_type -> account.ListRequest - 46, // 42: account.Account.ListByIDs:input_type -> account.ListByIDsRequest - 51, // 43: account.Account.Remove:input_type -> account.RemoveRequest - 57, // 44: account.Account.Update:input_type -> account.UpdateRequest - 45, // 45: account.Account.UsersByTel:input_type -> account.UsersByTelRequest - 43, // 46: account.Account.UserByTel:input_type -> account.UserByTelRequest - 47, // 47: account.Account.OnlySendMsg:input_type -> account.SendMsgRequest - 49, // 48: account.Account.OnlyCheckMsg:input_type -> account.CheckMsgRequest - 21, // 49: account.Account.MailAccountByNickName:input_type -> account.MailAccountByNickNameRequest - 19, // 50: account.Account.ListV2:input_type -> account.ListV2Request - 17, // 51: account.Account.QueryPersonnelWithTheSameName:input_type -> account.QueryPersonnelWithTheSameNameRequest - 16, // 52: account.Account.UsersByJobNum:input_type -> account.UsersByJobNumRequest - 14, // 53: account.Account.RealName:input_type -> account.RealNameRequest - 71, // 54: account.Account.Register:input_type -> account.RegistRequest - 11, // 55: account.Account.UserList:input_type -> account.UserListRequest - 8, // 56: account.Account.CheckRealName:input_type -> account.CheckRealNameRequest - 6, // 57: account.Account.GenerateSliderCaptcha:input_type -> account.GenerateSliderCaptchaRequest - 4, // 58: account.Account.VerifySliderCaptcha:input_type -> account.VerifySliderCaptchaRequest - 2, // 59: account.Account.SendNationMsg:input_type -> account.SendNationMsgRequest - 0, // 60: account.Account.VerifySliderStatus:input_type -> account.VerifySliderStatusRequest - 73, // 61: account.Account.Login:output_type -> account.TokenInfo - 73, // 62: account.Account.RefreshToken:output_type -> account.TokenInfo - 44, // 63: account.Account.Logout:output_type -> account.CommonResponse - 44, // 64: account.Account.OffLine:output_type -> account.CommonResponse - 38, // 65: account.Account.OnlineLog:output_type -> account.LoginLogsResponse - 39, // 66: account.Account.OnlineLogById:output_type -> account.LoginLog - 60, // 67: account.Account.CheckPwd:output_type -> account.UpdateResponse - 50, // 68: account.Account.SendMsg:output_type -> account.SendMsgStatusResponse - 50, // 69: account.Account.SendCustomMsg:output_type -> account.SendMsgStatusResponse - 50, // 70: account.Account.SendExCustomMsg:output_type -> account.SendMsgStatusResponse - 50, // 71: account.Account.SendMsgRegister:output_type -> account.SendMsgStatusResponse - 50, // 72: account.Account.CheckMsg:output_type -> account.SendMsgStatusResponse - 50, // 73: account.Account.SendNewTelNumMsg:output_type -> account.SendMsgStatusResponse - 50, // 74: account.Account.UpdateTelNum:output_type -> account.SendMsgStatusResponse - 70, // 75: account.Account.Authentication:output_type -> account.RequestStatus - 66, // 76: account.Account.DecryptJwt:output_type -> account.DecryptJwtResponse - 12, // 77: account.Account.Info:output_type -> account.UserInfoResponse - 65, // 78: account.Account.JobNumGetInfo:output_type -> account.InfoResponse - 63, // 79: account.Account.List:output_type -> account.ListResponse - 63, // 80: account.Account.RandList:output_type -> account.ListResponse - 63, // 81: account.Account.ListByIDs:output_type -> account.ListResponse - 56, // 82: account.Account.Remove:output_type -> account.RemoveResponse - 60, // 83: account.Account.Update:output_type -> account.UpdateResponse - 63, // 84: account.Account.UsersByTel:output_type -> account.ListResponse - 12, // 85: account.Account.UserByTel:output_type -> account.UserInfoResponse - 50, // 86: account.Account.OnlySendMsg:output_type -> account.SendMsgStatusResponse - 50, // 87: account.Account.OnlyCheckMsg:output_type -> account.SendMsgStatusResponse - 23, // 88: account.Account.MailAccountByNickName:output_type -> account.MaiAccountResponse - 63, // 89: account.Account.ListV2:output_type -> account.ListResponse - 18, // 90: account.Account.QueryPersonnelWithTheSameName:output_type -> account.QueryPersonnelWithTheSameNameResponse - 63, // 91: account.Account.UsersByJobNum:output_type -> account.ListResponse - 13, // 92: account.Account.RealName:output_type -> account.RealNameResponse - 15, // 93: account.Account.Register:output_type -> account.RegisterResponse - 9, // 94: account.Account.UserList:output_type -> account.UserListResponse - 7, // 95: account.Account.CheckRealName:output_type -> account.CheckRealNameResponse - 5, // 96: account.Account.GenerateSliderCaptcha:output_type -> account.GenerateSliderCaptchaResponse - 3, // 97: account.Account.VerifySliderCaptcha:output_type -> account.VerifySliderCaptchaResponse - 50, // 98: account.Account.SendNationMsg:output_type -> account.SendMsgStatusResponse - 1, // 99: account.Account.VerifySliderStatus:output_type -> account.VerifySliderStatusResponse - 61, // [61:100] is the sub-list for method output_type - 22, // [22:61] is the sub-list for method input_type - 22, // [22:22] is the sub-list for extension type_name - 22, // [22:22] is the sub-list for extension extendee - 0, // [0:22] is the sub-list for field type_name + 24, // 0: account.WxBoxUserInfo.user:type_name -> account.UserInfo + 23, // 1: account.WxBoxUserInfo.fdd:type_name -> account.FddInfo + 66, // 2: account.UserInfo.passport:type_name -> account.Passport + 32, // 3: account.LoginLogsResponse.Data:type_name -> account.LoginLog + 45, // 4: account.WriteOffListResponse.writeOffList:type_name -> account.WriteOffRequest + 69, // 5: account.UpdateRequest.Extend:type_name -> account.Extend + 52, // 6: account.UpdateRequest.TrainVideos:type_name -> account.trainVideo + 51, // 7: account.UpdateRequest.operator:type_name -> account.Operator + 65, // 8: account.UpdateRequest.userExtend:type_name -> account.UserExtend + 71, // 9: account.ListResponse.Data:type_name -> account.AccountInfo + 71, // 10: account.InfoResponse.Info:type_name -> account.AccountInfo + 69, // 11: account.RegistRequest.Extend:type_name -> account.Extend + 51, // 12: account.RegistRequest.operator:type_name -> account.Operator + 66, // 13: account.RegistRequest.passport:type_name -> account.Passport + 65, // 14: account.RegistRequest.UserExtend:type_name -> account.UserExtend + 71, // 15: account.TokenInfo.AccountInfo:type_name -> account.AccountInfo + 69, // 16: account.AccountInfo.Extend:type_name -> account.Extend + 70, // 17: account.AccountInfo.Departments:type_name -> account.Department + 74, // 18: account.AccountInfo.Positions:type_name -> account.PositionUser + 82, // 19: account.AccountInfo.clocks:type_name -> account.ClockUser + 52, // 20: account.AccountInfo.TrainVideos:type_name -> account.trainVideo + 51, // 21: account.AccountInfo.operator:type_name -> account.Operator + 65, // 22: account.AccountInfo.userExtend:type_name -> account.UserExtend + 69, // 23: account.UserInfoV2.Extend:type_name -> account.Extend + 51, // 24: account.UserInfoV2.operator:type_name -> account.Operator + 83, // 25: account.ClockDeviceListResponse.data:type_name -> account.ClockDeviceInfo + 83, // 26: account.ClockUser.device:type_name -> account.ClockDeviceInfo + 85, // 27: account.ClockDeviceInfo.data:type_name -> account.ClockUserRel + 85, // 28: account.ClockDeviceInfoResponse.data:type_name -> account.ClockUserRel + 89, // 29: account.ClockBatchListResponse.data:type_name -> account.ClockUserDeviceBatch + 90, // 30: account.ClockLogListResponse.data:type_name -> account.ClockLogInfo + 67, // 31: account.Account.Login:input_type -> account.LoginRequest + 73, // 32: account.Account.RefreshToken:input_type -> account.RefreshTokenRequest + 60, // 33: account.Account.Logout:input_type -> account.DecryptJwtRequest + 26, // 34: account.Account.WxApp:input_type -> account.WxAppRequest + 29, // 35: account.Account.WxUserInfo:input_type -> account.WxUserOrCreateRequest + 29, // 36: account.Account.WxUserCreate:input_type -> account.WxUserOrCreateRequest + 28, // 37: account.Account.WxUserUpdate:input_type -> account.WxUserUpdateRequest + 19, // 38: account.Account.WxGetOpenIdByCode:input_type -> account.WxGetOpenIdByCodeRequest + 19, // 39: account.Account.WxBoxLogin:input_type -> account.WxGetOpenIdByCodeRequest + 18, // 40: account.Account.WxBoxUserInfoByOpenId:input_type -> account.WxBoxUserInfoRequest + 19, // 41: account.Account.WxBoxTelNumByCode:input_type -> account.WxGetOpenIdByCodeRequest + 22, // 42: account.Account.WxBoxUpdateUser:input_type -> account.WxBoxUserInfo + 22, // 43: account.Account.WxBoxCreateUser:input_type -> account.WxBoxUserInfo + 17, // 44: account.Account.FddCreateUser:input_type -> account.FddCreateUserRequest + 17, // 45: account.Account.FddUpdateUser:input_type -> account.FddCreateUserRequest + 16, // 46: account.Account.FddRemoveUser:input_type -> account.FddRemoveUserRequest + 25, // 47: account.Account.OffLine:input_type -> account.CommonRequest + 34, // 48: account.Account.OnlineLog:input_type -> account.LoginInfosByUserIdRequest + 33, // 49: account.Account.OnlineLogById:input_type -> account.OnlineLogByIdRequest + 61, // 50: account.Account.CheckPwd:input_type -> account.CheckPwdRequest + 64, // 51: account.Account.Register:input_type -> account.RegistRequest + 64, // 52: account.Account.RegisterOrExist:input_type -> account.RegistRequest + 40, // 53: account.Account.SendMsg:input_type -> account.SendMsgRequest + 41, // 54: account.Account.SendCustomMsg:input_type -> account.SendCustomMsgRequest + 41, // 55: account.Account.SendExCustomMsg:input_type -> account.SendCustomMsgRequest + 40, // 56: account.Account.SendMsgRegister:input_type -> account.SendMsgRequest + 42, // 57: account.Account.CheckMsg:input_type -> account.CheckMsgRequest + 35, // 58: account.Account.SendNewTelNumMsg:input_type -> account.SendNewTelNumMsgRequest + 35, // 59: account.Account.UpdateTelNum:input_type -> account.SendNewTelNumMsgRequest + 62, // 60: account.Account.Authentication:input_type -> account.AuthenticationRequest + 60, // 61: account.Account.DecryptJwt:input_type -> account.DecryptJwtRequest + 57, // 62: account.Account.Info:input_type -> account.InfoRequest + 75, // 63: account.Account.JobNumGetInfo:input_type -> account.JobNumGetInfoRequest + 55, // 64: account.Account.List:input_type -> account.ListRequest + 55, // 65: account.Account.RandList:input_type -> account.ListRequest + 39, // 66: account.Account.ListByIDs:input_type -> account.ListByIDsRequest + 44, // 67: account.Account.Remove:input_type -> account.RemoveRequest + 45, // 68: account.Account.WriteOff:input_type -> account.WriteOffRequest + 44, // 69: account.Account.WriteOffApp:input_type -> account.RemoveRequest + 47, // 70: account.Account.WriteOffInfo:input_type -> account.WriteOffApproveRequest + 46, // 71: account.Account.FindWriteOffList:input_type -> account.WriteOffListRequest + 47, // 72: account.Account.WriteOffUpdate:input_type -> account.WriteOffApproveRequest + 50, // 73: account.Account.Update:input_type -> account.UpdateRequest + 54, // 74: account.Account.PrivacyInfo:input_type -> account.PrivacyInfoRequest + 38, // 75: account.Account.UsersByTel:input_type -> account.UsersByTelRequest + 36, // 76: account.Account.UserByTel:input_type -> account.UserByTelRequest + 0, // 77: account.Account.CheckBeforeRegister:input_type -> account.CheckBeforeRegisterRequest + 40, // 78: account.Account.OnlySendMsg:input_type -> account.SendMsgRequest + 42, // 79: account.Account.OnlyCheckMsg:input_type -> account.CheckMsgRequest + 76, // 80: account.Account.CreateClockDevice:input_type -> account.CreateClockDeviceRequest + 77, // 81: account.Account.UpdateClockDevice:input_type -> account.UpdateClockDeviceRequest + 79, // 82: account.Account.RemoveClockDevice:input_type -> account.RemoveClockDeviceRequest + 80, // 83: account.Account.ClockDeviceList:input_type -> account.ClockDeviceListRequest + 86, // 84: account.Account.ClockDeviceInfo:input_type -> account.ClockDeviceInfoRequest + 79, // 85: account.Account.ClockDeviceSingleUntie:input_type -> account.RemoveClockDeviceRequest + 88, // 86: account.Account.ClockDeviceBatchBind:input_type -> account.ClockBatchListResponse + 87, // 87: account.Account.ClockDeviceBatchUntie:input_type -> account.ClockBatchBindRequest + 87, // 88: account.Account.ClockDeviceBatchList:input_type -> account.ClockBatchBindRequest + 89, // 89: account.Account.UpdateDeviceRelevance:input_type -> account.ClockUserDeviceBatch + 13, // 90: account.Account.MailAccountByNickName:input_type -> account.MailAccountByNickNameRequest + 14, // 91: account.Account.CreateMaiAccount:input_type -> account.CreateMaiAccountRequest + 90, // 92: account.Account.CreateClockLog:input_type -> account.ClockLogInfo + 12, // 93: account.Account.SendClockInWechat:input_type -> account.SendClockInWechatRequest + 91, // 94: account.Account.FindClockLogList:input_type -> account.ClockLogReq + 12, // 95: account.Account.SendStrangerClockInWechat:input_type -> account.SendClockInWechatRequest + 11, // 96: account.Account.ListV2:input_type -> account.ListV2Request + 25, // 97: account.Account.CreateChainAccount:input_type -> account.CommonRequest + 93, // 98: account.Account.SendNationMsg:input_type -> account.SendNationMsgRequest + 94, // 99: account.Account.UpdateLanguage:input_type -> account.UpdateLanguageRequest + 96, // 100: account.Account.GenerateSliderCaptcha:input_type -> account.GenerateSliderCaptchaRequest + 98, // 101: account.Account.VerifySliderCaptcha:input_type -> account.VerifySliderCaptchaRequest + 100, // 102: account.Account.VerifySliderStatus:input_type -> account.VerifySliderStatusRequest + 1, // 103: account.Account.SampleAccount:input_type -> account.SampleAccountRequest + 67, // 104: account.Account.LoginAndSqueezeOther:input_type -> account.LoginRequest + 9, // 105: account.Account.QueryPersonnelWithTheSameName:input_type -> account.QueryPersonnelWithTheSameNameRequest + 8, // 106: account.Account.UsersByJobNum:input_type -> account.UsersByJobNumRequest + 5, // 107: account.Account.IsSamePerson:input_type -> account.IsSamePersonRequest + 24, // 108: account.Account.CreateRealNameOrPassPort:input_type -> account.UserInfo + 17, // 109: account.Account.FddCreateUserV2:input_type -> account.FddCreateUserRequest + 24, // 110: account.Account.FddUserFindByUserId:input_type -> account.UserInfo + 57, // 111: account.Account.UserInfoById:input_type -> account.InfoRequest + 68, // 112: account.Account.Login:output_type -> account.TokenInfo + 68, // 113: account.Account.RefreshToken:output_type -> account.TokenInfo + 37, // 114: account.Account.Logout:output_type -> account.CommonResponse + 27, // 115: account.Account.WxApp:output_type -> account.WxAppResponse + 30, // 116: account.Account.WxUserInfo:output_type -> account.WxUserResponse + 30, // 117: account.Account.WxUserCreate:output_type -> account.WxUserResponse + 30, // 118: account.Account.WxUserUpdate:output_type -> account.WxUserResponse + 20, // 119: account.Account.WxGetOpenIdByCode:output_type -> account.WxGetOpenIdByCodeResponse + 22, // 120: account.Account.WxBoxLogin:output_type -> account.WxBoxUserInfo + 22, // 121: account.Account.WxBoxUserInfoByOpenId:output_type -> account.WxBoxUserInfo + 21, // 122: account.Account.WxBoxTelNumByCode:output_type -> account.WxBoxTelNumByCodeResponse + 37, // 123: account.Account.WxBoxUpdateUser:output_type -> account.CommonResponse + 37, // 124: account.Account.WxBoxCreateUser:output_type -> account.CommonResponse + 37, // 125: account.Account.FddCreateUser:output_type -> account.CommonResponse + 37, // 126: account.Account.FddUpdateUser:output_type -> account.CommonResponse + 37, // 127: account.Account.FddRemoveUser:output_type -> account.CommonResponse + 37, // 128: account.Account.OffLine:output_type -> account.CommonResponse + 31, // 129: account.Account.OnlineLog:output_type -> account.LoginLogsResponse + 32, // 130: account.Account.OnlineLogById:output_type -> account.LoginLog + 53, // 131: account.Account.CheckPwd:output_type -> account.UpdateResponse + 63, // 132: account.Account.Register:output_type -> account.RequestStatus + 63, // 133: account.Account.RegisterOrExist:output_type -> account.RequestStatus + 43, // 134: account.Account.SendMsg:output_type -> account.SendMsgStatusResponse + 43, // 135: account.Account.SendCustomMsg:output_type -> account.SendMsgStatusResponse + 43, // 136: account.Account.SendExCustomMsg:output_type -> account.SendMsgStatusResponse + 43, // 137: account.Account.SendMsgRegister:output_type -> account.SendMsgStatusResponse + 43, // 138: account.Account.CheckMsg:output_type -> account.SendMsgStatusResponse + 43, // 139: account.Account.SendNewTelNumMsg:output_type -> account.SendMsgStatusResponse + 43, // 140: account.Account.UpdateTelNum:output_type -> account.SendMsgStatusResponse + 63, // 141: account.Account.Authentication:output_type -> account.RequestStatus + 59, // 142: account.Account.DecryptJwt:output_type -> account.DecryptJwtResponse + 58, // 143: account.Account.Info:output_type -> account.InfoResponse + 58, // 144: account.Account.JobNumGetInfo:output_type -> account.InfoResponse + 56, // 145: account.Account.List:output_type -> account.ListResponse + 56, // 146: account.Account.RandList:output_type -> account.ListResponse + 56, // 147: account.Account.ListByIDs:output_type -> account.ListResponse + 49, // 148: account.Account.Remove:output_type -> account.RemoveResponse + 49, // 149: account.Account.WriteOff:output_type -> account.RemoveResponse + 49, // 150: account.Account.WriteOffApp:output_type -> account.RemoveResponse + 45, // 151: account.Account.WriteOffInfo:output_type -> account.WriteOffRequest + 48, // 152: account.Account.FindWriteOffList:output_type -> account.WriteOffListResponse + 49, // 153: account.Account.WriteOffUpdate:output_type -> account.RemoveResponse + 53, // 154: account.Account.Update:output_type -> account.UpdateResponse + 71, // 155: account.Account.PrivacyInfo:output_type -> account.AccountInfo + 56, // 156: account.Account.UsersByTel:output_type -> account.ListResponse + 58, // 157: account.Account.UserByTel:output_type -> account.InfoResponse + 37, // 158: account.Account.CheckBeforeRegister:output_type -> account.CommonResponse + 43, // 159: account.Account.OnlySendMsg:output_type -> account.SendMsgStatusResponse + 43, // 160: account.Account.OnlyCheckMsg:output_type -> account.SendMsgStatusResponse + 78, // 161: account.Account.CreateClockDevice:output_type -> account.ClockDeviceResponse + 78, // 162: account.Account.UpdateClockDevice:output_type -> account.ClockDeviceResponse + 78, // 163: account.Account.RemoveClockDevice:output_type -> account.ClockDeviceResponse + 81, // 164: account.Account.ClockDeviceList:output_type -> account.ClockDeviceListResponse + 84, // 165: account.Account.ClockDeviceInfo:output_type -> account.ClockDeviceInfoResponse + 78, // 166: account.Account.ClockDeviceSingleUntie:output_type -> account.ClockDeviceResponse + 84, // 167: account.Account.ClockDeviceBatchBind:output_type -> account.ClockDeviceInfoResponse + 84, // 168: account.Account.ClockDeviceBatchUntie:output_type -> account.ClockDeviceInfoResponse + 88, // 169: account.Account.ClockDeviceBatchList:output_type -> account.ClockBatchListResponse + 78, // 170: account.Account.UpdateDeviceRelevance:output_type -> account.ClockDeviceResponse + 15, // 171: account.Account.MailAccountByNickName:output_type -> account.MaiAccountResponse + 37, // 172: account.Account.CreateMaiAccount:output_type -> account.CommonResponse + 78, // 173: account.Account.CreateClockLog:output_type -> account.ClockDeviceResponse + 37, // 174: account.Account.SendClockInWechat:output_type -> account.CommonResponse + 92, // 175: account.Account.FindClockLogList:output_type -> account.ClockLogListResponse + 37, // 176: account.Account.SendStrangerClockInWechat:output_type -> account.CommonResponse + 56, // 177: account.Account.ListV2:output_type -> account.ListResponse + 7, // 178: account.Account.CreateChainAccount:output_type -> account.CreateChainAccountResponse + 43, // 179: account.Account.SendNationMsg:output_type -> account.SendMsgStatusResponse + 95, // 180: account.Account.UpdateLanguage:output_type -> account.UpdateLanguageResponse + 97, // 181: account.Account.GenerateSliderCaptcha:output_type -> account.GenerateSliderCaptchaResponse + 99, // 182: account.Account.VerifySliderCaptcha:output_type -> account.VerifySliderCaptchaResponse + 101, // 183: account.Account.VerifySliderStatus:output_type -> account.VerifySliderStatusResponse + 2, // 184: account.Account.SampleAccount:output_type -> account.SampleAccountResponse + 68, // 185: account.Account.LoginAndSqueezeOther:output_type -> account.TokenInfo + 10, // 186: account.Account.QueryPersonnelWithTheSameName:output_type -> account.QueryPersonnelWithTheSameNameResponse + 56, // 187: account.Account.UsersByJobNum:output_type -> account.ListResponse + 4, // 188: account.Account.IsSamePerson:output_type -> account.IsSamePersonResponse + 37, // 189: account.Account.CreateRealNameOrPassPort:output_type -> account.CommonResponse + 37, // 190: account.Account.FddCreateUserV2:output_type -> account.CommonResponse + 23, // 191: account.Account.FddUserFindByUserId:output_type -> account.FddInfo + 24, // 192: account.Account.UserInfoById:output_type -> account.UserInfo + 112, // [112:193] is the sub-list for method output_type + 31, // [31:112] is the sub-list for method input_type + 31, // [31:31] is the sub-list for extension type_name + 31, // [31:31] is the sub-list for extension extendee + 0, // [0:31] is the sub-list for field type_name } func init() { file_api_account_account_proto_init() } @@ -9232,7 +10096,7 @@ func file_api_account_account_proto_init() { } if !protoimpl.UnsafeEnabled { file_api_account_account_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VerifySliderStatusRequest); i { + switch v := v.(*CheckBeforeRegisterRequest); i { case 0: return &v.state case 1: @@ -9244,7 +10108,7 @@ func file_api_account_account_proto_init() { } } file_api_account_account_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VerifySliderStatusResponse); i { + switch v := v.(*SampleAccountRequest); i { case 0: return &v.state case 1: @@ -9256,7 +10120,7 @@ func file_api_account_account_proto_init() { } } file_api_account_account_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendNationMsgRequest); i { + switch v := v.(*SampleAccountResponse); i { case 0: return &v.state case 1: @@ -9268,7 +10132,7 @@ func file_api_account_account_proto_init() { } } file_api_account_account_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VerifySliderCaptchaResponse); i { + switch v := v.(*LoginAndSqueezeOtherResponse); i { case 0: return &v.state case 1: @@ -9280,7 +10144,7 @@ func file_api_account_account_proto_init() { } } file_api_account_account_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VerifySliderCaptchaRequest); i { + switch v := v.(*IsSamePersonResponse); i { case 0: return &v.state case 1: @@ -9292,7 +10156,7 @@ func file_api_account_account_proto_init() { } } file_api_account_account_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GenerateSliderCaptchaResponse); i { + switch v := v.(*IsSamePersonRequest); i { case 0: return &v.state case 1: @@ -9304,7 +10168,7 @@ func file_api_account_account_proto_init() { } } file_api_account_account_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GenerateSliderCaptchaRequest); i { + switch v := v.(*UpdatePassportStatusRequest); i { case 0: return &v.state case 1: @@ -9316,7 +10180,7 @@ func file_api_account_account_proto_init() { } } file_api_account_account_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CheckRealNameResponse); i { + switch v := v.(*CreateChainAccountResponse); i { case 0: return &v.state case 1: @@ -9328,102 +10192,6 @@ func file_api_account_account_proto_init() { } } file_api_account_account_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CheckRealNameRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_account_account_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserListResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_account_account_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserListInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_account_account_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserListRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_account_account_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserInfoResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_account_account_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RealNameResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_account_account_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RealNameRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_account_account_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RegisterResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_account_account_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UsersByJobNumRequest); i { case 0: return &v.state @@ -9435,7 +10203,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryPersonnelWithTheSameNameRequest); i { case 0: return &v.state @@ -9447,7 +10215,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryPersonnelWithTheSameNameResponse); i { case 0: return &v.state @@ -9459,7 +10227,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListV2Request); i { case 0: return &v.state @@ -9471,7 +10239,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SendClockInWechatRequest); i { case 0: return &v.state @@ -9483,7 +10251,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MailAccountByNickNameRequest); i { case 0: return &v.state @@ -9495,7 +10263,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateMaiAccountRequest); i { case 0: return &v.state @@ -9507,7 +10275,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MaiAccountResponse); i { case 0: return &v.state @@ -9519,7 +10287,19 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FddRemoveUserRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FddCreateUserRequest); i { case 0: return &v.state @@ -9531,7 +10311,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WxBoxUserInfoRequest); i { case 0: return &v.state @@ -9543,7 +10323,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WxGetOpenIdByCodeRequest); i { case 0: return &v.state @@ -9555,7 +10335,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WxGetOpenIdByCodeResponse); i { case 0: return &v.state @@ -9567,7 +10347,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WxBoxTelNumByCodeResponse); i { case 0: return &v.state @@ -9579,7 +10359,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WxBoxUserInfo); i { case 0: return &v.state @@ -9591,7 +10371,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FddInfo); i { case 0: return &v.state @@ -9603,7 +10383,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserInfo); i { case 0: return &v.state @@ -9615,7 +10395,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommonRequest); i { case 0: return &v.state @@ -9627,7 +10407,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WxAppRequest); i { case 0: return &v.state @@ -9639,7 +10419,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WxAppResponse); i { case 0: return &v.state @@ -9651,7 +10431,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WxUserUpdateRequest); i { case 0: return &v.state @@ -9663,7 +10443,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WxUserOrCreateRequest); i { case 0: return &v.state @@ -9675,7 +10455,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WxUserResponse); i { case 0: return &v.state @@ -9687,7 +10467,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoginLogsResponse); i { case 0: return &v.state @@ -9699,7 +10479,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoginLog); i { case 0: return &v.state @@ -9711,7 +10491,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OnlineLogByIdRequest); i { case 0: return &v.state @@ -9723,7 +10503,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoginInfosByUserIdRequest); i { case 0: return &v.state @@ -9735,7 +10515,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SendNewTelNumMsgRequest); i { case 0: return &v.state @@ -9747,7 +10527,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserByTelRequest); i { case 0: return &v.state @@ -9759,7 +10539,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommonResponse); i { case 0: return &v.state @@ -9771,7 +10551,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UsersByTelRequest); i { case 0: return &v.state @@ -9783,7 +10563,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListByIDsRequest); i { case 0: return &v.state @@ -9795,7 +10575,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SendMsgRequest); i { case 0: return &v.state @@ -9807,7 +10587,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SendCustomMsgRequest); i { case 0: return &v.state @@ -9819,7 +10599,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckMsgRequest); i { case 0: return &v.state @@ -9831,7 +10611,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SendMsgStatusResponse); i { case 0: return &v.state @@ -9843,7 +10623,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveRequest); i { case 0: return &v.state @@ -9855,7 +10635,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WriteOffRequest); i { case 0: return &v.state @@ -9867,7 +10647,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WriteOffListRequest); i { case 0: return &v.state @@ -9879,7 +10659,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WriteOffApproveRequest); i { case 0: return &v.state @@ -9891,7 +10671,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WriteOffListResponse); i { case 0: return &v.state @@ -9903,7 +10683,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveResponse); i { case 0: return &v.state @@ -9915,7 +10695,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateRequest); i { case 0: return &v.state @@ -9927,7 +10707,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Operator); i { case 0: return &v.state @@ -9939,7 +10719,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TrainVideo); i { case 0: return &v.state @@ -9951,7 +10731,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateResponse); i { case 0: return &v.state @@ -9963,7 +10743,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PrivacyInfoRequest); i { case 0: return &v.state @@ -9975,7 +10755,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRequest); i { case 0: return &v.state @@ -9987,7 +10767,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListResponse); i { case 0: return &v.state @@ -9999,7 +10779,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InfoRequest); i { case 0: return &v.state @@ -10011,7 +10791,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InfoResponse); i { case 0: return &v.state @@ -10023,7 +10803,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DecryptJwtResponse); i { case 0: return &v.state @@ -10035,7 +10815,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DecryptJwtRequest); i { case 0: return &v.state @@ -10047,7 +10827,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckPwdRequest); i { case 0: return &v.state @@ -10059,7 +10839,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthenticationRequest); i { case 0: return &v.state @@ -10071,7 +10851,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RequestStatus); i { case 0: return &v.state @@ -10083,7 +10863,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegistRequest); i { case 0: return &v.state @@ -10095,7 +10875,31 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserExtend); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Passport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoginRequest); i { case 0: return &v.state @@ -10107,7 +10911,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TokenInfo); i { case 0: return &v.state @@ -10119,7 +10923,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Extend); i { case 0: return &v.state @@ -10131,7 +10935,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Department); i { case 0: return &v.state @@ -10143,7 +10947,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AccountInfo); i { case 0: return &v.state @@ -10155,7 +10959,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserInfoV2); i { case 0: return &v.state @@ -10167,7 +10971,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RefreshTokenRequest); i { case 0: return &v.state @@ -10179,7 +10983,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PositionUser); i { case 0: return &v.state @@ -10191,7 +10995,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobNumGetInfoRequest); i { case 0: return &v.state @@ -10203,7 +11007,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateClockDeviceRequest); i { case 0: return &v.state @@ -10215,7 +11019,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateClockDeviceRequest); i { case 0: return &v.state @@ -10227,7 +11031,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockDeviceResponse); i { case 0: return &v.state @@ -10239,7 +11043,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveClockDeviceRequest); i { case 0: return &v.state @@ -10251,7 +11055,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockDeviceListRequest); i { case 0: return &v.state @@ -10263,7 +11067,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockDeviceListResponse); i { case 0: return &v.state @@ -10275,7 +11079,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockUser); i { case 0: return &v.state @@ -10287,7 +11091,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockDeviceInfo); i { case 0: return &v.state @@ -10299,7 +11103,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockDeviceInfoResponse); i { case 0: return &v.state @@ -10311,7 +11115,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockUserRel); i { case 0: return &v.state @@ -10323,7 +11127,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockDeviceInfoRequest); i { case 0: return &v.state @@ -10335,7 +11139,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockBatchBindRequest); i { case 0: return &v.state @@ -10347,7 +11151,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockBatchListResponse); i { case 0: return &v.state @@ -10359,7 +11163,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockUserDeviceBatch); i { case 0: return &v.state @@ -10371,7 +11175,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockLogInfo); i { case 0: return &v.state @@ -10383,7 +11187,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockLogReq); i { case 0: return &v.state @@ -10395,7 +11199,7 @@ func file_api_account_account_proto_init() { return nil } } - file_api_account_account_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { + file_api_account_account_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClockLogListResponse); i { case 0: return &v.state @@ -10407,6 +11211,114 @@ func file_api_account_account_proto_init() { return nil } } + file_api_account_account_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendNationMsgRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateLanguageRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateLanguageResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenerateSliderCaptchaRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenerateSliderCaptchaResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VerifySliderCaptchaRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VerifySliderCaptchaResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VerifySliderStatusRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VerifySliderStatusResponse); 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{ @@ -10414,7 +11326,7 @@ func file_api_account_account_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_api_account_account_proto_rawDesc, NumEnums: 0, - NumMessages: 98, + NumMessages: 102, NumExtensions: 0, NumServices: 1, }, diff --git a/api/account/account.proto b/api/account/account.proto index d20062d..b5a4b11 100644 --- a/api/account/account.proto +++ b/api/account/account.proto @@ -18,6 +18,8 @@ syntax = "proto3"; package account; import "github.com/mwitkow/go-proto-validators@v0.3.2/validator.proto"; +//import "descriptor.proto"; +//import "validator.proto"; option go_package = "./;account"; @@ -25,11 +27,25 @@ service Account { rpc Login (LoginRequest) returns (TokenInfo) {} rpc RefreshToken (RefreshTokenRequest) returns (TokenInfo) {} //刷新token rpc Logout (DecryptJwtRequest) returns (CommonResponse) {} + rpc WxApp (WxAppRequest) returns (WxAppResponse) {}//获取微信公众号记录 + rpc WxUserInfo (WxUserOrCreateRequest) returns (WxUserResponse) {}//获取微信用户信息 + rpc WxUserCreate (WxUserOrCreateRequest) returns (WxUserResponse) {}//创建微信用户 + rpc WxUserUpdate (WxUserUpdateRequest) returns (WxUserResponse) {}//更新微信用户 + rpc WxGetOpenIdByCode (WxGetOpenIdByCodeRequest) returns (WxGetOpenIdByCodeResponse) {}//仅校验之前发送的验证码 + rpc WxBoxLogin (WxGetOpenIdByCodeRequest) returns (WxBoxUserInfo) {}//微信小程序登陆并且获取详情 + rpc WxBoxUserInfoByOpenId (WxBoxUserInfoRequest) returns (WxBoxUserInfo) {}//微信小程序登陆并且获取详情 + rpc WxBoxTelNumByCode (WxGetOpenIdByCodeRequest) returns (WxBoxTelNumByCodeResponse) {}//小程序获取手机号 + rpc WxBoxUpdateUser (WxBoxUserInfo) returns (CommonResponse) {}//更新用户信息 + rpc WxBoxCreateUser (WxBoxUserInfo) returns (CommonResponse) {}//更新用户信息 + rpc FddCreateUser (FddCreateUserRequest) returns (CommonResponse) {}//同步法大大数据 + rpc FddUpdateUser (FddCreateUserRequest) returns (CommonResponse) {}//同步法大大数据 + rpc FddRemoveUser (FddRemoveUserRequest) returns (CommonResponse) {}//同步法大大数据 rpc OffLine (CommonRequest) returns (CommonResponse) {} rpc OnlineLog (LoginInfosByUserIdRequest) returns (LoginLogsResponse) {}//根据用户id获取登录的信息 rpc OnlineLogById (OnlineLogByIdRequest) returns (LoginLog) {}//根据用户id获取登录的信息 rpc CheckPwd (CheckPwdRequest) returns (UpdateResponse) {}//检测密码是否正确 -// rpc RegisterOrExist (RegistRequest) returns (RequestStatus) {} + rpc Register (RegistRequest) returns (RequestStatus) {} + rpc RegisterOrExist (RegistRequest) returns (RequestStatus) {} rpc SendMsg (SendMsgRequest) returns (SendMsgStatusResponse) {} //登陆发送验证码 rpc SendCustomMsg (SendCustomMsgRequest) returns (SendMsgStatusResponse) {}//定制化发送内容 rpc SendExCustomMsg (SendCustomMsgRequest) returns (SendMsgStatusResponse) {}//定制化发送内容 @@ -39,161 +55,103 @@ service Account { rpc UpdateTelNum (SendNewTelNumMsgRequest) returns (SendMsgStatusResponse) {}//更新新手机号,校验新号码验证码 rpc Authentication (AuthenticationRequest) returns (RequestStatus) {} rpc DecryptJwt (DecryptJwtRequest) returns (DecryptJwtResponse) {}//最好放在调用方 - rpc Info (InfoRequest) returns (UserInfoResponse) {} + rpc Info (InfoRequest) returns (InfoResponse) {} rpc JobNumGetInfo (JobNumGetInfoRequest) returns (InfoResponse) {} rpc List (ListRequest) returns (ListResponse) {} rpc RandList (ListRequest) returns (ListResponse) {} rpc ListByIDs (ListByIDsRequest) returns (ListResponse) {} rpc Remove (RemoveRequest) returns (RemoveResponse) {} + rpc WriteOff (WriteOffRequest) returns (RemoveResponse) {} //用户注销 + rpc WriteOffApp (RemoveRequest) returns (RemoveResponse) {} //app用户注销 + rpc WriteOffInfo (WriteOffApproveRequest) returns (WriteOffRequest) {} //用户注销详情 + rpc FindWriteOffList (WriteOffListRequest) returns (WriteOffListResponse) {} //用户注销列表 + rpc WriteOffUpdate (WriteOffApproveRequest)returns(RemoveResponse){} //用户注销更新 rpc Update (UpdateRequest) returns (UpdateResponse) {} + rpc PrivacyInfo (PrivacyInfoRequest) returns (AccountInfo) {} rpc UsersByTel (UsersByTelRequest) returns (ListResponse) {} - rpc UserByTel (UserByTelRequest) returns (UserInfoResponse) {} + rpc UserByTel (UserByTelRequest) returns (InfoResponse) {} + rpc CheckBeforeRegister (CheckBeforeRegisterRequest) returns (CommonResponse) {} rpc OnlySendMsg (SendMsgRequest) returns (SendMsgStatusResponse) {} //仅发验证码 rpc OnlyCheckMsg (CheckMsgRequest) returns (SendMsgStatusResponse) {}//仅校验之前发送的验证码 + rpc CreateClockDevice(CreateClockDeviceRequest) returns(ClockDeviceResponse){} //创建打卡机设备 + rpc UpdateClockDevice(UpdateClockDeviceRequest) returns(ClockDeviceResponse){} //更新打卡机设备 + rpc RemoveClockDevice(RemoveClockDeviceRequest) returns(ClockDeviceResponse){} //删除打卡机设备 + rpc ClockDeviceList(ClockDeviceListRequest) returns(ClockDeviceListResponse){} //打卡机设备列表 + rpc ClockDeviceInfo(ClockDeviceInfoRequest) returns(ClockDeviceInfoResponse){} //打卡机设备详情 + rpc ClockDeviceSingleUntie(RemoveClockDeviceRequest) returns(ClockDeviceResponse){} //单人解绑打卡机 + rpc ClockDeviceBatchBind(ClockBatchListResponse) returns(ClockDeviceInfoResponse){} //批量绑定打卡机 + rpc ClockDeviceBatchUntie(ClockBatchBindRequest) returns(ClockDeviceInfoResponse){} //批量解绑打卡机 + rpc ClockDeviceBatchList(ClockBatchBindRequest) returns(ClockBatchListResponse){} //查询绑定关系 + rpc UpdateDeviceRelevance(ClockUserDeviceBatch) returns(ClockDeviceResponse){} //更新绑定中间表 rpc MailAccountByNickName(MailAccountByNickNameRequest) returns(MaiAccountResponse){} //根据昵称姓名获取昵称的邮箱和拼音名称 + rpc CreateMaiAccount(CreateMaiAccountRequest) returns(CommonResponse){} //生成邮箱号 + rpc CreateClockLog(ClockLogInfo) returns(ClockDeviceResponse){} //创建打卡记录 + rpc SendClockInWechat(SendClockInWechatRequest) returns(CommonResponse){} //发送模版消息 + rpc FindClockLogList(ClockLogReq) returns(ClockLogListResponse){} //查看打卡记录 + rpc SendStrangerClockInWechat(SendClockInWechatRequest) returns(CommonResponse){} //发送陌生人模版消息 rpc ListV2 (ListV2Request) returns (ListResponse) {}// 新版列表 查询 - rpc QueryPersonnelWithTheSameName (QueryPersonnelWithTheSameNameRequest) returns (QueryPersonnelWithTheSameNameResponse) {}// 查询同名的员工 - rpc UsersByJobNum (UsersByJobNumRequest) returns (ListResponse) {} - rpc RealName (RealNameRequest) returns (RealNameResponse) {}//实名认证 - rpc Register (RegistRequest) returns (RegisterResponse) {}//注册 - rpc UserList (UserListRequest) returns (UserListResponse) {}//用户列表 - rpc CheckRealName (CheckRealNameRequest) returns (CheckRealNameResponse) {}//审核实名 + rpc CreateChainAccount(CommonRequest) returns (CreateChainAccountResponse) {}// 新版列表 查询 + rpc SendNationMsg (SendNationMsgRequest) returns (SendMsgStatusResponse) {} //发送境外国际短信验证码 --艺术商城 + rpc UpdateLanguage(UpdateLanguageRequest) returns (UpdateLanguageResponse) {}// 修改用户使用的语言 rpc GenerateSliderCaptcha(GenerateSliderCaptchaRequest) returns (GenerateSliderCaptchaResponse) {}// 生成滑块验证码图片+位置 rpc VerifySliderCaptcha(VerifySliderCaptchaRequest) returns (VerifySliderCaptchaResponse) {}// 验证滑块验证码位置 - rpc SendNationMsg (SendNationMsgRequest) returns (SendMsgStatusResponse) {} //发送境外国际短信验证码 --艺术商城 rpc VerifySliderStatus(VerifySliderStatusRequest) returns (VerifySliderStatusResponse) {}// 验证滑块验证码状态 + rpc SampleAccount (SampleAccountRequest) returns (SampleAccountResponse) {} //同一帐号还有谁在登陆 + rpc LoginAndSqueezeOther (LoginRequest) returns (TokenInfo) {} //唯一登陆,干掉其他人 + rpc QueryPersonnelWithTheSameName (QueryPersonnelWithTheSameNameRequest) returns (QueryPersonnelWithTheSameNameResponse) {}// 查询同名的员工 + rpc UsersByJobNum (UsersByJobNumRequest) returns (ListResponse) {} + //人脸检测 + rpc IsSamePerson(IsSamePersonRequest)returns(IsSamePersonResponse){}//是否是同一人 + rpc CreateRealNameOrPassPort(UserInfo)returns(CommonResponse){}//实名信息注册 + rpc FddCreateUserV2(FddCreateUserRequest) returns(CommonResponse){}//创建法大大 + rpc FddUserFindByUserId(UserInfo)returns(FddInfo){}//通过userid获取法大大信息 + rpc UserInfoById(InfoRequest)returns(UserInfo){}//通过userid获取实名信息 } -message VerifySliderStatusRequest { - string nonceStr = 1; +message CheckBeforeRegisterRequest{ + string domain = 1; + string jobNum = 2; + string telNum = 3; } -message VerifySliderStatusResponse { - string nonceStr = 1; - int32 status = 2; +message SampleAccountRequest{ + string domain = 1; + string password = 2; + string code = 3; + string from = 4; + string telNum = 5; } -message SendNationMsgRequest { - string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; - string TelNum = 2 [json_name = "telNum",(validator.field) = {string_not_empty: true,human_error: "70001"}]; - string Project = 3 [json_name = "project"]; - uint32 signNo = 4; - uint32 mId = 5; - string scope = 6;//标记模块 -} -message VerifySliderCaptchaResponse { - string nonceStr = 1; +message SampleAccountResponse{ + bool isNowAlreadyLogin = 1; + uint32 num = 2;// 同时在线的数量 } -message VerifySliderCaptchaRequest { - string nonceStr = 1; - float blockX = 2; -} -message GenerateSliderCaptchaResponse { - string nonceStr = 1; - string canvasSrc = 2; - string blockSrc = 3; - uint64 blockY = 4; - uint64 faceY = 5; - uint64 blockX = 6; +message LoginAndSqueezeOtherResponse{ + string needDetectImageUrl = 1; + string recentImageUrl = 2; } -message GenerateSliderCaptchaRequest { - uint64 canvasWidth = 1; - uint64 canvasHeight = 2; - uint64 blockWidth = 3; - uint64 blockHeight = 4; - uint64 blockRadius = 5; - uint64 place = 6; +message IsSamePersonResponse{ + bool isPass = 1; + uint32 rate = 2;//相似度 + string message = 3;//相似度 } -message CheckRealNameResponse{ - uint64 id =1; - string status =2; + +message IsSamePersonRequest{ + string needDetectImageUrl = 1; + string recentImageUrl = 2; } -message CheckRealNameRequest{ - uint64 id = 1; - bool pass = 2; - string notPassRemarks = 3; + +message UpdatePassportStatusRequest{ + uint32 ID = 1; + uint32 status = 2; } -message UserListResponse{ - uint64 count = 1; - uint64 page = 2; - uint64 pageSize = 3; - repeated UserListInfo userList = 4; -} -message UserListInfo{ - uint64 id = 1; - int32 status = 2; - string name = 3; - string sex = 4; - string nationality = 5; - int32 documentType =6; - string certificatePicture = 7; - string validity = 8; - string placeOfResidence = 9; - string groupPhoto = 10; - string attachment = 11; - string registrationTime = 12; - string auditTime = 13; - string subNum = 14; - string notPassRemarks = 15; - string telNum = 16; - string telAreaCode = 17; - string language = 18; - string subscriberNumber = 19; - string nickName = 20; -} -message UserListRequest{ - string domain = 1; - string subNum = 2; - int32 realNameOrNot = 3; - string name = 4; - string sex = 5; - int32 documentType = 6; - int32 auditStatus = 7; - uint64 page = 8; - uint64 pageSize = 9; -} -message UserInfoResponse{ - uint64 id = 1; - int32 status = 2; - string name = 3; - string sex = 4; - string nationality = 5; - int32 documentType =6; - string certificatePicture = 7; - string validity = 8; - string placeOfResidence = 9; - string groupPhoto = 10; - string attachment = 11; - string subNum = 12; - string notPassRemarks = 13; - string domain = 14; - string language = 15; - string subscriberNumber = 16; - string nickName = 17; - string telNum = 18; -} -message RealNameResponse{ - uint64 id = 1; - string status = 2; -} -message RealNameRequest{ - uint64 id = 1; - string name = 2; - string sex = 3; - string nationality = 4; - int32 documentType = 5; - string certificatePicture = 6; - string validity = 7; - string placeOfResidence = 8; - string groupPhoto = 9; - string attachment = 10; -} -message RegisterResponse{ - uint64 ID = 1; - uint64 status = 2; - string token = 3; + +message CreateChainAccountResponse { + string account = 1 ; + string men = 2 ; + string publicKey = 3 ; } message UsersByJobNumRequest{ string domain = 1 ; @@ -227,6 +185,7 @@ message ListV2Request { repeated string departmentNames =16 ; repeated uint32 positionIds =17 ; repeated uint32 departmentIds =18 ; + uint32 fatherDepartmentId =19 ; } message SendClockInWechatRequest { @@ -256,13 +215,19 @@ message MaiAccountResponse { string mailAccount = 2; } +message FddRemoveUserRequest { + uint32 wxUserId = 2; +} + message FddCreateUserRequest { string openid = 1 ; uint32 wxUserId = 2; - //string UserId = 3; + uint64 UserId = 3; string customerId = 4; bool isVerify = 5; string transactionNo = 6; + uint32 status = 7; + string idType = 8; } message WxBoxUserInfoRequest { @@ -298,6 +263,8 @@ message FddInfo { string customerId = 2 ; bool isVerify = 3 ; string transactionNo = 4; + uint32 status = 5; + string idType =6; } message UserInfo { @@ -314,10 +281,13 @@ message UserInfo { string realIDImgB = 18; string realNameIDName = 19; string video = 20; + string idType = 21; //0 护照 港澳台 护照 通信证等 + Passport passport = 22; //护照 港澳台 护照 通信证等 } message CommonRequest { uint64 ID = 1 [json_name = "ID"]; + string from = 2 ; } message WxAppRequest { @@ -418,7 +388,6 @@ message SendMsgRequest { uint32 mId = 5; string scope = 6; //标记模块 string zone = 7; //地区 不同地区切换不同发送帐号 - string nonceStr = 8; } message SendCustomMsgRequest { @@ -437,7 +406,6 @@ message CheckMsgRequest { string TelNum = 2 [json_name = "telNum"]; string Code = 3 [json_name = "code",(validator.field) = {string_not_empty: true,human_error: "70003"} ]; string scope = 4;//标记模块 - string zone = 5; //地区 不同地区切换不同发送帐号 } message SendMsgStatusResponse { @@ -488,9 +456,31 @@ message RemoveResponse { message UpdateRequest { uint64 ID = 1 [json_name = "ID"]; //ID - string Domain = 2 [json_name = "domain"]; - string Language = 3 [json_name = "language"]; - string NickName = 4 [json_name = "nickName"]; + string Domain = 2 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + string NickName = 3 [json_name = "nickName"]; + string Password = 4 [json_name = "password"]; //密码 + string Avatar = 5 [json_name = "avatar"]; //头像 + string Status = 7 [json_name = "status"]; + string TelNum = 8 [json_name = "telNum"]; + string EnterDate = 14 [json_name = "enterDate"]; + Extend Extend = 17 [json_name = "extend"]; + string Title = 18 [json_name = "title"]; + string JobNum = 19 [json_name = "jobNum"]; + string BirthDate = 20 [json_name = "birthDate"]; + uint64 Sex = 21 [json_name = "sex"]; + string IdNum = 22 [json_name = "idNum"]; + string RealName = 23 [json_name = "realName"]; + string InvitationCode = 24 [json_name = "invitationCode"]; + string LeftDate = 25 [json_name = "leftDate"]; + string Remark = 26 [json_name = "remark"]; + string RecentImg = 27 [json_name = "recentImg"]; + string ICNum = 28 [json_name = "icNum"]; + string Train = 29 [json_name = "train"]; + string Certificate = 30 [json_name = "certificate"]; + repeated trainVideo TrainVideos = 31 [json_name = "trainVideos"]; + Operator operator = 32; + string SecurityCode = 33 [json_name = "securityCode"]; + UserExtend userExtend = 34 ; } message Operator { @@ -523,6 +513,18 @@ message ListRequest { string telNum = 6; string startEnterDate = 7; string endEnterDate = 8; + string nickName = 9; + uint32 isReal = 10; + uint32 isMainLand = 11; + string fromCode = 12; + string bankName = 13; + string bankNo = 14; + uint32 sex = 15; + string startRealTime = 16; + string endRealTime = 17; + string endCreatedAt = 18; + string startCreatedAt = 19; + string realName = 20; } message ListResponse { @@ -550,6 +552,7 @@ message DecryptJwtResponse { string Account = 3 [json_name = "account"]; string NickName = 4 [json_name = "nickName"]; bool IsOffline = 5 [json_name = "isOffline"]; + string offlineCode = 6 ;//下线的原因 } message DecryptJwtRequest { @@ -575,23 +578,68 @@ message RequestStatus { } message RegistRequest { - string domain = 1; - string telNum = 2; - string code = 3; - string address = 4; - string telAreaCode = 5; - string language = 6; - string nickName = 7; + string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"}]; + string NickName = 2 [json_name = "nickName",(validator.field) = {length_lt: 20,string_not_empty: true,human_error: "70005"}]; + string TelNum = 3 [json_name = "telNum"]; + string Password = 4 [json_name = "password",(validator.field) = {length_gt: 5,human_error: "70007"}]; //密码 + string Avatar = 5 [json_name = "avatar"]; //头像 + string EnterDate = 14 [json_name = "enterDate"]; + Extend Extend = 15 [json_name = "extend"]; + string JobNum = 16 [json_name = "JobNum"]; //工号 + string Code = 17 [json_name = "code"]; //工号 + string IdNum = 18 [json_name = "idNum"]; //年龄 + string RealName = 19 [json_name = "realName"]; // + string RecentImg = 20; + string RealIDImgA = 21; + string RealIDImgB = 22; + string Video = 23; + string ICNum = 24; + string Train = 25; + string Certificate = 26; + string Source =27; + Operator operator = 28; + string Status =29; + string BlockAddr = 30; + Passport passport = 31; //护照 港澳台 护照 通信证等 + string leftDate = 32; //离职时间 + UserExtend UserExtend= 33; //离职时间 +} + +message UserExtend { + string id = 1; + string uuid = 2; + string userID = 3; + string address = 4; + string bankName = 5; + string bankNo = 6; + string zone = 7; + uint32 isMainland = 8; + uint32 isReal = 9; //是否实名 + string fromCode = 10; // 99999 + string realTime = 11; // 实名信息时间 + string realName = 12; // 实名信息时间 + string idType = 13; //证件类型 + string idNo = 14; //证件号码 +} + +message Passport { + string idNum = 1; //编号 + string realIDImgA = 2;//正反面 + string realIDImgB = 3;//正反面 + string name = 4; //名字 + string idType = 5; //法大大 保持一致 "0"身份证号 "1" 护照号 "B" 港澳居民来往内地通行证号 "C" 台湾居民来往大陆通行证号 } message LoginRequest { string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + //string TelNum = 2 [json_name = "telNum",(validator.field) = {regex: "^1\\d{10}$",human_error: "70002"}]; string TelNum = 2 [json_name = "telNum"]; string Code = 3 [json_name = "code"]; string Password = 4 [json_name = "password"]; string Ip = 5 [json_name = "ip"]; bool passCheckIp = 6 ; - string telAreaCode = 7; + string from = 7 [json_name = "from"]; //登陆来源 PC 还是 h5 之类的 + string zone = 8; } message TokenInfo { @@ -621,7 +669,7 @@ message AccountInfo { string NickName = 3 [json_name = "nickName"]; int64 Type = 4 [json_name = "type"]; string TelNum = 5 [json_name = "telNum"]; - int32 Status = 6 [json_name = "status"]; + string Status = 6 [json_name = "status"]; string Avatar = 7 [json_name = "avatar"]; string CreateAt = 8 [json_name = "createAt"]; uint64 RealNameID = 9 [json_name = "realNameID"]; @@ -636,7 +684,7 @@ message AccountInfo { string JobNum = 18 [json_name = "jobNum"]; string BirthDate = 19 [json_name = "birth_date"]; uint64 Age = 20 [json_name = "age"]; - string Sex = 21 [json_name = "sex"]; + uint64 Sex = 21 [json_name = "sex"]; string Title = 22 [json_name = "title"]; repeated Department Departments = 23 [json_name = "departments"]; string Ip = 24 [json_name = "ip"]; @@ -659,6 +707,8 @@ message AccountInfo { string updatedAt = 41; string SecurityCode = 42 [json_name = "securityCode"]; string BlockAddr = 43 [json_name = "blockAddr"]; + string Language = 44 [json_name = "language"]; + UserExtend userExtend = 45 ; } message UserInfoV2 { @@ -817,4 +867,62 @@ message ClockLogReq{ message ClockLogListResponse{ repeated ClockLogInfo data =1; uint64 count = 2; -} \ No newline at end of file +} + +message SendNationMsgRequest { + string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + string TelNum = 2 [json_name = "telNum",(validator.field) = {string_not_empty: true,human_error: "70001"}]; + string Project = 3 [json_name = "project"]; + uint32 signNo = 4; + uint32 mId = 5; + string scope = 6;//标记模块 +} + +message UpdateLanguageRequest { + string domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + uint64 ID = 2; + string language = 3; +} + +message UpdateLanguageResponse { + uint64 ID = 1; + string telNum = 2; + string language = 3; +} + +message GenerateSliderCaptchaRequest { + uint64 canvasWidth = 1; + uint64 canvasHeight = 2; + uint64 blockWidth = 3; + uint64 blockHeight = 4; + uint64 blockRadius = 5; + uint64 place = 6; +} + +message GenerateSliderCaptchaResponse { + string nonceStr = 1; + string canvasSrc = 2; + string blockSrc = 3; + uint64 blockY = 4; + uint64 faceY = 5; + uint64 blockX = 6; +} + +message VerifySliderCaptchaRequest { + string nonceStr = 1; + float blockX = 2; +} + +message VerifySliderCaptchaResponse { + string nonceStr = 1; +} + +message VerifySliderStatusRequest { + string nonceStr = 1; +} + +message VerifySliderStatusResponse { + string nonceStr = 1; + int32 status = 2; +} + diff --git a/api/account/account.validator.pb.go b/api/account/account.validator.pb.go index 4935f04..347b269 100644 --- a/api/account/account.validator.pb.go +++ b/api/account/account.validator.pb.go @@ -17,65 +17,28 @@ var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf -func (this *VerifySliderStatusRequest) Validate() error { +func (this *CheckBeforeRegisterRequest) Validate() error { return nil } -func (this *VerifySliderStatusResponse) Validate() error { +func (this *SampleAccountRequest) Validate() error { return nil } -func (this *SendNationMsgRequest) Validate() error { - if this.Domain == "" { - return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) - } - if this.TelNum == "" { - return github_com_mwitkow_go_proto_validators.FieldError("TelNum", fmt.Errorf(`70001`)) - } +func (this *SampleAccountResponse) Validate() error { return nil } -func (this *VerifySliderCaptchaResponse) Validate() error { +func (this *LoginAndSqueezeOtherResponse) Validate() error { return nil } -func (this *VerifySliderCaptchaRequest) Validate() error { +func (this *IsSamePersonResponse) Validate() error { return nil } -func (this *GenerateSliderCaptchaResponse) Validate() error { +func (this *IsSamePersonRequest) Validate() error { return nil } -func (this *GenerateSliderCaptchaRequest) Validate() error { +func (this *UpdatePassportStatusRequest) Validate() error { return nil } -func (this *CheckRealNameResponse) Validate() error { - return nil -} -func (this *CheckRealNameRequest) Validate() error { - return nil -} -func (this *UserListResponse) Validate() error { - for _, item := range this.UserList { - if item != nil { - if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { - return github_com_mwitkow_go_proto_validators.FieldError("UserList", err) - } - } - } - return nil -} -func (this *UserListInfo) Validate() error { - return nil -} -func (this *UserListRequest) Validate() error { - return nil -} -func (this *UserInfoResponse) Validate() error { - return nil -} -func (this *RealNameResponse) Validate() error { - return nil -} -func (this *RealNameRequest) Validate() error { - return nil -} -func (this *RegisterResponse) Validate() error { +func (this *CreateChainAccountResponse) Validate() error { return nil } func (this *UsersByJobNumRequest) Validate() error { @@ -114,6 +77,9 @@ func (this *CreateMaiAccountRequest) Validate() error { func (this *MaiAccountResponse) Validate() error { return nil } +func (this *FddRemoveUserRequest) Validate() error { + return nil +} func (this *FddCreateUserRequest) Validate() error { return nil } @@ -146,6 +112,11 @@ func (this *FddInfo) Validate() error { return nil } func (this *UserInfo) Validate() error { + if this.Passport != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Passport); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Passport", err) + } + } return nil } func (this *CommonRequest) Validate() error { @@ -280,6 +251,31 @@ func (this *RemoveResponse) Validate() error { return nil } func (this *UpdateRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + if this.Extend != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Extend); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Extend", err) + } + } + for _, item := range this.TrainVideos { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("TrainVideos", err) + } + } + } + if this.Operator != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Operator); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Operator", err) + } + } + if this.UserExtend != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.UserExtend); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("UserExtend", err) + } + } return nil } func (this *Operator) Validate() error { @@ -346,6 +342,44 @@ func (this *RequestStatus) Validate() error { return nil } func (this *RegistRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + if this.NickName == "" { + return github_com_mwitkow_go_proto_validators.FieldError("NickName", fmt.Errorf(`70005`)) + } + if !(len(this.NickName) < 20) { + return github_com_mwitkow_go_proto_validators.FieldError("NickName", fmt.Errorf(`70005`)) + } + if !(len(this.Password) > 5) { + return github_com_mwitkow_go_proto_validators.FieldError("Password", fmt.Errorf(`70007`)) + } + if this.Extend != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Extend); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Extend", err) + } + } + if this.Operator != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Operator); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Operator", err) + } + } + if this.Passport != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Passport); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Passport", err) + } + } + if this.UserExtend != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.UserExtend); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("UserExtend", err) + } + } + return nil +} +func (this *UserExtend) Validate() error { + return nil +} +func (this *Passport) Validate() error { return nil } func (this *LoginRequest) Validate() error { @@ -407,6 +441,11 @@ func (this *AccountInfo) Validate() error { return github_com_mwitkow_go_proto_validators.FieldError("Operator", err) } } + if this.UserExtend != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.UserExtend); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("UserExtend", err) + } + } return nil } func (this *UserInfoV2) Validate() error { @@ -522,3 +561,39 @@ func (this *ClockLogListResponse) Validate() error { } return nil } +func (this *SendNationMsgRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + if this.TelNum == "" { + return github_com_mwitkow_go_proto_validators.FieldError("TelNum", fmt.Errorf(`70001`)) + } + return nil +} +func (this *UpdateLanguageRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + return nil +} +func (this *UpdateLanguageResponse) Validate() error { + return nil +} +func (this *GenerateSliderCaptchaRequest) Validate() error { + return nil +} +func (this *GenerateSliderCaptchaResponse) Validate() error { + return nil +} +func (this *VerifySliderCaptchaRequest) Validate() error { + return nil +} +func (this *VerifySliderCaptchaResponse) Validate() error { + return nil +} +func (this *VerifySliderStatusRequest) Validate() error { + return nil +} +func (this *VerifySliderStatusResponse) Validate() error { + return nil +} diff --git a/api/account/account_triple.pb.go b/api/account/account_triple.pb.go index b0f6892..e3d142c 100644 --- a/api/account/account_triple.pb.go +++ b/api/account/account_triple.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-triple. DO NOT EDIT. // versions: // - protoc-gen-go-triple v1.0.8 -// - protoc v4.24.0--rc1 +// - protoc v3.21.12 // source: api/account/account.proto package account @@ -31,11 +31,25 @@ type AccountClient interface { Login(ctx context.Context, in *LoginRequest, opts ...grpc_go.CallOption) (*TokenInfo, common.ErrorWithAttachment) RefreshToken(ctx context.Context, in *RefreshTokenRequest, opts ...grpc_go.CallOption) (*TokenInfo, common.ErrorWithAttachment) Logout(ctx context.Context, in *DecryptJwtRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) + WxApp(ctx context.Context, in *WxAppRequest, opts ...grpc_go.CallOption) (*WxAppResponse, common.ErrorWithAttachment) + WxUserInfo(ctx context.Context, in *WxUserOrCreateRequest, opts ...grpc_go.CallOption) (*WxUserResponse, common.ErrorWithAttachment) + WxUserCreate(ctx context.Context, in *WxUserOrCreateRequest, opts ...grpc_go.CallOption) (*WxUserResponse, common.ErrorWithAttachment) + WxUserUpdate(ctx context.Context, in *WxUserUpdateRequest, opts ...grpc_go.CallOption) (*WxUserResponse, common.ErrorWithAttachment) + WxGetOpenIdByCode(ctx context.Context, in *WxGetOpenIdByCodeRequest, opts ...grpc_go.CallOption) (*WxGetOpenIdByCodeResponse, common.ErrorWithAttachment) + WxBoxLogin(ctx context.Context, in *WxGetOpenIdByCodeRequest, opts ...grpc_go.CallOption) (*WxBoxUserInfo, common.ErrorWithAttachment) + WxBoxUserInfoByOpenId(ctx context.Context, in *WxBoxUserInfoRequest, opts ...grpc_go.CallOption) (*WxBoxUserInfo, common.ErrorWithAttachment) + WxBoxTelNumByCode(ctx context.Context, in *WxGetOpenIdByCodeRequest, opts ...grpc_go.CallOption) (*WxBoxTelNumByCodeResponse, common.ErrorWithAttachment) + WxBoxUpdateUser(ctx context.Context, in *WxBoxUserInfo, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) + WxBoxCreateUser(ctx context.Context, in *WxBoxUserInfo, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) + FddCreateUser(ctx context.Context, in *FddCreateUserRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) + FddUpdateUser(ctx context.Context, in *FddCreateUserRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) + FddRemoveUser(ctx context.Context, in *FddRemoveUserRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) OffLine(ctx context.Context, in *CommonRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) OnlineLog(ctx context.Context, in *LoginInfosByUserIdRequest, opts ...grpc_go.CallOption) (*LoginLogsResponse, common.ErrorWithAttachment) OnlineLogById(ctx context.Context, in *OnlineLogByIdRequest, opts ...grpc_go.CallOption) (*LoginLog, common.ErrorWithAttachment) CheckPwd(ctx context.Context, in *CheckPwdRequest, opts ...grpc_go.CallOption) (*UpdateResponse, common.ErrorWithAttachment) - // rpc RegisterOrExist (RegistRequest) returns (RequestStatus) {} + Register(ctx context.Context, in *RegistRequest, opts ...grpc_go.CallOption) (*RequestStatus, common.ErrorWithAttachment) + RegisterOrExist(ctx context.Context, in *RegistRequest, opts ...grpc_go.CallOption) (*RequestStatus, common.ErrorWithAttachment) SendMsg(ctx context.Context, in *SendMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) SendCustomMsg(ctx context.Context, in *SendCustomMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) SendExCustomMsg(ctx context.Context, in *SendCustomMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) @@ -45,29 +59,57 @@ type AccountClient interface { UpdateTelNum(ctx context.Context, in *SendNewTelNumMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) Authentication(ctx context.Context, in *AuthenticationRequest, opts ...grpc_go.CallOption) (*RequestStatus, common.ErrorWithAttachment) DecryptJwt(ctx context.Context, in *DecryptJwtRequest, opts ...grpc_go.CallOption) (*DecryptJwtResponse, common.ErrorWithAttachment) - Info(ctx context.Context, in *InfoRequest, opts ...grpc_go.CallOption) (*UserInfoResponse, common.ErrorWithAttachment) + Info(ctx context.Context, in *InfoRequest, opts ...grpc_go.CallOption) (*InfoResponse, common.ErrorWithAttachment) JobNumGetInfo(ctx context.Context, in *JobNumGetInfoRequest, opts ...grpc_go.CallOption) (*InfoResponse, common.ErrorWithAttachment) List(ctx context.Context, in *ListRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) RandList(ctx context.Context, in *ListRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) ListByIDs(ctx context.Context, in *ListByIDsRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) Remove(ctx context.Context, in *RemoveRequest, opts ...grpc_go.CallOption) (*RemoveResponse, common.ErrorWithAttachment) + WriteOff(ctx context.Context, in *WriteOffRequest, opts ...grpc_go.CallOption) (*RemoveResponse, common.ErrorWithAttachment) + WriteOffApp(ctx context.Context, in *RemoveRequest, opts ...grpc_go.CallOption) (*RemoveResponse, common.ErrorWithAttachment) + WriteOffInfo(ctx context.Context, in *WriteOffApproveRequest, opts ...grpc_go.CallOption) (*WriteOffRequest, common.ErrorWithAttachment) + FindWriteOffList(ctx context.Context, in *WriteOffListRequest, opts ...grpc_go.CallOption) (*WriteOffListResponse, common.ErrorWithAttachment) + WriteOffUpdate(ctx context.Context, in *WriteOffApproveRequest, opts ...grpc_go.CallOption) (*RemoveResponse, common.ErrorWithAttachment) Update(ctx context.Context, in *UpdateRequest, opts ...grpc_go.CallOption) (*UpdateResponse, common.ErrorWithAttachment) + PrivacyInfo(ctx context.Context, in *PrivacyInfoRequest, opts ...grpc_go.CallOption) (*AccountInfo, common.ErrorWithAttachment) UsersByTel(ctx context.Context, in *UsersByTelRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) - UserByTel(ctx context.Context, in *UserByTelRequest, opts ...grpc_go.CallOption) (*UserInfoResponse, common.ErrorWithAttachment) + UserByTel(ctx context.Context, in *UserByTelRequest, opts ...grpc_go.CallOption) (*InfoResponse, common.ErrorWithAttachment) + CheckBeforeRegister(ctx context.Context, in *CheckBeforeRegisterRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) OnlySendMsg(ctx context.Context, in *SendMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) OnlyCheckMsg(ctx context.Context, in *CheckMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) + CreateClockDevice(ctx context.Context, in *CreateClockDeviceRequest, opts ...grpc_go.CallOption) (*ClockDeviceResponse, common.ErrorWithAttachment) + UpdateClockDevice(ctx context.Context, in *UpdateClockDeviceRequest, opts ...grpc_go.CallOption) (*ClockDeviceResponse, common.ErrorWithAttachment) + RemoveClockDevice(ctx context.Context, in *RemoveClockDeviceRequest, opts ...grpc_go.CallOption) (*ClockDeviceResponse, common.ErrorWithAttachment) + ClockDeviceList(ctx context.Context, in *ClockDeviceListRequest, opts ...grpc_go.CallOption) (*ClockDeviceListResponse, common.ErrorWithAttachment) + ClockDeviceInfo(ctx context.Context, in *ClockDeviceInfoRequest, opts ...grpc_go.CallOption) (*ClockDeviceInfoResponse, common.ErrorWithAttachment) + ClockDeviceSingleUntie(ctx context.Context, in *RemoveClockDeviceRequest, opts ...grpc_go.CallOption) (*ClockDeviceResponse, common.ErrorWithAttachment) + ClockDeviceBatchBind(ctx context.Context, in *ClockBatchListResponse, opts ...grpc_go.CallOption) (*ClockDeviceInfoResponse, common.ErrorWithAttachment) + ClockDeviceBatchUntie(ctx context.Context, in *ClockBatchBindRequest, opts ...grpc_go.CallOption) (*ClockDeviceInfoResponse, common.ErrorWithAttachment) + ClockDeviceBatchList(ctx context.Context, in *ClockBatchBindRequest, opts ...grpc_go.CallOption) (*ClockBatchListResponse, common.ErrorWithAttachment) + UpdateDeviceRelevance(ctx context.Context, in *ClockUserDeviceBatch, opts ...grpc_go.CallOption) (*ClockDeviceResponse, common.ErrorWithAttachment) MailAccountByNickName(ctx context.Context, in *MailAccountByNickNameRequest, opts ...grpc_go.CallOption) (*MaiAccountResponse, common.ErrorWithAttachment) + CreateMaiAccount(ctx context.Context, in *CreateMaiAccountRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) + CreateClockLog(ctx context.Context, in *ClockLogInfo, opts ...grpc_go.CallOption) (*ClockDeviceResponse, common.ErrorWithAttachment) + SendClockInWechat(ctx context.Context, in *SendClockInWechatRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) + FindClockLogList(ctx context.Context, in *ClockLogReq, opts ...grpc_go.CallOption) (*ClockLogListResponse, common.ErrorWithAttachment) + SendStrangerClockInWechat(ctx context.Context, in *SendClockInWechatRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) ListV2(ctx context.Context, in *ListV2Request, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) - QueryPersonnelWithTheSameName(ctx context.Context, in *QueryPersonnelWithTheSameNameRequest, opts ...grpc_go.CallOption) (*QueryPersonnelWithTheSameNameResponse, common.ErrorWithAttachment) - UsersByJobNum(ctx context.Context, in *UsersByJobNumRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) - RealName(ctx context.Context, in *RealNameRequest, opts ...grpc_go.CallOption) (*RealNameResponse, common.ErrorWithAttachment) - Register(ctx context.Context, in *RegistRequest, opts ...grpc_go.CallOption) (*RegisterResponse, common.ErrorWithAttachment) - UserList(ctx context.Context, in *UserListRequest, opts ...grpc_go.CallOption) (*UserListResponse, common.ErrorWithAttachment) - CheckRealName(ctx context.Context, in *CheckRealNameRequest, opts ...grpc_go.CallOption) (*CheckRealNameResponse, common.ErrorWithAttachment) + CreateChainAccount(ctx context.Context, in *CommonRequest, opts ...grpc_go.CallOption) (*CreateChainAccountResponse, common.ErrorWithAttachment) + SendNationMsg(ctx context.Context, in *SendNationMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) + UpdateLanguage(ctx context.Context, in *UpdateLanguageRequest, opts ...grpc_go.CallOption) (*UpdateLanguageResponse, common.ErrorWithAttachment) GenerateSliderCaptcha(ctx context.Context, in *GenerateSliderCaptchaRequest, opts ...grpc_go.CallOption) (*GenerateSliderCaptchaResponse, common.ErrorWithAttachment) VerifySliderCaptcha(ctx context.Context, in *VerifySliderCaptchaRequest, opts ...grpc_go.CallOption) (*VerifySliderCaptchaResponse, common.ErrorWithAttachment) - SendNationMsg(ctx context.Context, in *SendNationMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) VerifySliderStatus(ctx context.Context, in *VerifySliderStatusRequest, opts ...grpc_go.CallOption) (*VerifySliderStatusResponse, common.ErrorWithAttachment) + SampleAccount(ctx context.Context, in *SampleAccountRequest, opts ...grpc_go.CallOption) (*SampleAccountResponse, common.ErrorWithAttachment) + LoginAndSqueezeOther(ctx context.Context, in *LoginRequest, opts ...grpc_go.CallOption) (*TokenInfo, common.ErrorWithAttachment) + QueryPersonnelWithTheSameName(ctx context.Context, in *QueryPersonnelWithTheSameNameRequest, opts ...grpc_go.CallOption) (*QueryPersonnelWithTheSameNameResponse, common.ErrorWithAttachment) + UsersByJobNum(ctx context.Context, in *UsersByJobNumRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) + //人脸检测 + IsSamePerson(ctx context.Context, in *IsSamePersonRequest, opts ...grpc_go.CallOption) (*IsSamePersonResponse, common.ErrorWithAttachment) + CreateRealNameOrPassPort(ctx context.Context, in *UserInfo, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) + FddCreateUserV2(ctx context.Context, in *FddCreateUserRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) + FddUserFindByUserId(ctx context.Context, in *UserInfo, opts ...grpc_go.CallOption) (*FddInfo, common.ErrorWithAttachment) + UserInfoById(ctx context.Context, in *InfoRequest, opts ...grpc_go.CallOption) (*UserInfo, common.ErrorWithAttachment) } type accountClient struct { @@ -78,10 +120,25 @@ type AccountClientImpl struct { Login func(ctx context.Context, in *LoginRequest) (*TokenInfo, error) RefreshToken func(ctx context.Context, in *RefreshTokenRequest) (*TokenInfo, error) Logout func(ctx context.Context, in *DecryptJwtRequest) (*CommonResponse, error) + WxApp func(ctx context.Context, in *WxAppRequest) (*WxAppResponse, error) + WxUserInfo func(ctx context.Context, in *WxUserOrCreateRequest) (*WxUserResponse, error) + WxUserCreate func(ctx context.Context, in *WxUserOrCreateRequest) (*WxUserResponse, error) + WxUserUpdate func(ctx context.Context, in *WxUserUpdateRequest) (*WxUserResponse, error) + WxGetOpenIdByCode func(ctx context.Context, in *WxGetOpenIdByCodeRequest) (*WxGetOpenIdByCodeResponse, error) + WxBoxLogin func(ctx context.Context, in *WxGetOpenIdByCodeRequest) (*WxBoxUserInfo, error) + WxBoxUserInfoByOpenId func(ctx context.Context, in *WxBoxUserInfoRequest) (*WxBoxUserInfo, error) + WxBoxTelNumByCode func(ctx context.Context, in *WxGetOpenIdByCodeRequest) (*WxBoxTelNumByCodeResponse, error) + WxBoxUpdateUser func(ctx context.Context, in *WxBoxUserInfo) (*CommonResponse, error) + WxBoxCreateUser func(ctx context.Context, in *WxBoxUserInfo) (*CommonResponse, error) + FddCreateUser func(ctx context.Context, in *FddCreateUserRequest) (*CommonResponse, error) + FddUpdateUser func(ctx context.Context, in *FddCreateUserRequest) (*CommonResponse, error) + FddRemoveUser func(ctx context.Context, in *FddRemoveUserRequest) (*CommonResponse, error) OffLine func(ctx context.Context, in *CommonRequest) (*CommonResponse, error) OnlineLog func(ctx context.Context, in *LoginInfosByUserIdRequest) (*LoginLogsResponse, error) OnlineLogById func(ctx context.Context, in *OnlineLogByIdRequest) (*LoginLog, error) CheckPwd func(ctx context.Context, in *CheckPwdRequest) (*UpdateResponse, error) + Register func(ctx context.Context, in *RegistRequest) (*RequestStatus, error) + RegisterOrExist func(ctx context.Context, in *RegistRequest) (*RequestStatus, error) SendMsg func(ctx context.Context, in *SendMsgRequest) (*SendMsgStatusResponse, error) SendCustomMsg func(ctx context.Context, in *SendCustomMsgRequest) (*SendMsgStatusResponse, error) SendExCustomMsg func(ctx context.Context, in *SendCustomMsgRequest) (*SendMsgStatusResponse, error) @@ -91,29 +148,56 @@ type AccountClientImpl struct { UpdateTelNum func(ctx context.Context, in *SendNewTelNumMsgRequest) (*SendMsgStatusResponse, error) Authentication func(ctx context.Context, in *AuthenticationRequest) (*RequestStatus, error) DecryptJwt func(ctx context.Context, in *DecryptJwtRequest) (*DecryptJwtResponse, error) - Info func(ctx context.Context, in *InfoRequest) (*UserInfoResponse, error) + Info func(ctx context.Context, in *InfoRequest) (*InfoResponse, error) JobNumGetInfo func(ctx context.Context, in *JobNumGetInfoRequest) (*InfoResponse, error) List func(ctx context.Context, in *ListRequest) (*ListResponse, error) RandList func(ctx context.Context, in *ListRequest) (*ListResponse, error) ListByIDs func(ctx context.Context, in *ListByIDsRequest) (*ListResponse, error) Remove func(ctx context.Context, in *RemoveRequest) (*RemoveResponse, error) + WriteOff func(ctx context.Context, in *WriteOffRequest) (*RemoveResponse, error) + WriteOffApp func(ctx context.Context, in *RemoveRequest) (*RemoveResponse, error) + WriteOffInfo func(ctx context.Context, in *WriteOffApproveRequest) (*WriteOffRequest, error) + FindWriteOffList func(ctx context.Context, in *WriteOffListRequest) (*WriteOffListResponse, error) + WriteOffUpdate func(ctx context.Context, in *WriteOffApproveRequest) (*RemoveResponse, error) Update func(ctx context.Context, in *UpdateRequest) (*UpdateResponse, error) + PrivacyInfo func(ctx context.Context, in *PrivacyInfoRequest) (*AccountInfo, error) UsersByTel func(ctx context.Context, in *UsersByTelRequest) (*ListResponse, error) - UserByTel func(ctx context.Context, in *UserByTelRequest) (*UserInfoResponse, error) + UserByTel func(ctx context.Context, in *UserByTelRequest) (*InfoResponse, error) + CheckBeforeRegister func(ctx context.Context, in *CheckBeforeRegisterRequest) (*CommonResponse, error) OnlySendMsg func(ctx context.Context, in *SendMsgRequest) (*SendMsgStatusResponse, error) OnlyCheckMsg func(ctx context.Context, in *CheckMsgRequest) (*SendMsgStatusResponse, error) + CreateClockDevice func(ctx context.Context, in *CreateClockDeviceRequest) (*ClockDeviceResponse, error) + UpdateClockDevice func(ctx context.Context, in *UpdateClockDeviceRequest) (*ClockDeviceResponse, error) + RemoveClockDevice func(ctx context.Context, in *RemoveClockDeviceRequest) (*ClockDeviceResponse, error) + ClockDeviceList func(ctx context.Context, in *ClockDeviceListRequest) (*ClockDeviceListResponse, error) + ClockDeviceInfo func(ctx context.Context, in *ClockDeviceInfoRequest) (*ClockDeviceInfoResponse, error) + ClockDeviceSingleUntie func(ctx context.Context, in *RemoveClockDeviceRequest) (*ClockDeviceResponse, error) + ClockDeviceBatchBind func(ctx context.Context, in *ClockBatchListResponse) (*ClockDeviceInfoResponse, error) + ClockDeviceBatchUntie func(ctx context.Context, in *ClockBatchBindRequest) (*ClockDeviceInfoResponse, error) + ClockDeviceBatchList func(ctx context.Context, in *ClockBatchBindRequest) (*ClockBatchListResponse, error) + UpdateDeviceRelevance func(ctx context.Context, in *ClockUserDeviceBatch) (*ClockDeviceResponse, error) MailAccountByNickName func(ctx context.Context, in *MailAccountByNickNameRequest) (*MaiAccountResponse, error) + CreateMaiAccount func(ctx context.Context, in *CreateMaiAccountRequest) (*CommonResponse, error) + CreateClockLog func(ctx context.Context, in *ClockLogInfo) (*ClockDeviceResponse, error) + SendClockInWechat func(ctx context.Context, in *SendClockInWechatRequest) (*CommonResponse, error) + FindClockLogList func(ctx context.Context, in *ClockLogReq) (*ClockLogListResponse, error) + SendStrangerClockInWechat func(ctx context.Context, in *SendClockInWechatRequest) (*CommonResponse, error) ListV2 func(ctx context.Context, in *ListV2Request) (*ListResponse, error) - QueryPersonnelWithTheSameName func(ctx context.Context, in *QueryPersonnelWithTheSameNameRequest) (*QueryPersonnelWithTheSameNameResponse, error) - UsersByJobNum func(ctx context.Context, in *UsersByJobNumRequest) (*ListResponse, error) - RealName func(ctx context.Context, in *RealNameRequest) (*RealNameResponse, error) - Register func(ctx context.Context, in *RegistRequest) (*RegisterResponse, error) - UserList func(ctx context.Context, in *UserListRequest) (*UserListResponse, error) - CheckRealName func(ctx context.Context, in *CheckRealNameRequest) (*CheckRealNameResponse, error) + CreateChainAccount func(ctx context.Context, in *CommonRequest) (*CreateChainAccountResponse, error) + SendNationMsg func(ctx context.Context, in *SendNationMsgRequest) (*SendMsgStatusResponse, error) + UpdateLanguage func(ctx context.Context, in *UpdateLanguageRequest) (*UpdateLanguageResponse, error) GenerateSliderCaptcha func(ctx context.Context, in *GenerateSliderCaptchaRequest) (*GenerateSliderCaptchaResponse, error) VerifySliderCaptcha func(ctx context.Context, in *VerifySliderCaptchaRequest) (*VerifySliderCaptchaResponse, error) - SendNationMsg func(ctx context.Context, in *SendNationMsgRequest) (*SendMsgStatusResponse, error) VerifySliderStatus func(ctx context.Context, in *VerifySliderStatusRequest) (*VerifySliderStatusResponse, error) + SampleAccount func(ctx context.Context, in *SampleAccountRequest) (*SampleAccountResponse, error) + LoginAndSqueezeOther func(ctx context.Context, in *LoginRequest) (*TokenInfo, error) + QueryPersonnelWithTheSameName func(ctx context.Context, in *QueryPersonnelWithTheSameNameRequest) (*QueryPersonnelWithTheSameNameResponse, error) + UsersByJobNum func(ctx context.Context, in *UsersByJobNumRequest) (*ListResponse, error) + IsSamePerson func(ctx context.Context, in *IsSamePersonRequest) (*IsSamePersonResponse, error) + CreateRealNameOrPassPort func(ctx context.Context, in *UserInfo) (*CommonResponse, error) + FddCreateUserV2 func(ctx context.Context, in *FddCreateUserRequest) (*CommonResponse, error) + FddUserFindByUserId func(ctx context.Context, in *UserInfo) (*FddInfo, error) + UserInfoById func(ctx context.Context, in *InfoRequest) (*UserInfo, error) } func (c *AccountClientImpl) GetDubboStub(cc *triple.TripleConn) AccountClient { @@ -146,6 +230,84 @@ func (c *accountClient) Logout(ctx context.Context, in *DecryptJwtRequest, opts return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Logout", in, out) } +func (c *accountClient) WxApp(ctx context.Context, in *WxAppRequest, opts ...grpc_go.CallOption) (*WxAppResponse, common.ErrorWithAttachment) { + out := new(WxAppResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WxApp", in, out) +} + +func (c *accountClient) WxUserInfo(ctx context.Context, in *WxUserOrCreateRequest, opts ...grpc_go.CallOption) (*WxUserResponse, common.ErrorWithAttachment) { + out := new(WxUserResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WxUserInfo", in, out) +} + +func (c *accountClient) WxUserCreate(ctx context.Context, in *WxUserOrCreateRequest, opts ...grpc_go.CallOption) (*WxUserResponse, common.ErrorWithAttachment) { + out := new(WxUserResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WxUserCreate", in, out) +} + +func (c *accountClient) WxUserUpdate(ctx context.Context, in *WxUserUpdateRequest, opts ...grpc_go.CallOption) (*WxUserResponse, common.ErrorWithAttachment) { + out := new(WxUserResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WxUserUpdate", in, out) +} + +func (c *accountClient) WxGetOpenIdByCode(ctx context.Context, in *WxGetOpenIdByCodeRequest, opts ...grpc_go.CallOption) (*WxGetOpenIdByCodeResponse, common.ErrorWithAttachment) { + out := new(WxGetOpenIdByCodeResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WxGetOpenIdByCode", in, out) +} + +func (c *accountClient) WxBoxLogin(ctx context.Context, in *WxGetOpenIdByCodeRequest, opts ...grpc_go.CallOption) (*WxBoxUserInfo, common.ErrorWithAttachment) { + out := new(WxBoxUserInfo) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WxBoxLogin", in, out) +} + +func (c *accountClient) WxBoxUserInfoByOpenId(ctx context.Context, in *WxBoxUserInfoRequest, opts ...grpc_go.CallOption) (*WxBoxUserInfo, common.ErrorWithAttachment) { + out := new(WxBoxUserInfo) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WxBoxUserInfoByOpenId", in, out) +} + +func (c *accountClient) WxBoxTelNumByCode(ctx context.Context, in *WxGetOpenIdByCodeRequest, opts ...grpc_go.CallOption) (*WxBoxTelNumByCodeResponse, common.ErrorWithAttachment) { + out := new(WxBoxTelNumByCodeResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WxBoxTelNumByCode", in, out) +} + +func (c *accountClient) WxBoxUpdateUser(ctx context.Context, in *WxBoxUserInfo, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { + out := new(CommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WxBoxUpdateUser", in, out) +} + +func (c *accountClient) WxBoxCreateUser(ctx context.Context, in *WxBoxUserInfo, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { + out := new(CommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WxBoxCreateUser", in, out) +} + +func (c *accountClient) FddCreateUser(ctx context.Context, in *FddCreateUserRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { + out := new(CommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/FddCreateUser", in, out) +} + +func (c *accountClient) FddUpdateUser(ctx context.Context, in *FddCreateUserRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { + out := new(CommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/FddUpdateUser", in, out) +} + +func (c *accountClient) FddRemoveUser(ctx context.Context, in *FddRemoveUserRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { + out := new(CommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/FddRemoveUser", in, out) +} + func (c *accountClient) OffLine(ctx context.Context, in *CommonRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { out := new(CommonResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) @@ -170,6 +332,18 @@ func (c *accountClient) CheckPwd(ctx context.Context, in *CheckPwdRequest, opts return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CheckPwd", in, out) } +func (c *accountClient) Register(ctx context.Context, in *RegistRequest, opts ...grpc_go.CallOption) (*RequestStatus, common.ErrorWithAttachment) { + out := new(RequestStatus) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Register", in, out) +} + +func (c *accountClient) RegisterOrExist(ctx context.Context, in *RegistRequest, opts ...grpc_go.CallOption) (*RequestStatus, common.ErrorWithAttachment) { + out := new(RequestStatus) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/RegisterOrExist", in, out) +} + func (c *accountClient) SendMsg(ctx context.Context, in *SendMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) { out := new(SendMsgStatusResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) @@ -224,8 +398,8 @@ func (c *accountClient) DecryptJwt(ctx context.Context, in *DecryptJwtRequest, o return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DecryptJwt", in, out) } -func (c *accountClient) Info(ctx context.Context, in *InfoRequest, opts ...grpc_go.CallOption) (*UserInfoResponse, common.ErrorWithAttachment) { - out := new(UserInfoResponse) +func (c *accountClient) Info(ctx context.Context, in *InfoRequest, opts ...grpc_go.CallOption) (*InfoResponse, common.ErrorWithAttachment) { + out := new(InfoResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Info", in, out) } @@ -260,24 +434,66 @@ func (c *accountClient) Remove(ctx context.Context, in *RemoveRequest, opts ...g return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Remove", in, out) } +func (c *accountClient) WriteOff(ctx context.Context, in *WriteOffRequest, opts ...grpc_go.CallOption) (*RemoveResponse, common.ErrorWithAttachment) { + out := new(RemoveResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WriteOff", in, out) +} + +func (c *accountClient) WriteOffApp(ctx context.Context, in *RemoveRequest, opts ...grpc_go.CallOption) (*RemoveResponse, common.ErrorWithAttachment) { + out := new(RemoveResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WriteOffApp", in, out) +} + +func (c *accountClient) WriteOffInfo(ctx context.Context, in *WriteOffApproveRequest, opts ...grpc_go.CallOption) (*WriteOffRequest, common.ErrorWithAttachment) { + out := new(WriteOffRequest) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WriteOffInfo", in, out) +} + +func (c *accountClient) FindWriteOffList(ctx context.Context, in *WriteOffListRequest, opts ...grpc_go.CallOption) (*WriteOffListResponse, common.ErrorWithAttachment) { + out := new(WriteOffListResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/FindWriteOffList", in, out) +} + +func (c *accountClient) WriteOffUpdate(ctx context.Context, in *WriteOffApproveRequest, opts ...grpc_go.CallOption) (*RemoveResponse, common.ErrorWithAttachment) { + out := new(RemoveResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WriteOffUpdate", in, out) +} + func (c *accountClient) Update(ctx context.Context, in *UpdateRequest, opts ...grpc_go.CallOption) (*UpdateResponse, common.ErrorWithAttachment) { out := new(UpdateResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Update", in, out) } +func (c *accountClient) PrivacyInfo(ctx context.Context, in *PrivacyInfoRequest, opts ...grpc_go.CallOption) (*AccountInfo, common.ErrorWithAttachment) { + out := new(AccountInfo) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/PrivacyInfo", in, out) +} + func (c *accountClient) UsersByTel(ctx context.Context, in *UsersByTelRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) { out := new(ListResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UsersByTel", in, out) } -func (c *accountClient) UserByTel(ctx context.Context, in *UserByTelRequest, opts ...grpc_go.CallOption) (*UserInfoResponse, common.ErrorWithAttachment) { - out := new(UserInfoResponse) +func (c *accountClient) UserByTel(ctx context.Context, in *UserByTelRequest, opts ...grpc_go.CallOption) (*InfoResponse, common.ErrorWithAttachment) { + out := new(InfoResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UserByTel", in, out) } +func (c *accountClient) CheckBeforeRegister(ctx context.Context, in *CheckBeforeRegisterRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { + out := new(CommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CheckBeforeRegister", in, out) +} + func (c *accountClient) OnlySendMsg(ctx context.Context, in *SendMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) { out := new(SendMsgStatusResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) @@ -290,52 +506,124 @@ func (c *accountClient) OnlyCheckMsg(ctx context.Context, in *CheckMsgRequest, o return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/OnlyCheckMsg", in, out) } +func (c *accountClient) CreateClockDevice(ctx context.Context, in *CreateClockDeviceRequest, opts ...grpc_go.CallOption) (*ClockDeviceResponse, common.ErrorWithAttachment) { + out := new(ClockDeviceResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateClockDevice", in, out) +} + +func (c *accountClient) UpdateClockDevice(ctx context.Context, in *UpdateClockDeviceRequest, opts ...grpc_go.CallOption) (*ClockDeviceResponse, common.ErrorWithAttachment) { + out := new(ClockDeviceResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateClockDevice", in, out) +} + +func (c *accountClient) RemoveClockDevice(ctx context.Context, in *RemoveClockDeviceRequest, opts ...grpc_go.CallOption) (*ClockDeviceResponse, common.ErrorWithAttachment) { + out := new(ClockDeviceResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/RemoveClockDevice", in, out) +} + +func (c *accountClient) ClockDeviceList(ctx context.Context, in *ClockDeviceListRequest, opts ...grpc_go.CallOption) (*ClockDeviceListResponse, common.ErrorWithAttachment) { + out := new(ClockDeviceListResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ClockDeviceList", in, out) +} + +func (c *accountClient) ClockDeviceInfo(ctx context.Context, in *ClockDeviceInfoRequest, opts ...grpc_go.CallOption) (*ClockDeviceInfoResponse, common.ErrorWithAttachment) { + out := new(ClockDeviceInfoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ClockDeviceInfo", in, out) +} + +func (c *accountClient) ClockDeviceSingleUntie(ctx context.Context, in *RemoveClockDeviceRequest, opts ...grpc_go.CallOption) (*ClockDeviceResponse, common.ErrorWithAttachment) { + out := new(ClockDeviceResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ClockDeviceSingleUntie", in, out) +} + +func (c *accountClient) ClockDeviceBatchBind(ctx context.Context, in *ClockBatchListResponse, opts ...grpc_go.CallOption) (*ClockDeviceInfoResponse, common.ErrorWithAttachment) { + out := new(ClockDeviceInfoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ClockDeviceBatchBind", in, out) +} + +func (c *accountClient) ClockDeviceBatchUntie(ctx context.Context, in *ClockBatchBindRequest, opts ...grpc_go.CallOption) (*ClockDeviceInfoResponse, common.ErrorWithAttachment) { + out := new(ClockDeviceInfoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ClockDeviceBatchUntie", in, out) +} + +func (c *accountClient) ClockDeviceBatchList(ctx context.Context, in *ClockBatchBindRequest, opts ...grpc_go.CallOption) (*ClockBatchListResponse, common.ErrorWithAttachment) { + out := new(ClockBatchListResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ClockDeviceBatchList", in, out) +} + +func (c *accountClient) UpdateDeviceRelevance(ctx context.Context, in *ClockUserDeviceBatch, opts ...grpc_go.CallOption) (*ClockDeviceResponse, common.ErrorWithAttachment) { + out := new(ClockDeviceResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateDeviceRelevance", in, out) +} + func (c *accountClient) MailAccountByNickName(ctx context.Context, in *MailAccountByNickNameRequest, opts ...grpc_go.CallOption) (*MaiAccountResponse, common.ErrorWithAttachment) { out := new(MaiAccountResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/MailAccountByNickName", in, out) } +func (c *accountClient) CreateMaiAccount(ctx context.Context, in *CreateMaiAccountRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { + out := new(CommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateMaiAccount", in, out) +} + +func (c *accountClient) CreateClockLog(ctx context.Context, in *ClockLogInfo, opts ...grpc_go.CallOption) (*ClockDeviceResponse, common.ErrorWithAttachment) { + out := new(ClockDeviceResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateClockLog", in, out) +} + +func (c *accountClient) SendClockInWechat(ctx context.Context, in *SendClockInWechatRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { + out := new(CommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SendClockInWechat", in, out) +} + +func (c *accountClient) FindClockLogList(ctx context.Context, in *ClockLogReq, opts ...grpc_go.CallOption) (*ClockLogListResponse, common.ErrorWithAttachment) { + out := new(ClockLogListResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/FindClockLogList", in, out) +} + +func (c *accountClient) SendStrangerClockInWechat(ctx context.Context, in *SendClockInWechatRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { + out := new(CommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SendStrangerClockInWechat", in, out) +} + func (c *accountClient) ListV2(ctx context.Context, in *ListV2Request, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) { out := new(ListResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ListV2", in, out) } -func (c *accountClient) QueryPersonnelWithTheSameName(ctx context.Context, in *QueryPersonnelWithTheSameNameRequest, opts ...grpc_go.CallOption) (*QueryPersonnelWithTheSameNameResponse, common.ErrorWithAttachment) { - out := new(QueryPersonnelWithTheSameNameResponse) +func (c *accountClient) CreateChainAccount(ctx context.Context, in *CommonRequest, opts ...grpc_go.CallOption) (*CreateChainAccountResponse, common.ErrorWithAttachment) { + out := new(CreateChainAccountResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) - return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/QueryPersonnelWithTheSameName", in, out) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateChainAccount", in, out) } -func (c *accountClient) UsersByJobNum(ctx context.Context, in *UsersByJobNumRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) { - out := new(ListResponse) +func (c *accountClient) SendNationMsg(ctx context.Context, in *SendNationMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) { + out := new(SendMsgStatusResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) - return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UsersByJobNum", in, out) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SendNationMsg", in, out) } -func (c *accountClient) RealName(ctx context.Context, in *RealNameRequest, opts ...grpc_go.CallOption) (*RealNameResponse, common.ErrorWithAttachment) { - out := new(RealNameResponse) +func (c *accountClient) UpdateLanguage(ctx context.Context, in *UpdateLanguageRequest, opts ...grpc_go.CallOption) (*UpdateLanguageResponse, common.ErrorWithAttachment) { + out := new(UpdateLanguageResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) - return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/RealName", in, out) -} - -func (c *accountClient) Register(ctx context.Context, in *RegistRequest, opts ...grpc_go.CallOption) (*RegisterResponse, common.ErrorWithAttachment) { - out := new(RegisterResponse) - interfaceKey := ctx.Value(constant.InterfaceKey).(string) - return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Register", in, out) -} - -func (c *accountClient) UserList(ctx context.Context, in *UserListRequest, opts ...grpc_go.CallOption) (*UserListResponse, common.ErrorWithAttachment) { - out := new(UserListResponse) - interfaceKey := ctx.Value(constant.InterfaceKey).(string) - return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UserList", in, out) -} - -func (c *accountClient) CheckRealName(ctx context.Context, in *CheckRealNameRequest, opts ...grpc_go.CallOption) (*CheckRealNameResponse, common.ErrorWithAttachment) { - out := new(CheckRealNameResponse) - interfaceKey := ctx.Value(constant.InterfaceKey).(string) - return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CheckRealName", in, out) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateLanguage", in, out) } func (c *accountClient) GenerateSliderCaptcha(ctx context.Context, in *GenerateSliderCaptchaRequest, opts ...grpc_go.CallOption) (*GenerateSliderCaptchaResponse, common.ErrorWithAttachment) { @@ -350,18 +638,66 @@ func (c *accountClient) VerifySliderCaptcha(ctx context.Context, in *VerifySlide return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/VerifySliderCaptcha", in, out) } -func (c *accountClient) SendNationMsg(ctx context.Context, in *SendNationMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) { - out := new(SendMsgStatusResponse) - interfaceKey := ctx.Value(constant.InterfaceKey).(string) - return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SendNationMsg", in, out) -} - func (c *accountClient) VerifySliderStatus(ctx context.Context, in *VerifySliderStatusRequest, opts ...grpc_go.CallOption) (*VerifySliderStatusResponse, common.ErrorWithAttachment) { out := new(VerifySliderStatusResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/VerifySliderStatus", in, out) } +func (c *accountClient) SampleAccount(ctx context.Context, in *SampleAccountRequest, opts ...grpc_go.CallOption) (*SampleAccountResponse, common.ErrorWithAttachment) { + out := new(SampleAccountResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SampleAccount", in, out) +} + +func (c *accountClient) LoginAndSqueezeOther(ctx context.Context, in *LoginRequest, opts ...grpc_go.CallOption) (*TokenInfo, common.ErrorWithAttachment) { + out := new(TokenInfo) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/LoginAndSqueezeOther", in, out) +} + +func (c *accountClient) QueryPersonnelWithTheSameName(ctx context.Context, in *QueryPersonnelWithTheSameNameRequest, opts ...grpc_go.CallOption) (*QueryPersonnelWithTheSameNameResponse, common.ErrorWithAttachment) { + out := new(QueryPersonnelWithTheSameNameResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/QueryPersonnelWithTheSameName", in, out) +} + +func (c *accountClient) UsersByJobNum(ctx context.Context, in *UsersByJobNumRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) { + out := new(ListResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UsersByJobNum", in, out) +} + +func (c *accountClient) IsSamePerson(ctx context.Context, in *IsSamePersonRequest, opts ...grpc_go.CallOption) (*IsSamePersonResponse, common.ErrorWithAttachment) { + out := new(IsSamePersonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/IsSamePerson", in, out) +} + +func (c *accountClient) CreateRealNameOrPassPort(ctx context.Context, in *UserInfo, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { + out := new(CommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateRealNameOrPassPort", in, out) +} + +func (c *accountClient) FddCreateUserV2(ctx context.Context, in *FddCreateUserRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { + out := new(CommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/FddCreateUserV2", in, out) +} + +func (c *accountClient) FddUserFindByUserId(ctx context.Context, in *UserInfo, opts ...grpc_go.CallOption) (*FddInfo, common.ErrorWithAttachment) { + out := new(FddInfo) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/FddUserFindByUserId", in, out) +} + +func (c *accountClient) UserInfoById(ctx context.Context, in *InfoRequest, opts ...grpc_go.CallOption) (*UserInfo, common.ErrorWithAttachment) { + out := new(UserInfo) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UserInfoById", in, out) +} + // AccountServer is the server API for Account service. // All implementations must embed UnimplementedAccountServer // for forward compatibility @@ -369,11 +705,25 @@ type AccountServer interface { Login(context.Context, *LoginRequest) (*TokenInfo, error) RefreshToken(context.Context, *RefreshTokenRequest) (*TokenInfo, error) Logout(context.Context, *DecryptJwtRequest) (*CommonResponse, error) + WxApp(context.Context, *WxAppRequest) (*WxAppResponse, error) + WxUserInfo(context.Context, *WxUserOrCreateRequest) (*WxUserResponse, error) + WxUserCreate(context.Context, *WxUserOrCreateRequest) (*WxUserResponse, error) + WxUserUpdate(context.Context, *WxUserUpdateRequest) (*WxUserResponse, error) + WxGetOpenIdByCode(context.Context, *WxGetOpenIdByCodeRequest) (*WxGetOpenIdByCodeResponse, error) + WxBoxLogin(context.Context, *WxGetOpenIdByCodeRequest) (*WxBoxUserInfo, error) + WxBoxUserInfoByOpenId(context.Context, *WxBoxUserInfoRequest) (*WxBoxUserInfo, error) + WxBoxTelNumByCode(context.Context, *WxGetOpenIdByCodeRequest) (*WxBoxTelNumByCodeResponse, error) + WxBoxUpdateUser(context.Context, *WxBoxUserInfo) (*CommonResponse, error) + WxBoxCreateUser(context.Context, *WxBoxUserInfo) (*CommonResponse, error) + FddCreateUser(context.Context, *FddCreateUserRequest) (*CommonResponse, error) + FddUpdateUser(context.Context, *FddCreateUserRequest) (*CommonResponse, error) + FddRemoveUser(context.Context, *FddRemoveUserRequest) (*CommonResponse, error) OffLine(context.Context, *CommonRequest) (*CommonResponse, error) OnlineLog(context.Context, *LoginInfosByUserIdRequest) (*LoginLogsResponse, error) OnlineLogById(context.Context, *OnlineLogByIdRequest) (*LoginLog, error) CheckPwd(context.Context, *CheckPwdRequest) (*UpdateResponse, error) - // rpc RegisterOrExist (RegistRequest) returns (RequestStatus) {} + Register(context.Context, *RegistRequest) (*RequestStatus, error) + RegisterOrExist(context.Context, *RegistRequest) (*RequestStatus, error) SendMsg(context.Context, *SendMsgRequest) (*SendMsgStatusResponse, error) SendCustomMsg(context.Context, *SendCustomMsgRequest) (*SendMsgStatusResponse, error) SendExCustomMsg(context.Context, *SendCustomMsgRequest) (*SendMsgStatusResponse, error) @@ -383,29 +733,57 @@ type AccountServer interface { UpdateTelNum(context.Context, *SendNewTelNumMsgRequest) (*SendMsgStatusResponse, error) Authentication(context.Context, *AuthenticationRequest) (*RequestStatus, error) DecryptJwt(context.Context, *DecryptJwtRequest) (*DecryptJwtResponse, error) - Info(context.Context, *InfoRequest) (*UserInfoResponse, error) + Info(context.Context, *InfoRequest) (*InfoResponse, error) JobNumGetInfo(context.Context, *JobNumGetInfoRequest) (*InfoResponse, error) List(context.Context, *ListRequest) (*ListResponse, error) RandList(context.Context, *ListRequest) (*ListResponse, error) ListByIDs(context.Context, *ListByIDsRequest) (*ListResponse, error) Remove(context.Context, *RemoveRequest) (*RemoveResponse, error) + WriteOff(context.Context, *WriteOffRequest) (*RemoveResponse, error) + WriteOffApp(context.Context, *RemoveRequest) (*RemoveResponse, error) + WriteOffInfo(context.Context, *WriteOffApproveRequest) (*WriteOffRequest, error) + FindWriteOffList(context.Context, *WriteOffListRequest) (*WriteOffListResponse, error) + WriteOffUpdate(context.Context, *WriteOffApproveRequest) (*RemoveResponse, error) Update(context.Context, *UpdateRequest) (*UpdateResponse, error) + PrivacyInfo(context.Context, *PrivacyInfoRequest) (*AccountInfo, error) UsersByTel(context.Context, *UsersByTelRequest) (*ListResponse, error) - UserByTel(context.Context, *UserByTelRequest) (*UserInfoResponse, error) + UserByTel(context.Context, *UserByTelRequest) (*InfoResponse, error) + CheckBeforeRegister(context.Context, *CheckBeforeRegisterRequest) (*CommonResponse, error) OnlySendMsg(context.Context, *SendMsgRequest) (*SendMsgStatusResponse, error) OnlyCheckMsg(context.Context, *CheckMsgRequest) (*SendMsgStatusResponse, error) + CreateClockDevice(context.Context, *CreateClockDeviceRequest) (*ClockDeviceResponse, error) + UpdateClockDevice(context.Context, *UpdateClockDeviceRequest) (*ClockDeviceResponse, error) + RemoveClockDevice(context.Context, *RemoveClockDeviceRequest) (*ClockDeviceResponse, error) + ClockDeviceList(context.Context, *ClockDeviceListRequest) (*ClockDeviceListResponse, error) + ClockDeviceInfo(context.Context, *ClockDeviceInfoRequest) (*ClockDeviceInfoResponse, error) + ClockDeviceSingleUntie(context.Context, *RemoveClockDeviceRequest) (*ClockDeviceResponse, error) + ClockDeviceBatchBind(context.Context, *ClockBatchListResponse) (*ClockDeviceInfoResponse, error) + ClockDeviceBatchUntie(context.Context, *ClockBatchBindRequest) (*ClockDeviceInfoResponse, error) + ClockDeviceBatchList(context.Context, *ClockBatchBindRequest) (*ClockBatchListResponse, error) + UpdateDeviceRelevance(context.Context, *ClockUserDeviceBatch) (*ClockDeviceResponse, error) MailAccountByNickName(context.Context, *MailAccountByNickNameRequest) (*MaiAccountResponse, error) + CreateMaiAccount(context.Context, *CreateMaiAccountRequest) (*CommonResponse, error) + CreateClockLog(context.Context, *ClockLogInfo) (*ClockDeviceResponse, error) + SendClockInWechat(context.Context, *SendClockInWechatRequest) (*CommonResponse, error) + FindClockLogList(context.Context, *ClockLogReq) (*ClockLogListResponse, error) + SendStrangerClockInWechat(context.Context, *SendClockInWechatRequest) (*CommonResponse, error) ListV2(context.Context, *ListV2Request) (*ListResponse, error) - QueryPersonnelWithTheSameName(context.Context, *QueryPersonnelWithTheSameNameRequest) (*QueryPersonnelWithTheSameNameResponse, error) - UsersByJobNum(context.Context, *UsersByJobNumRequest) (*ListResponse, error) - RealName(context.Context, *RealNameRequest) (*RealNameResponse, error) - Register(context.Context, *RegistRequest) (*RegisterResponse, error) - UserList(context.Context, *UserListRequest) (*UserListResponse, error) - CheckRealName(context.Context, *CheckRealNameRequest) (*CheckRealNameResponse, error) + CreateChainAccount(context.Context, *CommonRequest) (*CreateChainAccountResponse, error) + SendNationMsg(context.Context, *SendNationMsgRequest) (*SendMsgStatusResponse, error) + UpdateLanguage(context.Context, *UpdateLanguageRequest) (*UpdateLanguageResponse, error) GenerateSliderCaptcha(context.Context, *GenerateSliderCaptchaRequest) (*GenerateSliderCaptchaResponse, error) VerifySliderCaptcha(context.Context, *VerifySliderCaptchaRequest) (*VerifySliderCaptchaResponse, error) - SendNationMsg(context.Context, *SendNationMsgRequest) (*SendMsgStatusResponse, error) VerifySliderStatus(context.Context, *VerifySliderStatusRequest) (*VerifySliderStatusResponse, error) + SampleAccount(context.Context, *SampleAccountRequest) (*SampleAccountResponse, error) + LoginAndSqueezeOther(context.Context, *LoginRequest) (*TokenInfo, error) + QueryPersonnelWithTheSameName(context.Context, *QueryPersonnelWithTheSameNameRequest) (*QueryPersonnelWithTheSameNameResponse, error) + UsersByJobNum(context.Context, *UsersByJobNumRequest) (*ListResponse, error) + //人脸检测 + IsSamePerson(context.Context, *IsSamePersonRequest) (*IsSamePersonResponse, error) + CreateRealNameOrPassPort(context.Context, *UserInfo) (*CommonResponse, error) + FddCreateUserV2(context.Context, *FddCreateUserRequest) (*CommonResponse, error) + FddUserFindByUserId(context.Context, *UserInfo) (*FddInfo, error) + UserInfoById(context.Context, *InfoRequest) (*UserInfo, error) mustEmbedUnimplementedAccountServer() } @@ -423,6 +801,45 @@ func (UnimplementedAccountServer) RefreshToken(context.Context, *RefreshTokenReq func (UnimplementedAccountServer) Logout(context.Context, *DecryptJwtRequest) (*CommonResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Logout not implemented") } +func (UnimplementedAccountServer) WxApp(context.Context, *WxAppRequest) (*WxAppResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WxApp not implemented") +} +func (UnimplementedAccountServer) WxUserInfo(context.Context, *WxUserOrCreateRequest) (*WxUserResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WxUserInfo not implemented") +} +func (UnimplementedAccountServer) WxUserCreate(context.Context, *WxUserOrCreateRequest) (*WxUserResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WxUserCreate not implemented") +} +func (UnimplementedAccountServer) WxUserUpdate(context.Context, *WxUserUpdateRequest) (*WxUserResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WxUserUpdate not implemented") +} +func (UnimplementedAccountServer) WxGetOpenIdByCode(context.Context, *WxGetOpenIdByCodeRequest) (*WxGetOpenIdByCodeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WxGetOpenIdByCode not implemented") +} +func (UnimplementedAccountServer) WxBoxLogin(context.Context, *WxGetOpenIdByCodeRequest) (*WxBoxUserInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method WxBoxLogin not implemented") +} +func (UnimplementedAccountServer) WxBoxUserInfoByOpenId(context.Context, *WxBoxUserInfoRequest) (*WxBoxUserInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method WxBoxUserInfoByOpenId not implemented") +} +func (UnimplementedAccountServer) WxBoxTelNumByCode(context.Context, *WxGetOpenIdByCodeRequest) (*WxBoxTelNumByCodeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WxBoxTelNumByCode not implemented") +} +func (UnimplementedAccountServer) WxBoxUpdateUser(context.Context, *WxBoxUserInfo) (*CommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WxBoxUpdateUser not implemented") +} +func (UnimplementedAccountServer) WxBoxCreateUser(context.Context, *WxBoxUserInfo) (*CommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WxBoxCreateUser not implemented") +} +func (UnimplementedAccountServer) FddCreateUser(context.Context, *FddCreateUserRequest) (*CommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FddCreateUser not implemented") +} +func (UnimplementedAccountServer) FddUpdateUser(context.Context, *FddCreateUserRequest) (*CommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FddUpdateUser not implemented") +} +func (UnimplementedAccountServer) FddRemoveUser(context.Context, *FddRemoveUserRequest) (*CommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FddRemoveUser not implemented") +} func (UnimplementedAccountServer) OffLine(context.Context, *CommonRequest) (*CommonResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method OffLine not implemented") } @@ -435,6 +852,12 @@ func (UnimplementedAccountServer) OnlineLogById(context.Context, *OnlineLogByIdR func (UnimplementedAccountServer) CheckPwd(context.Context, *CheckPwdRequest) (*UpdateResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CheckPwd not implemented") } +func (UnimplementedAccountServer) Register(context.Context, *RegistRequest) (*RequestStatus, error) { + return nil, status.Errorf(codes.Unimplemented, "method Register not implemented") +} +func (UnimplementedAccountServer) RegisterOrExist(context.Context, *RegistRequest) (*RequestStatus, error) { + return nil, status.Errorf(codes.Unimplemented, "method RegisterOrExist not implemented") +} func (UnimplementedAccountServer) SendMsg(context.Context, *SendMsgRequest) (*SendMsgStatusResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SendMsg not implemented") } @@ -462,7 +885,7 @@ func (UnimplementedAccountServer) Authentication(context.Context, *Authenticatio func (UnimplementedAccountServer) DecryptJwt(context.Context, *DecryptJwtRequest) (*DecryptJwtResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DecryptJwt not implemented") } -func (UnimplementedAccountServer) Info(context.Context, *InfoRequest) (*UserInfoResponse, error) { +func (UnimplementedAccountServer) Info(context.Context, *InfoRequest) (*InfoResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Info not implemented") } func (UnimplementedAccountServer) JobNumGetInfo(context.Context, *JobNumGetInfoRequest) (*InfoResponse, error) { @@ -480,44 +903,101 @@ func (UnimplementedAccountServer) ListByIDs(context.Context, *ListByIDsRequest) func (UnimplementedAccountServer) Remove(context.Context, *RemoveRequest) (*RemoveResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Remove not implemented") } +func (UnimplementedAccountServer) WriteOff(context.Context, *WriteOffRequest) (*RemoveResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WriteOff not implemented") +} +func (UnimplementedAccountServer) WriteOffApp(context.Context, *RemoveRequest) (*RemoveResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WriteOffApp not implemented") +} +func (UnimplementedAccountServer) WriteOffInfo(context.Context, *WriteOffApproveRequest) (*WriteOffRequest, error) { + return nil, status.Errorf(codes.Unimplemented, "method WriteOffInfo not implemented") +} +func (UnimplementedAccountServer) FindWriteOffList(context.Context, *WriteOffListRequest) (*WriteOffListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FindWriteOffList not implemented") +} +func (UnimplementedAccountServer) WriteOffUpdate(context.Context, *WriteOffApproveRequest) (*RemoveResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WriteOffUpdate not implemented") +} func (UnimplementedAccountServer) Update(context.Context, *UpdateRequest) (*UpdateResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Update not implemented") } +func (UnimplementedAccountServer) PrivacyInfo(context.Context, *PrivacyInfoRequest) (*AccountInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method PrivacyInfo not implemented") +} func (UnimplementedAccountServer) UsersByTel(context.Context, *UsersByTelRequest) (*ListResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UsersByTel not implemented") } -func (UnimplementedAccountServer) UserByTel(context.Context, *UserByTelRequest) (*UserInfoResponse, error) { +func (UnimplementedAccountServer) UserByTel(context.Context, *UserByTelRequest) (*InfoResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UserByTel not implemented") } +func (UnimplementedAccountServer) CheckBeforeRegister(context.Context, *CheckBeforeRegisterRequest) (*CommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CheckBeforeRegister not implemented") +} func (UnimplementedAccountServer) OnlySendMsg(context.Context, *SendMsgRequest) (*SendMsgStatusResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method OnlySendMsg not implemented") } func (UnimplementedAccountServer) OnlyCheckMsg(context.Context, *CheckMsgRequest) (*SendMsgStatusResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method OnlyCheckMsg not implemented") } +func (UnimplementedAccountServer) CreateClockDevice(context.Context, *CreateClockDeviceRequest) (*ClockDeviceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateClockDevice not implemented") +} +func (UnimplementedAccountServer) UpdateClockDevice(context.Context, *UpdateClockDeviceRequest) (*ClockDeviceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateClockDevice not implemented") +} +func (UnimplementedAccountServer) RemoveClockDevice(context.Context, *RemoveClockDeviceRequest) (*ClockDeviceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemoveClockDevice not implemented") +} +func (UnimplementedAccountServer) ClockDeviceList(context.Context, *ClockDeviceListRequest) (*ClockDeviceListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ClockDeviceList not implemented") +} +func (UnimplementedAccountServer) ClockDeviceInfo(context.Context, *ClockDeviceInfoRequest) (*ClockDeviceInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ClockDeviceInfo not implemented") +} +func (UnimplementedAccountServer) ClockDeviceSingleUntie(context.Context, *RemoveClockDeviceRequest) (*ClockDeviceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ClockDeviceSingleUntie not implemented") +} +func (UnimplementedAccountServer) ClockDeviceBatchBind(context.Context, *ClockBatchListResponse) (*ClockDeviceInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ClockDeviceBatchBind not implemented") +} +func (UnimplementedAccountServer) ClockDeviceBatchUntie(context.Context, *ClockBatchBindRequest) (*ClockDeviceInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ClockDeviceBatchUntie not implemented") +} +func (UnimplementedAccountServer) ClockDeviceBatchList(context.Context, *ClockBatchBindRequest) (*ClockBatchListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ClockDeviceBatchList not implemented") +} +func (UnimplementedAccountServer) UpdateDeviceRelevance(context.Context, *ClockUserDeviceBatch) (*ClockDeviceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateDeviceRelevance not implemented") +} func (UnimplementedAccountServer) MailAccountByNickName(context.Context, *MailAccountByNickNameRequest) (*MaiAccountResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method MailAccountByNickName not implemented") } +func (UnimplementedAccountServer) CreateMaiAccount(context.Context, *CreateMaiAccountRequest) (*CommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateMaiAccount not implemented") +} +func (UnimplementedAccountServer) CreateClockLog(context.Context, *ClockLogInfo) (*ClockDeviceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateClockLog not implemented") +} +func (UnimplementedAccountServer) SendClockInWechat(context.Context, *SendClockInWechatRequest) (*CommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SendClockInWechat not implemented") +} +func (UnimplementedAccountServer) FindClockLogList(context.Context, *ClockLogReq) (*ClockLogListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FindClockLogList not implemented") +} +func (UnimplementedAccountServer) SendStrangerClockInWechat(context.Context, *SendClockInWechatRequest) (*CommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SendStrangerClockInWechat not implemented") +} func (UnimplementedAccountServer) ListV2(context.Context, *ListV2Request) (*ListResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListV2 not implemented") } -func (UnimplementedAccountServer) QueryPersonnelWithTheSameName(context.Context, *QueryPersonnelWithTheSameNameRequest) (*QueryPersonnelWithTheSameNameResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QueryPersonnelWithTheSameName not implemented") +func (UnimplementedAccountServer) CreateChainAccount(context.Context, *CommonRequest) (*CreateChainAccountResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateChainAccount not implemented") } -func (UnimplementedAccountServer) UsersByJobNum(context.Context, *UsersByJobNumRequest) (*ListResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UsersByJobNum not implemented") +func (UnimplementedAccountServer) SendNationMsg(context.Context, *SendNationMsgRequest) (*SendMsgStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SendNationMsg not implemented") } -func (UnimplementedAccountServer) RealName(context.Context, *RealNameRequest) (*RealNameResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method RealName not implemented") -} -func (UnimplementedAccountServer) Register(context.Context, *RegistRequest) (*RegisterResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Register not implemented") -} -func (UnimplementedAccountServer) UserList(context.Context, *UserListRequest) (*UserListResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UserList not implemented") -} -func (UnimplementedAccountServer) CheckRealName(context.Context, *CheckRealNameRequest) (*CheckRealNameResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CheckRealName not implemented") +func (UnimplementedAccountServer) UpdateLanguage(context.Context, *UpdateLanguageRequest) (*UpdateLanguageResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateLanguage not implemented") } func (UnimplementedAccountServer) GenerateSliderCaptcha(context.Context, *GenerateSliderCaptchaRequest) (*GenerateSliderCaptchaResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GenerateSliderCaptcha not implemented") @@ -525,12 +1005,36 @@ func (UnimplementedAccountServer) GenerateSliderCaptcha(context.Context, *Genera func (UnimplementedAccountServer) VerifySliderCaptcha(context.Context, *VerifySliderCaptchaRequest) (*VerifySliderCaptchaResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method VerifySliderCaptcha not implemented") } -func (UnimplementedAccountServer) SendNationMsg(context.Context, *SendNationMsgRequest) (*SendMsgStatusResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SendNationMsg not implemented") -} func (UnimplementedAccountServer) VerifySliderStatus(context.Context, *VerifySliderStatusRequest) (*VerifySliderStatusResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method VerifySliderStatus not implemented") } +func (UnimplementedAccountServer) SampleAccount(context.Context, *SampleAccountRequest) (*SampleAccountResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SampleAccount not implemented") +} +func (UnimplementedAccountServer) LoginAndSqueezeOther(context.Context, *LoginRequest) (*TokenInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method LoginAndSqueezeOther not implemented") +} +func (UnimplementedAccountServer) QueryPersonnelWithTheSameName(context.Context, *QueryPersonnelWithTheSameNameRequest) (*QueryPersonnelWithTheSameNameResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method QueryPersonnelWithTheSameName not implemented") +} +func (UnimplementedAccountServer) UsersByJobNum(context.Context, *UsersByJobNumRequest) (*ListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UsersByJobNum not implemented") +} +func (UnimplementedAccountServer) IsSamePerson(context.Context, *IsSamePersonRequest) (*IsSamePersonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method IsSamePerson not implemented") +} +func (UnimplementedAccountServer) CreateRealNameOrPassPort(context.Context, *UserInfo) (*CommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateRealNameOrPassPort not implemented") +} +func (UnimplementedAccountServer) FddCreateUserV2(context.Context, *FddCreateUserRequest) (*CommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FddCreateUserV2 not implemented") +} +func (UnimplementedAccountServer) FddUserFindByUserId(context.Context, *UserInfo) (*FddInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method FddUserFindByUserId not implemented") +} +func (UnimplementedAccountServer) UserInfoById(context.Context, *InfoRequest) (*UserInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method UserInfoById not implemented") +} func (s *UnimplementedAccountServer) XXX_SetProxyImpl(impl protocol.Invoker) { s.proxyImpl = impl } @@ -646,6 +1150,383 @@ func _Account_Logout_Handler(srv interface{}, ctx context.Context, dec func(inte return interceptor(ctx, in, info, handler) } +func _Account_WxApp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WxAppRequest) + 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("WxApp", 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 _Account_WxUserInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WxUserOrCreateRequest) + 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("WxUserInfo", 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 _Account_WxUserCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WxUserOrCreateRequest) + 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("WxUserCreate", 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 _Account_WxUserUpdate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WxUserUpdateRequest) + 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("WxUserUpdate", 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 _Account_WxGetOpenIdByCode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WxGetOpenIdByCodeRequest) + 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("WxGetOpenIdByCode", 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 _Account_WxBoxLogin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WxGetOpenIdByCodeRequest) + 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("WxBoxLogin", 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 _Account_WxBoxUserInfoByOpenId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WxBoxUserInfoRequest) + 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("WxBoxUserInfoByOpenId", 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 _Account_WxBoxTelNumByCode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WxGetOpenIdByCodeRequest) + 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("WxBoxTelNumByCode", 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 _Account_WxBoxUpdateUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WxBoxUserInfo) + 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("WxBoxUpdateUser", 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 _Account_WxBoxCreateUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WxBoxUserInfo) + 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("WxBoxCreateUser", 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 _Account_FddCreateUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(FddCreateUserRequest) + 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("FddCreateUser", 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 _Account_FddUpdateUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(FddCreateUserRequest) + 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("FddUpdateUser", 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 _Account_FddRemoveUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(FddRemoveUserRequest) + 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("FddRemoveUser", 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 _Account_OffLine_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(CommonRequest) if err := dec(in); err != nil { @@ -762,6 +1643,64 @@ func _Account_CheckPwd_Handler(srv interface{}, ctx context.Context, dec func(in return interceptor(ctx, in, info, handler) } +func _Account_Register_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(RegistRequest) + 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("Register", 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 _Account_RegisterOrExist_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(RegistRequest) + 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("RegisterOrExist", 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 _Account_SendMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(SendMsgRequest) if err := dec(in); err != nil { @@ -1197,6 +2136,151 @@ func _Account_Remove_Handler(srv interface{}, ctx context.Context, dec func(inte return interceptor(ctx, in, info, handler) } +func _Account_WriteOff_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WriteOffRequest) + 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("WriteOff", 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 _Account_WriteOffApp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveRequest) + 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("WriteOffApp", 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 _Account_WriteOffInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WriteOffApproveRequest) + 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("WriteOffInfo", 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 _Account_FindWriteOffList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WriteOffListRequest) + 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("FindWriteOffList", 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 _Account_WriteOffUpdate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WriteOffApproveRequest) + 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("WriteOffUpdate", 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 _Account_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(UpdateRequest) if err := dec(in); err != nil { @@ -1226,6 +2310,35 @@ func _Account_Update_Handler(srv interface{}, ctx context.Context, dec func(inte return interceptor(ctx, in, info, handler) } +func _Account_PrivacyInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(PrivacyInfoRequest) + 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("PrivacyInfo", 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 _Account_UsersByTel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(UsersByTelRequest) if err := dec(in); err != nil { @@ -1284,6 +2397,35 @@ func _Account_UserByTel_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } +func _Account_CheckBeforeRegister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CheckBeforeRegisterRequest) + 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("CheckBeforeRegister", 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 _Account_OnlySendMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(SendMsgRequest) if err := dec(in); err != nil { @@ -1342,6 +2484,296 @@ func _Account_OnlyCheckMsg_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } +func _Account_CreateClockDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateClockDeviceRequest) + 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("CreateClockDevice", 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 _Account_UpdateClockDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateClockDeviceRequest) + 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("UpdateClockDevice", 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 _Account_RemoveClockDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveClockDeviceRequest) + 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("RemoveClockDevice", 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 _Account_ClockDeviceList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ClockDeviceListRequest) + 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("ClockDeviceList", 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 _Account_ClockDeviceInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ClockDeviceInfoRequest) + 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("ClockDeviceInfo", 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 _Account_ClockDeviceSingleUntie_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveClockDeviceRequest) + 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("ClockDeviceSingleUntie", 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 _Account_ClockDeviceBatchBind_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ClockBatchListResponse) + 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("ClockDeviceBatchBind", 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 _Account_ClockDeviceBatchUntie_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ClockBatchBindRequest) + 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("ClockDeviceBatchUntie", 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 _Account_ClockDeviceBatchList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ClockBatchBindRequest) + 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("ClockDeviceBatchList", 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 _Account_UpdateDeviceRelevance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ClockUserDeviceBatch) + 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("UpdateDeviceRelevance", 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 _Account_MailAccountByNickName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(MailAccountByNickNameRequest) if err := dec(in); err != nil { @@ -1371,6 +2803,151 @@ func _Account_MailAccountByNickName_Handler(srv interface{}, ctx context.Context return interceptor(ctx, in, info, handler) } +func _Account_CreateMaiAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateMaiAccountRequest) + 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("CreateMaiAccount", 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 _Account_CreateClockLog_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ClockLogInfo) + 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("CreateClockLog", 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 _Account_SendClockInWechat_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(SendClockInWechatRequest) + 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("SendClockInWechat", 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 _Account_FindClockLogList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ClockLogReq) + 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("FindClockLogList", 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 _Account_SendStrangerClockInWechat_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(SendClockInWechatRequest) + 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("SendStrangerClockInWechat", 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 _Account_ListV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(ListV2Request) if err := dec(in); err != nil { @@ -1400,8 +2977,8 @@ func _Account_ListV2_Handler(srv interface{}, ctx context.Context, dec func(inte return interceptor(ctx, in, info, handler) } -func _Account_QueryPersonnelWithTheSameName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryPersonnelWithTheSameNameRequest) +func _Account_CreateChainAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CommonRequest) if err := dec(in); err != nil { return nil, err } @@ -1413,7 +2990,7 @@ func _Account_QueryPersonnelWithTheSameName_Handler(srv interface{}, ctx context for k, v := range md { invAttachment[k] = v } - invo := invocation.NewRPCInvocation("QueryPersonnelWithTheSameName", args, invAttachment) + invo := invocation.NewRPCInvocation("CreateChainAccount", args, invAttachment) if interceptor == nil { result := base.XXX_GetProxyImpl().Invoke(ctx, invo) return result, result.Error() @@ -1429,8 +3006,8 @@ func _Account_QueryPersonnelWithTheSameName_Handler(srv interface{}, ctx context return interceptor(ctx, in, info, handler) } -func _Account_UsersByJobNum_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { - in := new(UsersByJobNumRequest) +func _Account_SendNationMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(SendNationMsgRequest) if err := dec(in); err != nil { return nil, err } @@ -1442,7 +3019,7 @@ func _Account_UsersByJobNum_Handler(srv interface{}, ctx context.Context, dec fu for k, v := range md { invAttachment[k] = v } - invo := invocation.NewRPCInvocation("UsersByJobNum", args, invAttachment) + invo := invocation.NewRPCInvocation("SendNationMsg", args, invAttachment) if interceptor == nil { result := base.XXX_GetProxyImpl().Invoke(ctx, invo) return result, result.Error() @@ -1458,8 +3035,8 @@ func _Account_UsersByJobNum_Handler(srv interface{}, ctx context.Context, dec fu return interceptor(ctx, in, info, handler) } -func _Account_RealName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { - in := new(RealNameRequest) +func _Account_UpdateLanguage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateLanguageRequest) if err := dec(in); err != nil { return nil, err } @@ -1471,94 +3048,7 @@ func _Account_RealName_Handler(srv interface{}, ctx context.Context, dec func(in for k, v := range md { invAttachment[k] = v } - invo := invocation.NewRPCInvocation("RealName", 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 _Account_Register_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { - in := new(RegistRequest) - 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("Register", 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 _Account_UserList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { - in := new(UserListRequest) - 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("UserList", 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 _Account_CheckRealName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { - in := new(CheckRealNameRequest) - 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("CheckRealName", args, invAttachment) + invo := invocation.NewRPCInvocation("UpdateLanguage", args, invAttachment) if interceptor == nil { result := base.XXX_GetProxyImpl().Invoke(ctx, invo) return result, result.Error() @@ -1632,8 +3122,8 @@ func _Account_VerifySliderCaptcha_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } -func _Account_SendNationMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { - in := new(SendNationMsgRequest) +func _Account_VerifySliderStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(VerifySliderStatusRequest) if err := dec(in); err != nil { return nil, err } @@ -1645,7 +3135,7 @@ func _Account_SendNationMsg_Handler(srv interface{}, ctx context.Context, dec fu for k, v := range md { invAttachment[k] = v } - invo := invocation.NewRPCInvocation("SendNationMsg", args, invAttachment) + invo := invocation.NewRPCInvocation("VerifySliderStatus", args, invAttachment) if interceptor == nil { result := base.XXX_GetProxyImpl().Invoke(ctx, invo) return result, result.Error() @@ -1661,8 +3151,8 @@ func _Account_SendNationMsg_Handler(srv interface{}, ctx context.Context, dec fu return interceptor(ctx, in, info, handler) } -func _Account_VerifySliderStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { - in := new(VerifySliderStatusRequest) +func _Account_SampleAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(SampleAccountRequest) if err := dec(in); err != nil { return nil, err } @@ -1674,7 +3164,239 @@ func _Account_VerifySliderStatus_Handler(srv interface{}, ctx context.Context, d for k, v := range md { invAttachment[k] = v } - invo := invocation.NewRPCInvocation("VerifySliderStatus", args, invAttachment) + invo := invocation.NewRPCInvocation("SampleAccount", 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 _Account_LoginAndSqueezeOther_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(LoginRequest) + 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("LoginAndSqueezeOther", 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 _Account_QueryPersonnelWithTheSameName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryPersonnelWithTheSameNameRequest) + 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("QueryPersonnelWithTheSameName", 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 _Account_UsersByJobNum_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UsersByJobNumRequest) + 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("UsersByJobNum", 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 _Account_IsSamePerson_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(IsSamePersonRequest) + 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("IsSamePerson", 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 _Account_CreateRealNameOrPassPort_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UserInfo) + 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("CreateRealNameOrPassPort", 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 _Account_FddCreateUserV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(FddCreateUserRequest) + 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("FddCreateUserV2", 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 _Account_FddUserFindByUserId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UserInfo) + 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("FddUserFindByUserId", 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 _Account_UserInfoById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(InfoRequest) + 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("UserInfoById", args, invAttachment) if interceptor == nil { result := base.XXX_GetProxyImpl().Invoke(ctx, invo) return result, result.Error() @@ -1709,6 +3431,58 @@ var Account_ServiceDesc = grpc_go.ServiceDesc{ MethodName: "Logout", Handler: _Account_Logout_Handler, }, + { + MethodName: "WxApp", + Handler: _Account_WxApp_Handler, + }, + { + MethodName: "WxUserInfo", + Handler: _Account_WxUserInfo_Handler, + }, + { + MethodName: "WxUserCreate", + Handler: _Account_WxUserCreate_Handler, + }, + { + MethodName: "WxUserUpdate", + Handler: _Account_WxUserUpdate_Handler, + }, + { + MethodName: "WxGetOpenIdByCode", + Handler: _Account_WxGetOpenIdByCode_Handler, + }, + { + MethodName: "WxBoxLogin", + Handler: _Account_WxBoxLogin_Handler, + }, + { + MethodName: "WxBoxUserInfoByOpenId", + Handler: _Account_WxBoxUserInfoByOpenId_Handler, + }, + { + MethodName: "WxBoxTelNumByCode", + Handler: _Account_WxBoxTelNumByCode_Handler, + }, + { + MethodName: "WxBoxUpdateUser", + Handler: _Account_WxBoxUpdateUser_Handler, + }, + { + MethodName: "WxBoxCreateUser", + Handler: _Account_WxBoxCreateUser_Handler, + }, + { + MethodName: "FddCreateUser", + Handler: _Account_FddCreateUser_Handler, + }, + { + MethodName: "FddUpdateUser", + Handler: _Account_FddUpdateUser_Handler, + }, + { + MethodName: "FddRemoveUser", + Handler: _Account_FddRemoveUser_Handler, + }, { MethodName: "OffLine", Handler: _Account_OffLine_Handler, @@ -1725,6 +3499,14 @@ var Account_ServiceDesc = grpc_go.ServiceDesc{ MethodName: "CheckPwd", Handler: _Account_CheckPwd_Handler, }, + { + MethodName: "Register", + Handler: _Account_Register_Handler, + }, + { + MethodName: "RegisterOrExist", + Handler: _Account_RegisterOrExist_Handler, + }, { MethodName: "SendMsg", Handler: _Account_SendMsg_Handler, @@ -1785,10 +3567,34 @@ var Account_ServiceDesc = grpc_go.ServiceDesc{ MethodName: "Remove", Handler: _Account_Remove_Handler, }, + { + MethodName: "WriteOff", + Handler: _Account_WriteOff_Handler, + }, + { + MethodName: "WriteOffApp", + Handler: _Account_WriteOffApp_Handler, + }, + { + MethodName: "WriteOffInfo", + Handler: _Account_WriteOffInfo_Handler, + }, + { + MethodName: "FindWriteOffList", + Handler: _Account_FindWriteOffList_Handler, + }, + { + MethodName: "WriteOffUpdate", + Handler: _Account_WriteOffUpdate_Handler, + }, { MethodName: "Update", Handler: _Account_Update_Handler, }, + { + MethodName: "PrivacyInfo", + Handler: _Account_PrivacyInfo_Handler, + }, { MethodName: "UsersByTel", Handler: _Account_UsersByTel_Handler, @@ -1797,6 +3603,10 @@ var Account_ServiceDesc = grpc_go.ServiceDesc{ MethodName: "UserByTel", Handler: _Account_UserByTel_Handler, }, + { + MethodName: "CheckBeforeRegister", + Handler: _Account_CheckBeforeRegister_Handler, + }, { MethodName: "OnlySendMsg", Handler: _Account_OnlySendMsg_Handler, @@ -1805,37 +3615,85 @@ var Account_ServiceDesc = grpc_go.ServiceDesc{ MethodName: "OnlyCheckMsg", Handler: _Account_OnlyCheckMsg_Handler, }, + { + MethodName: "CreateClockDevice", + Handler: _Account_CreateClockDevice_Handler, + }, + { + MethodName: "UpdateClockDevice", + Handler: _Account_UpdateClockDevice_Handler, + }, + { + MethodName: "RemoveClockDevice", + Handler: _Account_RemoveClockDevice_Handler, + }, + { + MethodName: "ClockDeviceList", + Handler: _Account_ClockDeviceList_Handler, + }, + { + MethodName: "ClockDeviceInfo", + Handler: _Account_ClockDeviceInfo_Handler, + }, + { + MethodName: "ClockDeviceSingleUntie", + Handler: _Account_ClockDeviceSingleUntie_Handler, + }, + { + MethodName: "ClockDeviceBatchBind", + Handler: _Account_ClockDeviceBatchBind_Handler, + }, + { + MethodName: "ClockDeviceBatchUntie", + Handler: _Account_ClockDeviceBatchUntie_Handler, + }, + { + MethodName: "ClockDeviceBatchList", + Handler: _Account_ClockDeviceBatchList_Handler, + }, + { + MethodName: "UpdateDeviceRelevance", + Handler: _Account_UpdateDeviceRelevance_Handler, + }, { MethodName: "MailAccountByNickName", Handler: _Account_MailAccountByNickName_Handler, }, + { + MethodName: "CreateMaiAccount", + Handler: _Account_CreateMaiAccount_Handler, + }, + { + MethodName: "CreateClockLog", + Handler: _Account_CreateClockLog_Handler, + }, + { + MethodName: "SendClockInWechat", + Handler: _Account_SendClockInWechat_Handler, + }, + { + MethodName: "FindClockLogList", + Handler: _Account_FindClockLogList_Handler, + }, + { + MethodName: "SendStrangerClockInWechat", + Handler: _Account_SendStrangerClockInWechat_Handler, + }, { MethodName: "ListV2", Handler: _Account_ListV2_Handler, }, { - MethodName: "QueryPersonnelWithTheSameName", - Handler: _Account_QueryPersonnelWithTheSameName_Handler, + MethodName: "CreateChainAccount", + Handler: _Account_CreateChainAccount_Handler, }, { - MethodName: "UsersByJobNum", - Handler: _Account_UsersByJobNum_Handler, + MethodName: "SendNationMsg", + Handler: _Account_SendNationMsg_Handler, }, { - MethodName: "RealName", - Handler: _Account_RealName_Handler, - }, - { - MethodName: "Register", - Handler: _Account_Register_Handler, - }, - { - MethodName: "UserList", - Handler: _Account_UserList_Handler, - }, - { - MethodName: "CheckRealName", - Handler: _Account_CheckRealName_Handler, + MethodName: "UpdateLanguage", + Handler: _Account_UpdateLanguage_Handler, }, { MethodName: "GenerateSliderCaptcha", @@ -1845,14 +3703,46 @@ var Account_ServiceDesc = grpc_go.ServiceDesc{ MethodName: "VerifySliderCaptcha", Handler: _Account_VerifySliderCaptcha_Handler, }, - { - MethodName: "SendNationMsg", - Handler: _Account_SendNationMsg_Handler, - }, { MethodName: "VerifySliderStatus", Handler: _Account_VerifySliderStatus_Handler, }, + { + MethodName: "SampleAccount", + Handler: _Account_SampleAccount_Handler, + }, + { + MethodName: "LoginAndSqueezeOther", + Handler: _Account_LoginAndSqueezeOther_Handler, + }, + { + MethodName: "QueryPersonnelWithTheSameName", + Handler: _Account_QueryPersonnelWithTheSameName_Handler, + }, + { + MethodName: "UsersByJobNum", + Handler: _Account_UsersByJobNum_Handler, + }, + { + MethodName: "IsSamePerson", + Handler: _Account_IsSamePerson_Handler, + }, + { + MethodName: "CreateRealNameOrPassPort", + Handler: _Account_CreateRealNameOrPassPort_Handler, + }, + { + MethodName: "FddCreateUserV2", + Handler: _Account_FddCreateUserV2_Handler, + }, + { + MethodName: "FddUserFindByUserId", + Handler: _Account_FddUserFindByUserId_Handler, + }, + { + MethodName: "UserInfoById", + Handler: _Account_UserInfoById_Handler, + }, }, Streams: []grpc_go.StreamDesc{}, Metadata: "api/account/account.proto", diff --git a/api/accountFiee/accountFiee.pb.go b/api/accountFiee/accountFiee.pb.go new file mode 100644 index 0000000..579c1dd --- /dev/null +++ b/api/accountFiee/accountFiee.pb.go @@ -0,0 +1,10455 @@ +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.0--rc1 +// source: api/accountFiee/accountFiee.proto + +package accountFiee + +import ( + _ "github.com/mwitkow/go-proto-validators" + 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 VerifySliderStatusRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NonceStr string `protobuf:"bytes,1,opt,name=nonceStr,proto3" json:"nonceStr,omitempty"` +} + +func (x *VerifySliderStatusRequest) Reset() { + *x = VerifySliderStatusRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VerifySliderStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerifySliderStatusRequest) ProtoMessage() {} + +func (x *VerifySliderStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 VerifySliderStatusRequest.ProtoReflect.Descriptor instead. +func (*VerifySliderStatusRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{0} +} + +func (x *VerifySliderStatusRequest) GetNonceStr() string { + if x != nil { + return x.NonceStr + } + return "" +} + +type VerifySliderStatusResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NonceStr string `protobuf:"bytes,1,opt,name=nonceStr,proto3" json:"nonceStr,omitempty"` + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *VerifySliderStatusResponse) Reset() { + *x = VerifySliderStatusResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VerifySliderStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerifySliderStatusResponse) ProtoMessage() {} + +func (x *VerifySliderStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 VerifySliderStatusResponse.ProtoReflect.Descriptor instead. +func (*VerifySliderStatusResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{1} +} + +func (x *VerifySliderStatusResponse) GetNonceStr() string { + if x != nil { + return x.NonceStr + } + return "" +} + +func (x *VerifySliderStatusResponse) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +type SendNationMsgRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + TelNum string `protobuf:"bytes,2,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` + Project string `protobuf:"bytes,3,opt,name=Project,json=project,proto3" json:"Project,omitempty"` + SignNo uint32 `protobuf:"varint,4,opt,name=signNo,proto3" json:"signNo,omitempty"` + MId uint32 `protobuf:"varint,5,opt,name=mId,proto3" json:"mId,omitempty"` + Scope string `protobuf:"bytes,6,opt,name=scope,proto3" json:"scope,omitempty"` //标记模块 +} + +func (x *SendNationMsgRequest) Reset() { + *x = SendNationMsgRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SendNationMsgRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendNationMsgRequest) ProtoMessage() {} + +func (x *SendNationMsgRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 SendNationMsgRequest.ProtoReflect.Descriptor instead. +func (*SendNationMsgRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{2} +} + +func (x *SendNationMsgRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *SendNationMsgRequest) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *SendNationMsgRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *SendNationMsgRequest) GetSignNo() uint32 { + if x != nil { + return x.SignNo + } + return 0 +} + +func (x *SendNationMsgRequest) GetMId() uint32 { + if x != nil { + return x.MId + } + return 0 +} + +func (x *SendNationMsgRequest) GetScope() string { + if x != nil { + return x.Scope + } + return "" +} + +type VerifySliderCaptchaResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NonceStr string `protobuf:"bytes,1,opt,name=nonceStr,proto3" json:"nonceStr,omitempty"` +} + +func (x *VerifySliderCaptchaResponse) Reset() { + *x = VerifySliderCaptchaResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VerifySliderCaptchaResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerifySliderCaptchaResponse) ProtoMessage() {} + +func (x *VerifySliderCaptchaResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 VerifySliderCaptchaResponse.ProtoReflect.Descriptor instead. +func (*VerifySliderCaptchaResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{3} +} + +func (x *VerifySliderCaptchaResponse) GetNonceStr() string { + if x != nil { + return x.NonceStr + } + return "" +} + +type VerifySliderCaptchaRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NonceStr string `protobuf:"bytes,1,opt,name=nonceStr,proto3" json:"nonceStr,omitempty"` + BlockX float32 `protobuf:"fixed32,2,opt,name=blockX,proto3" json:"blockX,omitempty"` +} + +func (x *VerifySliderCaptchaRequest) Reset() { + *x = VerifySliderCaptchaRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VerifySliderCaptchaRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerifySliderCaptchaRequest) ProtoMessage() {} + +func (x *VerifySliderCaptchaRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 VerifySliderCaptchaRequest.ProtoReflect.Descriptor instead. +func (*VerifySliderCaptchaRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{4} +} + +func (x *VerifySliderCaptchaRequest) GetNonceStr() string { + if x != nil { + return x.NonceStr + } + return "" +} + +func (x *VerifySliderCaptchaRequest) GetBlockX() float32 { + if x != nil { + return x.BlockX + } + return 0 +} + +type GenerateSliderCaptchaResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NonceStr string `protobuf:"bytes,1,opt,name=nonceStr,proto3" json:"nonceStr,omitempty"` + CanvasSrc string `protobuf:"bytes,2,opt,name=canvasSrc,proto3" json:"canvasSrc,omitempty"` + BlockSrc string `protobuf:"bytes,3,opt,name=blockSrc,proto3" json:"blockSrc,omitempty"` + BlockY uint64 `protobuf:"varint,4,opt,name=blockY,proto3" json:"blockY,omitempty"` + FaceY uint64 `protobuf:"varint,5,opt,name=faceY,proto3" json:"faceY,omitempty"` + BlockX uint64 `protobuf:"varint,6,opt,name=blockX,proto3" json:"blockX,omitempty"` +} + +func (x *GenerateSliderCaptchaResponse) Reset() { + *x = GenerateSliderCaptchaResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GenerateSliderCaptchaResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateSliderCaptchaResponse) ProtoMessage() {} + +func (x *GenerateSliderCaptchaResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 GenerateSliderCaptchaResponse.ProtoReflect.Descriptor instead. +func (*GenerateSliderCaptchaResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{5} +} + +func (x *GenerateSliderCaptchaResponse) GetNonceStr() string { + if x != nil { + return x.NonceStr + } + return "" +} + +func (x *GenerateSliderCaptchaResponse) GetCanvasSrc() string { + if x != nil { + return x.CanvasSrc + } + return "" +} + +func (x *GenerateSliderCaptchaResponse) GetBlockSrc() string { + if x != nil { + return x.BlockSrc + } + return "" +} + +func (x *GenerateSliderCaptchaResponse) GetBlockY() uint64 { + if x != nil { + return x.BlockY + } + return 0 +} + +func (x *GenerateSliderCaptchaResponse) GetFaceY() uint64 { + if x != nil { + return x.FaceY + } + return 0 +} + +func (x *GenerateSliderCaptchaResponse) GetBlockX() uint64 { + if x != nil { + return x.BlockX + } + return 0 +} + +type GenerateSliderCaptchaRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CanvasWidth uint64 `protobuf:"varint,1,opt,name=canvasWidth,proto3" json:"canvasWidth,omitempty"` + CanvasHeight uint64 `protobuf:"varint,2,opt,name=canvasHeight,proto3" json:"canvasHeight,omitempty"` + BlockWidth uint64 `protobuf:"varint,3,opt,name=blockWidth,proto3" json:"blockWidth,omitempty"` + BlockHeight uint64 `protobuf:"varint,4,opt,name=blockHeight,proto3" json:"blockHeight,omitempty"` + BlockRadius uint64 `protobuf:"varint,5,opt,name=blockRadius,proto3" json:"blockRadius,omitempty"` + Place uint64 `protobuf:"varint,6,opt,name=place,proto3" json:"place,omitempty"` +} + +func (x *GenerateSliderCaptchaRequest) Reset() { + *x = GenerateSliderCaptchaRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GenerateSliderCaptchaRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateSliderCaptchaRequest) ProtoMessage() {} + +func (x *GenerateSliderCaptchaRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 GenerateSliderCaptchaRequest.ProtoReflect.Descriptor instead. +func (*GenerateSliderCaptchaRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{6} +} + +func (x *GenerateSliderCaptchaRequest) GetCanvasWidth() uint64 { + if x != nil { + return x.CanvasWidth + } + return 0 +} + +func (x *GenerateSliderCaptchaRequest) GetCanvasHeight() uint64 { + if x != nil { + return x.CanvasHeight + } + return 0 +} + +func (x *GenerateSliderCaptchaRequest) GetBlockWidth() uint64 { + if x != nil { + return x.BlockWidth + } + return 0 +} + +func (x *GenerateSliderCaptchaRequest) GetBlockHeight() uint64 { + if x != nil { + return x.BlockHeight + } + return 0 +} + +func (x *GenerateSliderCaptchaRequest) GetBlockRadius() uint64 { + if x != nil { + return x.BlockRadius + } + return 0 +} + +func (x *GenerateSliderCaptchaRequest) GetPlace() uint64 { + if x != nil { + return x.Place + } + return 0 +} + +type CheckRealNameResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *CheckRealNameResponse) Reset() { + *x = CheckRealNameResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CheckRealNameResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckRealNameResponse) ProtoMessage() {} + +func (x *CheckRealNameResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 CheckRealNameResponse.ProtoReflect.Descriptor instead. +func (*CheckRealNameResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{7} +} + +func (x *CheckRealNameResponse) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *CheckRealNameResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +type CheckRealNameRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Pass bool `protobuf:"varint,2,opt,name=pass,proto3" json:"pass,omitempty"` + NotPassRemarks string `protobuf:"bytes,3,opt,name=notPassRemarks,proto3" json:"notPassRemarks,omitempty"` +} + +func (x *CheckRealNameRequest) Reset() { + *x = CheckRealNameRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CheckRealNameRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckRealNameRequest) ProtoMessage() {} + +func (x *CheckRealNameRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 CheckRealNameRequest.ProtoReflect.Descriptor instead. +func (*CheckRealNameRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{8} +} + +func (x *CheckRealNameRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *CheckRealNameRequest) GetPass() bool { + if x != nil { + return x.Pass + } + return false +} + +func (x *CheckRealNameRequest) GetNotPassRemarks() string { + if x != nil { + return x.NotPassRemarks + } + return "" +} + +type UserListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Count uint64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` + Page uint64 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"` + PageSize uint64 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` + UserList []*UserListInfo `protobuf:"bytes,4,rep,name=userList,proto3" json:"userList,omitempty"` +} + +func (x *UserListResponse) Reset() { + *x = UserListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserListResponse) ProtoMessage() {} + +func (x *UserListResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 UserListResponse.ProtoReflect.Descriptor instead. +func (*UserListResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{9} +} + +func (x *UserListResponse) GetCount() uint64 { + if x != nil { + return x.Count + } + return 0 +} + +func (x *UserListResponse) GetPage() uint64 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *UserListResponse) GetPageSize() uint64 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *UserListResponse) GetUserList() []*UserListInfo { + if x != nil { + return x.UserList + } + return nil +} + +type UserListInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Sex string `protobuf:"bytes,4,opt,name=sex,proto3" json:"sex,omitempty"` + Nationality string `protobuf:"bytes,5,opt,name=nationality,proto3" json:"nationality,omitempty"` + DocumentType int32 `protobuf:"varint,6,opt,name=documentType,proto3" json:"documentType,omitempty"` + CertificatePicture string `protobuf:"bytes,7,opt,name=certificatePicture,proto3" json:"certificatePicture,omitempty"` + Validity string `protobuf:"bytes,8,opt,name=validity,proto3" json:"validity,omitempty"` + PlaceOfResidence string `protobuf:"bytes,9,opt,name=placeOfResidence,proto3" json:"placeOfResidence,omitempty"` + GroupPhoto string `protobuf:"bytes,10,opt,name=groupPhoto,proto3" json:"groupPhoto,omitempty"` + Attachment string `protobuf:"bytes,11,opt,name=attachment,proto3" json:"attachment,omitempty"` + RegistrationTime string `protobuf:"bytes,12,opt,name=registrationTime,proto3" json:"registrationTime,omitempty"` + AuditTime string `protobuf:"bytes,13,opt,name=auditTime,proto3" json:"auditTime,omitempty"` + SubNum string `protobuf:"bytes,14,opt,name=subNum,proto3" json:"subNum,omitempty"` + NotPassRemarks string `protobuf:"bytes,15,opt,name=notPassRemarks,proto3" json:"notPassRemarks,omitempty"` + TelNum string `protobuf:"bytes,16,opt,name=telNum,proto3" json:"telNum,omitempty"` + TelAreaCode string `protobuf:"bytes,17,opt,name=telAreaCode,proto3" json:"telAreaCode,omitempty"` + Language string `protobuf:"bytes,18,opt,name=language,proto3" json:"language,omitempty"` + SubscriberNumber string `protobuf:"bytes,19,opt,name=subscriberNumber,proto3" json:"subscriberNumber,omitempty"` + NickName string `protobuf:"bytes,20,opt,name=nickName,proto3" json:"nickName,omitempty"` +} + +func (x *UserListInfo) Reset() { + *x = UserListInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserListInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserListInfo) ProtoMessage() {} + +func (x *UserListInfo) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 UserListInfo.ProtoReflect.Descriptor instead. +func (*UserListInfo) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{10} +} + +func (x *UserListInfo) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *UserListInfo) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *UserListInfo) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *UserListInfo) GetSex() string { + if x != nil { + return x.Sex + } + return "" +} + +func (x *UserListInfo) GetNationality() string { + if x != nil { + return x.Nationality + } + return "" +} + +func (x *UserListInfo) GetDocumentType() int32 { + if x != nil { + return x.DocumentType + } + return 0 +} + +func (x *UserListInfo) GetCertificatePicture() string { + if x != nil { + return x.CertificatePicture + } + return "" +} + +func (x *UserListInfo) GetValidity() string { + if x != nil { + return x.Validity + } + return "" +} + +func (x *UserListInfo) GetPlaceOfResidence() string { + if x != nil { + return x.PlaceOfResidence + } + return "" +} + +func (x *UserListInfo) GetGroupPhoto() string { + if x != nil { + return x.GroupPhoto + } + return "" +} + +func (x *UserListInfo) GetAttachment() string { + if x != nil { + return x.Attachment + } + return "" +} + +func (x *UserListInfo) GetRegistrationTime() string { + if x != nil { + return x.RegistrationTime + } + return "" +} + +func (x *UserListInfo) GetAuditTime() string { + if x != nil { + return x.AuditTime + } + return "" +} + +func (x *UserListInfo) GetSubNum() string { + if x != nil { + return x.SubNum + } + return "" +} + +func (x *UserListInfo) GetNotPassRemarks() string { + if x != nil { + return x.NotPassRemarks + } + return "" +} + +func (x *UserListInfo) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *UserListInfo) GetTelAreaCode() string { + if x != nil { + return x.TelAreaCode + } + return "" +} + +func (x *UserListInfo) GetLanguage() string { + if x != nil { + return x.Language + } + return "" +} + +func (x *UserListInfo) GetSubscriberNumber() string { + if x != nil { + return x.SubscriberNumber + } + return "" +} + +func (x *UserListInfo) GetNickName() string { + if x != nil { + return x.NickName + } + return "" +} + +type UserListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + SubNum string `protobuf:"bytes,2,opt,name=subNum,proto3" json:"subNum,omitempty"` + RealNameOrNot int32 `protobuf:"varint,3,opt,name=realNameOrNot,proto3" json:"realNameOrNot,omitempty"` + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + Sex string `protobuf:"bytes,5,opt,name=sex,proto3" json:"sex,omitempty"` + DocumentType int32 `protobuf:"varint,6,opt,name=documentType,proto3" json:"documentType,omitempty"` + AuditStatus int32 `protobuf:"varint,7,opt,name=auditStatus,proto3" json:"auditStatus,omitempty"` + Page uint64 `protobuf:"varint,8,opt,name=page,proto3" json:"page,omitempty"` + PageSize uint64 `protobuf:"varint,9,opt,name=pageSize,proto3" json:"pageSize,omitempty"` +} + +func (x *UserListRequest) Reset() { + *x = UserListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserListRequest) ProtoMessage() {} + +func (x *UserListRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 UserListRequest.ProtoReflect.Descriptor instead. +func (*UserListRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{11} +} + +func (x *UserListRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *UserListRequest) GetSubNum() string { + if x != nil { + return x.SubNum + } + return "" +} + +func (x *UserListRequest) GetRealNameOrNot() int32 { + if x != nil { + return x.RealNameOrNot + } + return 0 +} + +func (x *UserListRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *UserListRequest) GetSex() string { + if x != nil { + return x.Sex + } + return "" +} + +func (x *UserListRequest) GetDocumentType() int32 { + if x != nil { + return x.DocumentType + } + return 0 +} + +func (x *UserListRequest) GetAuditStatus() int32 { + if x != nil { + return x.AuditStatus + } + return 0 +} + +func (x *UserListRequest) GetPage() uint64 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *UserListRequest) GetPageSize() uint64 { + if x != nil { + return x.PageSize + } + return 0 +} + +type UserInfoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Sex string `protobuf:"bytes,4,opt,name=sex,proto3" json:"sex,omitempty"` + Nationality string `protobuf:"bytes,5,opt,name=nationality,proto3" json:"nationality,omitempty"` + DocumentType int32 `protobuf:"varint,6,opt,name=documentType,proto3" json:"documentType,omitempty"` + CertificatePicture string `protobuf:"bytes,7,opt,name=certificatePicture,proto3" json:"certificatePicture,omitempty"` + Validity string `protobuf:"bytes,8,opt,name=validity,proto3" json:"validity,omitempty"` + PlaceOfResidence string `protobuf:"bytes,9,opt,name=placeOfResidence,proto3" json:"placeOfResidence,omitempty"` + GroupPhoto string `protobuf:"bytes,10,opt,name=groupPhoto,proto3" json:"groupPhoto,omitempty"` + Attachment string `protobuf:"bytes,11,opt,name=attachment,proto3" json:"attachment,omitempty"` + SubNum string `protobuf:"bytes,12,opt,name=subNum,proto3" json:"subNum,omitempty"` + NotPassRemarks string `protobuf:"bytes,13,opt,name=notPassRemarks,proto3" json:"notPassRemarks,omitempty"` + Domain string `protobuf:"bytes,14,opt,name=domain,proto3" json:"domain,omitempty"` + Language string `protobuf:"bytes,15,opt,name=language,proto3" json:"language,omitempty"` + SubscriberNumber string `protobuf:"bytes,16,opt,name=subscriberNumber,proto3" json:"subscriberNumber,omitempty"` + NickName string `protobuf:"bytes,17,opt,name=nickName,proto3" json:"nickName,omitempty"` + TelNum string `protobuf:"bytes,18,opt,name=telNum,proto3" json:"telNum,omitempty"` +} + +func (x *UserInfoResponse) Reset() { + *x = UserInfoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserInfoResponse) ProtoMessage() {} + +func (x *UserInfoResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 UserInfoResponse.ProtoReflect.Descriptor instead. +func (*UserInfoResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{12} +} + +func (x *UserInfoResponse) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *UserInfoResponse) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *UserInfoResponse) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *UserInfoResponse) GetSex() string { + if x != nil { + return x.Sex + } + return "" +} + +func (x *UserInfoResponse) GetNationality() string { + if x != nil { + return x.Nationality + } + return "" +} + +func (x *UserInfoResponse) GetDocumentType() int32 { + if x != nil { + return x.DocumentType + } + return 0 +} + +func (x *UserInfoResponse) GetCertificatePicture() string { + if x != nil { + return x.CertificatePicture + } + return "" +} + +func (x *UserInfoResponse) GetValidity() string { + if x != nil { + return x.Validity + } + return "" +} + +func (x *UserInfoResponse) GetPlaceOfResidence() string { + if x != nil { + return x.PlaceOfResidence + } + return "" +} + +func (x *UserInfoResponse) GetGroupPhoto() string { + if x != nil { + return x.GroupPhoto + } + return "" +} + +func (x *UserInfoResponse) GetAttachment() string { + if x != nil { + return x.Attachment + } + return "" +} + +func (x *UserInfoResponse) GetSubNum() string { + if x != nil { + return x.SubNum + } + return "" +} + +func (x *UserInfoResponse) GetNotPassRemarks() string { + if x != nil { + return x.NotPassRemarks + } + return "" +} + +func (x *UserInfoResponse) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *UserInfoResponse) GetLanguage() string { + if x != nil { + return x.Language + } + return "" +} + +func (x *UserInfoResponse) GetSubscriberNumber() string { + if x != nil { + return x.SubscriberNumber + } + return "" +} + +func (x *UserInfoResponse) GetNickName() string { + if x != nil { + return x.NickName + } + return "" +} + +func (x *UserInfoResponse) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +type RealNameResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *RealNameResponse) Reset() { + *x = RealNameResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RealNameResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RealNameResponse) ProtoMessage() {} + +func (x *RealNameResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 RealNameResponse.ProtoReflect.Descriptor instead. +func (*RealNameResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{13} +} + +func (x *RealNameResponse) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *RealNameResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +type RealNameRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Sex string `protobuf:"bytes,3,opt,name=sex,proto3" json:"sex,omitempty"` + Nationality string `protobuf:"bytes,4,opt,name=nationality,proto3" json:"nationality,omitempty"` + DocumentType int32 `protobuf:"varint,5,opt,name=documentType,proto3" json:"documentType,omitempty"` + CertificatePicture string `protobuf:"bytes,6,opt,name=certificatePicture,proto3" json:"certificatePicture,omitempty"` + Validity string `protobuf:"bytes,7,opt,name=validity,proto3" json:"validity,omitempty"` + PlaceOfResidence string `protobuf:"bytes,8,opt,name=placeOfResidence,proto3" json:"placeOfResidence,omitempty"` + GroupPhoto string `protobuf:"bytes,9,opt,name=groupPhoto,proto3" json:"groupPhoto,omitempty"` + Attachment string `protobuf:"bytes,10,opt,name=attachment,proto3" json:"attachment,omitempty"` +} + +func (x *RealNameRequest) Reset() { + *x = RealNameRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RealNameRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RealNameRequest) ProtoMessage() {} + +func (x *RealNameRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 RealNameRequest.ProtoReflect.Descriptor instead. +func (*RealNameRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{14} +} + +func (x *RealNameRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *RealNameRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *RealNameRequest) GetSex() string { + if x != nil { + return x.Sex + } + return "" +} + +func (x *RealNameRequest) GetNationality() string { + if x != nil { + return x.Nationality + } + return "" +} + +func (x *RealNameRequest) GetDocumentType() int32 { + if x != nil { + return x.DocumentType + } + return 0 +} + +func (x *RealNameRequest) GetCertificatePicture() string { + if x != nil { + return x.CertificatePicture + } + return "" +} + +func (x *RealNameRequest) GetValidity() string { + if x != nil { + return x.Validity + } + return "" +} + +func (x *RealNameRequest) GetPlaceOfResidence() string { + if x != nil { + return x.PlaceOfResidence + } + return "" +} + +func (x *RealNameRequest) GetGroupPhoto() string { + if x != nil { + return x.GroupPhoto + } + return "" +} + +func (x *RealNameRequest) GetAttachment() string { + if x != nil { + return x.Attachment + } + return "" +} + +type RegisterResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Status uint64 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` + Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token,omitempty"` +} + +func (x *RegisterResponse) Reset() { + *x = RegisterResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RegisterResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisterResponse) ProtoMessage() {} + +func (x *RegisterResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 RegisterResponse.ProtoReflect.Descriptor instead. +func (*RegisterResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{15} +} + +func (x *RegisterResponse) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *RegisterResponse) GetStatus() uint64 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *RegisterResponse) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +type UsersByJobNumRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + JobNum []string `protobuf:"bytes,2,rep,name=jobNum,proto3" json:"jobNum,omitempty"` +} + +func (x *UsersByJobNumRequest) Reset() { + *x = UsersByJobNumRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UsersByJobNumRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UsersByJobNumRequest) ProtoMessage() {} + +func (x *UsersByJobNumRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 UsersByJobNumRequest.ProtoReflect.Descriptor instead. +func (*UsersByJobNumRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{16} +} + +func (x *UsersByJobNumRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *UsersByJobNumRequest) GetJobNum() []string { + if x != nil { + return x.JobNum + } + return nil +} + +type QueryPersonnelWithTheSameNameRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Names []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"` + Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` + Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *QueryPersonnelWithTheSameNameRequest) Reset() { + *x = QueryPersonnelWithTheSameNameRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryPersonnelWithTheSameNameRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryPersonnelWithTheSameNameRequest) ProtoMessage() {} + +func (x *QueryPersonnelWithTheSameNameRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 QueryPersonnelWithTheSameNameRequest.ProtoReflect.Descriptor instead. +func (*QueryPersonnelWithTheSameNameRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{17} +} + +func (x *QueryPersonnelWithTheSameNameRequest) GetNames() []string { + if x != nil { + return x.Names + } + return nil +} + +func (x *QueryPersonnelWithTheSameNameRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *QueryPersonnelWithTheSameNameRequest) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +type QueryPersonnelWithTheSameNameResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Names []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"` + Count uint64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` +} + +func (x *QueryPersonnelWithTheSameNameResponse) Reset() { + *x = QueryPersonnelWithTheSameNameResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryPersonnelWithTheSameNameResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryPersonnelWithTheSameNameResponse) ProtoMessage() {} + +func (x *QueryPersonnelWithTheSameNameResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 QueryPersonnelWithTheSameNameResponse.ProtoReflect.Descriptor instead. +func (*QueryPersonnelWithTheSameNameResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{18} +} + +func (x *QueryPersonnelWithTheSameNameResponse) GetNames() []string { + if x != nil { + return x.Names + } + return nil +} + +func (x *QueryPersonnelWithTheSameNameResponse) GetCount() uint64 { + if x != nil { + return x.Count + } + return 0 +} + +type ListV2Request struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + PageSize uint64 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize,omitempty"` + Page uint64 `protobuf:"varint,3,opt,name=page,proto3" json:"page,omitempty"` + Key string `protobuf:"bytes,4,opt,name=key,proto3" json:"key,omitempty"` + NickName string `protobuf:"bytes,5,opt,name=nickName,proto3" json:"nickName,omitempty"` + TelNum string `protobuf:"bytes,6,opt,name=telNum,proto3" json:"telNum,omitempty"` + Status string `protobuf:"bytes,7,opt,name=status,proto3" json:"status,omitempty"` + PositionName string `protobuf:"bytes,8,opt,name=positionName,proto3" json:"positionName,omitempty"` + JobNum string `protobuf:"bytes,9,opt,name=jobNum,proto3" json:"jobNum,omitempty"` + MailAccount string `protobuf:"bytes,10,opt,name=mailAccount,proto3" json:"mailAccount,omitempty"` + StartEnterDate string `protobuf:"bytes,11,opt,name=startEnterDate,proto3" json:"startEnterDate,omitempty"` + EndEnterDate string `protobuf:"bytes,12,opt,name=endEnterDate,proto3" json:"endEnterDate,omitempty"` + PositionId uint32 `protobuf:"varint,13,opt,name=positionId,proto3" json:"positionId,omitempty"` + DepartmentId uint32 `protobuf:"varint,14,opt,name=departmentId,proto3" json:"departmentId,omitempty"` + DepartmentName string `protobuf:"bytes,15,opt,name=departmentName,proto3" json:"departmentName,omitempty"` + DepartmentNames []string `protobuf:"bytes,16,rep,name=departmentNames,proto3" json:"departmentNames,omitempty"` + PositionIds []uint32 `protobuf:"varint,17,rep,packed,name=positionIds,proto3" json:"positionIds,omitempty"` + DepartmentIds []uint32 `protobuf:"varint,18,rep,packed,name=departmentIds,proto3" json:"departmentIds,omitempty"` +} + +func (x *ListV2Request) Reset() { + *x = ListV2Request{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListV2Request) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListV2Request) ProtoMessage() {} + +func (x *ListV2Request) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 ListV2Request.ProtoReflect.Descriptor instead. +func (*ListV2Request) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{19} +} + +func (x *ListV2Request) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *ListV2Request) GetPageSize() uint64 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListV2Request) GetPage() uint64 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ListV2Request) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *ListV2Request) GetNickName() string { + if x != nil { + return x.NickName + } + return "" +} + +func (x *ListV2Request) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *ListV2Request) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ListV2Request) GetPositionName() string { + if x != nil { + return x.PositionName + } + return "" +} + +func (x *ListV2Request) GetJobNum() string { + if x != nil { + return x.JobNum + } + return "" +} + +func (x *ListV2Request) GetMailAccount() string { + if x != nil { + return x.MailAccount + } + return "" +} + +func (x *ListV2Request) GetStartEnterDate() string { + if x != nil { + return x.StartEnterDate + } + return "" +} + +func (x *ListV2Request) GetEndEnterDate() string { + if x != nil { + return x.EndEnterDate + } + return "" +} + +func (x *ListV2Request) GetPositionId() uint32 { + if x != nil { + return x.PositionId + } + return 0 +} + +func (x *ListV2Request) GetDepartmentId() uint32 { + if x != nil { + return x.DepartmentId + } + return 0 +} + +func (x *ListV2Request) GetDepartmentName() string { + if x != nil { + return x.DepartmentName + } + return "" +} + +func (x *ListV2Request) GetDepartmentNames() []string { + if x != nil { + return x.DepartmentNames + } + return nil +} + +func (x *ListV2Request) GetPositionIds() []uint32 { + if x != nil { + return x.PositionIds + } + return nil +} + +func (x *ListV2Request) GetDepartmentIds() []uint32 { + if x != nil { + return x.DepartmentIds + } + return nil +} + +type SendClockInWechatRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + TelNum string `protobuf:"bytes,2,opt,name=telNum,proto3" json:"telNum,omitempty"` + OperatedAt string `protobuf:"bytes,3,opt,name=operatedAt,proto3" json:"operatedAt,omitempty"` + ClockType string `protobuf:"bytes,4,opt,name=clockType,proto3" json:"clockType,omitempty"` + UserId uint32 `protobuf:"varint,5,opt,name=userId,proto3" json:"userId,omitempty"` + GhId string `protobuf:"bytes,6,opt,name=ghId,proto3" json:"ghId,omitempty"` + Address string `protobuf:"bytes,7,opt,name=address,proto3" json:"address,omitempty"` + LogId uint64 `protobuf:"varint,8,opt,name=logId,proto3" json:"logId,omitempty"` +} + +func (x *SendClockInWechatRequest) Reset() { + *x = SendClockInWechatRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SendClockInWechatRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendClockInWechatRequest) ProtoMessage() {} + +func (x *SendClockInWechatRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 SendClockInWechatRequest.ProtoReflect.Descriptor instead. +func (*SendClockInWechatRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{20} +} + +func (x *SendClockInWechatRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *SendClockInWechatRequest) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *SendClockInWechatRequest) GetOperatedAt() string { + if x != nil { + return x.OperatedAt + } + return "" +} + +func (x *SendClockInWechatRequest) GetClockType() string { + if x != nil { + return x.ClockType + } + return "" +} + +func (x *SendClockInWechatRequest) GetUserId() uint32 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *SendClockInWechatRequest) GetGhId() string { + if x != nil { + return x.GhId + } + return "" +} + +func (x *SendClockInWechatRequest) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *SendClockInWechatRequest) GetLogId() uint64 { + if x != nil { + return x.LogId + } + return 0 +} + +type MailAccountByNickNameRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + NickName string `protobuf:"bytes,2,opt,name=NickName,json=nickName,proto3" json:"NickName,omitempty"` + ID uint32 `protobuf:"varint,3,opt,name=ID,proto3" json:"ID,omitempty"` +} + +func (x *MailAccountByNickNameRequest) Reset() { + *x = MailAccountByNickNameRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MailAccountByNickNameRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MailAccountByNickNameRequest) ProtoMessage() {} + +func (x *MailAccountByNickNameRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 MailAccountByNickNameRequest.ProtoReflect.Descriptor instead. +func (*MailAccountByNickNameRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{21} +} + +func (x *MailAccountByNickNameRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *MailAccountByNickNameRequest) GetNickName() string { + if x != nil { + return x.NickName + } + return "" +} + +func (x *MailAccountByNickNameRequest) GetID() uint32 { + if x != nil { + return x.ID + } + return 0 +} + +type CreateMaiAccountRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + NickName string `protobuf:"bytes,2,opt,name=nickName,proto3" json:"nickName,omitempty"` + Domain string `protobuf:"bytes,3,opt,name=domain,proto3" json:"domain,omitempty"` +} + +func (x *CreateMaiAccountRequest) Reset() { + *x = CreateMaiAccountRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateMaiAccountRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateMaiAccountRequest) ProtoMessage() {} + +func (x *CreateMaiAccountRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 CreateMaiAccountRequest.ProtoReflect.Descriptor instead. +func (*CreateMaiAccountRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{22} +} + +func (x *CreateMaiAccountRequest) GetID() uint32 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *CreateMaiAccountRequest) GetNickName() string { + if x != nil { + return x.NickName + } + return "" +} + +func (x *CreateMaiAccountRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +type MaiAccountResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EnglishName string `protobuf:"bytes,1,opt,name=englishName,proto3" json:"englishName,omitempty"` + MailAccount string `protobuf:"bytes,2,opt,name=mailAccount,proto3" json:"mailAccount,omitempty"` +} + +func (x *MaiAccountResponse) Reset() { + *x = MaiAccountResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MaiAccountResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MaiAccountResponse) ProtoMessage() {} + +func (x *MaiAccountResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 MaiAccountResponse.ProtoReflect.Descriptor instead. +func (*MaiAccountResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{23} +} + +func (x *MaiAccountResponse) GetEnglishName() string { + if x != nil { + return x.EnglishName + } + return "" +} + +func (x *MaiAccountResponse) GetMailAccount() string { + if x != nil { + return x.MailAccount + } + return "" +} + +type FddCreateUserRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Openid string `protobuf:"bytes,1,opt,name=openid,proto3" json:"openid,omitempty"` + WxUserId uint32 `protobuf:"varint,2,opt,name=wxUserId,proto3" json:"wxUserId,omitempty"` + //string UserId = 3; + CustomerId string `protobuf:"bytes,4,opt,name=customerId,proto3" json:"customerId,omitempty"` + IsVerify bool `protobuf:"varint,5,opt,name=isVerify,proto3" json:"isVerify,omitempty"` + TransactionNo string `protobuf:"bytes,6,opt,name=transactionNo,proto3" json:"transactionNo,omitempty"` +} + +func (x *FddCreateUserRequest) Reset() { + *x = FddCreateUserRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FddCreateUserRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FddCreateUserRequest) ProtoMessage() {} + +func (x *FddCreateUserRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 FddCreateUserRequest.ProtoReflect.Descriptor instead. +func (*FddCreateUserRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{24} +} + +func (x *FddCreateUserRequest) GetOpenid() string { + if x != nil { + return x.Openid + } + return "" +} + +func (x *FddCreateUserRequest) GetWxUserId() uint32 { + if x != nil { + return x.WxUserId + } + return 0 +} + +func (x *FddCreateUserRequest) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +func (x *FddCreateUserRequest) GetIsVerify() bool { + if x != nil { + return x.IsVerify + } + return false +} + +func (x *FddCreateUserRequest) GetTransactionNo() string { + if x != nil { + return x.TransactionNo + } + return "" +} + +type WxBoxUserInfoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Openid string `protobuf:"bytes,2,opt,name=openid,proto3" json:"openid,omitempty"` + GhId string `protobuf:"bytes,3,opt,name=ghId,proto3" json:"ghId,omitempty"` +} + +func (x *WxBoxUserInfoRequest) Reset() { + *x = WxBoxUserInfoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WxBoxUserInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WxBoxUserInfoRequest) ProtoMessage() {} + +func (x *WxBoxUserInfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 WxBoxUserInfoRequest.ProtoReflect.Descriptor instead. +func (*WxBoxUserInfoRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{25} +} + +func (x *WxBoxUserInfoRequest) GetOpenid() string { + if x != nil { + return x.Openid + } + return "" +} + +func (x *WxBoxUserInfoRequest) GetGhId() string { + if x != nil { + return x.GhId + } + return "" +} + +type WxGetOpenIdByCodeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` + State string `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` + GhId string `protobuf:"bytes,3,opt,name=ghId,proto3" json:"ghId,omitempty"` +} + +func (x *WxGetOpenIdByCodeRequest) Reset() { + *x = WxGetOpenIdByCodeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WxGetOpenIdByCodeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WxGetOpenIdByCodeRequest) ProtoMessage() {} + +func (x *WxGetOpenIdByCodeRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 WxGetOpenIdByCodeRequest.ProtoReflect.Descriptor instead. +func (*WxGetOpenIdByCodeRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{26} +} + +func (x *WxGetOpenIdByCodeRequest) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +func (x *WxGetOpenIdByCodeRequest) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *WxGetOpenIdByCodeRequest) GetGhId() string { + if x != nil { + return x.GhId + } + return "" +} + +type WxGetOpenIdByCodeResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OpenId string `protobuf:"bytes,1,opt,name=openId,proto3" json:"openId,omitempty"` +} + +func (x *WxGetOpenIdByCodeResponse) Reset() { + *x = WxGetOpenIdByCodeResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WxGetOpenIdByCodeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WxGetOpenIdByCodeResponse) ProtoMessage() {} + +func (x *WxGetOpenIdByCodeResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 WxGetOpenIdByCodeResponse.ProtoReflect.Descriptor instead. +func (*WxGetOpenIdByCodeResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{27} +} + +func (x *WxGetOpenIdByCodeResponse) GetOpenId() string { + if x != nil { + return x.OpenId + } + return "" +} + +type WxBoxTelNumByCodeResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TelNum string `protobuf:"bytes,1,opt,name=telNum,proto3" json:"telNum,omitempty"` +} + +func (x *WxBoxTelNumByCodeResponse) Reset() { + *x = WxBoxTelNumByCodeResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WxBoxTelNumByCodeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WxBoxTelNumByCodeResponse) ProtoMessage() {} + +func (x *WxBoxTelNumByCodeResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 WxBoxTelNumByCodeResponse.ProtoReflect.Descriptor instead. +func (*WxBoxTelNumByCodeResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{28} +} + +func (x *WxBoxTelNumByCodeResponse) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +type WxBoxUserInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OpenId string `protobuf:"bytes,1,opt,name=openId,proto3" json:"openId,omitempty"` + GhId string `protobuf:"bytes,2,opt,name=ghId,proto3" json:"ghId,omitempty"` + IsNew bool `protobuf:"varint,3,opt,name=isNew,proto3" json:"isNew,omitempty"` + User *UserInfo `protobuf:"bytes,4,opt,name=user,proto3" json:"user,omitempty"` + WxUserId uint32 `protobuf:"varint,5,opt,name=wxUserId,proto3" json:"wxUserId,omitempty"` + Fdd *FddInfo `protobuf:"bytes,6,opt,name=fdd,proto3" json:"fdd,omitempty"` +} + +func (x *WxBoxUserInfo) Reset() { + *x = WxBoxUserInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WxBoxUserInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WxBoxUserInfo) ProtoMessage() {} + +func (x *WxBoxUserInfo) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 WxBoxUserInfo.ProtoReflect.Descriptor instead. +func (*WxBoxUserInfo) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{29} +} + +func (x *WxBoxUserInfo) GetOpenId() string { + if x != nil { + return x.OpenId + } + return "" +} + +func (x *WxBoxUserInfo) GetGhId() string { + if x != nil { + return x.GhId + } + return "" +} + +func (x *WxBoxUserInfo) GetIsNew() bool { + if x != nil { + return x.IsNew + } + return false +} + +func (x *WxBoxUserInfo) GetUser() *UserInfo { + if x != nil { + return x.User + } + return nil +} + +func (x *WxBoxUserInfo) GetWxUserId() uint32 { + if x != nil { + return x.WxUserId + } + return 0 +} + +func (x *WxBoxUserInfo) GetFdd() *FddInfo { + if x != nil { + return x.Fdd + } + return nil +} + +type FddInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + CustomerId string `protobuf:"bytes,2,opt,name=customerId,proto3" json:"customerId,omitempty"` + IsVerify bool `protobuf:"varint,3,opt,name=isVerify,proto3" json:"isVerify,omitempty"` + TransactionNo string `protobuf:"bytes,4,opt,name=transactionNo,proto3" json:"transactionNo,omitempty"` +} + +func (x *FddInfo) Reset() { + *x = FddInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FddInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FddInfo) ProtoMessage() {} + +func (x *FddInfo) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 FddInfo.ProtoReflect.Descriptor instead. +func (*FddInfo) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{30} +} + +func (x *FddInfo) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *FddInfo) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +func (x *FddInfo) GetIsVerify() bool { + if x != nil { + return x.IsVerify + } + return false +} + +func (x *FddInfo) GetTransactionNo() string { + if x != nil { + return x.TransactionNo + } + return "" +} + +type UserInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + NickName string `protobuf:"bytes,3,opt,name=nickName,proto3" json:"nickName,omitempty"` + TelNum string `protobuf:"bytes,5,opt,name=telNum,proto3" json:"telNum,omitempty"` + Avatar string `protobuf:"bytes,7,opt,name=avatar,proto3" json:"avatar,omitempty"` + CreateAt string `protobuf:"bytes,8,opt,name=createAt,proto3" json:"createAt,omitempty"` + RealNameID uint64 `protobuf:"varint,9,opt,name=realNameID,proto3" json:"realNameID,omitempty"` + RealName string `protobuf:"bytes,10,opt,name=realName,proto3" json:"realName,omitempty"` + IDNum string `protobuf:"bytes,11,opt,name=iDNum,proto3" json:"iDNum,omitempty"` + Domain string `protobuf:"bytes,12,opt,name=domain,proto3" json:"domain,omitempty"` + RealIDImgA string `protobuf:"bytes,17,opt,name=realIDImgA,proto3" json:"realIDImgA,omitempty"` + RealIDImgB string `protobuf:"bytes,18,opt,name=realIDImgB,proto3" json:"realIDImgB,omitempty"` + RealNameIDName string `protobuf:"bytes,19,opt,name=realNameIDName,proto3" json:"realNameIDName,omitempty"` + Video string `protobuf:"bytes,20,opt,name=video,proto3" json:"video,omitempty"` +} + +func (x *UserInfo) Reset() { + *x = UserInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserInfo) ProtoMessage() {} + +func (x *UserInfo) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 UserInfo.ProtoReflect.Descriptor instead. +func (*UserInfo) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{31} +} + +func (x *UserInfo) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *UserInfo) GetNickName() string { + if x != nil { + return x.NickName + } + return "" +} + +func (x *UserInfo) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *UserInfo) GetAvatar() string { + if x != nil { + return x.Avatar + } + return "" +} + +func (x *UserInfo) GetCreateAt() string { + if x != nil { + return x.CreateAt + } + return "" +} + +func (x *UserInfo) GetRealNameID() uint64 { + if x != nil { + return x.RealNameID + } + return 0 +} + +func (x *UserInfo) GetRealName() string { + if x != nil { + return x.RealName + } + return "" +} + +func (x *UserInfo) GetIDNum() string { + if x != nil { + return x.IDNum + } + return "" +} + +func (x *UserInfo) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *UserInfo) GetRealIDImgA() string { + if x != nil { + return x.RealIDImgA + } + return "" +} + +func (x *UserInfo) GetRealIDImgB() string { + if x != nil { + return x.RealIDImgB + } + return "" +} + +func (x *UserInfo) GetRealNameIDName() string { + if x != nil { + return x.RealNameIDName + } + return "" +} + +func (x *UserInfo) GetVideo() string { + if x != nil { + return x.Video + } + return "" +} + +type CommonRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` +} + +func (x *CommonRequest) Reset() { + *x = CommonRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommonRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommonRequest) ProtoMessage() {} + +func (x *CommonRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 CommonRequest.ProtoReflect.Descriptor instead. +func (*CommonRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{32} +} + +func (x *CommonRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +type WxAppRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GhId string `protobuf:"bytes,1,opt,name=GhId,json=ID,proto3" json:"GhId,omitempty"` +} + +func (x *WxAppRequest) Reset() { + *x = WxAppRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WxAppRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WxAppRequest) ProtoMessage() {} + +func (x *WxAppRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 WxAppRequest.ProtoReflect.Descriptor instead. +func (*WxAppRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{33} +} + +func (x *WxAppRequest) GetGhId() string { + if x != nil { + return x.GhId + } + return "" +} + +type WxAppResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AppID string `protobuf:"bytes,1,opt,name=AppID,json=appID,proto3" json:"AppID,omitempty"` + AppSecret string `protobuf:"bytes,2,opt,name=AppSecret,json=appSecret,proto3" json:"AppSecret,omitempty"` +} + +func (x *WxAppResponse) Reset() { + *x = WxAppResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WxAppResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WxAppResponse) ProtoMessage() {} + +func (x *WxAppResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 WxAppResponse.ProtoReflect.Descriptor instead. +func (*WxAppResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{34} +} + +func (x *WxAppResponse) GetAppID() string { + if x != nil { + return x.AppID + } + return "" +} + +func (x *WxAppResponse) GetAppSecret() string { + if x != nil { + return x.AppSecret + } + return "" +} + +type WxUserUpdateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + WxID uint32 `protobuf:"varint,1,opt,name=wxID,json=wxId,proto3" json:"wxID,omitempty"` + UserID uint32 `protobuf:"varint,2,opt,name=userID,proto3" json:"userID,omitempty"` +} + +func (x *WxUserUpdateRequest) Reset() { + *x = WxUserUpdateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WxUserUpdateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WxUserUpdateRequest) ProtoMessage() {} + +func (x *WxUserUpdateRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[35] + 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 WxUserUpdateRequest.ProtoReflect.Descriptor instead. +func (*WxUserUpdateRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{35} +} + +func (x *WxUserUpdateRequest) GetWxID() uint32 { + if x != nil { + return x.WxID + } + return 0 +} + +func (x *WxUserUpdateRequest) GetUserID() uint32 { + if x != nil { + return x.UserID + } + return 0 +} + +type WxUserOrCreateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OpenID string `protobuf:"bytes,1,opt,name=OpenID,json=openID,proto3" json:"OpenID,omitempty"` + GhID string `protobuf:"bytes,2,opt,name=GhID,json=ghID,proto3" json:"GhID,omitempty"` +} + +func (x *WxUserOrCreateRequest) Reset() { + *x = WxUserOrCreateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WxUserOrCreateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WxUserOrCreateRequest) ProtoMessage() {} + +func (x *WxUserOrCreateRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[36] + 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 WxUserOrCreateRequest.ProtoReflect.Descriptor instead. +func (*WxUserOrCreateRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{36} +} + +func (x *WxUserOrCreateRequest) GetOpenID() string { + if x != nil { + return x.OpenID + } + return "" +} + +func (x *WxUserOrCreateRequest) GetGhID() string { + if x != nil { + return x.GhID + } + return "" +} + +type WxUserResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OpenID string `protobuf:"bytes,1,opt,name=OpenID,json=openID,proto3" json:"OpenID,omitempty"` + UserID uint32 `protobuf:"varint,2,opt,name=UserID,json=userID,proto3" json:"UserID,omitempty"` + GhID string `protobuf:"bytes,3,opt,name=GhID,json=ghID,proto3" json:"GhID,omitempty"` + RoleAuth string `protobuf:"bytes,4,opt,name=RoleAuth,json=roleAuth,proto3" json:"RoleAuth,omitempty"` + ID uint32 `protobuf:"varint,5,opt,name=ID,proto3" json:"ID,omitempty"` +} + +func (x *WxUserResponse) Reset() { + *x = WxUserResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WxUserResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WxUserResponse) ProtoMessage() {} + +func (x *WxUserResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[37] + 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 WxUserResponse.ProtoReflect.Descriptor instead. +func (*WxUserResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{37} +} + +func (x *WxUserResponse) GetOpenID() string { + if x != nil { + return x.OpenID + } + return "" +} + +func (x *WxUserResponse) GetUserID() uint32 { + if x != nil { + return x.UserID + } + return 0 +} + +func (x *WxUserResponse) GetGhID() string { + if x != nil { + return x.GhID + } + return "" +} + +func (x *WxUserResponse) GetRoleAuth() string { + if x != nil { + return x.RoleAuth + } + return "" +} + +func (x *WxUserResponse) GetID() uint32 { + if x != nil { + return x.ID + } + return 0 +} + +type LoginLogsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []*LoginLog `protobuf:"bytes,1,rep,name=Data,json=data,proto3" json:"Data,omitempty"` +} + +func (x *LoginLogsResponse) Reset() { + *x = LoginLogsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LoginLogsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoginLogsResponse) ProtoMessage() {} + +func (x *LoginLogsResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[38] + 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 LoginLogsResponse.ProtoReflect.Descriptor instead. +func (*LoginLogsResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{38} +} + +func (x *LoginLogsResponse) GetData() []*LoginLog { + if x != nil { + return x.Data + } + return nil +} + +type LoginLog struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + ID uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` + UserId uint64 `protobuf:"varint,3,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` + Ip string `protobuf:"bytes,4,opt,name=Ip,json=ip,proto3" json:"Ip,omitempty"` + Token string `protobuf:"bytes,5,opt,name=Token,json=token,proto3" json:"Token,omitempty"` + Status uint64 `protobuf:"varint,6,opt,name=Status,json=status,proto3" json:"Status,omitempty"` + ExpireDate string `protobuf:"bytes,7,opt,name=ExpireDate,json=expireDate,proto3" json:"ExpireDate,omitempty"` + LastDate string `protobuf:"bytes,8,opt,name=LastDate,json=lastDate,proto3" json:"LastDate,omitempty"` + LogoutDate string `protobuf:"bytes,9,opt,name=LogoutDate,json=logoutDate,proto3" json:"LogoutDate,omitempty"` + CreatedAt string `protobuf:"bytes,10,opt,name=CreatedAt,json=createdAt,proto3" json:"CreatedAt,omitempty"` + Address string `protobuf:"bytes,11,opt,name=Address,json=address,proto3" json:"Address,omitempty"` +} + +func (x *LoginLog) Reset() { + *x = LoginLog{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LoginLog) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoginLog) ProtoMessage() {} + +func (x *LoginLog) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 LoginLog.ProtoReflect.Descriptor instead. +func (*LoginLog) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{39} +} + +func (x *LoginLog) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *LoginLog) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *LoginLog) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *LoginLog) GetIp() string { + if x != nil { + return x.Ip + } + return "" +} + +func (x *LoginLog) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +func (x *LoginLog) GetStatus() uint64 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *LoginLog) GetExpireDate() string { + if x != nil { + return x.ExpireDate + } + return "" +} + +func (x *LoginLog) GetLastDate() string { + if x != nil { + return x.LastDate + } + return "" +} + +func (x *LoginLog) GetLogoutDate() string { + if x != nil { + return x.LogoutDate + } + return "" +} + +func (x *LoginLog) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +func (x *LoginLog) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +type OnlineLogByIdRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + ID uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` +} + +func (x *OnlineLogByIdRequest) Reset() { + *x = OnlineLogByIdRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OnlineLogByIdRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OnlineLogByIdRequest) ProtoMessage() {} + +func (x *OnlineLogByIdRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 OnlineLogByIdRequest.ProtoReflect.Descriptor instead. +func (*OnlineLogByIdRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{40} +} + +func (x *OnlineLogByIdRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *OnlineLogByIdRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +type LoginInfosByUserIdRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + UserId uint64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` +} + +func (x *LoginInfosByUserIdRequest) Reset() { + *x = LoginInfosByUserIdRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LoginInfosByUserIdRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoginInfosByUserIdRequest) ProtoMessage() {} + +func (x *LoginInfosByUserIdRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 LoginInfosByUserIdRequest.ProtoReflect.Descriptor instead. +func (*LoginInfosByUserIdRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{41} +} + +func (x *LoginInfosByUserIdRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *LoginInfosByUserIdRequest) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +type SendNewTelNumMsgRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + ID uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` + NewTelNum string `protobuf:"bytes,3,opt,name=NewTelNum,json=newTelNum,proto3" json:"NewTelNum,omitempty"` + Code string `protobuf:"bytes,4,opt,name=Code,json=code,proto3" json:"Code,omitempty"` + Project string `protobuf:"bytes,5,opt,name=Project,json=project,proto3" json:"Project,omitempty"` + SignNo uint32 `protobuf:"varint,6,opt,name=signNo,proto3" json:"signNo,omitempty"` +} + +func (x *SendNewTelNumMsgRequest) Reset() { + *x = SendNewTelNumMsgRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SendNewTelNumMsgRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendNewTelNumMsgRequest) ProtoMessage() {} + +func (x *SendNewTelNumMsgRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 SendNewTelNumMsgRequest.ProtoReflect.Descriptor instead. +func (*SendNewTelNumMsgRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{42} +} + +func (x *SendNewTelNumMsgRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *SendNewTelNumMsgRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *SendNewTelNumMsgRequest) GetNewTelNum() string { + if x != nil { + return x.NewTelNum + } + return "" +} + +func (x *SendNewTelNumMsgRequest) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +func (x *SendNewTelNumMsgRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *SendNewTelNumMsgRequest) GetSignNo() uint32 { + if x != nil { + return x.SignNo + } + return 0 +} + +type UserByTelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + Tel string `protobuf:"bytes,2,opt,name=Tel,json=tel,proto3" json:"Tel,omitempty"` +} + +func (x *UserByTelRequest) Reset() { + *x = UserByTelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserByTelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserByTelRequest) ProtoMessage() {} + +func (x *UserByTelRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 UserByTelRequest.ProtoReflect.Descriptor instead. +func (*UserByTelRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{43} +} + +func (x *UserByTelRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *UserByTelRequest) GetTel() string { + if x != nil { + return x.Tel + } + return "" +} + +type CommonResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CommonResponse) Reset() { + *x = CommonResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommonResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommonResponse) ProtoMessage() {} + +func (x *CommonResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 CommonResponse.ProtoReflect.Descriptor instead. +func (*CommonResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{44} +} + +type UsersByTelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + Tels []string `protobuf:"bytes,2,rep,name=Tels,json=tels,proto3" json:"Tels,omitempty"` +} + +func (x *UsersByTelRequest) Reset() { + *x = UsersByTelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UsersByTelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UsersByTelRequest) ProtoMessage() {} + +func (x *UsersByTelRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UsersByTelRequest.ProtoReflect.Descriptor instead. +func (*UsersByTelRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{45} +} + +func (x *UsersByTelRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *UsersByTelRequest) GetTels() []string { + if x != nil { + return x.Tels + } + return nil +} + +type ListByIDsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + IDs []uint64 `protobuf:"varint,2,rep,packed,name=IDs,proto3" json:"IDs,omitempty"` + OrderType uint64 `protobuf:"varint,3,opt,name=OrderType,proto3" json:"OrderType,omitempty"` + Page uint64 `protobuf:"varint,4,opt,name=Page,json=page,proto3" json:"Page,omitempty"` + PageSize uint64 `protobuf:"varint,5,opt,name=PageSize,json=pageSize,proto3" json:"PageSize,omitempty"` + NickName string `protobuf:"bytes,6,opt,name=NickName,json=nickName,proto3" json:"NickName,omitempty"` + InvitationCode []string `protobuf:"bytes,7,rep,name=InvitationCode,json=invitationCode,proto3" json:"InvitationCode,omitempty"` +} + +func (x *ListByIDsRequest) Reset() { + *x = ListByIDsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListByIDsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListByIDsRequest) ProtoMessage() {} + +func (x *ListByIDsRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[46] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListByIDsRequest.ProtoReflect.Descriptor instead. +func (*ListByIDsRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{46} +} + +func (x *ListByIDsRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *ListByIDsRequest) GetIDs() []uint64 { + if x != nil { + return x.IDs + } + return nil +} + +func (x *ListByIDsRequest) GetOrderType() uint64 { + if x != nil { + return x.OrderType + } + return 0 +} + +func (x *ListByIDsRequest) GetPage() uint64 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ListByIDsRequest) GetPageSize() uint64 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListByIDsRequest) GetNickName() string { + if x != nil { + return x.NickName + } + return "" +} + +func (x *ListByIDsRequest) GetInvitationCode() []string { + if x != nil { + return x.InvitationCode + } + return nil +} + +type SendMsgRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + TelNum string `protobuf:"bytes,2,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` + //string TelNum = 2 [json_name = "telNum",(validator.field) = {regex: "^1\\d{10}$",human_error: "70002"}]; + Project string `protobuf:"bytes,3,opt,name=Project,json=project,proto3" json:"Project,omitempty"` + SignNo uint32 `protobuf:"varint,4,opt,name=signNo,proto3" json:"signNo,omitempty"` + MId uint32 `protobuf:"varint,5,opt,name=mId,proto3" json:"mId,omitempty"` + Scope string `protobuf:"bytes,6,opt,name=scope,proto3" json:"scope,omitempty"` //标记模块 + Zone string `protobuf:"bytes,7,opt,name=zone,proto3" json:"zone,omitempty"` //地区 不同地区切换不同发送帐号 + NonceStr string `protobuf:"bytes,8,opt,name=nonceStr,proto3" json:"nonceStr,omitempty"` +} + +func (x *SendMsgRequest) Reset() { + *x = SendMsgRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SendMsgRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendMsgRequest) ProtoMessage() {} + +func (x *SendMsgRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 SendMsgRequest.ProtoReflect.Descriptor instead. +func (*SendMsgRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{47} +} + +func (x *SendMsgRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *SendMsgRequest) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *SendMsgRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *SendMsgRequest) GetSignNo() uint32 { + if x != nil { + return x.SignNo + } + return 0 +} + +func (x *SendMsgRequest) GetMId() uint32 { + if x != nil { + return x.MId + } + return 0 +} + +func (x *SendMsgRequest) GetScope() string { + if x != nil { + return x.Scope + } + return "" +} + +func (x *SendMsgRequest) GetZone() string { + if x != nil { + return x.Zone + } + return "" +} + +func (x *SendMsgRequest) GetNonceStr() string { + if x != nil { + return x.NonceStr + } + return "" +} + +type SendCustomMsgRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + TelNum string `protobuf:"bytes,2,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` + Project string `protobuf:"bytes,3,opt,name=Project,json=project,proto3" json:"Project,omitempty"` + Url string `protobuf:"bytes,4,opt,name=Url,proto3" json:"Url,omitempty"` + ID uint64 `protobuf:"varint,5,opt,name=ID,proto3" json:"ID,omitempty"` + MId uint64 `protobuf:"varint,6,opt,name=MId,json=mId,proto3" json:"MId,omitempty"` + Location uint64 `protobuf:"varint,7,opt,name=Location,json=location,proto3" json:"Location,omitempty"` + SigNo uint32 `protobuf:"varint,8,opt,name=SigNo,json=sigNo,proto3" json:"SigNo,omitempty"` +} + +func (x *SendCustomMsgRequest) Reset() { + *x = SendCustomMsgRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SendCustomMsgRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendCustomMsgRequest) ProtoMessage() {} + +func (x *SendCustomMsgRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 SendCustomMsgRequest.ProtoReflect.Descriptor instead. +func (*SendCustomMsgRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{48} +} + +func (x *SendCustomMsgRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *SendCustomMsgRequest) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *SendCustomMsgRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *SendCustomMsgRequest) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *SendCustomMsgRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *SendCustomMsgRequest) GetMId() uint64 { + if x != nil { + return x.MId + } + return 0 +} + +func (x *SendCustomMsgRequest) GetLocation() uint64 { + if x != nil { + return x.Location + } + return 0 +} + +func (x *SendCustomMsgRequest) GetSigNo() uint32 { + if x != nil { + return x.SigNo + } + return 0 +} + +type CheckMsgRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + TelNum string `protobuf:"bytes,2,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` + Code string `protobuf:"bytes,3,opt,name=Code,json=code,proto3" json:"Code,omitempty"` + Scope string `protobuf:"bytes,4,opt,name=scope,proto3" json:"scope,omitempty"` //标记模块 + Zone string `protobuf:"bytes,5,opt,name=zone,proto3" json:"zone,omitempty"` //地区 不同地区切换不同发送帐号 +} + +func (x *CheckMsgRequest) Reset() { + *x = CheckMsgRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CheckMsgRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckMsgRequest) ProtoMessage() {} + +func (x *CheckMsgRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 CheckMsgRequest.ProtoReflect.Descriptor instead. +func (*CheckMsgRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{49} +} + +func (x *CheckMsgRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *CheckMsgRequest) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *CheckMsgRequest) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +func (x *CheckMsgRequest) GetScope() string { + if x != nil { + return x.Scope + } + return "" +} + +func (x *CheckMsgRequest) GetZone() string { + if x != nil { + return x.Zone + } + return "" +} + +type SendMsgStatusResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *SendMsgStatusResponse) Reset() { + *x = SendMsgStatusResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SendMsgStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendMsgStatusResponse) ProtoMessage() {} + +func (x *SendMsgStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 SendMsgStatusResponse.ProtoReflect.Descriptor instead. +func (*SendMsgStatusResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{50} +} + +type RemoveRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + ID uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` + Code string `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"` +} + +func (x *RemoveRequest) Reset() { + *x = RemoveRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveRequest) ProtoMessage() {} + +func (x *RemoveRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 RemoveRequest.ProtoReflect.Descriptor instead. +func (*RemoveRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{51} +} + +func (x *RemoveRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *RemoveRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *RemoveRequest) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +type WriteOffRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` + UserId uint64 `protobuf:"varint,3,opt,name=userId,proto3" json:"userId,omitempty"` + Tel string `protobuf:"bytes,4,opt,name=tel,proto3" json:"tel,omitempty"` + JonNum string `protobuf:"bytes,5,opt,name=jonNum,proto3" json:"jonNum,omitempty"` + UserName string `protobuf:"bytes,6,opt,name=userName,proto3" json:"userName,omitempty"` + EnterDate string `protobuf:"bytes,7,opt,name=enterDate,proto3" json:"enterDate,omitempty"` + PositionName string `protobuf:"bytes,8,opt,name=positionName,proto3" json:"positionName,omitempty"` + PositionId uint64 `protobuf:"varint,9,opt,name=positionId,proto3" json:"positionId,omitempty"` + SiteName string `protobuf:"bytes,10,opt,name=siteName,proto3" json:"siteName,omitempty"` + SiteId uint64 `protobuf:"varint,11,opt,name=siteId,proto3" json:"siteId,omitempty"` + AuthUrl string `protobuf:"bytes,12,opt,name=authUrl,proto3" json:"authUrl,omitempty"` + Type string `protobuf:"bytes,13,opt,name=type,proto3" json:"type,omitempty"` + Status uint32 `protobuf:"varint,14,opt,name=status,proto3" json:"status,omitempty"` + SubmitDate string `protobuf:"bytes,15,opt,name=submitDate,proto3" json:"submitDate,omitempty"` +} + +func (x *WriteOffRequest) Reset() { + *x = WriteOffRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteOffRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteOffRequest) ProtoMessage() {} + +func (x *WriteOffRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_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 WriteOffRequest.ProtoReflect.Descriptor instead. +func (*WriteOffRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{52} +} + +func (x *WriteOffRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *WriteOffRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *WriteOffRequest) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *WriteOffRequest) GetTel() string { + if x != nil { + return x.Tel + } + return "" +} + +func (x *WriteOffRequest) GetJonNum() string { + if x != nil { + return x.JonNum + } + return "" +} + +func (x *WriteOffRequest) GetUserName() string { + if x != nil { + return x.UserName + } + return "" +} + +func (x *WriteOffRequest) GetEnterDate() string { + if x != nil { + return x.EnterDate + } + return "" +} + +func (x *WriteOffRequest) GetPositionName() string { + if x != nil { + return x.PositionName + } + return "" +} + +func (x *WriteOffRequest) GetPositionId() uint64 { + if x != nil { + return x.PositionId + } + return 0 +} + +func (x *WriteOffRequest) GetSiteName() string { + if x != nil { + return x.SiteName + } + return "" +} + +func (x *WriteOffRequest) GetSiteId() uint64 { + if x != nil { + return x.SiteId + } + return 0 +} + +func (x *WriteOffRequest) GetAuthUrl() string { + if x != nil { + return x.AuthUrl + } + return "" +} + +func (x *WriteOffRequest) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *WriteOffRequest) GetStatus() uint32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *WriteOffRequest) GetSubmitDate() string { + if x != nil { + return x.SubmitDate + } + return "" +} + +type WriteOffListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Page uint64 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"` + PageSize uint64 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize,omitempty"` + Domain string `protobuf:"bytes,3,opt,name=domain,proto3" json:"domain,omitempty"` + UserName string `protobuf:"bytes,4,opt,name=userName,proto3" json:"userName,omitempty"` + UserId uint64 `protobuf:"varint,5,opt,name=userId,proto3" json:"userId,omitempty"` + SiteId uint64 `protobuf:"varint,6,opt,name=siteId,proto3" json:"siteId,omitempty"` + Type string `protobuf:"bytes,7,opt,name=type,proto3" json:"type,omitempty"` + Status uint32 `protobuf:"varint,8,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *WriteOffListRequest) Reset() { + *x = WriteOffListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteOffListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteOffListRequest) ProtoMessage() {} + +func (x *WriteOffListRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[53] + 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 WriteOffListRequest.ProtoReflect.Descriptor instead. +func (*WriteOffListRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{53} +} + +func (x *WriteOffListRequest) GetPage() uint64 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *WriteOffListRequest) GetPageSize() uint64 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *WriteOffListRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *WriteOffListRequest) GetUserName() string { + if x != nil { + return x.UserName + } + return "" +} + +func (x *WriteOffListRequest) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *WriteOffListRequest) GetSiteId() uint64 { + if x != nil { + return x.SiteId + } + return 0 +} + +func (x *WriteOffListRequest) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *WriteOffListRequest) GetStatus() uint32 { + if x != nil { + return x.Status + } + return 0 +} + +type WriteOffApproveRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Status uint32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *WriteOffApproveRequest) Reset() { + *x = WriteOffApproveRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteOffApproveRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteOffApproveRequest) ProtoMessage() {} + +func (x *WriteOffApproveRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[54] + 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 WriteOffApproveRequest.ProtoReflect.Descriptor instead. +func (*WriteOffApproveRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{54} +} + +func (x *WriteOffApproveRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *WriteOffApproveRequest) GetStatus() uint32 { + if x != nil { + return x.Status + } + return 0 +} + +type WriteOffListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"` + WriteOffList []*WriteOffRequest `protobuf:"bytes,2,rep,name=writeOffList,proto3" json:"writeOffList,omitempty"` +} + +func (x *WriteOffListResponse) Reset() { + *x = WriteOffListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteOffListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteOffListResponse) ProtoMessage() {} + +func (x *WriteOffListResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[55] + 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 WriteOffListResponse.ProtoReflect.Descriptor instead. +func (*WriteOffListResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{55} +} + +func (x *WriteOffListResponse) GetTotal() int64 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *WriteOffListResponse) GetWriteOffList() []*WriteOffRequest { + if x != nil { + return x.WriteOffList + } + return nil +} + +type RemoveResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RemoveResponse) Reset() { + *x = RemoveResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveResponse) ProtoMessage() {} + +func (x *RemoveResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[56] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveResponse.ProtoReflect.Descriptor instead. +func (*RemoveResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{56} +} + +type UpdateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` //ID + Domain string `protobuf:"bytes,2,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + Language string `protobuf:"bytes,3,opt,name=Language,json=language,proto3" json:"Language,omitempty"` + NickName string `protobuf:"bytes,4,opt,name=NickName,json=nickName,proto3" json:"NickName,omitempty"` +} + +func (x *UpdateRequest) Reset() { + *x = UpdateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateRequest) ProtoMessage() {} + +func (x *UpdateRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[57] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateRequest.ProtoReflect.Descriptor instead. +func (*UpdateRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{57} +} + +func (x *UpdateRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *UpdateRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *UpdateRequest) GetLanguage() string { + if x != nil { + return x.Language + } + return "" +} + +func (x *UpdateRequest) GetNickName() string { + if x != nil { + return x.NickName + } + return "" +} + +type Operator struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` +} + +func (x *Operator) Reset() { + *x = Operator{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Operator) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Operator) ProtoMessage() {} + +func (x *Operator) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[58] + 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 Operator.ProtoReflect.Descriptor instead. +func (*Operator) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{58} +} + +func (x *Operator) GetID() uint32 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *Operator) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type TrainVideo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TrainUUID string `protobuf:"bytes,1,opt,name=trainUUID,proto3" json:"trainUUID,omitempty"` + TrainDesc string `protobuf:"bytes,2,opt,name=trainDesc,proto3" json:"trainDesc,omitempty"` + Video string `protobuf:"bytes,3,opt,name=video,proto3" json:"video,omitempty"` + SecurityCode string `protobuf:"bytes,31,opt,name=SecurityCode,json=securityCode,proto3" json:"SecurityCode,omitempty"` +} + +func (x *TrainVideo) Reset() { + *x = TrainVideo{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TrainVideo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TrainVideo) ProtoMessage() {} + +func (x *TrainVideo) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[59] + 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 TrainVideo.ProtoReflect.Descriptor instead. +func (*TrainVideo) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{59} +} + +func (x *TrainVideo) GetTrainUUID() string { + if x != nil { + return x.TrainUUID + } + return "" +} + +func (x *TrainVideo) GetTrainDesc() string { + if x != nil { + return x.TrainDesc + } + return "" +} + +func (x *TrainVideo) GetVideo() string { + if x != nil { + return x.Video + } + return "" +} + +func (x *TrainVideo) GetSecurityCode() string { + if x != nil { + return x.SecurityCode + } + return "" +} + +type UpdateResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UpdateResponse) Reset() { + *x = UpdateResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateResponse) ProtoMessage() {} + +func (x *UpdateResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[60] + 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 UpdateResponse.ProtoReflect.Descriptor instead. +func (*UpdateResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{60} +} + +type PrivacyInfoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` //ID + Domain string `protobuf:"bytes,2,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + SecurityCode string `protobuf:"bytes,3,opt,name=SecurityCode,json=securityCode,proto3" json:"SecurityCode,omitempty"` +} + +func (x *PrivacyInfoRequest) Reset() { + *x = PrivacyInfoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PrivacyInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrivacyInfoRequest) ProtoMessage() {} + +func (x *PrivacyInfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[61] + 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 PrivacyInfoRequest.ProtoReflect.Descriptor instead. +func (*PrivacyInfoRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{61} +} + +func (x *PrivacyInfoRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *PrivacyInfoRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *PrivacyInfoRequest) GetSecurityCode() string { + if x != nil { + return x.SecurityCode + } + return "" +} + +type ListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + PageSize uint64 `protobuf:"varint,2,opt,name=PageSize,json=pageSize,proto3" json:"PageSize,omitempty"` + Page uint64 `protobuf:"varint,3,opt,name=Page,json=page,proto3" json:"Page,omitempty"` + Key string `protobuf:"bytes,4,opt,name=key,proto3" json:"key,omitempty"` + Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` + TelNum string `protobuf:"bytes,6,opt,name=telNum,proto3" json:"telNum,omitempty"` + StartEnterDate string `protobuf:"bytes,7,opt,name=startEnterDate,proto3" json:"startEnterDate,omitempty"` + EndEnterDate string `protobuf:"bytes,8,opt,name=endEnterDate,proto3" json:"endEnterDate,omitempty"` +} + +func (x *ListRequest) Reset() { + *x = ListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListRequest) ProtoMessage() {} + +func (x *ListRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[62] + 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 ListRequest.ProtoReflect.Descriptor instead. +func (*ListRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{62} +} + +func (x *ListRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *ListRequest) GetPageSize() uint64 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListRequest) GetPage() uint64 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ListRequest) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *ListRequest) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ListRequest) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *ListRequest) GetStartEnterDate() string { + if x != nil { + return x.StartEnterDate + } + return "" +} + +func (x *ListRequest) GetEndEnterDate() string { + if x != nil { + return x.EndEnterDate + } + return "" +} + +type ListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=Status,json=status,proto3" json:"Status,omitempty"` + Count uint64 `protobuf:"varint,2,opt,name=Count,json=count,proto3" json:"Count,omitempty"` + Data []*AccountInfo `protobuf:"bytes,3,rep,name=Data,json=data,proto3" json:"Data,omitempty"` + AllCount uint64 `protobuf:"varint,4,opt,name=AllCount,json=allCount,proto3" json:"AllCount,omitempty"` +} + +func (x *ListResponse) Reset() { + *x = ListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListResponse) ProtoMessage() {} + +func (x *ListResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[63] + 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 ListResponse.ProtoReflect.Descriptor instead. +func (*ListResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{63} +} + +func (x *ListResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ListResponse) GetCount() uint64 { + if x != nil { + return x.Count + } + return 0 +} + +func (x *ListResponse) GetData() []*AccountInfo { + if x != nil { + return x.Data + } + return nil +} + +func (x *ListResponse) GetAllCount() uint64 { + if x != nil { + return x.AllCount + } + return 0 +} + +type InfoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + ID uint64 `protobuf:"varint,2,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + Scene string `protobuf:"bytes,3,opt,name=scene,proto3" json:"scene,omitempty"` //场景值 base-默认仅仅user数据 +} + +func (x *InfoRequest) Reset() { + *x = InfoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InfoRequest) ProtoMessage() {} + +func (x *InfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[64] + 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 InfoRequest.ProtoReflect.Descriptor instead. +func (*InfoRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{64} +} + +func (x *InfoRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *InfoRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *InfoRequest) GetScene() string { + if x != nil { + return x.Scene + } + return "" +} + +type InfoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=Status,json=status,proto3" json:"Status,omitempty"` + Info *AccountInfo `protobuf:"bytes,2,opt,name=Info,json=accountInfo,proto3" json:"Info,omitempty"` + IsExist bool `protobuf:"varint,3,opt,name=IsExist,json=isExist,proto3" json:"IsExist,omitempty"` +} + +func (x *InfoResponse) Reset() { + *x = InfoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InfoResponse) ProtoMessage() {} + +func (x *InfoResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[65] + 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 InfoResponse.ProtoReflect.Descriptor instead. +func (*InfoResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{65} +} + +func (x *InfoResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *InfoResponse) GetInfo() *AccountInfo { + if x != nil { + return x.Info + } + return nil +} + +func (x *InfoResponse) GetIsExist() bool { + if x != nil { + return x.IsExist + } + return false +} + +type DecryptJwtResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=status,proto3" json:"Domain,omitempty"` + ID uint64 `protobuf:"varint,2,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + Account string `protobuf:"bytes,3,opt,name=Account,json=account,proto3" json:"Account,omitempty"` + NickName string `protobuf:"bytes,4,opt,name=NickName,json=nickName,proto3" json:"NickName,omitempty"` + IsOffline bool `protobuf:"varint,5,opt,name=IsOffline,json=isOffline,proto3" json:"IsOffline,omitempty"` +} + +func (x *DecryptJwtResponse) Reset() { + *x = DecryptJwtResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DecryptJwtResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DecryptJwtResponse) ProtoMessage() {} + +func (x *DecryptJwtResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[66] + 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 DecryptJwtResponse.ProtoReflect.Descriptor instead. +func (*DecryptJwtResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{66} +} + +func (x *DecryptJwtResponse) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *DecryptJwtResponse) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *DecryptJwtResponse) GetAccount() string { + if x != nil { + return x.Account + } + return "" +} + +func (x *DecryptJwtResponse) GetNickName() string { + if x != nil { + return x.NickName + } + return "" +} + +func (x *DecryptJwtResponse) GetIsOffline() bool { + if x != nil { + return x.IsOffline + } + return false +} + +type DecryptJwtRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + Domain string `protobuf:"bytes,2,opt,name=Domain,proto3" json:"Domain,omitempty"` +} + +func (x *DecryptJwtRequest) Reset() { + *x = DecryptJwtRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DecryptJwtRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DecryptJwtRequest) ProtoMessage() {} + +func (x *DecryptJwtRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[67] + 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 DecryptJwtRequest.ProtoReflect.Descriptor instead. +func (*DecryptJwtRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{67} +} + +func (x *DecryptJwtRequest) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +func (x *DecryptJwtRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +type CheckPwdRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Token string `protobuf:"bytes,1,opt,name=Token,json=token,proto3" json:"Token,omitempty"` + Password string `protobuf:"bytes,2,opt,name=Password,json=password,proto3" json:"Password,omitempty"` +} + +func (x *CheckPwdRequest) Reset() { + *x = CheckPwdRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CheckPwdRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckPwdRequest) ProtoMessage() {} + +func (x *CheckPwdRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[68] + 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 CheckPwdRequest.ProtoReflect.Descriptor instead. +func (*CheckPwdRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{68} +} + +func (x *CheckPwdRequest) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +func (x *CheckPwdRequest) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +type AuthenticationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=Name,json=name,proto3" json:"Name,omitempty"` + IDNum string `protobuf:"bytes,2,opt,name=IDNum,json=idNum,proto3" json:"IDNum,omitempty"` + Token string `protobuf:"bytes,3,opt,name=Token,json=token,proto3" json:"Token,omitempty"` +} + +func (x *AuthenticationRequest) Reset() { + *x = AuthenticationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AuthenticationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuthenticationRequest) ProtoMessage() {} + +func (x *AuthenticationRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[69] + 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 AuthenticationRequest.ProtoReflect.Descriptor instead. +func (*AuthenticationRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{69} +} + +func (x *AuthenticationRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *AuthenticationRequest) GetIDNum() string { + if x != nil { + return x.IDNum + } + return "" +} + +func (x *AuthenticationRequest) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +type RequestStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=Status,json=status,proto3" json:"Status,omitempty"` + ID uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` + IsExist bool `protobuf:"varint,3,opt,name=isExist,proto3" json:"isExist,omitempty"` +} + +func (x *RequestStatus) Reset() { + *x = RequestStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RequestStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequestStatus) ProtoMessage() {} + +func (x *RequestStatus) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[70] + 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 RequestStatus.ProtoReflect.Descriptor instead. +func (*RequestStatus) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{70} +} + +func (x *RequestStatus) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *RequestStatus) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *RequestStatus) GetIsExist() bool { + if x != nil { + return x.IsExist + } + return false +} + +type RegistRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + TelNum string `protobuf:"bytes,2,opt,name=telNum,proto3" json:"telNum,omitempty"` + Code string `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"` + Address string `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"` + TelAreaCode string `protobuf:"bytes,5,opt,name=telAreaCode,proto3" json:"telAreaCode,omitempty"` + Language string `protobuf:"bytes,6,opt,name=language,proto3" json:"language,omitempty"` + NickName string `protobuf:"bytes,7,opt,name=nickName,proto3" json:"nickName,omitempty"` +} + +func (x *RegistRequest) Reset() { + *x = RegistRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RegistRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegistRequest) ProtoMessage() {} + +func (x *RegistRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[71] + 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 RegistRequest.ProtoReflect.Descriptor instead. +func (*RegistRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{71} +} + +func (x *RegistRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *RegistRequest) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *RegistRequest) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +func (x *RegistRequest) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *RegistRequest) GetTelAreaCode() string { + if x != nil { + return x.TelAreaCode + } + return "" +} + +func (x *RegistRequest) GetLanguage() string { + if x != nil { + return x.Language + } + return "" +} + +func (x *RegistRequest) GetNickName() string { + if x != nil { + return x.NickName + } + return "" +} + +type LoginRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + TelNum string `protobuf:"bytes,2,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` + Code string `protobuf:"bytes,3,opt,name=Code,json=code,proto3" json:"Code,omitempty"` + Password string `protobuf:"bytes,4,opt,name=Password,json=password,proto3" json:"Password,omitempty"` + Ip string `protobuf:"bytes,5,opt,name=Ip,json=ip,proto3" json:"Ip,omitempty"` + PassCheckIp bool `protobuf:"varint,6,opt,name=passCheckIp,proto3" json:"passCheckIp,omitempty"` + TelAreaCode string `protobuf:"bytes,7,opt,name=telAreaCode,proto3" json:"telAreaCode,omitempty"` +} + +func (x *LoginRequest) Reset() { + *x = LoginRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LoginRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoginRequest) ProtoMessage() {} + +func (x *LoginRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[72] + 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 LoginRequest.ProtoReflect.Descriptor instead. +func (*LoginRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{72} +} + +func (x *LoginRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *LoginRequest) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *LoginRequest) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +func (x *LoginRequest) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +func (x *LoginRequest) GetIp() string { + if x != nil { + return x.Ip + } + return "" +} + +func (x *LoginRequest) GetPassCheckIp() bool { + if x != nil { + return x.PassCheckIp + } + return false +} + +func (x *LoginRequest) GetTelAreaCode() string { + if x != nil { + return x.TelAreaCode + } + return "" +} + +type TokenInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AccountInfo *AccountInfo `protobuf:"bytes,1,opt,name=AccountInfo,json=accountInfo,proto3" json:"AccountInfo,omitempty"` + Token string `protobuf:"bytes,2,opt,name=Token,json=token,proto3" json:"Token,omitempty"` + RefreshToken string `protobuf:"bytes,4,opt,name=RefreshToken,json=refresh,proto3" json:"RefreshToken,omitempty"` + IsSampleAddress bool `protobuf:"varint,3,opt,name=IsSampleAddress,json=isSampleAddress,proto3" json:"IsSampleAddress,omitempty"` + NowAddress string `protobuf:"bytes,5,opt,name=nowAddress,proto3" json:"nowAddress,omitempty"` +} + +func (x *TokenInfo) Reset() { + *x = TokenInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TokenInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TokenInfo) ProtoMessage() {} + +func (x *TokenInfo) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[73] + 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 TokenInfo.ProtoReflect.Descriptor instead. +func (*TokenInfo) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{73} +} + +func (x *TokenInfo) GetAccountInfo() *AccountInfo { + if x != nil { + return x.AccountInfo + } + return nil +} + +func (x *TokenInfo) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +func (x *TokenInfo) GetRefreshToken() string { + if x != nil { + return x.RefreshToken + } + return "" +} + +func (x *TokenInfo) GetIsSampleAddress() bool { + if x != nil { + return x.IsSampleAddress + } + return false +} + +func (x *TokenInfo) GetNowAddress() string { + if x != nil { + return x.NowAddress + } + return "" +} + +type Extend struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + JumpTo string `protobuf:"bytes,1,opt,name=JumpTo,json=jumpTo,proto3" json:"JumpTo,omitempty"` + Lang string `protobuf:"bytes,2,opt,name=Lang,json=lang,proto3" json:"Lang,omitempty"` + CanScan bool `protobuf:"varint,3,opt,name=CanScan,json=canScan,proto3" json:"CanScan,omitempty"` + ResolutionRatio bool `protobuf:"varint,4,opt,name=ResolutionRatio,json=resolutionRatio,proto3" json:"ResolutionRatio,omitempty"` +} + +func (x *Extend) Reset() { + *x = Extend{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Extend) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Extend) ProtoMessage() {} + +func (x *Extend) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[74] + 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 Extend.ProtoReflect.Descriptor instead. +func (*Extend) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{74} +} + +func (x *Extend) GetJumpTo() string { + if x != nil { + return x.JumpTo + } + return "" +} + +func (x *Extend) GetLang() string { + if x != nil { + return x.Lang + } + return "" +} + +func (x *Extend) GetCanScan() bool { + if x != nil { + return x.CanScan + } + return false +} + +func (x *Extend) GetResolutionRatio() bool { + if x != nil { + return x.ResolutionRatio + } + return false +} + +type Department struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Name string `protobuf:"bytes,2,opt,name=Name,json=name,proto3" json:"Name,omitempty"` +} + +func (x *Department) Reset() { + *x = Department{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Department) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Department) ProtoMessage() {} + +func (x *Department) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[75] + 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 Department.ProtoReflect.Descriptor instead. +func (*Department) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{75} +} + +func (x *Department) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *Department) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// The response message containing the greetings +type AccountInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + Account string `protobuf:"bytes,2,opt,name=Account,json=account,proto3" json:"Account,omitempty"` + NickName string `protobuf:"bytes,3,opt,name=NickName,json=nickName,proto3" json:"NickName,omitempty"` + Type int64 `protobuf:"varint,4,opt,name=Type,json=type,proto3" json:"Type,omitempty"` + TelNum string `protobuf:"bytes,5,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` + Status int32 `protobuf:"varint,6,opt,name=Status,json=status,proto3" json:"Status,omitempty"` + Avatar string `protobuf:"bytes,7,opt,name=Avatar,json=avatar,proto3" json:"Avatar,omitempty"` + CreateAt string `protobuf:"bytes,8,opt,name=CreateAt,json=createAt,proto3" json:"CreateAt,omitempty"` + RealNameID uint64 `protobuf:"varint,9,opt,name=RealNameID,json=realNameID,proto3" json:"RealNameID,omitempty"` + RealName string `protobuf:"bytes,10,opt,name=RealName,json=realName,proto3" json:"RealName,omitempty"` + IDNum string `protobuf:"bytes,11,opt,name=IDNum,json=iDNum,proto3" json:"IDNum,omitempty"` + MnemonicWords string `protobuf:"bytes,12,opt,name=MnemonicWords,json=mnemonicWords,proto3" json:"MnemonicWords,omitempty"` + IsNeedChange uint64 `protobuf:"varint,13,opt,name=IsNeedChange,json=isNeedChange,proto3" json:"IsNeedChange,omitempty"` + EnterDate string `protobuf:"bytes,14,opt,name=EnterDate,json=enterDate,proto3" json:"EnterDate,omitempty"` + WorkYear float32 `protobuf:"fixed32,15,opt,name=WorkYear,json=workYear,proto3" json:"WorkYear,omitempty"` + Domain string `protobuf:"bytes,16,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + Extend *Extend `protobuf:"bytes,17,opt,name=Extend,json=extend,proto3" json:"Extend,omitempty"` + JobNum string `protobuf:"bytes,18,opt,name=JobNum,json=jobNum,proto3" json:"JobNum,omitempty"` + BirthDate string `protobuf:"bytes,19,opt,name=BirthDate,json=birth_date,proto3" json:"BirthDate,omitempty"` + Age uint64 `protobuf:"varint,20,opt,name=Age,json=age,proto3" json:"Age,omitempty"` + Sex string `protobuf:"bytes,21,opt,name=Sex,json=sex,proto3" json:"Sex,omitempty"` + Title string `protobuf:"bytes,22,opt,name=Title,json=title,proto3" json:"Title,omitempty"` + Departments []*Department `protobuf:"bytes,23,rep,name=Departments,json=departments,proto3" json:"Departments,omitempty"` + Ip string `protobuf:"bytes,24,opt,name=Ip,json=ip,proto3" json:"Ip,omitempty"` + LoginDate string `protobuf:"bytes,25,opt,name=LoginDate,json=loginDate,proto3" json:"LoginDate,omitempty"` + InvitationCode string `protobuf:"bytes,26,opt,name=InvitationCode,json=invitationCode,proto3" json:"InvitationCode,omitempty"` + NowLogId uint64 `protobuf:"varint,27,opt,name=NowLogId,json=nowLogId,proto3" json:"NowLogId,omitempty"` + CanScan bool `protobuf:"varint,28,opt,name=CanScan,json=canScan,proto3" json:"CanScan,omitempty"` + LeftDate string `protobuf:"bytes,29,opt,name=LeftDate,json=leftDate,proto3" json:"LeftDate,omitempty"` + Positions []*PositionUser `protobuf:"bytes,30,rep,name=Positions,json=positions,proto3" json:"Positions,omitempty"` + Remark string `protobuf:"bytes,31,opt,name=Remark,json=remark,proto3" json:"Remark,omitempty"` + RecentImg string `protobuf:"bytes,32,opt,name=recentImg,proto3" json:"recentImg,omitempty"` + Clocks []*ClockUser `protobuf:"bytes,33,rep,name=clocks,proto3" json:"clocks,omitempty"` + MailAccount string `protobuf:"bytes,34,opt,name=mailAccount,proto3" json:"mailAccount,omitempty"` + ICNum string `protobuf:"bytes,35,opt,name=ICNum,json=icNum,proto3" json:"ICNum,omitempty"` + EnglishName string `protobuf:"bytes,36,opt,name=englishName,proto3" json:"englishName,omitempty"` + Train string `protobuf:"bytes,37,opt,name=Train,json=train,proto3" json:"Train,omitempty"` + Certificate string `protobuf:"bytes,38,opt,name=Certificate,json=certificate,proto3" json:"Certificate,omitempty"` + TrainVideos []*TrainVideo `protobuf:"bytes,39,rep,name=TrainVideos,json=trainVideos,proto3" json:"TrainVideos,omitempty"` + Operator *Operator `protobuf:"bytes,40,opt,name=operator,proto3" json:"operator,omitempty"` + UpdatedAt string `protobuf:"bytes,41,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` + SecurityCode string `protobuf:"bytes,42,opt,name=SecurityCode,json=securityCode,proto3" json:"SecurityCode,omitempty"` + BlockAddr string `protobuf:"bytes,43,opt,name=BlockAddr,json=blockAddr,proto3" json:"BlockAddr,omitempty"` +} + +func (x *AccountInfo) Reset() { + *x = AccountInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccountInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountInfo) ProtoMessage() {} + +func (x *AccountInfo) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[76] + 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 AccountInfo.ProtoReflect.Descriptor instead. +func (*AccountInfo) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{76} +} + +func (x *AccountInfo) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *AccountInfo) GetAccount() string { + if x != nil { + return x.Account + } + return "" +} + +func (x *AccountInfo) GetNickName() string { + if x != nil { + return x.NickName + } + return "" +} + +func (x *AccountInfo) GetType() int64 { + if x != nil { + return x.Type + } + return 0 +} + +func (x *AccountInfo) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *AccountInfo) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *AccountInfo) GetAvatar() string { + if x != nil { + return x.Avatar + } + return "" +} + +func (x *AccountInfo) GetCreateAt() string { + if x != nil { + return x.CreateAt + } + return "" +} + +func (x *AccountInfo) GetRealNameID() uint64 { + if x != nil { + return x.RealNameID + } + return 0 +} + +func (x *AccountInfo) GetRealName() string { + if x != nil { + return x.RealName + } + return "" +} + +func (x *AccountInfo) GetIDNum() string { + if x != nil { + return x.IDNum + } + return "" +} + +func (x *AccountInfo) GetMnemonicWords() string { + if x != nil { + return x.MnemonicWords + } + return "" +} + +func (x *AccountInfo) GetIsNeedChange() uint64 { + if x != nil { + return x.IsNeedChange + } + return 0 +} + +func (x *AccountInfo) GetEnterDate() string { + if x != nil { + return x.EnterDate + } + return "" +} + +func (x *AccountInfo) GetWorkYear() float32 { + if x != nil { + return x.WorkYear + } + return 0 +} + +func (x *AccountInfo) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *AccountInfo) GetExtend() *Extend { + if x != nil { + return x.Extend + } + return nil +} + +func (x *AccountInfo) GetJobNum() string { + if x != nil { + return x.JobNum + } + return "" +} + +func (x *AccountInfo) GetBirthDate() string { + if x != nil { + return x.BirthDate + } + return "" +} + +func (x *AccountInfo) GetAge() uint64 { + if x != nil { + return x.Age + } + return 0 +} + +func (x *AccountInfo) GetSex() string { + if x != nil { + return x.Sex + } + return "" +} + +func (x *AccountInfo) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *AccountInfo) GetDepartments() []*Department { + if x != nil { + return x.Departments + } + return nil +} + +func (x *AccountInfo) GetIp() string { + if x != nil { + return x.Ip + } + return "" +} + +func (x *AccountInfo) GetLoginDate() string { + if x != nil { + return x.LoginDate + } + return "" +} + +func (x *AccountInfo) GetInvitationCode() string { + if x != nil { + return x.InvitationCode + } + return "" +} + +func (x *AccountInfo) GetNowLogId() uint64 { + if x != nil { + return x.NowLogId + } + return 0 +} + +func (x *AccountInfo) GetCanScan() bool { + if x != nil { + return x.CanScan + } + return false +} + +func (x *AccountInfo) GetLeftDate() string { + if x != nil { + return x.LeftDate + } + return "" +} + +func (x *AccountInfo) GetPositions() []*PositionUser { + if x != nil { + return x.Positions + } + return nil +} + +func (x *AccountInfo) GetRemark() string { + if x != nil { + return x.Remark + } + return "" +} + +func (x *AccountInfo) GetRecentImg() string { + if x != nil { + return x.RecentImg + } + return "" +} + +func (x *AccountInfo) GetClocks() []*ClockUser { + if x != nil { + return x.Clocks + } + return nil +} + +func (x *AccountInfo) GetMailAccount() string { + if x != nil { + return x.MailAccount + } + return "" +} + +func (x *AccountInfo) GetICNum() string { + if x != nil { + return x.ICNum + } + return "" +} + +func (x *AccountInfo) GetEnglishName() string { + if x != nil { + return x.EnglishName + } + return "" +} + +func (x *AccountInfo) GetTrain() string { + if x != nil { + return x.Train + } + return "" +} + +func (x *AccountInfo) GetCertificate() string { + if x != nil { + return x.Certificate + } + return "" +} + +func (x *AccountInfo) GetTrainVideos() []*TrainVideo { + if x != nil { + return x.TrainVideos + } + return nil +} + +func (x *AccountInfo) GetOperator() *Operator { + if x != nil { + return x.Operator + } + return nil +} + +func (x *AccountInfo) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +func (x *AccountInfo) GetSecurityCode() string { + if x != nil { + return x.SecurityCode + } + return "" +} + +func (x *AccountInfo) GetBlockAddr() string { + if x != nil { + return x.BlockAddr + } + return "" +} + +type UserInfoV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Account string `protobuf:"bytes,2,opt,name=Account,proto3" json:"Account,omitempty"` + NickName string `protobuf:"bytes,3,opt,name=NickName,proto3" json:"NickName,omitempty"` + TelNum string `protobuf:"bytes,4,opt,name=TelNum,proto3" json:"TelNum,omitempty"` + Status string `protobuf:"bytes,5,opt,name=Status,proto3" json:"Status,omitempty"` + Avatar string `protobuf:"bytes,6,opt,name=Avatar,proto3" json:"Avatar,omitempty"` + CreateAt string `protobuf:"bytes,7,opt,name=CreateAt,proto3" json:"CreateAt,omitempty"` + RealName string `protobuf:"bytes,8,opt,name=RealName,proto3" json:"RealName,omitempty"` + IDNum string `protobuf:"bytes,9,opt,name=IDNum,proto3" json:"IDNum,omitempty"` + EnterDate string `protobuf:"bytes,10,opt,name=EnterDate,proto3" json:"EnterDate,omitempty"` + Extend *Extend `protobuf:"bytes,11,opt,name=Extend,proto3" json:"Extend,omitempty"` + JobNum string `protobuf:"bytes,12,opt,name=JobNum,proto3" json:"JobNum,omitempty"` + RecentImg string `protobuf:"bytes,13,opt,name=recentImg,proto3" json:"recentImg,omitempty"` + MailAccount string `protobuf:"bytes,14,opt,name=mailAccount,proto3" json:"mailAccount,omitempty"` + Operator *Operator `protobuf:"bytes,15,opt,name=operator,proto3" json:"operator,omitempty"` + UpdatedAt string `protobuf:"bytes,16,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` +} + +func (x *UserInfoV2) Reset() { + *x = UserInfoV2{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserInfoV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserInfoV2) ProtoMessage() {} + +func (x *UserInfoV2) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[77] + 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 UserInfoV2.ProtoReflect.Descriptor instead. +func (*UserInfoV2) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{77} +} + +func (x *UserInfoV2) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *UserInfoV2) GetAccount() string { + if x != nil { + return x.Account + } + return "" +} + +func (x *UserInfoV2) GetNickName() string { + if x != nil { + return x.NickName + } + return "" +} + +func (x *UserInfoV2) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *UserInfoV2) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *UserInfoV2) GetAvatar() string { + if x != nil { + return x.Avatar + } + return "" +} + +func (x *UserInfoV2) GetCreateAt() string { + if x != nil { + return x.CreateAt + } + return "" +} + +func (x *UserInfoV2) GetRealName() string { + if x != nil { + return x.RealName + } + return "" +} + +func (x *UserInfoV2) GetIDNum() string { + if x != nil { + return x.IDNum + } + return "" +} + +func (x *UserInfoV2) GetEnterDate() string { + if x != nil { + return x.EnterDate + } + return "" +} + +func (x *UserInfoV2) GetExtend() *Extend { + if x != nil { + return x.Extend + } + return nil +} + +func (x *UserInfoV2) GetJobNum() string { + if x != nil { + return x.JobNum + } + return "" +} + +func (x *UserInfoV2) GetRecentImg() string { + if x != nil { + return x.RecentImg + } + return "" +} + +func (x *UserInfoV2) GetMailAccount() string { + if x != nil { + return x.MailAccount + } + return "" +} + +func (x *UserInfoV2) GetOperator() *Operator { + if x != nil { + return x.Operator + } + return nil +} + +func (x *UserInfoV2) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +type RefreshTokenRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RefreshToken string `protobuf:"bytes,1,opt,name=refreshToken,proto3" json:"refreshToken,omitempty"` + Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` + Ip string `protobuf:"bytes,3,opt,name=ip,proto3" json:"ip,omitempty"` +} + +func (x *RefreshTokenRequest) Reset() { + *x = RefreshTokenRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RefreshTokenRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RefreshTokenRequest) ProtoMessage() {} + +func (x *RefreshTokenRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[78] + 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 RefreshTokenRequest.ProtoReflect.Descriptor instead. +func (*RefreshTokenRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{78} +} + +func (x *RefreshTokenRequest) GetRefreshToken() string { + if x != nil { + return x.RefreshToken + } + return "" +} + +func (x *RefreshTokenRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *RefreshTokenRequest) GetIp() string { + if x != nil { + return x.Ip + } + return "" +} + +type PositionUser struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PositionID uint64 `protobuf:"varint,1,opt,name=PositionID,json=positionID,proto3" json:"PositionID,omitempty"` + PositionName string `protobuf:"bytes,2,opt,name=PositionName,json=positionName,proto3" json:"PositionName,omitempty"` + DepartmentId uint64 `protobuf:"varint,3,opt,name=DepartmentId,json=departmentId,proto3" json:"DepartmentId,omitempty"` + DepartmentCode string `protobuf:"bytes,4,opt,name=DepartmentCode,json=departmentCode,proto3" json:"DepartmentCode,omitempty"` + DepartmentName string `protobuf:"bytes,5,opt,name=DepartmentName,json=departmentName,proto3" json:"DepartmentName,omitempty"` + UserId uint64 `protobuf:"varint,6,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` + UserName string `protobuf:"bytes,7,opt,name=UserName,json=userName,proto3" json:"UserName,omitempty"` +} + +func (x *PositionUser) Reset() { + *x = PositionUser{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PositionUser) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PositionUser) ProtoMessage() {} + +func (x *PositionUser) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[79] + 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 PositionUser.ProtoReflect.Descriptor instead. +func (*PositionUser) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{79} +} + +func (x *PositionUser) GetPositionID() uint64 { + if x != nil { + return x.PositionID + } + return 0 +} + +func (x *PositionUser) GetPositionName() string { + if x != nil { + return x.PositionName + } + return "" +} + +func (x *PositionUser) GetDepartmentId() uint64 { + if x != nil { + return x.DepartmentId + } + return 0 +} + +func (x *PositionUser) GetDepartmentCode() string { + if x != nil { + return x.DepartmentCode + } + return "" +} + +func (x *PositionUser) GetDepartmentName() string { + if x != nil { + return x.DepartmentName + } + return "" +} + +func (x *PositionUser) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *PositionUser) GetUserName() string { + if x != nil { + return x.UserName + } + return "" +} + +type JobNumGetInfoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + JobNum string `protobuf:"bytes,1,opt,name=jobNum,proto3" json:"jobNum,omitempty"` + Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` +} + +func (x *JobNumGetInfoRequest) Reset() { + *x = JobNumGetInfoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JobNumGetInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JobNumGetInfoRequest) ProtoMessage() {} + +func (x *JobNumGetInfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[80] + 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 JobNumGetInfoRequest.ProtoReflect.Descriptor instead. +func (*JobNumGetInfoRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{80} +} + +func (x *JobNumGetInfoRequest) GetJobNum() string { + if x != nil { + return x.JobNum + } + return "" +} + +func (x *JobNumGetInfoRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +type CreateClockDeviceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DeviceNum string `protobuf:"bytes,1,opt,name=deviceNum,proto3" json:"deviceNum,omitempty"` + DeviceName string `protobuf:"bytes,2,opt,name=deviceName,proto3" json:"deviceName,omitempty"` + DeviceSite string `protobuf:"bytes,3,opt,name=deviceSite,proto3" json:"deviceSite,omitempty"` +} + +func (x *CreateClockDeviceRequest) Reset() { + *x = CreateClockDeviceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateClockDeviceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateClockDeviceRequest) ProtoMessage() {} + +func (x *CreateClockDeviceRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[81] + 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 CreateClockDeviceRequest.ProtoReflect.Descriptor instead. +func (*CreateClockDeviceRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{81} +} + +func (x *CreateClockDeviceRequest) GetDeviceNum() string { + if x != nil { + return x.DeviceNum + } + return "" +} + +func (x *CreateClockDeviceRequest) GetDeviceName() string { + if x != nil { + return x.DeviceName + } + return "" +} + +func (x *CreateClockDeviceRequest) GetDeviceSite() string { + if x != nil { + return x.DeviceSite + } + return "" +} + +type UpdateClockDeviceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + DeviceNum string `protobuf:"bytes,2,opt,name=deviceNum,proto3" json:"deviceNum,omitempty"` + DeviceName string `protobuf:"bytes,3,opt,name=deviceName,proto3" json:"deviceName,omitempty"` + DeviceSite string `protobuf:"bytes,4,opt,name=deviceSite,proto3" json:"deviceSite,omitempty"` +} + +func (x *UpdateClockDeviceRequest) Reset() { + *x = UpdateClockDeviceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateClockDeviceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateClockDeviceRequest) ProtoMessage() {} + +func (x *UpdateClockDeviceRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[82] + 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 UpdateClockDeviceRequest.ProtoReflect.Descriptor instead. +func (*UpdateClockDeviceRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{82} +} + +func (x *UpdateClockDeviceRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *UpdateClockDeviceRequest) GetDeviceNum() string { + if x != nil { + return x.DeviceNum + } + return "" +} + +func (x *UpdateClockDeviceRequest) GetDeviceName() string { + if x != nil { + return x.DeviceName + } + return "" +} + +func (x *UpdateClockDeviceRequest) GetDeviceSite() string { + if x != nil { + return x.DeviceSite + } + return "" +} + +type ClockDeviceResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *ClockDeviceResponse) Reset() { + *x = ClockDeviceResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockDeviceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockDeviceResponse) ProtoMessage() {} + +func (x *ClockDeviceResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[83] + 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 ClockDeviceResponse.ProtoReflect.Descriptor instead. +func (*ClockDeviceResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{83} +} + +func (x *ClockDeviceResponse) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +type RemoveClockDeviceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *RemoveClockDeviceRequest) Reset() { + *x = RemoveClockDeviceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveClockDeviceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveClockDeviceRequest) ProtoMessage() {} + +func (x *RemoveClockDeviceRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[84] + 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 RemoveClockDeviceRequest.ProtoReflect.Descriptor instead. +func (*RemoveClockDeviceRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{84} +} + +func (x *RemoveClockDeviceRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +type ClockDeviceListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + DeviceSite string `protobuf:"bytes,2,opt,name=deviceSite,proto3" json:"deviceSite,omitempty"` + DeviceNum string `protobuf:"bytes,3,opt,name=deviceNum,proto3" json:"deviceNum,omitempty"` + DeviceName string `protobuf:"bytes,4,opt,name=deviceName,proto3" json:"deviceName,omitempty"` + Page uint64 `protobuf:"varint,5,opt,name=page,proto3" json:"page,omitempty"` + PageSize uint64 `protobuf:"varint,6,opt,name=pageSize,proto3" json:"pageSize,omitempty"` + Ids []uint64 `protobuf:"varint,7,rep,packed,name=ids,proto3" json:"ids,omitempty"` +} + +func (x *ClockDeviceListRequest) Reset() { + *x = ClockDeviceListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockDeviceListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockDeviceListRequest) ProtoMessage() {} + +func (x *ClockDeviceListRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[85] + 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 ClockDeviceListRequest.ProtoReflect.Descriptor instead. +func (*ClockDeviceListRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{85} +} + +func (x *ClockDeviceListRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ClockDeviceListRequest) GetDeviceSite() string { + if x != nil { + return x.DeviceSite + } + return "" +} + +func (x *ClockDeviceListRequest) GetDeviceNum() string { + if x != nil { + return x.DeviceNum + } + return "" +} + +func (x *ClockDeviceListRequest) GetDeviceName() string { + if x != nil { + return x.DeviceName + } + return "" +} + +func (x *ClockDeviceListRequest) GetPage() uint64 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ClockDeviceListRequest) GetPageSize() uint64 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ClockDeviceListRequest) GetIds() []uint64 { + if x != nil { + return x.Ids + } + return nil +} + +type ClockDeviceListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Count uint64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` + Data []*ClockDeviceInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` +} + +func (x *ClockDeviceListResponse) Reset() { + *x = ClockDeviceListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[86] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockDeviceListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockDeviceListResponse) ProtoMessage() {} + +func (x *ClockDeviceListResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[86] + 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 ClockDeviceListResponse.ProtoReflect.Descriptor instead. +func (*ClockDeviceListResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{86} +} + +func (x *ClockDeviceListResponse) GetCount() uint64 { + if x != nil { + return x.Count + } + return 0 +} + +func (x *ClockDeviceListResponse) GetData() []*ClockDeviceInfo { + if x != nil { + return x.Data + } + return nil +} + +type ClockUser struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + CreatedAt string `protobuf:"bytes,2,opt,name=createdAt,proto3" json:"createdAt,omitempty"` + UpdatedAt string `protobuf:"bytes,3,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` + DeletedAt string `protobuf:"bytes,4,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"` + DeviceID uint64 `protobuf:"varint,5,opt,name=deviceID,proto3" json:"deviceID,omitempty"` + UserId uint64 `protobuf:"varint,6,opt,name=userId,proto3" json:"userId,omitempty"` + Status uint64 `protobuf:"varint,7,opt,name=status,proto3" json:"status,omitempty"` + Device *ClockDeviceInfo `protobuf:"bytes,8,opt,name=device,proto3" json:"device,omitempty"` +} + +func (x *ClockUser) Reset() { + *x = ClockUser{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockUser) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockUser) ProtoMessage() {} + +func (x *ClockUser) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[87] + 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 ClockUser.ProtoReflect.Descriptor instead. +func (*ClockUser) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{87} +} + +func (x *ClockUser) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ClockUser) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +func (x *ClockUser) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +func (x *ClockUser) GetDeletedAt() string { + if x != nil { + return x.DeletedAt + } + return "" +} + +func (x *ClockUser) GetDeviceID() uint64 { + if x != nil { + return x.DeviceID + } + return 0 +} + +func (x *ClockUser) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *ClockUser) GetStatus() uint64 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *ClockUser) GetDevice() *ClockDeviceInfo { + if x != nil { + return x.Device + } + return nil +} + +type ClockDeviceInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + CreateAt string `protobuf:"bytes,2,opt,name=createAt,proto3" json:"createAt,omitempty"` + UpdateAt string `protobuf:"bytes,3,opt,name=updateAt,proto3" json:"updateAt,omitempty"` + DeviceSite string `protobuf:"bytes,4,opt,name=deviceSite,proto3" json:"deviceSite,omitempty"` + DeviceNum string `protobuf:"bytes,5,opt,name=deviceNum,proto3" json:"deviceNum,omitempty"` + DeviceName string `protobuf:"bytes,6,opt,name=deviceName,proto3" json:"deviceName,omitempty"` + UserNum uint64 `protobuf:"varint,7,opt,name=userNum,proto3" json:"userNum,omitempty"` + Data []*ClockUserRel `protobuf:"bytes,8,rep,name=data,proto3" json:"data,omitempty"` +} + +func (x *ClockDeviceInfo) Reset() { + *x = ClockDeviceInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockDeviceInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockDeviceInfo) ProtoMessage() {} + +func (x *ClockDeviceInfo) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[88] + 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 ClockDeviceInfo.ProtoReflect.Descriptor instead. +func (*ClockDeviceInfo) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{88} +} + +func (x *ClockDeviceInfo) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ClockDeviceInfo) GetCreateAt() string { + if x != nil { + return x.CreateAt + } + return "" +} + +func (x *ClockDeviceInfo) GetUpdateAt() string { + if x != nil { + return x.UpdateAt + } + return "" +} + +func (x *ClockDeviceInfo) GetDeviceSite() string { + if x != nil { + return x.DeviceSite + } + return "" +} + +func (x *ClockDeviceInfo) GetDeviceNum() string { + if x != nil { + return x.DeviceNum + } + return "" +} + +func (x *ClockDeviceInfo) GetDeviceName() string { + if x != nil { + return x.DeviceName + } + return "" +} + +func (x *ClockDeviceInfo) GetUserNum() uint64 { + if x != nil { + return x.UserNum + } + return 0 +} + +func (x *ClockDeviceInfo) GetData() []*ClockUserRel { + if x != nil { + return x.Data + } + return nil +} + +type ClockDeviceInfoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Count uint64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` + Data []*ClockUserRel `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` +} + +func (x *ClockDeviceInfoResponse) Reset() { + *x = ClockDeviceInfoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockDeviceInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockDeviceInfoResponse) ProtoMessage() {} + +func (x *ClockDeviceInfoResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[89] + 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 ClockDeviceInfoResponse.ProtoReflect.Descriptor instead. +func (*ClockDeviceInfoResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{89} +} + +func (x *ClockDeviceInfoResponse) GetCount() uint64 { + if x != nil { + return x.Count + } + return 0 +} + +func (x *ClockDeviceInfoResponse) GetData() []*ClockUserRel { + if x != nil { + return x.Data + } + return nil +} + +type ClockUserRel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + CreateAt string `protobuf:"bytes,2,opt,name=createAt,proto3" json:"createAt,omitempty"` + UpdateAt string `protobuf:"bytes,3,opt,name=updateAt,proto3" json:"updateAt,omitempty"` + NickName string `protobuf:"bytes,4,opt,name=nickName,proto3" json:"nickName,omitempty"` + JobNum string `protobuf:"bytes,5,opt,name=jobNum,proto3" json:"jobNum,omitempty"` + IcNum string `protobuf:"bytes,6,opt,name=icNum,proto3" json:"icNum,omitempty"` +} + +func (x *ClockUserRel) Reset() { + *x = ClockUserRel{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[90] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockUserRel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockUserRel) ProtoMessage() {} + +func (x *ClockUserRel) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[90] + 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 ClockUserRel.ProtoReflect.Descriptor instead. +func (*ClockUserRel) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{90} +} + +func (x *ClockUserRel) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ClockUserRel) GetCreateAt() string { + if x != nil { + return x.CreateAt + } + return "" +} + +func (x *ClockUserRel) GetUpdateAt() string { + if x != nil { + return x.UpdateAt + } + return "" +} + +func (x *ClockUserRel) GetNickName() string { + if x != nil { + return x.NickName + } + return "" +} + +func (x *ClockUserRel) GetJobNum() string { + if x != nil { + return x.JobNum + } + return "" +} + +func (x *ClockUserRel) GetIcNum() string { + if x != nil { + return x.IcNum + } + return "" +} + +type ClockDeviceInfoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Page uint64 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"` + PageSize uint64 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` +} + +func (x *ClockDeviceInfoRequest) Reset() { + *x = ClockDeviceInfoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[91] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockDeviceInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockDeviceInfoRequest) ProtoMessage() {} + +func (x *ClockDeviceInfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[91] + 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 ClockDeviceInfoRequest.ProtoReflect.Descriptor instead. +func (*ClockDeviceInfoRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{91} +} + +func (x *ClockDeviceInfoRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ClockDeviceInfoRequest) GetPage() uint64 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ClockDeviceInfoRequest) GetPageSize() uint64 { + if x != nil { + return x.PageSize + } + return 0 +} + +type ClockBatchBindRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + UserId []uint64 `protobuf:"varint,2,rep,packed,name=userId,proto3" json:"userId,omitempty"` + DeviceId []uint64 `protobuf:"varint,3,rep,packed,name=deviceId,proto3" json:"deviceId,omitempty"` +} + +func (x *ClockBatchBindRequest) Reset() { + *x = ClockBatchBindRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[92] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockBatchBindRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockBatchBindRequest) ProtoMessage() {} + +func (x *ClockBatchBindRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[92] + 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 ClockBatchBindRequest.ProtoReflect.Descriptor instead. +func (*ClockBatchBindRequest) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{92} +} + +func (x *ClockBatchBindRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ClockBatchBindRequest) GetUserId() []uint64 { + if x != nil { + return x.UserId + } + return nil +} + +func (x *ClockBatchBindRequest) GetDeviceId() []uint64 { + if x != nil { + return x.DeviceId + } + return nil +} + +type ClockBatchListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []*ClockUserDeviceBatch `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"` +} + +func (x *ClockBatchListResponse) Reset() { + *x = ClockBatchListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockBatchListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockBatchListResponse) ProtoMessage() {} + +func (x *ClockBatchListResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[93] + 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 ClockBatchListResponse.ProtoReflect.Descriptor instead. +func (*ClockBatchListResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{93} +} + +func (x *ClockBatchListResponse) GetData() []*ClockUserDeviceBatch { + if x != nil { + return x.Data + } + return nil +} + +type ClockUserDeviceBatch struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UserId uint64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` + DeviceId uint64 `protobuf:"varint,2,opt,name=deviceId,proto3" json:"deviceId,omitempty"` + JobNum string `protobuf:"bytes,3,opt,name=JobNum,proto3" json:"JobNum,omitempty"` + DeviceNum string `protobuf:"bytes,4,opt,name=deviceNum,proto3" json:"deviceNum,omitempty"` + DeviceName string `protobuf:"bytes,5,opt,name=deviceName,proto3" json:"deviceName,omitempty"` + WorkStatus string `protobuf:"bytes,6,opt,name=workStatus,proto3" json:"workStatus,omitempty"` +} + +func (x *ClockUserDeviceBatch) Reset() { + *x = ClockUserDeviceBatch{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockUserDeviceBatch) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockUserDeviceBatch) ProtoMessage() {} + +func (x *ClockUserDeviceBatch) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[94] + 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 ClockUserDeviceBatch.ProtoReflect.Descriptor instead. +func (*ClockUserDeviceBatch) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{94} +} + +func (x *ClockUserDeviceBatch) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *ClockUserDeviceBatch) GetDeviceId() uint64 { + if x != nil { + return x.DeviceId + } + return 0 +} + +func (x *ClockUserDeviceBatch) GetJobNum() string { + if x != nil { + return x.JobNum + } + return "" +} + +func (x *ClockUserDeviceBatch) GetDeviceNum() string { + if x != nil { + return x.DeviceNum + } + return "" +} + +func (x *ClockUserDeviceBatch) GetDeviceName() string { + if x != nil { + return x.DeviceName + } + return "" +} + +func (x *ClockUserDeviceBatch) GetWorkStatus() string { + if x != nil { + return x.WorkStatus + } + return "" +} + +type ClockLogInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Sn string `protobuf:"bytes,2,opt,name=sn,proto3" json:"sn,omitempty"` + UserId string `protobuf:"bytes,3,opt,name=userId,proto3" json:"userId,omitempty"` + RecogType string `protobuf:"bytes,4,opt,name=recogType,proto3" json:"recogType,omitempty"` + RecogTime string `protobuf:"bytes,5,opt,name=recogTime,proto3" json:"recogTime,omitempty"` + Gender float32 `protobuf:"fixed32,6,opt,name=gender,proto3" json:"gender,omitempty"` + Photo string `protobuf:"bytes,7,opt,name=photo,proto3" json:"photo,omitempty"` + PassStatus float32 `protobuf:"fixed32,8,opt,name=passStatus,proto3" json:"passStatus,omitempty"` + UserName string `protobuf:"bytes,9,opt,name=userName,proto3" json:"userName,omitempty"` + UserType float32 `protobuf:"fixed32,10,opt,name=userType,proto3" json:"userType,omitempty"` + Confidence string `protobuf:"bytes,11,opt,name=confidence,proto3" json:"confidence,omitempty"` + Reflectivity float32 `protobuf:"fixed32,12,opt,name=reflectivity,proto3" json:"reflectivity,omitempty"` + CardNumber string `protobuf:"bytes,13,opt,name=cardNumber,proto3" json:"cardNumber,omitempty"` + PassWord string `protobuf:"bytes,14,opt,name=passWord,proto3" json:"passWord,omitempty"` + QrCode string `protobuf:"bytes,15,opt,name=qrCode,proto3" json:"qrCode,omitempty"` + Tel string `protobuf:"bytes,16,opt,name=tel,proto3" json:"tel,omitempty"` + ReasonVisit string `protobuf:"bytes,17,opt,name=reasonVisit,proto3" json:"reasonVisit,omitempty"` + ReceiverTel string `protobuf:"bytes,18,opt,name=receiverTel,proto3" json:"receiverTel,omitempty"` + NumOfPeople uint64 `protobuf:"varint,19,opt,name=numOfPeople,proto3" json:"numOfPeople,omitempty"` +} + +func (x *ClockLogInfo) Reset() { + *x = ClockLogInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockLogInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockLogInfo) ProtoMessage() {} + +func (x *ClockLogInfo) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[95] + 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 ClockLogInfo.ProtoReflect.Descriptor instead. +func (*ClockLogInfo) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{95} +} + +func (x *ClockLogInfo) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ClockLogInfo) GetSn() string { + if x != nil { + return x.Sn + } + return "" +} + +func (x *ClockLogInfo) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *ClockLogInfo) GetRecogType() string { + if x != nil { + return x.RecogType + } + return "" +} + +func (x *ClockLogInfo) GetRecogTime() string { + if x != nil { + return x.RecogTime + } + return "" +} + +func (x *ClockLogInfo) GetGender() float32 { + if x != nil { + return x.Gender + } + return 0 +} + +func (x *ClockLogInfo) GetPhoto() string { + if x != nil { + return x.Photo + } + return "" +} + +func (x *ClockLogInfo) GetPassStatus() float32 { + if x != nil { + return x.PassStatus + } + return 0 +} + +func (x *ClockLogInfo) GetUserName() string { + if x != nil { + return x.UserName + } + return "" +} + +func (x *ClockLogInfo) GetUserType() float32 { + if x != nil { + return x.UserType + } + return 0 +} + +func (x *ClockLogInfo) GetConfidence() string { + if x != nil { + return x.Confidence + } + return "" +} + +func (x *ClockLogInfo) GetReflectivity() float32 { + if x != nil { + return x.Reflectivity + } + return 0 +} + +func (x *ClockLogInfo) GetCardNumber() string { + if x != nil { + return x.CardNumber + } + return "" +} + +func (x *ClockLogInfo) GetPassWord() string { + if x != nil { + return x.PassWord + } + return "" +} + +func (x *ClockLogInfo) GetQrCode() string { + if x != nil { + return x.QrCode + } + return "" +} + +func (x *ClockLogInfo) GetTel() string { + if x != nil { + return x.Tel + } + return "" +} + +func (x *ClockLogInfo) GetReasonVisit() string { + if x != nil { + return x.ReasonVisit + } + return "" +} + +func (x *ClockLogInfo) GetReceiverTel() string { + if x != nil { + return x.ReceiverTel + } + return "" +} + +func (x *ClockLogInfo) GetNumOfPeople() uint64 { + if x != nil { + return x.NumOfPeople + } + return 0 +} + +type ClockLogReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Page uint64 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"` + PageSize uint64 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` + UserName string `protobuf:"bytes,4,opt,name=userName,proto3" json:"userName,omitempty"` + RecogType string `protobuf:"bytes,5,opt,name=recogType,proto3" json:"recogType,omitempty"` + DeviceNum string `protobuf:"bytes,6,opt,name=deviceNum,proto3" json:"deviceNum,omitempty"` + RecogDate string `protobuf:"bytes,7,opt,name=recogDate,proto3" json:"recogDate,omitempty"` + UserId uint64 `protobuf:"varint,8,opt,name=userId,proto3" json:"userId,omitempty"` +} + +func (x *ClockLogReq) Reset() { + *x = ClockLogReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockLogReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockLogReq) ProtoMessage() {} + +func (x *ClockLogReq) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[96] + 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 ClockLogReq.ProtoReflect.Descriptor instead. +func (*ClockLogReq) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{96} +} + +func (x *ClockLogReq) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ClockLogReq) GetPage() uint64 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ClockLogReq) GetPageSize() uint64 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ClockLogReq) GetUserName() string { + if x != nil { + return x.UserName + } + return "" +} + +func (x *ClockLogReq) GetRecogType() string { + if x != nil { + return x.RecogType + } + return "" +} + +func (x *ClockLogReq) GetDeviceNum() string { + if x != nil { + return x.DeviceNum + } + return "" +} + +func (x *ClockLogReq) GetRecogDate() string { + if x != nil { + return x.RecogDate + } + return "" +} + +func (x *ClockLogReq) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +type ClockLogListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []*ClockLogInfo `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"` + Count uint64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` +} + +func (x *ClockLogListResponse) Reset() { + *x = ClockLogListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockLogListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockLogListResponse) ProtoMessage() {} + +func (x *ClockLogListResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_accountFiee_accountFiee_proto_msgTypes[97] + 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 ClockLogListResponse.ProtoReflect.Descriptor instead. +func (*ClockLogListResponse) Descriptor() ([]byte, []int) { + return file_api_accountFiee_accountFiee_proto_rawDescGZIP(), []int{97} +} + +func (x *ClockLogListResponse) GetData() []*ClockLogInfo { + if x != nil { + return x.Data + } + return nil +} + +func (x *ClockLogListResponse) GetCount() uint64 { + if x != nil { + return x.Count + } + return 0 +} + +var File_api_accountFiee_accountFiee_proto protoreflect.FileDescriptor + +var file_api_accountFiee_accountFiee_proto_rawDesc = []byte{ + 0x0a, 0x21, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, + 0x65, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, + 0x1a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x77, 0x69, + 0x74, 0x6b, 0x6f, 0x77, 0x2f, 0x67, 0x6f, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2d, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x40, 0x76, 0x30, 0x2e, 0x33, 0x2e, 0x32, 0x2f, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0x37, 0x0a, 0x19, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x22, 0x50, 0x0a, 0x1a, 0x56, 0x65, 0x72, 0x69, + 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, + 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, + 0x74, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xbe, 0x01, 0x0a, 0x14, 0x53, + 0x65, 0x6e, 0x64, 0x4e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, + 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x06, 0x54, 0x65, + 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, + 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, + 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x69, 0x67, + 0x6e, 0x4e, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x03, 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x39, 0x0a, 0x1b, 0x56, + 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, + 0x68, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, + 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, + 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x22, 0x50, 0x0a, 0x1a, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, + 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, + 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x58, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x58, 0x22, 0xbb, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, + 0x68, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, + 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, + 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, + 0x53, 0x72, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x6e, 0x76, 0x61, + 0x73, 0x53, 0x72, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x72, 0x63, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x72, 0x63, + 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x59, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x59, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x61, 0x63, 0x65, + 0x59, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x66, 0x61, 0x63, 0x65, 0x59, 0x12, 0x16, + 0x0a, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x58, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x58, 0x22, 0xde, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x6e, 0x76, 0x61, + 0x73, 0x57, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x63, 0x61, + 0x6e, 0x76, 0x61, 0x73, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x61, 0x6e, + 0x76, 0x61, 0x73, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0c, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1e, 0x0a, + 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x69, 0x64, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x20, 0x0a, + 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, + 0x20, 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x61, 0x64, 0x69, 0x75, + 0x73, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x05, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x22, 0x3f, 0x0a, 0x15, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x62, 0x0a, 0x14, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, + 0x70, 0x61, 0x73, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, + 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x6f, + 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x22, 0x8f, 0x01, 0x0a, + 0x10, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4c, + 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x82, + 0x05, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 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, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, + 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x20, 0x0a, + 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, + 0x22, 0x0a, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x12, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x69, 0x63, 0x74, + 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x12, + 0x2a, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x4f, 0x66, 0x52, 0x65, 0x73, 0x69, 0x64, 0x65, + 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x63, 0x65, + 0x4f, 0x66, 0x52, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x61, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x72, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x64, 0x69, 0x74, + 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, + 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, + 0x0e, 0x6e, 0x6f, 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, + 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, + 0x0b, 0x74, 0x65, 0x6c, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x11, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x6c, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x73, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, + 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, + 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, + 0x61, 0x6d, 0x65, 0x22, 0x83, 0x02, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x61, 0x6c, 0x4e, + 0x61, 0x6d, 0x65, 0x4f, 0x72, 0x4e, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, + 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4f, 0x72, 0x4e, 0x6f, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x73, 0x65, 0x78, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x75, + 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xb2, 0x04, 0x0a, 0x10, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 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, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, + 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x22, + 0x0a, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, + 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, + 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x12, 0x2a, + 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x4f, 0x66, 0x52, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, + 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x4f, + 0x66, 0x52, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, + 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x4e, + 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x6d, + 0x61, 0x72, 0x6b, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x50, + 0x61, 0x73, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x2a, + 0x0a, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x62, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, + 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, + 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, + 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x22, 0x3a, + 0x0a, 0x10, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xc5, 0x02, 0x0a, 0x0f, 0x52, + 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x73, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, + 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x6f, + 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x4f, + 0x66, 0x52, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x4f, 0x66, 0x52, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, + 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x68, 0x6f, 0x74, 0x6f, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x68, 0x6f, + 0x74, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, + 0x6e, 0x74, 0x22, 0x50, 0x0a, 0x10, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, + 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x46, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x4a, + 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x22, 0x6c, 0x0a, 0x24, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x6e, 0x65, 0x6c, 0x57, 0x69, + 0x74, 0x68, 0x54, 0x68, 0x65, 0x53, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x53, 0x0a, 0x25, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x6e, 0x65, 0x6c, 0x57, 0x69, 0x74, 0x68, + 0x54, 0x68, 0x65, 0x53, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, + 0xcc, 0x04, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x25, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, + 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, + 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, + 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, + 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, + 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, + 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x4e, + 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x45, 0x6e, 0x74, + 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, + 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, + 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, + 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, + 0x10, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x61, + 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0d, 0x52, + 0x0d, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x22, 0xe4, + 0x01, 0x0a, 0x18, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x57, 0x65, + 0x63, 0x68, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, + 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x68, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x67, 0x68, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x14, 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, + 0x6c, 0x6f, 0x67, 0x49, 0x64, 0x22, 0x82, 0x01, 0x0a, 0x1c, 0x4d, 0x61, 0x69, 0x6c, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x79, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, + 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2b, 0x0a, + 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0f, 0xe2, 0xdf, 0x1f, 0x0b, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x35, 0x58, 0x01, 0x78, 0x14, + 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x5d, 0x0a, 0x17, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x69, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x58, 0x0a, 0x12, 0x4d, 0x61, 0x69, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x22, 0xac, 0x01, 0x0a, 0x14, 0x46, 0x64, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, + 0x65, 0x6e, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x77, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x24, 0x0a, 0x0d, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x4e, 0x6f, 0x22, 0x42, 0x0a, 0x14, 0x57, 0x78, 0x42, 0x6f, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, + 0x65, 0x6e, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, + 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x68, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x67, 0x68, 0x49, 0x64, 0x22, 0x58, 0x0a, 0x18, 0x57, 0x78, 0x47, 0x65, 0x74, 0x4f, + 0x70, 0x65, 0x6e, 0x49, 0x64, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x67, 0x68, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x68, 0x49, 0x64, + 0x22, 0x33, 0x0a, 0x19, 0x57, 0x78, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x42, + 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, + 0x70, 0x65, 0x6e, 0x49, 0x64, 0x22, 0x33, 0x0a, 0x19, 0x57, 0x78, 0x42, 0x6f, 0x78, 0x54, 0x65, + 0x6c, 0x4e, 0x75, 0x6d, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x22, 0xc0, 0x01, 0x0a, 0x0d, 0x57, + 0x78, 0x42, 0x6f, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, + 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, + 0x65, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x68, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x67, 0x68, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x4e, 0x65, + 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x12, 0x29, + 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x78, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x77, 0x78, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x03, 0x66, 0x64, 0x64, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, + 0x2e, 0x46, 0x64, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x03, 0x66, 0x64, 0x64, 0x22, 0x7b, 0x0a, + 0x07, 0x46, 0x64, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x56, 0x65, + 0x72, 0x69, 0x66, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x56, 0x65, + 0x72, 0x69, 0x66, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x22, 0xea, 0x02, 0x0a, 0x08, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x61, + 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, + 0x74, 0x61, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, + 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x12, + 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, + 0x44, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x44, 0x4e, 0x75, + 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x61, + 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, 0x41, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, + 0x65, 0x61, 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, 0x41, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x61, + 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, 0x42, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, + 0x65, 0x61, 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, 0x42, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x61, + 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x22, 0x1f, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x22, 0x20, 0x0a, 0x0c, 0x57, 0x78, 0x41, 0x70, + 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x04, 0x47, 0x68, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x44, 0x22, 0x43, 0x0a, 0x0d, 0x57, 0x78, + 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x41, + 0x70, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, + 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x70, 0x70, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x70, 0x70, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, + 0x5b, 0x0a, 0x13, 0x57, 0x78, 0x55, 0x73, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x77, 0x78, 0x49, 0x44, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x42, 0x18, 0xe2, 0xdf, 0x1f, 0x14, 0x2a, 0x10, 0xe7, 0xbc, 0xba, 0xe5, + 0xb0, 0x91, 0xe5, 0x8f, 0x82, 0xe6, 0x95, 0xb0, 0x77, 0x78, 0x49, 0x44, 0x58, 0x01, 0x52, 0x04, + 0x77, 0x78, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x73, 0x0a, 0x15, + 0x57, 0x78, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x06, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x14, 0xe2, 0xdf, 0x1f, 0x10, 0x2a, 0x0c, 0xe7, 0xbc, 0xba, + 0xe5, 0xb0, 0x91, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x58, 0x01, 0x52, 0x06, 0x6f, 0x70, 0x65, + 0x6e, 0x49, 0x44, 0x12, 0x2c, 0x0a, 0x04, 0x47, 0x68, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x18, 0xe2, 0xdf, 0x1f, 0x14, 0x2a, 0x10, 0xe7, 0xbc, 0xba, 0xe5, 0xb0, 0x91, 0xe5, + 0x8f, 0x82, 0xe6, 0x95, 0xb0, 0x67, 0x68, 0x69, 0x64, 0x58, 0x01, 0x52, 0x04, 0x67, 0x68, 0x49, + 0x44, 0x22, 0x80, 0x01, 0x0a, 0x0e, 0x57, 0x78, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, + 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x73, + 0x65, 0x72, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x47, 0x68, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x67, 0x68, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, 0x6c, 0x65, + 0x41, 0x75, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, + 0x41, 0x75, 0x74, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x02, 0x49, 0x44, 0x22, 0x3e, 0x0a, 0x11, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4c, 0x6f, 0x67, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x04, 0x44, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x52, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x22, 0x9c, 0x02, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4c, 0x6f, + 0x67, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x70, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x1e, 0x0a, 0x0a, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x4c, 0x61, 0x73, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, + 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x22, 0x3e, 0x0a, 0x14, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4c, 0x6f, 0x67, + 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x44, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x02, 0x49, 0x44, 0x22, 0x4b, 0x0a, 0x19, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, + 0x73, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x22, 0xca, 0x01, 0x0a, 0x17, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x65, 0x77, 0x54, 0x65, 0x6c, 0x4e, + 0x75, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, + 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x12, 0x24, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, + 0x14, 0xe2, 0xdf, 0x1f, 0x10, 0x2a, 0x0c, 0xe7, 0xbc, 0xba, 0xe5, 0xb0, 0x91, 0xe5, 0x8f, 0x82, + 0xe6, 0x95, 0xb0, 0x58, 0x01, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x65, 0x77, + 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, + 0x77, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x22, 0x4b, 0x0a, + 0x10, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x54, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, + 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x65, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x65, 0x6c, 0x22, 0x10, 0x0a, 0x0e, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x0a, 0x11, + 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x54, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, + 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x65, 0x6c, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x6c, 0x73, 0x22, 0xdd, 0x01, 0x0a, + 0x10, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, + 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x49, 0x44, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x03, 0x49, 0x44, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, + 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xd9, 0x01, 0x0a, + 0x0e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x18, + 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, + 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, + 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, + 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x22, 0xed, 0x01, 0x0a, 0x14, 0x53, 0x65, 0x6e, + 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, + 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2e, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, + 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x16, 0xe2, 0xdf, 0x1f, 0x12, 0x0a, 0x09, + 0x5e, 0x31, 0x5c, 0x64, 0x7b, 0x31, 0x30, 0x7d, 0x24, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x32, + 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x55, 0x72, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x02, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x03, 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x69, 0x67, 0x4e, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x05, 0x73, 0x69, 0x67, 0x4e, 0x6f, 0x22, 0x9d, 0x01, 0x0a, 0x0f, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, + 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x21, 0x0a, 0x04, 0x43, + 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, + 0x05, 0x37, 0x30, 0x30, 0x30, 0x33, 0x58, 0x01, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, + 0x63, 0x6f, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x53, 0x65, 0x6e, 0x64, + 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x69, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, + 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x02, 0x49, 0x44, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x10, 0x00, 0x2a, 0x05, 0x37, + 0x30, 0x30, 0x30, 0x34, 0x52, 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x93, 0x03, 0x0a, + 0x0f, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x10, 0x0a, 0x03, 0x74, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, + 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, + 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, + 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x44, + 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x44, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x69, 0x74, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x74, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x74, 0x65, 0x49, 0x64, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x69, 0x74, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x61, 0x75, 0x74, 0x68, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, + 0x75, 0x74, 0x68, 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x44, 0x61, 0x74, 0x65, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x44, 0x61, + 0x74, 0x65, 0x22, 0xd5, 0x01, 0x0a, 0x13, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, + 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, + 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x74, 0x65, 0x49, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x69, 0x74, 0x65, 0x49, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, + 0x70, 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, 0x22, 0x40, 0x0a, 0x16, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x6e, 0x0a, 0x14, + 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x40, 0x0a, 0x0c, 0x77, 0x72, + 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x57, + 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0c, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x10, 0x0a, 0x0e, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, + 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, + 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x22, + 0x2e, 0x0a, 0x08, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x22, + 0x82, 0x01, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x1c, + 0x0a, 0x09, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x55, 0x55, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x55, 0x55, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, + 0x74, 0x72, 0x61, 0x69, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x69, + 0x64, 0x65, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, + 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x64, 0x65, + 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x43, 0x6f, 0x64, 0x65, 0x22, 0x10, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x0a, 0x12, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, + 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x25, 0x0a, 0x06, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, + 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, + 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xf2, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, + 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, + 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, + 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, + 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, + 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, + 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x45, + 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x6e, 0x64, 0x45, + 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x22, 0x86, 0x01, 0x0a, + 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x44, + 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x6c, 0x6c, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x61, 0x6c, 0x6c, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x5a, 0x0a, 0x0b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, + 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, + 0x63, 0x65, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x65, 0x6e, + 0x65, 0x22, 0x75, 0x0a, 0x0c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x04, 0x49, 0x6e, 0x66, + 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, + 0x0a, 0x07, 0x49, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x69, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x22, 0x90, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x49, 0x73, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x09, 0x69, 0x73, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x41, 0x0a, 0x11, 0x44, + 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x43, + 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x77, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, + 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, + 0x6f, 0x72, 0x64, 0x22, 0x67, 0x0a, 0x15, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x24, 0x0a, 0x05, 0x49, 0x44, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0e, 0xe2, 0xdf, 0x1f, 0x0a, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x36, 0x80, 0x01, 0x12, 0x52, + 0x05, 0x69, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x51, 0x0a, 0x0d, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, + 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x22, + 0xc7, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, + 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, + 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x20, 0x0a, 0x0b, 0x74, 0x65, 0x6c, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x6c, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xd1, 0x01, 0x0a, 0x0c, 0x4c, 0x6f, + 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, + 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x73, + 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, + 0x70, 0x61, 0x73, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x74, + 0x65, 0x6c, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x74, 0x65, 0x6c, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xc6, 0x01, + 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x0b, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x18, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, + 0x0c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x12, 0x28, 0x0a, 0x0f, + 0x49, 0x73, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x6f, 0x77, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, 0x77, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x78, 0x0a, 0x06, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x4a, 0x75, 0x6d, 0x70, 0x54, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x6a, 0x75, 0x6d, 0x70, 0x54, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x4c, 0x61, 0x6e, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, + 0x43, 0x61, 0x6e, 0x53, 0x63, 0x61, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, + 0x61, 0x6e, 0x53, 0x63, 0x61, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6f, + 0x22, 0x30, 0x0a, 0x0a, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x12, + 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0xb9, 0x0a, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, + 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, + 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, + 0x61, 0x74, 0x61, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, + 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x44, + 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x49, 0x44, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x44, 0x4e, + 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x57, 0x6f, + 0x72, 0x64, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x6e, 0x65, 0x6d, 0x6f, + 0x6e, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x49, 0x73, 0x4e, 0x65, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, + 0x69, 0x73, 0x4e, 0x65, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x57, 0x6f, + 0x72, 0x6b, 0x59, 0x65, 0x61, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x77, 0x6f, + 0x72, 0x6b, 0x59, 0x65, 0x61, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2b, + 0x0a, 0x06, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x45, 0x78, 0x74, + 0x65, 0x6e, 0x64, 0x52, 0x06, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x4a, + 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, + 0x4e, 0x75, 0x6d, 0x12, 0x1d, 0x0a, 0x09, 0x42, 0x69, 0x72, 0x74, 0x68, 0x44, 0x61, 0x74, 0x65, + 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x69, 0x72, 0x74, 0x68, 0x5f, 0x64, 0x61, + 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x41, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x03, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x53, 0x65, 0x78, 0x18, 0x15, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, + 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x39, 0x0a, 0x0b, + 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, + 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x64, 0x65, 0x70, 0x61, + 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18, 0x18, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x67, 0x69, 0x6e, + 0x44, 0x61, 0x74, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x69, + 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, + 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x4e, 0x6f, 0x77, 0x4c, 0x6f, 0x67, 0x49, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x08, 0x6e, 0x6f, 0x77, 0x4c, 0x6f, 0x67, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x61, 0x6e, + 0x53, 0x63, 0x61, 0x6e, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x61, 0x6e, 0x53, + 0x63, 0x61, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x65, 0x66, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, + 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x65, 0x66, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, + 0x37, 0x0a, 0x09, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1e, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, + 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x09, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, + 0x72, 0x6b, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, + 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x67, 0x18, 0x20, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x67, 0x12, 0x2e, + 0x0a, 0x06, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6c, 0x6f, + 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x06, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x20, + 0x0a, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x22, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x49, 0x43, 0x4e, 0x75, 0x6d, 0x18, 0x23, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x6c, 0x69, 0x73, + 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x67, + 0x6c, 0x69, 0x73, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x72, 0x61, 0x69, + 0x6e, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x12, 0x20, + 0x0a, 0x0b, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x26, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x12, 0x39, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x18, + 0x27, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, + 0x69, 0x65, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x0b, + 0x74, 0x72, 0x61, 0x69, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x12, 0x31, 0x0a, 0x08, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, + 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x29, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x22, 0x0a, 0x0c, + 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x2a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x64, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, 0x18, 0x2b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, 0x22, 0xdc, + 0x03, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x32, 0x12, 0x0e, 0x0a, + 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x18, 0x0a, + 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x61, 0x6c, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x52, 0x65, 0x61, 0x6c, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x44, 0x4e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x49, 0x44, 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x45, 0x6e, 0x74, + 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x45, 0x6e, + 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x45, 0x78, 0x74, 0x65, 0x6e, + 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x06, 0x45, 0x78, + 0x74, 0x65, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, + 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, + 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x08, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x61, 0x0a, + 0x13, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x72, + 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, + 0x22, 0xfa, 0x01, 0x0a, 0x0c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, 0x65, + 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x64, 0x65, 0x70, + 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x44, 0x65, 0x70, + 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x64, + 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x70, 0x61, 0x72, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x46, 0x0a, + 0x14, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, + 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x78, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, + 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, + 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x22, + 0x88, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x22, 0x25, 0x0a, 0x13, 0x43, 0x6c, + 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, + 0x64, 0x22, 0x2a, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x6f, 0x63, 0x6b, + 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0xc8, 0x01, + 0x0a, 0x16, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, + 0x03, 0x28, 0x04, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x61, 0x0a, 0x17, 0x43, 0x6c, 0x6f, 0x63, + 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xf7, 0x01, 0x0a, 0x09, + 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x44, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x44, 0x12, + 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x34, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6c, + 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x80, 0x02, 0x0a, 0x0f, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, + 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, + 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x2d, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x65, 0x6c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x5e, 0x0a, 0x17, 0x43, 0x6c, 0x6f, 0x63, + 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x65, 0x6c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa0, 0x01, 0x0a, 0x0c, 0x43, 0x6c, 0x6f, + 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, + 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x22, 0x58, 0x0a, 0x16, 0x43, + 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x5b, 0x0a, 0x15, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x42, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x06, + 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x49, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x49, 0x64, 0x22, 0x4f, 0x0a, 0x16, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, + 0x65, 0x72, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x22, 0xc0, 0x01, 0x0a, 0x14, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, + 0x72, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, + 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x98, 0x04, 0x0a, 0x0c, 0x43, 0x6c, 0x6f, 0x63, 0x6b, + 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x73, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x73, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x67, + 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x67, 0x65, 0x6e, + 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x73, + 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x70, + 0x61, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, + 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, + 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, + 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, + 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x61, 0x72, 0x64, 0x4e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x72, 0x64, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x57, 0x6f, 0x72, + 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x57, 0x6f, 0x72, + 0x64, 0x12, 0x16, 0x0a, 0x06, 0x71, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x71, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x65, 0x6c, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x72, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x56, 0x69, 0x73, 0x69, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x56, 0x69, 0x73, 0x69, 0x74, 0x12, 0x20, 0x0a, + 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x54, 0x65, 0x6c, 0x18, 0x12, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x54, 0x65, 0x6c, 0x12, + 0x20, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x4f, 0x66, 0x50, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x18, 0x13, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x4f, 0x66, 0x50, 0x65, 0x6f, 0x70, 0x6c, + 0x65, 0x22, 0xdb, 0x01, 0x0a, 0x0b, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x52, 0x65, + 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, + 0x6f, 0x67, 0x44, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, + 0x63, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, + 0x5b, 0x0a, 0x14, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, + 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0xa5, 0x19, 0x0a, + 0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x12, 0x3c, 0x0a, 0x05, + 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, + 0x69, 0x65, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0c, 0x52, 0x65, + 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x06, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, + 0x12, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x44, + 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x44, 0x0a, 0x07, 0x4f, 0x66, 0x66, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x1a, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x09, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4c, + 0x6f, 0x67, 0x12, 0x26, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, + 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x42, 0x79, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4c, 0x6f, + 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0d, + 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4c, 0x6f, 0x67, 0x42, 0x79, 0x49, 0x64, 0x12, 0x21, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, + 0x6e, 0x65, 0x4c, 0x6f, 0x67, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4c, + 0x6f, 0x67, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x08, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x50, 0x77, 0x64, 0x12, 0x1c, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, + 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x77, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, + 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x07, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x12, 0x1b, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, + 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x58, 0x0a, 0x0d, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, + 0x67, 0x12, 0x21, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, + 0x53, 0x65, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, + 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0f, 0x53, 0x65, + 0x6e, 0x64, 0x45, 0x78, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x12, 0x21, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, + 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, + 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x08, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x73, 0x67, 0x12, 0x1c, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x73, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x10, + 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x65, 0x77, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x4d, 0x73, 0x67, + 0x12, 0x24, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, + 0x65, 0x6e, 0x64, 0x4e, 0x65, 0x77, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x4d, 0x73, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0c, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4e, + 0x65, 0x77, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, + 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0e, 0x41, 0x75, 0x74, 0x68, + 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, + 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0a, + 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4a, 0x77, 0x74, 0x12, 0x1e, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, + 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, + 0x4a, 0x77, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, + 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, + 0x69, 0x65, 0x65, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x4f, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x21, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, + 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, + 0x65, 0x65, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x3d, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, + 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x41, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x79, 0x49, 0x44, 0x73, + 0x12, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x06, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x1a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x46, 0x69, 0x65, 0x65, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, + 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x43, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x2e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, + 0x79, 0x54, 0x65, 0x6c, 0x12, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, + 0x65, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x54, 0x65, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, + 0x65, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x4b, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x54, 0x65, 0x6c, 0x12, 0x1d, + 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x55, 0x73, 0x65, + 0x72, 0x42, 0x79, 0x54, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, + 0x0a, 0x0b, 0x4f, 0x6e, 0x6c, 0x79, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x12, 0x1b, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, + 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x52, 0x0a, 0x0c, 0x4f, 0x6e, 0x6c, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x73, 0x67, + 0x12, 0x1c, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, + 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, + 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x15, 0x4d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x42, 0x79, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4d, 0x61, 0x69, 0x6c, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x79, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4d, 0x61, 0x69, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x06, 0x4c, + 0x69, 0x73, 0x74, 0x56, 0x32, 0x12, 0x1a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, + 0x69, 0x65, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, + 0x01, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x6e, 0x65, + 0x6c, 0x57, 0x69, 0x74, 0x68, 0x54, 0x68, 0x65, 0x53, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x31, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x6e, 0x65, 0x6c, 0x57, 0x69, 0x74, + 0x68, 0x54, 0x68, 0x65, 0x53, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, + 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x6e, 0x65, 0x6c, + 0x57, 0x69, 0x74, 0x68, 0x54, 0x68, 0x65, 0x53, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0d, 0x55, 0x73, 0x65, + 0x72, 0x73, 0x42, 0x79, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x21, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, + 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x08, 0x52, 0x65, + 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x46, 0x69, 0x65, 0x65, 0x2e, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, + 0x65, 0x65, 0x2e, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x12, 0x1a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, + 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x58, 0x0a, 0x0d, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, + 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x15, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, + 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x12, 0x29, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x6c, + 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x13, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, + 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x12, 0x27, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, + 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, + 0x69, 0x65, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, + 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x58, 0x0a, 0x0d, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x73, 0x67, 0x12, 0x21, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, + 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, + 0x69, 0x65, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x12, 0x56, + 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x26, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, + 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6c, + 0x69, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x42, 0x10, 0x5a, 0x0e, 0x2e, 0x2f, 0x3b, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x46, 0x69, 0x65, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_api_accountFiee_accountFiee_proto_rawDescOnce sync.Once + file_api_accountFiee_accountFiee_proto_rawDescData = file_api_accountFiee_accountFiee_proto_rawDesc +) + +func file_api_accountFiee_accountFiee_proto_rawDescGZIP() []byte { + file_api_accountFiee_accountFiee_proto_rawDescOnce.Do(func() { + file_api_accountFiee_accountFiee_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_accountFiee_accountFiee_proto_rawDescData) + }) + return file_api_accountFiee_accountFiee_proto_rawDescData +} + +var file_api_accountFiee_accountFiee_proto_msgTypes = make([]protoimpl.MessageInfo, 98) +var file_api_accountFiee_accountFiee_proto_goTypes = []interface{}{ + (*VerifySliderStatusRequest)(nil), // 0: accountFiee.VerifySliderStatusRequest + (*VerifySliderStatusResponse)(nil), // 1: accountFiee.VerifySliderStatusResponse + (*SendNationMsgRequest)(nil), // 2: accountFiee.SendNationMsgRequest + (*VerifySliderCaptchaResponse)(nil), // 3: accountFiee.VerifySliderCaptchaResponse + (*VerifySliderCaptchaRequest)(nil), // 4: accountFiee.VerifySliderCaptchaRequest + (*GenerateSliderCaptchaResponse)(nil), // 5: accountFiee.GenerateSliderCaptchaResponse + (*GenerateSliderCaptchaRequest)(nil), // 6: accountFiee.GenerateSliderCaptchaRequest + (*CheckRealNameResponse)(nil), // 7: accountFiee.CheckRealNameResponse + (*CheckRealNameRequest)(nil), // 8: accountFiee.CheckRealNameRequest + (*UserListResponse)(nil), // 9: accountFiee.UserListResponse + (*UserListInfo)(nil), // 10: accountFiee.UserListInfo + (*UserListRequest)(nil), // 11: accountFiee.UserListRequest + (*UserInfoResponse)(nil), // 12: accountFiee.UserInfoResponse + (*RealNameResponse)(nil), // 13: accountFiee.RealNameResponse + (*RealNameRequest)(nil), // 14: accountFiee.RealNameRequest + (*RegisterResponse)(nil), // 15: accountFiee.RegisterResponse + (*UsersByJobNumRequest)(nil), // 16: accountFiee.UsersByJobNumRequest + (*QueryPersonnelWithTheSameNameRequest)(nil), // 17: accountFiee.QueryPersonnelWithTheSameNameRequest + (*QueryPersonnelWithTheSameNameResponse)(nil), // 18: accountFiee.QueryPersonnelWithTheSameNameResponse + (*ListV2Request)(nil), // 19: accountFiee.ListV2Request + (*SendClockInWechatRequest)(nil), // 20: accountFiee.SendClockInWechatRequest + (*MailAccountByNickNameRequest)(nil), // 21: accountFiee.MailAccountByNickNameRequest + (*CreateMaiAccountRequest)(nil), // 22: accountFiee.CreateMaiAccountRequest + (*MaiAccountResponse)(nil), // 23: accountFiee.MaiAccountResponse + (*FddCreateUserRequest)(nil), // 24: accountFiee.FddCreateUserRequest + (*WxBoxUserInfoRequest)(nil), // 25: accountFiee.WxBoxUserInfoRequest + (*WxGetOpenIdByCodeRequest)(nil), // 26: accountFiee.WxGetOpenIdByCodeRequest + (*WxGetOpenIdByCodeResponse)(nil), // 27: accountFiee.WxGetOpenIdByCodeResponse + (*WxBoxTelNumByCodeResponse)(nil), // 28: accountFiee.WxBoxTelNumByCodeResponse + (*WxBoxUserInfo)(nil), // 29: accountFiee.WxBoxUserInfo + (*FddInfo)(nil), // 30: accountFiee.FddInfo + (*UserInfo)(nil), // 31: accountFiee.UserInfo + (*CommonRequest)(nil), // 32: accountFiee.CommonRequest + (*WxAppRequest)(nil), // 33: accountFiee.WxAppRequest + (*WxAppResponse)(nil), // 34: accountFiee.WxAppResponse + (*WxUserUpdateRequest)(nil), // 35: accountFiee.WxUserUpdateRequest + (*WxUserOrCreateRequest)(nil), // 36: accountFiee.WxUserOrCreateRequest + (*WxUserResponse)(nil), // 37: accountFiee.WxUserResponse + (*LoginLogsResponse)(nil), // 38: accountFiee.LoginLogsResponse + (*LoginLog)(nil), // 39: accountFiee.LoginLog + (*OnlineLogByIdRequest)(nil), // 40: accountFiee.OnlineLogByIdRequest + (*LoginInfosByUserIdRequest)(nil), // 41: accountFiee.LoginInfosByUserIdRequest + (*SendNewTelNumMsgRequest)(nil), // 42: accountFiee.SendNewTelNumMsgRequest + (*UserByTelRequest)(nil), // 43: accountFiee.UserByTelRequest + (*CommonResponse)(nil), // 44: accountFiee.CommonResponse + (*UsersByTelRequest)(nil), // 45: accountFiee.UsersByTelRequest + (*ListByIDsRequest)(nil), // 46: accountFiee.ListByIDsRequest + (*SendMsgRequest)(nil), // 47: accountFiee.SendMsgRequest + (*SendCustomMsgRequest)(nil), // 48: accountFiee.SendCustomMsgRequest + (*CheckMsgRequest)(nil), // 49: accountFiee.CheckMsgRequest + (*SendMsgStatusResponse)(nil), // 50: accountFiee.SendMsgStatusResponse + (*RemoveRequest)(nil), // 51: accountFiee.RemoveRequest + (*WriteOffRequest)(nil), // 52: accountFiee.WriteOffRequest + (*WriteOffListRequest)(nil), // 53: accountFiee.WriteOffListRequest + (*WriteOffApproveRequest)(nil), // 54: accountFiee.WriteOffApproveRequest + (*WriteOffListResponse)(nil), // 55: accountFiee.WriteOffListResponse + (*RemoveResponse)(nil), // 56: accountFiee.RemoveResponse + (*UpdateRequest)(nil), // 57: accountFiee.UpdateRequest + (*Operator)(nil), // 58: accountFiee.Operator + (*TrainVideo)(nil), // 59: accountFiee.trainVideo + (*UpdateResponse)(nil), // 60: accountFiee.UpdateResponse + (*PrivacyInfoRequest)(nil), // 61: accountFiee.PrivacyInfoRequest + (*ListRequest)(nil), // 62: accountFiee.ListRequest + (*ListResponse)(nil), // 63: accountFiee.ListResponse + (*InfoRequest)(nil), // 64: accountFiee.InfoRequest + (*InfoResponse)(nil), // 65: accountFiee.InfoResponse + (*DecryptJwtResponse)(nil), // 66: accountFiee.DecryptJwtResponse + (*DecryptJwtRequest)(nil), // 67: accountFiee.DecryptJwtRequest + (*CheckPwdRequest)(nil), // 68: accountFiee.CheckPwdRequest + (*AuthenticationRequest)(nil), // 69: accountFiee.AuthenticationRequest + (*RequestStatus)(nil), // 70: accountFiee.RequestStatus + (*RegistRequest)(nil), // 71: accountFiee.RegistRequest + (*LoginRequest)(nil), // 72: accountFiee.LoginRequest + (*TokenInfo)(nil), // 73: accountFiee.TokenInfo + (*Extend)(nil), // 74: accountFiee.Extend + (*Department)(nil), // 75: accountFiee.Department + (*AccountInfo)(nil), // 76: accountFiee.AccountInfo + (*UserInfoV2)(nil), // 77: accountFiee.UserInfoV2 + (*RefreshTokenRequest)(nil), // 78: accountFiee.RefreshTokenRequest + (*PositionUser)(nil), // 79: accountFiee.PositionUser + (*JobNumGetInfoRequest)(nil), // 80: accountFiee.JobNumGetInfoRequest + (*CreateClockDeviceRequest)(nil), // 81: accountFiee.CreateClockDeviceRequest + (*UpdateClockDeviceRequest)(nil), // 82: accountFiee.UpdateClockDeviceRequest + (*ClockDeviceResponse)(nil), // 83: accountFiee.ClockDeviceResponse + (*RemoveClockDeviceRequest)(nil), // 84: accountFiee.RemoveClockDeviceRequest + (*ClockDeviceListRequest)(nil), // 85: accountFiee.ClockDeviceListRequest + (*ClockDeviceListResponse)(nil), // 86: accountFiee.ClockDeviceListResponse + (*ClockUser)(nil), // 87: accountFiee.ClockUser + (*ClockDeviceInfo)(nil), // 88: accountFiee.ClockDeviceInfo + (*ClockDeviceInfoResponse)(nil), // 89: accountFiee.ClockDeviceInfoResponse + (*ClockUserRel)(nil), // 90: accountFiee.ClockUserRel + (*ClockDeviceInfoRequest)(nil), // 91: accountFiee.ClockDeviceInfoRequest + (*ClockBatchBindRequest)(nil), // 92: accountFiee.ClockBatchBindRequest + (*ClockBatchListResponse)(nil), // 93: accountFiee.ClockBatchListResponse + (*ClockUserDeviceBatch)(nil), // 94: accountFiee.ClockUserDeviceBatch + (*ClockLogInfo)(nil), // 95: accountFiee.ClockLogInfo + (*ClockLogReq)(nil), // 96: accountFiee.ClockLogReq + (*ClockLogListResponse)(nil), // 97: accountFiee.ClockLogListResponse +} +var file_api_accountFiee_accountFiee_proto_depIdxs = []int32{ + 10, // 0: accountFiee.UserListResponse.userList:type_name -> accountFiee.UserListInfo + 31, // 1: accountFiee.WxBoxUserInfo.user:type_name -> accountFiee.UserInfo + 30, // 2: accountFiee.WxBoxUserInfo.fdd:type_name -> accountFiee.FddInfo + 39, // 3: accountFiee.LoginLogsResponse.Data:type_name -> accountFiee.LoginLog + 52, // 4: accountFiee.WriteOffListResponse.writeOffList:type_name -> accountFiee.WriteOffRequest + 76, // 5: accountFiee.ListResponse.Data:type_name -> accountFiee.AccountInfo + 76, // 6: accountFiee.InfoResponse.Info:type_name -> accountFiee.AccountInfo + 76, // 7: accountFiee.TokenInfo.AccountInfo:type_name -> accountFiee.AccountInfo + 74, // 8: accountFiee.AccountInfo.Extend:type_name -> accountFiee.Extend + 75, // 9: accountFiee.AccountInfo.Departments:type_name -> accountFiee.Department + 79, // 10: accountFiee.AccountInfo.Positions:type_name -> accountFiee.PositionUser + 87, // 11: accountFiee.AccountInfo.clocks:type_name -> accountFiee.ClockUser + 59, // 12: accountFiee.AccountInfo.TrainVideos:type_name -> accountFiee.trainVideo + 58, // 13: accountFiee.AccountInfo.operator:type_name -> accountFiee.Operator + 74, // 14: accountFiee.UserInfoV2.Extend:type_name -> accountFiee.Extend + 58, // 15: accountFiee.UserInfoV2.operator:type_name -> accountFiee.Operator + 88, // 16: accountFiee.ClockDeviceListResponse.data:type_name -> accountFiee.ClockDeviceInfo + 88, // 17: accountFiee.ClockUser.device:type_name -> accountFiee.ClockDeviceInfo + 90, // 18: accountFiee.ClockDeviceInfo.data:type_name -> accountFiee.ClockUserRel + 90, // 19: accountFiee.ClockDeviceInfoResponse.data:type_name -> accountFiee.ClockUserRel + 94, // 20: accountFiee.ClockBatchListResponse.data:type_name -> accountFiee.ClockUserDeviceBatch + 95, // 21: accountFiee.ClockLogListResponse.data:type_name -> accountFiee.ClockLogInfo + 72, // 22: accountFiee.AccountFiee.Login:input_type -> accountFiee.LoginRequest + 78, // 23: accountFiee.AccountFiee.RefreshToken:input_type -> accountFiee.RefreshTokenRequest + 67, // 24: accountFiee.AccountFiee.Logout:input_type -> accountFiee.DecryptJwtRequest + 32, // 25: accountFiee.AccountFiee.OffLine:input_type -> accountFiee.CommonRequest + 41, // 26: accountFiee.AccountFiee.OnlineLog:input_type -> accountFiee.LoginInfosByUserIdRequest + 40, // 27: accountFiee.AccountFiee.OnlineLogById:input_type -> accountFiee.OnlineLogByIdRequest + 68, // 28: accountFiee.AccountFiee.CheckPwd:input_type -> accountFiee.CheckPwdRequest + 47, // 29: accountFiee.AccountFiee.SendMsg:input_type -> accountFiee.SendMsgRequest + 48, // 30: accountFiee.AccountFiee.SendCustomMsg:input_type -> accountFiee.SendCustomMsgRequest + 48, // 31: accountFiee.AccountFiee.SendExCustomMsg:input_type -> accountFiee.SendCustomMsgRequest + 47, // 32: accountFiee.AccountFiee.SendMsgRegister:input_type -> accountFiee.SendMsgRequest + 49, // 33: accountFiee.AccountFiee.CheckMsg:input_type -> accountFiee.CheckMsgRequest + 42, // 34: accountFiee.AccountFiee.SendNewTelNumMsg:input_type -> accountFiee.SendNewTelNumMsgRequest + 42, // 35: accountFiee.AccountFiee.UpdateTelNum:input_type -> accountFiee.SendNewTelNumMsgRequest + 69, // 36: accountFiee.AccountFiee.Authentication:input_type -> accountFiee.AuthenticationRequest + 67, // 37: accountFiee.AccountFiee.DecryptJwt:input_type -> accountFiee.DecryptJwtRequest + 64, // 38: accountFiee.AccountFiee.Info:input_type -> accountFiee.InfoRequest + 80, // 39: accountFiee.AccountFiee.JobNumGetInfo:input_type -> accountFiee.JobNumGetInfoRequest + 62, // 40: accountFiee.AccountFiee.List:input_type -> accountFiee.ListRequest + 62, // 41: accountFiee.AccountFiee.RandList:input_type -> accountFiee.ListRequest + 46, // 42: accountFiee.AccountFiee.ListByIDs:input_type -> accountFiee.ListByIDsRequest + 51, // 43: accountFiee.AccountFiee.Remove:input_type -> accountFiee.RemoveRequest + 57, // 44: accountFiee.AccountFiee.Update:input_type -> accountFiee.UpdateRequest + 45, // 45: accountFiee.AccountFiee.UsersByTel:input_type -> accountFiee.UsersByTelRequest + 43, // 46: accountFiee.AccountFiee.UserByTel:input_type -> accountFiee.UserByTelRequest + 47, // 47: accountFiee.AccountFiee.OnlySendMsg:input_type -> accountFiee.SendMsgRequest + 49, // 48: accountFiee.AccountFiee.OnlyCheckMsg:input_type -> accountFiee.CheckMsgRequest + 21, // 49: accountFiee.AccountFiee.MailAccountByNickName:input_type -> accountFiee.MailAccountByNickNameRequest + 19, // 50: accountFiee.AccountFiee.ListV2:input_type -> accountFiee.ListV2Request + 17, // 51: accountFiee.AccountFiee.QueryPersonnelWithTheSameName:input_type -> accountFiee.QueryPersonnelWithTheSameNameRequest + 16, // 52: accountFiee.AccountFiee.UsersByJobNum:input_type -> accountFiee.UsersByJobNumRequest + 14, // 53: accountFiee.AccountFiee.RealName:input_type -> accountFiee.RealNameRequest + 71, // 54: accountFiee.AccountFiee.Register:input_type -> accountFiee.RegistRequest + 11, // 55: accountFiee.AccountFiee.UserList:input_type -> accountFiee.UserListRequest + 8, // 56: accountFiee.AccountFiee.CheckRealName:input_type -> accountFiee.CheckRealNameRequest + 6, // 57: accountFiee.AccountFiee.GenerateSliderCaptcha:input_type -> accountFiee.GenerateSliderCaptchaRequest + 4, // 58: accountFiee.AccountFiee.VerifySliderCaptcha:input_type -> accountFiee.VerifySliderCaptchaRequest + 2, // 59: accountFiee.AccountFiee.SendNationMsg:input_type -> accountFiee.SendNationMsgRequest + 0, // 60: accountFiee.AccountFiee.VerifySliderStatus:input_type -> accountFiee.VerifySliderStatusRequest + 73, // 61: accountFiee.AccountFiee.Login:output_type -> accountFiee.TokenInfo + 73, // 62: accountFiee.AccountFiee.RefreshToken:output_type -> accountFiee.TokenInfo + 44, // 63: accountFiee.AccountFiee.Logout:output_type -> accountFiee.CommonResponse + 44, // 64: accountFiee.AccountFiee.OffLine:output_type -> accountFiee.CommonResponse + 38, // 65: accountFiee.AccountFiee.OnlineLog:output_type -> accountFiee.LoginLogsResponse + 39, // 66: accountFiee.AccountFiee.OnlineLogById:output_type -> accountFiee.LoginLog + 60, // 67: accountFiee.AccountFiee.CheckPwd:output_type -> accountFiee.UpdateResponse + 50, // 68: accountFiee.AccountFiee.SendMsg:output_type -> accountFiee.SendMsgStatusResponse + 50, // 69: accountFiee.AccountFiee.SendCustomMsg:output_type -> accountFiee.SendMsgStatusResponse + 50, // 70: accountFiee.AccountFiee.SendExCustomMsg:output_type -> accountFiee.SendMsgStatusResponse + 50, // 71: accountFiee.AccountFiee.SendMsgRegister:output_type -> accountFiee.SendMsgStatusResponse + 50, // 72: accountFiee.AccountFiee.CheckMsg:output_type -> accountFiee.SendMsgStatusResponse + 50, // 73: accountFiee.AccountFiee.SendNewTelNumMsg:output_type -> accountFiee.SendMsgStatusResponse + 50, // 74: accountFiee.AccountFiee.UpdateTelNum:output_type -> accountFiee.SendMsgStatusResponse + 70, // 75: accountFiee.AccountFiee.Authentication:output_type -> accountFiee.RequestStatus + 66, // 76: accountFiee.AccountFiee.DecryptJwt:output_type -> accountFiee.DecryptJwtResponse + 12, // 77: accountFiee.AccountFiee.Info:output_type -> accountFiee.UserInfoResponse + 65, // 78: accountFiee.AccountFiee.JobNumGetInfo:output_type -> accountFiee.InfoResponse + 63, // 79: accountFiee.AccountFiee.List:output_type -> accountFiee.ListResponse + 63, // 80: accountFiee.AccountFiee.RandList:output_type -> accountFiee.ListResponse + 63, // 81: accountFiee.AccountFiee.ListByIDs:output_type -> accountFiee.ListResponse + 56, // 82: accountFiee.AccountFiee.Remove:output_type -> accountFiee.RemoveResponse + 60, // 83: accountFiee.AccountFiee.Update:output_type -> accountFiee.UpdateResponse + 63, // 84: accountFiee.AccountFiee.UsersByTel:output_type -> accountFiee.ListResponse + 12, // 85: accountFiee.AccountFiee.UserByTel:output_type -> accountFiee.UserInfoResponse + 50, // 86: accountFiee.AccountFiee.OnlySendMsg:output_type -> accountFiee.SendMsgStatusResponse + 50, // 87: accountFiee.AccountFiee.OnlyCheckMsg:output_type -> accountFiee.SendMsgStatusResponse + 23, // 88: accountFiee.AccountFiee.MailAccountByNickName:output_type -> accountFiee.MaiAccountResponse + 63, // 89: accountFiee.AccountFiee.ListV2:output_type -> accountFiee.ListResponse + 18, // 90: accountFiee.AccountFiee.QueryPersonnelWithTheSameName:output_type -> accountFiee.QueryPersonnelWithTheSameNameResponse + 63, // 91: accountFiee.AccountFiee.UsersByJobNum:output_type -> accountFiee.ListResponse + 13, // 92: accountFiee.AccountFiee.RealName:output_type -> accountFiee.RealNameResponse + 15, // 93: accountFiee.AccountFiee.Register:output_type -> accountFiee.RegisterResponse + 9, // 94: accountFiee.AccountFiee.UserList:output_type -> accountFiee.UserListResponse + 7, // 95: accountFiee.AccountFiee.CheckRealName:output_type -> accountFiee.CheckRealNameResponse + 5, // 96: accountFiee.AccountFiee.GenerateSliderCaptcha:output_type -> accountFiee.GenerateSliderCaptchaResponse + 3, // 97: accountFiee.AccountFiee.VerifySliderCaptcha:output_type -> accountFiee.VerifySliderCaptchaResponse + 50, // 98: accountFiee.AccountFiee.SendNationMsg:output_type -> accountFiee.SendMsgStatusResponse + 1, // 99: accountFiee.AccountFiee.VerifySliderStatus:output_type -> accountFiee.VerifySliderStatusResponse + 61, // [61:100] is the sub-list for method output_type + 22, // [22:61] is the sub-list for method input_type + 22, // [22:22] is the sub-list for extension type_name + 22, // [22:22] is the sub-list for extension extendee + 0, // [0:22] is the sub-list for field type_name +} + +func init() { file_api_accountFiee_accountFiee_proto_init() } +func file_api_accountFiee_accountFiee_proto_init() { + if File_api_accountFiee_accountFiee_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_api_accountFiee_accountFiee_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VerifySliderStatusRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VerifySliderStatusResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendNationMsgRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VerifySliderCaptchaResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VerifySliderCaptchaRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenerateSliderCaptchaResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenerateSliderCaptchaRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CheckRealNameResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CheckRealNameRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserListInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserInfoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RealNameResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RealNameRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RegisterResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UsersByJobNumRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryPersonnelWithTheSameNameRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryPersonnelWithTheSameNameResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListV2Request); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendClockInWechatRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MailAccountByNickNameRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateMaiAccountRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MaiAccountResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FddCreateUserRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WxBoxUserInfoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WxGetOpenIdByCodeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WxGetOpenIdByCodeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WxBoxTelNumByCodeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WxBoxUserInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FddInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommonRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WxAppRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WxAppResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WxUserUpdateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WxUserOrCreateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WxUserResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LoginLogsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LoginLog); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OnlineLogByIdRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LoginInfosByUserIdRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendNewTelNumMsgRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserByTelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommonResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UsersByTelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListByIDsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendMsgRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendCustomMsgRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CheckMsgRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendMsgStatusResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteOffRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteOffListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteOffApproveRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteOffListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Operator); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TrainVideo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PrivacyInfoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InfoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InfoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DecryptJwtResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DecryptJwtRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CheckPwdRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuthenticationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RequestStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RegistRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LoginRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TokenInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Extend); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Department); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccountInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserInfoV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RefreshTokenRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PositionUser); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JobNumGetInfoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateClockDeviceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateClockDeviceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockDeviceResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveClockDeviceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockDeviceListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockDeviceListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockUser); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockDeviceInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockDeviceInfoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockUserRel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockDeviceInfoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockBatchBindRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockBatchListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockUserDeviceBatch); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockLogInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockLogReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_accountFiee_accountFiee_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockLogListResponse); 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_accountFiee_accountFiee_proto_rawDesc, + NumEnums: 0, + NumMessages: 98, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_api_accountFiee_accountFiee_proto_goTypes, + DependencyIndexes: file_api_accountFiee_accountFiee_proto_depIdxs, + MessageInfos: file_api_accountFiee_accountFiee_proto_msgTypes, + }.Build() + File_api_accountFiee_accountFiee_proto = out.File + file_api_accountFiee_accountFiee_proto_rawDesc = nil + file_api_accountFiee_accountFiee_proto_goTypes = nil + file_api_accountFiee_accountFiee_proto_depIdxs = nil +} diff --git a/api/accountFiee/accountFiee.proto b/api/accountFiee/accountFiee.proto new file mode 100644 index 0000000..bbbeb94 --- /dev/null +++ b/api/accountFiee/accountFiee.proto @@ -0,0 +1,820 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +syntax = "proto3"; +package accountFiee; +import "github.com/mwitkow/go-proto-validators@v0.3.2/validator.proto"; + +option go_package = "./;accountFiee"; + +service AccountFiee { + rpc Login (LoginRequest) returns (TokenInfo) {} + rpc RefreshToken (RefreshTokenRequest) returns (TokenInfo) {} //刷新token + rpc Logout (DecryptJwtRequest) returns (CommonResponse) {} + rpc OffLine (CommonRequest) returns (CommonResponse) {} + rpc OnlineLog (LoginInfosByUserIdRequest) returns (LoginLogsResponse) {}//根据用户id获取登录的信息 + rpc OnlineLogById (OnlineLogByIdRequest) returns (LoginLog) {}//根据用户id获取登录的信息 + rpc CheckPwd (CheckPwdRequest) returns (UpdateResponse) {}//检测密码是否正确 +// rpc RegisterOrExist (RegistRequest) returns (RequestStatus) {} + rpc SendMsg (SendMsgRequest) returns (SendMsgStatusResponse) {} //登陆发送验证码 + rpc SendCustomMsg (SendCustomMsgRequest) returns (SendMsgStatusResponse) {}//定制化发送内容 + rpc SendExCustomMsg (SendCustomMsgRequest) returns (SendMsgStatusResponse) {}//定制化发送内容 + rpc SendMsgRegister (SendMsgRequest) returns (SendMsgStatusResponse) {}//注册发送 + rpc CheckMsg (CheckMsgRequest) returns (SendMsgStatusResponse) {} + rpc SendNewTelNumMsg (SendNewTelNumMsgRequest) returns (SendMsgStatusResponse) {}//发送新账号验证码,不携带新号码 + rpc UpdateTelNum (SendNewTelNumMsgRequest) returns (SendMsgStatusResponse) {}//更新新手机号,校验新号码验证码 + rpc Authentication (AuthenticationRequest) returns (RequestStatus) {} + rpc DecryptJwt (DecryptJwtRequest) returns (DecryptJwtResponse) {}//最好放在调用方 + rpc Info (InfoRequest) returns (UserInfoResponse) {} + rpc JobNumGetInfo (JobNumGetInfoRequest) returns (InfoResponse) {} + rpc List (ListRequest) returns (ListResponse) {} + rpc RandList (ListRequest) returns (ListResponse) {} + rpc ListByIDs (ListByIDsRequest) returns (ListResponse) {} + rpc Remove (RemoveRequest) returns (RemoveResponse) {} + rpc Update (UpdateRequest) returns (UpdateResponse) {} + rpc UsersByTel (UsersByTelRequest) returns (ListResponse) {} + rpc UserByTel (UserByTelRequest) returns (UserInfoResponse) {} + rpc OnlySendMsg (SendMsgRequest) returns (SendMsgStatusResponse) {} //仅发验证码 + rpc OnlyCheckMsg (CheckMsgRequest) returns (SendMsgStatusResponse) {}//仅校验之前发送的验证码 + rpc MailAccountByNickName(MailAccountByNickNameRequest) returns(MaiAccountResponse){} //根据昵称姓名获取昵称的邮箱和拼音名称 + rpc ListV2 (ListV2Request) returns (ListResponse) {}// 新版列表 查询 + rpc QueryPersonnelWithTheSameName (QueryPersonnelWithTheSameNameRequest) returns (QueryPersonnelWithTheSameNameResponse) {}// 查询同名的员工 + rpc UsersByJobNum (UsersByJobNumRequest) returns (ListResponse) {} + rpc RealName (RealNameRequest) returns (RealNameResponse) {}//实名认证 + rpc Register (RegistRequest) returns (RegisterResponse) {}//注册 + rpc UserList (UserListRequest) returns (UserListResponse) {}//用户列表 + rpc CheckRealName (CheckRealNameRequest) returns (CheckRealNameResponse) {}//审核实名 + rpc GenerateSliderCaptcha(GenerateSliderCaptchaRequest) returns (GenerateSliderCaptchaResponse) {}// 生成滑块验证码图片+位置 + rpc VerifySliderCaptcha(VerifySliderCaptchaRequest) returns (VerifySliderCaptchaResponse) {}// 验证滑块验证码位置 + rpc SendNationMsg (SendNationMsgRequest) returns (SendMsgStatusResponse) {} //发送境外国际短信验证码 --艺术商城 + rpc VerifySliderStatus(VerifySliderStatusRequest) returns (VerifySliderStatusResponse) {}// 验证滑块验证码状态 +} + +message VerifySliderStatusRequest { + string nonceStr = 1; +} + +message VerifySliderStatusResponse { + string nonceStr = 1; + int32 status = 2; +} + +message SendNationMsgRequest { + string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + string TelNum = 2 [json_name = "telNum",(validator.field) = {string_not_empty: true,human_error: "70001"}]; + string Project = 3 [json_name = "project"]; + uint32 signNo = 4; + uint32 mId = 5; + string scope = 6;//标记模块 +} +message VerifySliderCaptchaResponse { + string nonceStr = 1; +} + +message VerifySliderCaptchaRequest { + string nonceStr = 1; + float blockX = 2; +} +message GenerateSliderCaptchaResponse { + string nonceStr = 1; + string canvasSrc = 2; + string blockSrc = 3; + uint64 blockY = 4; + uint64 faceY = 5; + uint64 blockX = 6; +} + +message GenerateSliderCaptchaRequest { + uint64 canvasWidth = 1; + uint64 canvasHeight = 2; + uint64 blockWidth = 3; + uint64 blockHeight = 4; + uint64 blockRadius = 5; + uint64 place = 6; +} +message CheckRealNameResponse{ + uint64 id =1; + string status =2; +} +message CheckRealNameRequest{ + uint64 id = 1; + bool pass = 2; + string notPassRemarks = 3; +} +message UserListResponse{ + uint64 count = 1; + uint64 page = 2; + uint64 pageSize = 3; + repeated UserListInfo userList = 4; +} +message UserListInfo{ + uint64 id = 1; + int32 status = 2; + string name = 3; + string sex = 4; + string nationality = 5; + int32 documentType =6; + string certificatePicture = 7; + string validity = 8; + string placeOfResidence = 9; + string groupPhoto = 10; + string attachment = 11; + string registrationTime = 12; + string auditTime = 13; + string subNum = 14; + string notPassRemarks = 15; + string telNum = 16; + string telAreaCode = 17; + string language = 18; + string subscriberNumber = 19; + string nickName = 20; +} +message UserListRequest{ + string domain = 1; + string subNum = 2; + int32 realNameOrNot = 3; + string name = 4; + string sex = 5; + int32 documentType = 6; + int32 auditStatus = 7; + uint64 page = 8; + uint64 pageSize = 9; +} +message UserInfoResponse{ + uint64 id = 1; + int32 status = 2; + string name = 3; + string sex = 4; + string nationality = 5; + int32 documentType =6; + string certificatePicture = 7; + string validity = 8; + string placeOfResidence = 9; + string groupPhoto = 10; + string attachment = 11; + string subNum = 12; + string notPassRemarks = 13; + string domain = 14; + string language = 15; + string subscriberNumber = 16; + string nickName = 17; + string telNum = 18; +} +message RealNameResponse{ + uint64 id = 1; + string status = 2; +} +message RealNameRequest{ + uint64 id = 1; + string name = 2; + string sex = 3; + string nationality = 4; + int32 documentType = 5; + string certificatePicture = 6; + string validity = 7; + string placeOfResidence = 8; + string groupPhoto = 9; + string attachment = 10; +} +message RegisterResponse{ + uint64 ID = 1; + uint64 status = 2; + string token = 3; +} +message UsersByJobNumRequest{ + string domain = 1 ; + repeated string jobNum =2 ; +} +message QueryPersonnelWithTheSameNameRequest{ + repeated string names = 1 ; + string domain = 2 ; + string status = 3 ; +} +message QueryPersonnelWithTheSameNameResponse{ + repeated string names = 1 ; + uint64 count = 2 ; +} +message ListV2Request { + string domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + uint64 pageSize = 2 ; + uint64 page = 3 ; + string key = 4 ; + string nickName = 5; + string telNum = 6 ; + string status = 7 ; + string positionName = 8 ; + string jobNum = 9 ; + string mailAccount = 10 ; + string startEnterDate = 11 ; + string endEnterDate = 12 ; + uint32 positionId = 13 ; + uint32 departmentId = 14 ; + string departmentName =15 ; + repeated string departmentNames =16 ; + repeated uint32 positionIds =17 ; + repeated uint32 departmentIds =18 ; +} + +message SendClockInWechatRequest { + string domain = 1; + string telNum =2; + string operatedAt =3; + string clockType =4; + uint32 userId =5; + string ghId =6; + string address =7; + uint64 logId = 8; +} +message MailAccountByNickNameRequest { + string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"}]; + string NickName = 2 [json_name = "nickName",(validator.field) = {length_lt: 20,string_not_empty: true,human_error: "70005"}]; + uint32 ID = 3 ; +} + +message CreateMaiAccountRequest { + uint32 ID = 1 ; + string nickName = 2; + string domain = 3 ; +} + +message MaiAccountResponse { + string englishName = 1 ; + string mailAccount = 2; +} + +message FddCreateUserRequest { + string openid = 1 ; + uint32 wxUserId = 2; + //string UserId = 3; + string customerId = 4; + bool isVerify = 5; + string transactionNo = 6; +} + +message WxBoxUserInfoRequest { + string openid = 2 ; + string ghId = 3; +} + +message WxGetOpenIdByCodeRequest { + string code = 1 ; + string state = 2 ; + string ghId = 3; +} + +message WxGetOpenIdByCodeResponse { + string openId = 1 ; +} + +message WxBoxTelNumByCodeResponse { + string telNum = 1 ; +} + +message WxBoxUserInfo { + string openId = 1 ; + string ghId = 2 ; + bool isNew = 3 ; + UserInfo user = 4 ; + uint32 wxUserId = 5 ; + FddInfo fdd = 6 ; +} + +message FddInfo { + uint64 ID = 1 ; + string customerId = 2 ; + bool isVerify = 3 ; + string transactionNo = 4; +} + +message UserInfo { + uint64 ID = 1 ; + string nickName = 3 ; + string telNum = 5 ; + string avatar = 7 ; + string createAt = 8 ; + uint64 realNameID = 9 ; + string realName = 10; + string iDNum = 11; + string domain = 12; + string realIDImgA = 17; + string realIDImgB = 18; + string realNameIDName = 19; + string video = 20; +} + +message CommonRequest { + uint64 ID = 1 [json_name = "ID"]; +} + +message WxAppRequest { + string GhId = 1 [json_name = "ID"]; +} + +message WxAppResponse { + string AppID = 1 [json_name = "appID"]; + string AppSecret = 2 [json_name = "appSecret"]; +} + +message WxUserUpdateRequest { + uint32 wxID = 1 [json_name = "wxId" ,(validator.field) = {string_not_empty: true,human_error: "缺少参数wxID"} ]; + uint32 userID = 2 [json_name = "userID"]; +} + +message WxUserOrCreateRequest { + string OpenID = 1 [json_name = "openID" ,(validator.field) = {string_not_empty: true,human_error: "缺少openid"} ]; + string GhID = 2 [json_name = "ghID" ,(validator.field) = {string_not_empty: true,human_error: "缺少参数ghid"} ]; +} + +message WxUserResponse { + string OpenID = 1 [json_name = "openID"]; + uint32 UserID = 2 [json_name = "userID"]; + string GhID = 3 [json_name = "ghID"]; + string RoleAuth = 4 [json_name = "roleAuth"]; + uint32 ID = 5 [json_name = "ID"]; +} + + +message LoginLogsResponse { + repeated LoginLog Data = 1 [json_name = "data"]; +} + +message LoginLog { + string Domain = 1 [json_name = "domain"]; + uint64 ID = 2 [json_name = "ID"]; + uint64 UserId = 3 [json_name = "userId"]; + string Ip = 4 [json_name = "ip"]; + string Token = 5 [json_name = "token"]; + uint64 Status = 6 [json_name = "status"]; + string ExpireDate = 7 [json_name = "expireDate"]; + string LastDate = 8 [json_name = "lastDate"]; + string LogoutDate = 9 [json_name = "logoutDate"]; + string CreatedAt = 10 [json_name = "createdAt"]; + string Address = 11 [json_name = "address"]; +} + +message OnlineLogByIdRequest { + string Domain = 1 [json_name = "domain"]; + uint64 ID = 2 [json_name = "ID"]; +} + +message LoginInfosByUserIdRequest { + string Domain = 1 [json_name = "domain"]; + uint64 UserId = 2 [json_name = "userId"]; +} + +message SendNewTelNumMsgRequest { + string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + uint64 ID = 2 [json_name = "ID",(validator.field) = {string_not_empty: true,human_error: "缺少参数"} ]; + string NewTelNum = 3 [json_name = "newTelNum"]; + string Code = 4 [json_name = "code"]; + string Project = 5 [json_name = "project"]; + uint32 signNo = 6 ; +} + +message UserByTelRequest { + string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + string Tel =2 [json_name = "tel"]; +} + +message CommonResponse { +} + +message UsersByTelRequest { + string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + repeated string Tels =2 [json_name = "tels"]; +} + +message ListByIDsRequest { + string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + repeated uint64 IDs = 2 [json_name = "IDs"]; + uint64 OrderType = 3 [json_name = "OrderType"]; + uint64 Page = 4 [json_name = "page"]; + uint64 PageSize = 5 [json_name = "pageSize"]; + string NickName = 6 [json_name = "nickName"]; + repeated string InvitationCode = 7 [json_name = "invitationCode"]; + +} + +message SendMsgRequest { + string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + string TelNum = 2 [json_name = "telNum"]; + //string TelNum = 2 [json_name = "telNum",(validator.field) = {regex: "^1\\d{10}$",human_error: "70002"}]; + string Project = 3 [json_name = "project"]; + uint32 signNo = 4; + uint32 mId = 5; + string scope = 6; //标记模块 + string zone = 7; //地区 不同地区切换不同发送帐号 + string nonceStr = 8; +} + +message SendCustomMsgRequest { + string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + string TelNum = 2 [json_name = "telNum",(validator.field) = {regex: "^1\\d{10}$",human_error: "70002"}]; + string Project = 3 [json_name = "project"]; + string Url = 4 [json_name = "Url"]; + uint64 ID = 5 [json_name = "ID"]; + uint64 MId = 6 [json_name = "mId"]; + uint64 Location = 7 [json_name = "location"]; + uint32 SigNo = 8 [json_name = "sigNo"]; +} + +message CheckMsgRequest { + string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + string TelNum = 2 [json_name = "telNum"]; + string Code = 3 [json_name = "code",(validator.field) = {string_not_empty: true,human_error: "70003"} ]; + string scope = 4;//标记模块 + string zone = 5; //地区 不同地区切换不同发送帐号 +} + +message SendMsgStatusResponse { +} + +message RemoveRequest { + string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + uint64 ID = 2 [json_name = "ID",(validator.field) = {int_gt: 0,human_error: "70004"} ]; + string code = 3; +} +message WriteOffRequest{ + uint64 id = 1; + string domain = 2; + uint64 userId = 3; + string tel = 4; + string jonNum = 5; + string userName = 6; + string enterDate = 7; + string positionName =8; + uint64 positionId = 9; + string siteName = 10; + uint64 siteId =11; + string authUrl =12; + string type =13; + uint32 status =14; + string submitDate=15; +} +message WriteOffListRequest{ + uint64 page = 1; + uint64 pageSize =2; + string domain = 3; + string userName =4; + uint64 userId = 5; + uint64 siteId =6; + string type =7; + uint32 status =8; +} +message WriteOffApproveRequest{ + uint64 id = 1; + uint32 status = 2; +} +message WriteOffListResponse{ + int64 total = 1; + repeated WriteOffRequest writeOffList = 2; +} +message RemoveResponse { +} + +message UpdateRequest { + uint64 ID = 1 [json_name = "ID"]; //ID + string Domain = 2 [json_name = "domain"]; + string Language = 3 [json_name = "language"]; + string NickName = 4 [json_name = "nickName"]; +} + +message Operator { + uint32 ID = 1; + string Name = 2; +} + +message trainVideo { + string trainUUID = 1 [json_name = "trainUUID"]; + string trainDesc = 2 [json_name = "trainDesc"]; + string video = 3 [json_name = "video"]; + string SecurityCode = 31 [json_name = "securityCode"]; +} + +message UpdateResponse { +} + +message PrivacyInfoRequest { + uint64 ID = 1 [json_name = "ID"]; //ID + string Domain = 2 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + string SecurityCode = 3 [json_name = "securityCode"]; +} + +message ListRequest { + string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + uint64 PageSize = 2 [json_name = "pageSize"]; + uint64 Page = 3 [json_name = "page"]; + string key = 4 [json_name = "key"]; + string status = 5 ; + string telNum = 6; + string startEnterDate = 7; + string endEnterDate = 8; +} + +message ListResponse { + string Status = 1 [json_name = "status"]; + uint64 Count = 2 [json_name = "count"]; + repeated AccountInfo Data = 3 [json_name = "data"]; + uint64 AllCount = 4 [json_name = "allCount"]; +} + +message InfoRequest { + string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + uint64 ID = 2 [json_name = "id"]; + string scene = 3 ;//场景值 base-默认仅仅user数据 +} + +message InfoResponse { + string Status = 1 [json_name = "status"]; + AccountInfo Info = 2 [json_name = "accountInfo"]; + bool IsExist = 3 [json_name = "isExist"]; +} + +message DecryptJwtResponse { + string Domain = 1 [json_name = "status"]; + uint64 ID = 2 [json_name = "id"]; + string Account = 3 [json_name = "account"]; + string NickName = 4 [json_name = "nickName"]; + bool IsOffline = 5 [json_name = "isOffline"]; +} + +message DecryptJwtRequest { + string token = 1 [json_name = "token"]; + string Domain = 2 [json_name = "Domain"]; +} + +message CheckPwdRequest { + string Token = 1 [json_name = "token"]; + string Password = 2 [json_name = "password"]; +} + +message AuthenticationRequest { + string Name = 1 [json_name = "name"]; + string IDNum = 2 [json_name = "idNum",(validator.field) = {length_eq: 18,human_error: "70006"}]; + string Token = 3 [json_name = "token"]; +} + +message RequestStatus { + string Status = 1 [json_name = "status"]; + uint64 ID = 2 [json_name = "ID"]; + bool isExist = 3; +} + +message RegistRequest { + string domain = 1; + string telNum = 2; + string code = 3; + string address = 4; + string telAreaCode = 5; + string language = 6; + string nickName = 7; +} + +message LoginRequest { + string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + string TelNum = 2 [json_name = "telNum"]; + string Code = 3 [json_name = "code"]; + string Password = 4 [json_name = "password"]; + string Ip = 5 [json_name = "ip"]; + bool passCheckIp = 6 ; + string telAreaCode = 7; +} + +message TokenInfo { + AccountInfo AccountInfo = 1 [json_name = "accountInfo"]; + string Token = 2 [json_name = "token"]; + string RefreshToken = 4 [json_name = "refresh"]; + bool IsSampleAddress = 3 [json_name = "isSampleAddress"]; + string nowAddress = 5 [json_name = "nowAddress"]; +} + +message Extend { + string JumpTo = 1 [json_name = "jumpTo"]; + string Lang = 2 [json_name = "lang"]; + bool CanScan = 3 [json_name = "canScan"]; + bool ResolutionRatio = 4 [json_name = "resolutionRatio"]; +} + +message Department { + uint64 ID = 1 [json_name = "ID"]; + string Name = 2 [json_name = "name"]; +} + +// The response message containing the greetings +message AccountInfo { + uint64 ID = 1 [json_name = "id"]; + string Account = 2 [json_name = "account"]; + string NickName = 3 [json_name = "nickName"]; + int64 Type = 4 [json_name = "type"]; + string TelNum = 5 [json_name = "telNum"]; + int32 Status = 6 [json_name = "status"]; + string Avatar = 7 [json_name = "avatar"]; + string CreateAt = 8 [json_name = "createAt"]; + uint64 RealNameID = 9 [json_name = "realNameID"]; + string RealName = 10 [json_name = "realName"]; + string IDNum = 11 [json_name = "iDNum"]; + string MnemonicWords = 12 [json_name = "mnemonicWords"]; + uint64 IsNeedChange = 13 [json_name = "isNeedChange"]; + string EnterDate = 14 [json_name = "enterDate"]; + float WorkYear = 15 [json_name = "workYear"]; + string Domain = 16 [json_name = "domain"]; + Extend Extend = 17 [json_name = "extend"]; + string JobNum = 18 [json_name = "jobNum"]; + string BirthDate = 19 [json_name = "birth_date"]; + uint64 Age = 20 [json_name = "age"]; + string Sex = 21 [json_name = "sex"]; + string Title = 22 [json_name = "title"]; + repeated Department Departments = 23 [json_name = "departments"]; + string Ip = 24 [json_name = "ip"]; + string LoginDate = 25 [json_name = "loginDate"]; + string InvitationCode = 26 [json_name = "invitationCode"]; + uint64 NowLogId = 27 [json_name = "nowLogId"]; + bool CanScan = 28 [json_name = "canScan"]; + string LeftDate = 29 [json_name = "leftDate"]; + repeated PositionUser Positions = 30 [json_name = "positions"]; + string Remark = 31 [json_name = "remark"]; + string recentImg =32; + repeated ClockUser clocks = 33; + string mailAccount = 34; + string ICNum = 35 [json_name = "icNum"]; + string englishName = 36; + string Train = 37 [json_name = "train"]; + string Certificate = 38 [json_name = "certificate"]; + repeated trainVideo TrainVideos = 39 [json_name = "trainVideos"]; + Operator operator = 40; + string updatedAt = 41; + string SecurityCode = 42 [json_name = "securityCode"]; + string BlockAddr = 43 [json_name = "blockAddr"]; +} + +message UserInfoV2 { + uint64 ID = 1 ; + string Account = 2 ; + string NickName = 3 ; + string TelNum = 4 ; + string Status = 5 ; + string Avatar = 6 ; + string CreateAt = 7 ; + string RealName = 8; + string IDNum = 9; + string EnterDate = 10; + Extend Extend = 11; + string JobNum = 12; + string recentImg = 13; + string mailAccount = 14; + Operator operator = 15; + string updatedAt = 16; +} + +message RefreshTokenRequest { + string refreshToken = 1 ; + string domain = 2; + string ip = 3 ; +} + +message PositionUser { + uint64 PositionID = 1 [json_name = "positionID"]; + string PositionName = 2 [json_name = "positionName"]; + uint64 DepartmentId = 3 [json_name = "departmentId"]; + string DepartmentCode = 4 [json_name = "departmentCode"]; + string DepartmentName = 5 [json_name = "departmentName"]; + uint64 UserId = 6 [json_name = "userId"]; + string UserName = 7 [json_name = "userName"]; +} +message JobNumGetInfoRequest{ + string jobNum = 1; + string domain = 2; +} +message CreateClockDeviceRequest{ + string deviceNum =1; + string deviceName =2; + string deviceSite = 3; +} +message UpdateClockDeviceRequest{ + uint64 id = 1; + string deviceNum =2; + string deviceName =3; + string deviceSite = 4; +} +message ClockDeviceResponse{ + uint64 id = 1; +} +message RemoveClockDeviceRequest{ + uint64 id = 1; +} +message ClockDeviceListRequest{ + uint64 id =1; + string deviceSite = 2; + string deviceNum = 3; + string deviceName = 4; + uint64 page = 5 ; + uint64 pageSize = 6 ; + repeated uint64 ids = 7; +} +message ClockDeviceListResponse{ + uint64 count =1; + repeated ClockDeviceInfo data = 2; +} +message ClockUser{ + uint64 id =1; + string createdAt =2; + string updatedAt =3; + string deletedAt =4; + uint64 deviceID =5; + uint64 userId =6; + uint64 status =7; + ClockDeviceInfo device = 8; +} +message ClockDeviceInfo { + uint64 id = 1 ; + string createAt = 2 ; + string updateAt = 3 ; + string deviceSite = 4; + string deviceNum = 5; + string deviceName = 6; + uint64 userNum = 7; + repeated ClockUserRel data = 8 ; +} + +message ClockDeviceInfoResponse{ + uint64 count = 1; + repeated ClockUserRel data = 2 ; +} +message ClockUserRel { + uint64 id = 1 ; + string createAt = 2 ; + string updateAt = 3; + string nickName = 4 ; + string jobNum = 5 ; + string icNum = 6; +} +message ClockDeviceInfoRequest{ + uint64 id = 1; + uint64 page = 2 ; + uint64 pageSize = 3 ; +} +message ClockBatchBindRequest{ + uint64 id = 1; + repeated uint64 userId = 2; + repeated uint64 deviceId =3; +} +message ClockBatchListResponse{ + repeated ClockUserDeviceBatch data = 1; +} +message ClockUserDeviceBatch{ + uint64 userId = 1; + uint64 deviceId = 2; + string JobNum = 3; + string deviceNum = 4; + string deviceName = 5; + string workStatus = 6; +} +message ClockLogInfo{ + uint64 id = 1; + string sn = 2; + string userId =3; + string recogType =4; + string recogTime =5; + float gender =6; + string photo =7; + float passStatus =8; + string userName =9; + float userType =10; + string confidence =11; + float reflectivity =12; + string cardNumber =13; + string passWord =14; + string qrCode =15; + string tel = 16; + string reasonVisit = 17; + string receiverTel = 18; + uint64 numOfPeople = 19; +} +message ClockLogReq{ + uint64 id = 1; + uint64 page = 2; + uint64 pageSize = 3; + string userName = 4; + string recogType = 5; + string deviceNum = 6; + string recogDate = 7; + uint64 userId = 8; +} +message ClockLogListResponse{ + repeated ClockLogInfo data =1; + uint64 count = 2; +} \ No newline at end of file diff --git a/api/accountFiee/accountFiee.validator.pb.go b/api/accountFiee/accountFiee.validator.pb.go new file mode 100644 index 0000000..412caa8 --- /dev/null +++ b/api/accountFiee/accountFiee.validator.pb.go @@ -0,0 +1,524 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: api/accountFiee/accountFiee.proto + +package accountFiee + +import ( + fmt "fmt" + math "math" + proto "github.com/golang/protobuf/proto" + _ "github.com/mwitkow/go-proto-validators" + regexp "regexp" + 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 *VerifySliderStatusRequest) Validate() error { + return nil +} +func (this *VerifySliderStatusResponse) Validate() error { + return nil +} +func (this *SendNationMsgRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + if this.TelNum == "" { + return github_com_mwitkow_go_proto_validators.FieldError("TelNum", fmt.Errorf(`70001`)) + } + return nil +} +func (this *VerifySliderCaptchaResponse) Validate() error { + return nil +} +func (this *VerifySliderCaptchaRequest) Validate() error { + return nil +} +func (this *GenerateSliderCaptchaResponse) Validate() error { + return nil +} +func (this *GenerateSliderCaptchaRequest) Validate() error { + return nil +} +func (this *CheckRealNameResponse) Validate() error { + return nil +} +func (this *CheckRealNameRequest) Validate() error { + return nil +} +func (this *UserListResponse) Validate() error { + for _, item := range this.UserList { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("UserList", err) + } + } + } + return nil +} +func (this *UserListInfo) Validate() error { + return nil +} +func (this *UserListRequest) Validate() error { + return nil +} +func (this *UserInfoResponse) Validate() error { + return nil +} +func (this *RealNameResponse) Validate() error { + return nil +} +func (this *RealNameRequest) Validate() error { + return nil +} +func (this *RegisterResponse) Validate() error { + return nil +} +func (this *UsersByJobNumRequest) Validate() error { + return nil +} +func (this *QueryPersonnelWithTheSameNameRequest) Validate() error { + return nil +} +func (this *QueryPersonnelWithTheSameNameResponse) Validate() error { + return nil +} +func (this *ListV2Request) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + return nil +} +func (this *SendClockInWechatRequest) Validate() error { + return nil +} +func (this *MailAccountByNickNameRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + if this.NickName == "" { + return github_com_mwitkow_go_proto_validators.FieldError("NickName", fmt.Errorf(`70005`)) + } + if !(len(this.NickName) < 20) { + return github_com_mwitkow_go_proto_validators.FieldError("NickName", fmt.Errorf(`70005`)) + } + return nil +} +func (this *CreateMaiAccountRequest) Validate() error { + return nil +} +func (this *MaiAccountResponse) Validate() error { + return nil +} +func (this *FddCreateUserRequest) Validate() error { + return nil +} +func (this *WxBoxUserInfoRequest) Validate() error { + return nil +} +func (this *WxGetOpenIdByCodeRequest) Validate() error { + return nil +} +func (this *WxGetOpenIdByCodeResponse) Validate() error { + return nil +} +func (this *WxBoxTelNumByCodeResponse) Validate() error { + return nil +} +func (this *WxBoxUserInfo) Validate() error { + if this.User != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.User); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("User", err) + } + } + if this.Fdd != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Fdd); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Fdd", err) + } + } + return nil +} +func (this *FddInfo) Validate() error { + return nil +} +func (this *UserInfo) Validate() error { + return nil +} +func (this *CommonRequest) Validate() error { + return nil +} +func (this *WxAppRequest) Validate() error { + return nil +} +func (this *WxAppResponse) Validate() error { + return nil +} +func (this *WxUserUpdateRequest) Validate() error { + return nil +} +func (this *WxUserOrCreateRequest) Validate() error { + if this.OpenID == "" { + return github_com_mwitkow_go_proto_validators.FieldError("OpenID", fmt.Errorf(`缺少openid`)) + } + if this.GhID == "" { + return github_com_mwitkow_go_proto_validators.FieldError("GhID", fmt.Errorf(`缺少参数ghid`)) + } + return nil +} +func (this *WxUserResponse) Validate() error { + return nil +} +func (this *LoginLogsResponse) 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 *LoginLog) Validate() error { + return nil +} +func (this *OnlineLogByIdRequest) Validate() error { + return nil +} +func (this *LoginInfosByUserIdRequest) Validate() error { + return nil +} +func (this *SendNewTelNumMsgRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + return nil +} +func (this *UserByTelRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + return nil +} +func (this *CommonResponse) Validate() error { + return nil +} +func (this *UsersByTelRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + return nil +} +func (this *ListByIDsRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + return nil +} +func (this *SendMsgRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + return nil +} + +var _regex_SendCustomMsgRequest_TelNum = regexp.MustCompile(`^1\d{10}$`) + +func (this *SendCustomMsgRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + if !_regex_SendCustomMsgRequest_TelNum.MatchString(this.TelNum) { + return github_com_mwitkow_go_proto_validators.FieldError("TelNum", fmt.Errorf(`70002`)) + } + return nil +} +func (this *CheckMsgRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + if this.Code == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Code", fmt.Errorf(`70003`)) + } + return nil +} +func (this *SendMsgStatusResponse) Validate() error { + return nil +} +func (this *RemoveRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + if !(this.ID > 0) { + return github_com_mwitkow_go_proto_validators.FieldError("ID", fmt.Errorf(`70004`)) + } + return nil +} +func (this *WriteOffRequest) Validate() error { + return nil +} +func (this *WriteOffListRequest) Validate() error { + return nil +} +func (this *WriteOffApproveRequest) Validate() error { + return nil +} +func (this *WriteOffListResponse) Validate() error { + for _, item := range this.WriteOffList { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("WriteOffList", err) + } + } + } + return nil +} +func (this *RemoveResponse) Validate() error { + return nil +} +func (this *UpdateRequest) Validate() error { + return nil +} +func (this *Operator) Validate() error { + return nil +} +func (this *TrainVideo) Validate() error { + return nil +} +func (this *UpdateResponse) Validate() error { + return nil +} +func (this *PrivacyInfoRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + return nil +} +func (this *ListRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + return nil +} +func (this *ListResponse) 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 *InfoRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + return nil +} +func (this *InfoResponse) Validate() error { + if this.Info != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Info); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Info", err) + } + } + return nil +} +func (this *DecryptJwtResponse) Validate() error { + return nil +} +func (this *DecryptJwtRequest) Validate() error { + return nil +} +func (this *CheckPwdRequest) Validate() error { + return nil +} +func (this *AuthenticationRequest) Validate() error { + if !(len(this.IDNum) == 18) { + return github_com_mwitkow_go_proto_validators.FieldError("IDNum", fmt.Errorf(`70006`)) + } + return nil +} +func (this *RequestStatus) Validate() error { + return nil +} +func (this *RegistRequest) Validate() error { + return nil +} +func (this *LoginRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + return nil +} +func (this *TokenInfo) Validate() error { + if this.AccountInfo != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.AccountInfo); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("AccountInfo", err) + } + } + return nil +} +func (this *Extend) Validate() error { + return nil +} +func (this *Department) Validate() error { + return nil +} +func (this *AccountInfo) Validate() error { + if this.Extend != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Extend); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Extend", err) + } + } + for _, item := range this.Departments { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Departments", err) + } + } + } + for _, item := range this.Positions { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Positions", err) + } + } + } + for _, item := range this.Clocks { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Clocks", err) + } + } + } + for _, item := range this.TrainVideos { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("TrainVideos", err) + } + } + } + if this.Operator != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Operator); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Operator", err) + } + } + return nil +} +func (this *UserInfoV2) Validate() error { + if this.Extend != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Extend); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Extend", err) + } + } + if this.Operator != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Operator); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Operator", err) + } + } + return nil +} +func (this *RefreshTokenRequest) Validate() error { + return nil +} +func (this *PositionUser) Validate() error { + return nil +} +func (this *JobNumGetInfoRequest) Validate() error { + return nil +} +func (this *CreateClockDeviceRequest) Validate() error { + return nil +} +func (this *UpdateClockDeviceRequest) Validate() error { + return nil +} +func (this *ClockDeviceResponse) Validate() error { + return nil +} +func (this *RemoveClockDeviceRequest) Validate() error { + return nil +} +func (this *ClockDeviceListRequest) Validate() error { + return nil +} +func (this *ClockDeviceListResponse) 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 *ClockUser) Validate() error { + if this.Device != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Device); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Device", err) + } + } + return nil +} +func (this *ClockDeviceInfo) 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 *ClockDeviceInfoResponse) 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 *ClockUserRel) Validate() error { + return nil +} +func (this *ClockDeviceInfoRequest) Validate() error { + return nil +} +func (this *ClockBatchBindRequest) Validate() error { + return nil +} +func (this *ClockBatchListResponse) 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 *ClockUserDeviceBatch) Validate() error { + return nil +} +func (this *ClockLogInfo) Validate() error { + return nil +} +func (this *ClockLogReq) Validate() error { + return nil +} +func (this *ClockLogListResponse) 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 +} diff --git a/api/accountFiee/accountFiee_triple.pb.go b/api/accountFiee/accountFiee_triple.pb.go new file mode 100644 index 0000000..183a3f2 --- /dev/null +++ b/api/accountFiee/accountFiee_triple.pb.go @@ -0,0 +1,1859 @@ +// Code generated by protoc-gen-go-triple. DO NOT EDIT. +// versions: +// - protoc-gen-go-triple v1.0.8 +// - protoc v4.24.0--rc1 +// source: api/accountFiee/accountFiee.proto + +package accountFiee + +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 + +// AccountFieeClient is the client API for AccountFiee 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 AccountFieeClient interface { + Login(ctx context.Context, in *LoginRequest, opts ...grpc_go.CallOption) (*TokenInfo, common.ErrorWithAttachment) + RefreshToken(ctx context.Context, in *RefreshTokenRequest, opts ...grpc_go.CallOption) (*TokenInfo, common.ErrorWithAttachment) + Logout(ctx context.Context, in *DecryptJwtRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) + OffLine(ctx context.Context, in *CommonRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) + OnlineLog(ctx context.Context, in *LoginInfosByUserIdRequest, opts ...grpc_go.CallOption) (*LoginLogsResponse, common.ErrorWithAttachment) + OnlineLogById(ctx context.Context, in *OnlineLogByIdRequest, opts ...grpc_go.CallOption) (*LoginLog, common.ErrorWithAttachment) + CheckPwd(ctx context.Context, in *CheckPwdRequest, opts ...grpc_go.CallOption) (*UpdateResponse, common.ErrorWithAttachment) + // rpc RegisterOrExist (RegistRequest) returns (RequestStatus) {} + SendMsg(ctx context.Context, in *SendMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) + SendCustomMsg(ctx context.Context, in *SendCustomMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) + SendExCustomMsg(ctx context.Context, in *SendCustomMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) + SendMsgRegister(ctx context.Context, in *SendMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) + CheckMsg(ctx context.Context, in *CheckMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) + SendNewTelNumMsg(ctx context.Context, in *SendNewTelNumMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) + UpdateTelNum(ctx context.Context, in *SendNewTelNumMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) + Authentication(ctx context.Context, in *AuthenticationRequest, opts ...grpc_go.CallOption) (*RequestStatus, common.ErrorWithAttachment) + DecryptJwt(ctx context.Context, in *DecryptJwtRequest, opts ...grpc_go.CallOption) (*DecryptJwtResponse, common.ErrorWithAttachment) + Info(ctx context.Context, in *InfoRequest, opts ...grpc_go.CallOption) (*UserInfoResponse, common.ErrorWithAttachment) + JobNumGetInfo(ctx context.Context, in *JobNumGetInfoRequest, opts ...grpc_go.CallOption) (*InfoResponse, common.ErrorWithAttachment) + List(ctx context.Context, in *ListRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) + RandList(ctx context.Context, in *ListRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) + ListByIDs(ctx context.Context, in *ListByIDsRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) + Remove(ctx context.Context, in *RemoveRequest, opts ...grpc_go.CallOption) (*RemoveResponse, common.ErrorWithAttachment) + Update(ctx context.Context, in *UpdateRequest, opts ...grpc_go.CallOption) (*UpdateResponse, common.ErrorWithAttachment) + UsersByTel(ctx context.Context, in *UsersByTelRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) + UserByTel(ctx context.Context, in *UserByTelRequest, opts ...grpc_go.CallOption) (*UserInfoResponse, common.ErrorWithAttachment) + OnlySendMsg(ctx context.Context, in *SendMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) + OnlyCheckMsg(ctx context.Context, in *CheckMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) + MailAccountByNickName(ctx context.Context, in *MailAccountByNickNameRequest, opts ...grpc_go.CallOption) (*MaiAccountResponse, common.ErrorWithAttachment) + ListV2(ctx context.Context, in *ListV2Request, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) + QueryPersonnelWithTheSameName(ctx context.Context, in *QueryPersonnelWithTheSameNameRequest, opts ...grpc_go.CallOption) (*QueryPersonnelWithTheSameNameResponse, common.ErrorWithAttachment) + UsersByJobNum(ctx context.Context, in *UsersByJobNumRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) + RealName(ctx context.Context, in *RealNameRequest, opts ...grpc_go.CallOption) (*RealNameResponse, common.ErrorWithAttachment) + Register(ctx context.Context, in *RegistRequest, opts ...grpc_go.CallOption) (*RegisterResponse, common.ErrorWithAttachment) + UserList(ctx context.Context, in *UserListRequest, opts ...grpc_go.CallOption) (*UserListResponse, common.ErrorWithAttachment) + CheckRealName(ctx context.Context, in *CheckRealNameRequest, opts ...grpc_go.CallOption) (*CheckRealNameResponse, common.ErrorWithAttachment) + GenerateSliderCaptcha(ctx context.Context, in *GenerateSliderCaptchaRequest, opts ...grpc_go.CallOption) (*GenerateSliderCaptchaResponse, common.ErrorWithAttachment) + VerifySliderCaptcha(ctx context.Context, in *VerifySliderCaptchaRequest, opts ...grpc_go.CallOption) (*VerifySliderCaptchaResponse, common.ErrorWithAttachment) + SendNationMsg(ctx context.Context, in *SendNationMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) + VerifySliderStatus(ctx context.Context, in *VerifySliderStatusRequest, opts ...grpc_go.CallOption) (*VerifySliderStatusResponse, common.ErrorWithAttachment) +} + +type accountFieeClient struct { + cc *triple.TripleConn +} + +type AccountFieeClientImpl struct { + Login func(ctx context.Context, in *LoginRequest) (*TokenInfo, error) + RefreshToken func(ctx context.Context, in *RefreshTokenRequest) (*TokenInfo, error) + Logout func(ctx context.Context, in *DecryptJwtRequest) (*CommonResponse, error) + OffLine func(ctx context.Context, in *CommonRequest) (*CommonResponse, error) + OnlineLog func(ctx context.Context, in *LoginInfosByUserIdRequest) (*LoginLogsResponse, error) + OnlineLogById func(ctx context.Context, in *OnlineLogByIdRequest) (*LoginLog, error) + CheckPwd func(ctx context.Context, in *CheckPwdRequest) (*UpdateResponse, error) + SendMsg func(ctx context.Context, in *SendMsgRequest) (*SendMsgStatusResponse, error) + SendCustomMsg func(ctx context.Context, in *SendCustomMsgRequest) (*SendMsgStatusResponse, error) + SendExCustomMsg func(ctx context.Context, in *SendCustomMsgRequest) (*SendMsgStatusResponse, error) + SendMsgRegister func(ctx context.Context, in *SendMsgRequest) (*SendMsgStatusResponse, error) + CheckMsg func(ctx context.Context, in *CheckMsgRequest) (*SendMsgStatusResponse, error) + SendNewTelNumMsg func(ctx context.Context, in *SendNewTelNumMsgRequest) (*SendMsgStatusResponse, error) + UpdateTelNum func(ctx context.Context, in *SendNewTelNumMsgRequest) (*SendMsgStatusResponse, error) + Authentication func(ctx context.Context, in *AuthenticationRequest) (*RequestStatus, error) + DecryptJwt func(ctx context.Context, in *DecryptJwtRequest) (*DecryptJwtResponse, error) + Info func(ctx context.Context, in *InfoRequest) (*UserInfoResponse, error) + JobNumGetInfo func(ctx context.Context, in *JobNumGetInfoRequest) (*InfoResponse, error) + List func(ctx context.Context, in *ListRequest) (*ListResponse, error) + RandList func(ctx context.Context, in *ListRequest) (*ListResponse, error) + ListByIDs func(ctx context.Context, in *ListByIDsRequest) (*ListResponse, error) + Remove func(ctx context.Context, in *RemoveRequest) (*RemoveResponse, error) + Update func(ctx context.Context, in *UpdateRequest) (*UpdateResponse, error) + UsersByTel func(ctx context.Context, in *UsersByTelRequest) (*ListResponse, error) + UserByTel func(ctx context.Context, in *UserByTelRequest) (*UserInfoResponse, error) + OnlySendMsg func(ctx context.Context, in *SendMsgRequest) (*SendMsgStatusResponse, error) + OnlyCheckMsg func(ctx context.Context, in *CheckMsgRequest) (*SendMsgStatusResponse, error) + MailAccountByNickName func(ctx context.Context, in *MailAccountByNickNameRequest) (*MaiAccountResponse, error) + ListV2 func(ctx context.Context, in *ListV2Request) (*ListResponse, error) + QueryPersonnelWithTheSameName func(ctx context.Context, in *QueryPersonnelWithTheSameNameRequest) (*QueryPersonnelWithTheSameNameResponse, error) + UsersByJobNum func(ctx context.Context, in *UsersByJobNumRequest) (*ListResponse, error) + RealName func(ctx context.Context, in *RealNameRequest) (*RealNameResponse, error) + Register func(ctx context.Context, in *RegistRequest) (*RegisterResponse, error) + UserList func(ctx context.Context, in *UserListRequest) (*UserListResponse, error) + CheckRealName func(ctx context.Context, in *CheckRealNameRequest) (*CheckRealNameResponse, error) + GenerateSliderCaptcha func(ctx context.Context, in *GenerateSliderCaptchaRequest) (*GenerateSliderCaptchaResponse, error) + VerifySliderCaptcha func(ctx context.Context, in *VerifySliderCaptchaRequest) (*VerifySliderCaptchaResponse, error) + SendNationMsg func(ctx context.Context, in *SendNationMsgRequest) (*SendMsgStatusResponse, error) + VerifySliderStatus func(ctx context.Context, in *VerifySliderStatusRequest) (*VerifySliderStatusResponse, error) +} + +func (c *AccountFieeClientImpl) GetDubboStub(cc *triple.TripleConn) AccountFieeClient { + return NewAccountFieeClient(cc) +} + +func (c *AccountFieeClientImpl) XXX_InterfaceName() string { + return "accountFiee.AccountFiee" +} + +func NewAccountFieeClient(cc *triple.TripleConn) AccountFieeClient { + return &accountFieeClient{cc} +} + +func (c *accountFieeClient) Login(ctx context.Context, in *LoginRequest, opts ...grpc_go.CallOption) (*TokenInfo, common.ErrorWithAttachment) { + out := new(TokenInfo) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Login", in, out) +} + +func (c *accountFieeClient) RefreshToken(ctx context.Context, in *RefreshTokenRequest, opts ...grpc_go.CallOption) (*TokenInfo, common.ErrorWithAttachment) { + out := new(TokenInfo) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/RefreshToken", in, out) +} + +func (c *accountFieeClient) Logout(ctx context.Context, in *DecryptJwtRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { + out := new(CommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Logout", in, out) +} + +func (c *accountFieeClient) OffLine(ctx context.Context, in *CommonRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { + out := new(CommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/OffLine", in, out) +} + +func (c *accountFieeClient) OnlineLog(ctx context.Context, in *LoginInfosByUserIdRequest, opts ...grpc_go.CallOption) (*LoginLogsResponse, common.ErrorWithAttachment) { + out := new(LoginLogsResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/OnlineLog", in, out) +} + +func (c *accountFieeClient) OnlineLogById(ctx context.Context, in *OnlineLogByIdRequest, opts ...grpc_go.CallOption) (*LoginLog, common.ErrorWithAttachment) { + out := new(LoginLog) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/OnlineLogById", in, out) +} + +func (c *accountFieeClient) CheckPwd(ctx context.Context, in *CheckPwdRequest, opts ...grpc_go.CallOption) (*UpdateResponse, common.ErrorWithAttachment) { + out := new(UpdateResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CheckPwd", in, out) +} + +func (c *accountFieeClient) SendMsg(ctx context.Context, in *SendMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) { + out := new(SendMsgStatusResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SendMsg", in, out) +} + +func (c *accountFieeClient) SendCustomMsg(ctx context.Context, in *SendCustomMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) { + out := new(SendMsgStatusResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SendCustomMsg", in, out) +} + +func (c *accountFieeClient) SendExCustomMsg(ctx context.Context, in *SendCustomMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) { + out := new(SendMsgStatusResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SendExCustomMsg", in, out) +} + +func (c *accountFieeClient) SendMsgRegister(ctx context.Context, in *SendMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) { + out := new(SendMsgStatusResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SendMsgRegister", in, out) +} + +func (c *accountFieeClient) CheckMsg(ctx context.Context, in *CheckMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) { + out := new(SendMsgStatusResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CheckMsg", in, out) +} + +func (c *accountFieeClient) SendNewTelNumMsg(ctx context.Context, in *SendNewTelNumMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) { + out := new(SendMsgStatusResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SendNewTelNumMsg", in, out) +} + +func (c *accountFieeClient) UpdateTelNum(ctx context.Context, in *SendNewTelNumMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) { + out := new(SendMsgStatusResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateTelNum", in, out) +} + +func (c *accountFieeClient) Authentication(ctx context.Context, in *AuthenticationRequest, opts ...grpc_go.CallOption) (*RequestStatus, common.ErrorWithAttachment) { + out := new(RequestStatus) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Authentication", in, out) +} + +func (c *accountFieeClient) DecryptJwt(ctx context.Context, in *DecryptJwtRequest, opts ...grpc_go.CallOption) (*DecryptJwtResponse, common.ErrorWithAttachment) { + out := new(DecryptJwtResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DecryptJwt", in, out) +} + +func (c *accountFieeClient) Info(ctx context.Context, in *InfoRequest, opts ...grpc_go.CallOption) (*UserInfoResponse, common.ErrorWithAttachment) { + out := new(UserInfoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Info", in, out) +} + +func (c *accountFieeClient) JobNumGetInfo(ctx context.Context, in *JobNumGetInfoRequest, opts ...grpc_go.CallOption) (*InfoResponse, common.ErrorWithAttachment) { + out := new(InfoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/JobNumGetInfo", in, out) +} + +func (c *accountFieeClient) List(ctx context.Context, in *ListRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) { + out := new(ListResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/List", in, out) +} + +func (c *accountFieeClient) RandList(ctx context.Context, in *ListRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) { + out := new(ListResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/RandList", in, out) +} + +func (c *accountFieeClient) ListByIDs(ctx context.Context, in *ListByIDsRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) { + out := new(ListResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ListByIDs", in, out) +} + +func (c *accountFieeClient) Remove(ctx context.Context, in *RemoveRequest, opts ...grpc_go.CallOption) (*RemoveResponse, common.ErrorWithAttachment) { + out := new(RemoveResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Remove", in, out) +} + +func (c *accountFieeClient) Update(ctx context.Context, in *UpdateRequest, opts ...grpc_go.CallOption) (*UpdateResponse, common.ErrorWithAttachment) { + out := new(UpdateResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Update", in, out) +} + +func (c *accountFieeClient) UsersByTel(ctx context.Context, in *UsersByTelRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) { + out := new(ListResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UsersByTel", in, out) +} + +func (c *accountFieeClient) UserByTel(ctx context.Context, in *UserByTelRequest, opts ...grpc_go.CallOption) (*UserInfoResponse, common.ErrorWithAttachment) { + out := new(UserInfoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UserByTel", in, out) +} + +func (c *accountFieeClient) OnlySendMsg(ctx context.Context, in *SendMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) { + out := new(SendMsgStatusResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/OnlySendMsg", in, out) +} + +func (c *accountFieeClient) OnlyCheckMsg(ctx context.Context, in *CheckMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) { + out := new(SendMsgStatusResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/OnlyCheckMsg", in, out) +} + +func (c *accountFieeClient) MailAccountByNickName(ctx context.Context, in *MailAccountByNickNameRequest, opts ...grpc_go.CallOption) (*MaiAccountResponse, common.ErrorWithAttachment) { + out := new(MaiAccountResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/MailAccountByNickName", in, out) +} + +func (c *accountFieeClient) ListV2(ctx context.Context, in *ListV2Request, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) { + out := new(ListResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ListV2", in, out) +} + +func (c *accountFieeClient) QueryPersonnelWithTheSameName(ctx context.Context, in *QueryPersonnelWithTheSameNameRequest, opts ...grpc_go.CallOption) (*QueryPersonnelWithTheSameNameResponse, common.ErrorWithAttachment) { + out := new(QueryPersonnelWithTheSameNameResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/QueryPersonnelWithTheSameName", in, out) +} + +func (c *accountFieeClient) UsersByJobNum(ctx context.Context, in *UsersByJobNumRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) { + out := new(ListResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UsersByJobNum", in, out) +} + +func (c *accountFieeClient) RealName(ctx context.Context, in *RealNameRequest, opts ...grpc_go.CallOption) (*RealNameResponse, common.ErrorWithAttachment) { + out := new(RealNameResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/RealName", in, out) +} + +func (c *accountFieeClient) Register(ctx context.Context, in *RegistRequest, opts ...grpc_go.CallOption) (*RegisterResponse, common.ErrorWithAttachment) { + out := new(RegisterResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Register", in, out) +} + +func (c *accountFieeClient) UserList(ctx context.Context, in *UserListRequest, opts ...grpc_go.CallOption) (*UserListResponse, common.ErrorWithAttachment) { + out := new(UserListResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UserList", in, out) +} + +func (c *accountFieeClient) CheckRealName(ctx context.Context, in *CheckRealNameRequest, opts ...grpc_go.CallOption) (*CheckRealNameResponse, common.ErrorWithAttachment) { + out := new(CheckRealNameResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CheckRealName", in, out) +} + +func (c *accountFieeClient) GenerateSliderCaptcha(ctx context.Context, in *GenerateSliderCaptchaRequest, opts ...grpc_go.CallOption) (*GenerateSliderCaptchaResponse, common.ErrorWithAttachment) { + out := new(GenerateSliderCaptchaResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GenerateSliderCaptcha", in, out) +} + +func (c *accountFieeClient) VerifySliderCaptcha(ctx context.Context, in *VerifySliderCaptchaRequest, opts ...grpc_go.CallOption) (*VerifySliderCaptchaResponse, common.ErrorWithAttachment) { + out := new(VerifySliderCaptchaResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/VerifySliderCaptcha", in, out) +} + +func (c *accountFieeClient) SendNationMsg(ctx context.Context, in *SendNationMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) { + out := new(SendMsgStatusResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SendNationMsg", in, out) +} + +func (c *accountFieeClient) VerifySliderStatus(ctx context.Context, in *VerifySliderStatusRequest, opts ...grpc_go.CallOption) (*VerifySliderStatusResponse, common.ErrorWithAttachment) { + out := new(VerifySliderStatusResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/VerifySliderStatus", in, out) +} + +// AccountFieeServer is the server API for AccountFiee service. +// All implementations must embed UnimplementedAccountFieeServer +// for forward compatibility +type AccountFieeServer interface { + Login(context.Context, *LoginRequest) (*TokenInfo, error) + RefreshToken(context.Context, *RefreshTokenRequest) (*TokenInfo, error) + Logout(context.Context, *DecryptJwtRequest) (*CommonResponse, error) + OffLine(context.Context, *CommonRequest) (*CommonResponse, error) + OnlineLog(context.Context, *LoginInfosByUserIdRequest) (*LoginLogsResponse, error) + OnlineLogById(context.Context, *OnlineLogByIdRequest) (*LoginLog, error) + CheckPwd(context.Context, *CheckPwdRequest) (*UpdateResponse, error) + // rpc RegisterOrExist (RegistRequest) returns (RequestStatus) {} + SendMsg(context.Context, *SendMsgRequest) (*SendMsgStatusResponse, error) + SendCustomMsg(context.Context, *SendCustomMsgRequest) (*SendMsgStatusResponse, error) + SendExCustomMsg(context.Context, *SendCustomMsgRequest) (*SendMsgStatusResponse, error) + SendMsgRegister(context.Context, *SendMsgRequest) (*SendMsgStatusResponse, error) + CheckMsg(context.Context, *CheckMsgRequest) (*SendMsgStatusResponse, error) + SendNewTelNumMsg(context.Context, *SendNewTelNumMsgRequest) (*SendMsgStatusResponse, error) + UpdateTelNum(context.Context, *SendNewTelNumMsgRequest) (*SendMsgStatusResponse, error) + Authentication(context.Context, *AuthenticationRequest) (*RequestStatus, error) + DecryptJwt(context.Context, *DecryptJwtRequest) (*DecryptJwtResponse, error) + Info(context.Context, *InfoRequest) (*UserInfoResponse, error) + JobNumGetInfo(context.Context, *JobNumGetInfoRequest) (*InfoResponse, error) + List(context.Context, *ListRequest) (*ListResponse, error) + RandList(context.Context, *ListRequest) (*ListResponse, error) + ListByIDs(context.Context, *ListByIDsRequest) (*ListResponse, error) + Remove(context.Context, *RemoveRequest) (*RemoveResponse, error) + Update(context.Context, *UpdateRequest) (*UpdateResponse, error) + UsersByTel(context.Context, *UsersByTelRequest) (*ListResponse, error) + UserByTel(context.Context, *UserByTelRequest) (*UserInfoResponse, error) + OnlySendMsg(context.Context, *SendMsgRequest) (*SendMsgStatusResponse, error) + OnlyCheckMsg(context.Context, *CheckMsgRequest) (*SendMsgStatusResponse, error) + MailAccountByNickName(context.Context, *MailAccountByNickNameRequest) (*MaiAccountResponse, error) + ListV2(context.Context, *ListV2Request) (*ListResponse, error) + QueryPersonnelWithTheSameName(context.Context, *QueryPersonnelWithTheSameNameRequest) (*QueryPersonnelWithTheSameNameResponse, error) + UsersByJobNum(context.Context, *UsersByJobNumRequest) (*ListResponse, error) + RealName(context.Context, *RealNameRequest) (*RealNameResponse, error) + Register(context.Context, *RegistRequest) (*RegisterResponse, error) + UserList(context.Context, *UserListRequest) (*UserListResponse, error) + CheckRealName(context.Context, *CheckRealNameRequest) (*CheckRealNameResponse, error) + GenerateSliderCaptcha(context.Context, *GenerateSliderCaptchaRequest) (*GenerateSliderCaptchaResponse, error) + VerifySliderCaptcha(context.Context, *VerifySliderCaptchaRequest) (*VerifySliderCaptchaResponse, error) + SendNationMsg(context.Context, *SendNationMsgRequest) (*SendMsgStatusResponse, error) + VerifySliderStatus(context.Context, *VerifySliderStatusRequest) (*VerifySliderStatusResponse, error) + mustEmbedUnimplementedAccountFieeServer() +} + +// UnimplementedAccountFieeServer must be embedded to have forward compatible implementations. +type UnimplementedAccountFieeServer struct { + proxyImpl protocol.Invoker +} + +func (UnimplementedAccountFieeServer) Login(context.Context, *LoginRequest) (*TokenInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method Login not implemented") +} +func (UnimplementedAccountFieeServer) RefreshToken(context.Context, *RefreshTokenRequest) (*TokenInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method RefreshToken not implemented") +} +func (UnimplementedAccountFieeServer) Logout(context.Context, *DecryptJwtRequest) (*CommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Logout not implemented") +} +func (UnimplementedAccountFieeServer) OffLine(context.Context, *CommonRequest) (*CommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method OffLine not implemented") +} +func (UnimplementedAccountFieeServer) OnlineLog(context.Context, *LoginInfosByUserIdRequest) (*LoginLogsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method OnlineLog not implemented") +} +func (UnimplementedAccountFieeServer) OnlineLogById(context.Context, *OnlineLogByIdRequest) (*LoginLog, error) { + return nil, status.Errorf(codes.Unimplemented, "method OnlineLogById not implemented") +} +func (UnimplementedAccountFieeServer) CheckPwd(context.Context, *CheckPwdRequest) (*UpdateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CheckPwd not implemented") +} +func (UnimplementedAccountFieeServer) SendMsg(context.Context, *SendMsgRequest) (*SendMsgStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SendMsg not implemented") +} +func (UnimplementedAccountFieeServer) SendCustomMsg(context.Context, *SendCustomMsgRequest) (*SendMsgStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SendCustomMsg not implemented") +} +func (UnimplementedAccountFieeServer) SendExCustomMsg(context.Context, *SendCustomMsgRequest) (*SendMsgStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SendExCustomMsg not implemented") +} +func (UnimplementedAccountFieeServer) SendMsgRegister(context.Context, *SendMsgRequest) (*SendMsgStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SendMsgRegister not implemented") +} +func (UnimplementedAccountFieeServer) CheckMsg(context.Context, *CheckMsgRequest) (*SendMsgStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CheckMsg not implemented") +} +func (UnimplementedAccountFieeServer) SendNewTelNumMsg(context.Context, *SendNewTelNumMsgRequest) (*SendMsgStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SendNewTelNumMsg not implemented") +} +func (UnimplementedAccountFieeServer) UpdateTelNum(context.Context, *SendNewTelNumMsgRequest) (*SendMsgStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateTelNum not implemented") +} +func (UnimplementedAccountFieeServer) Authentication(context.Context, *AuthenticationRequest) (*RequestStatus, error) { + return nil, status.Errorf(codes.Unimplemented, "method Authentication not implemented") +} +func (UnimplementedAccountFieeServer) DecryptJwt(context.Context, *DecryptJwtRequest) (*DecryptJwtResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DecryptJwt not implemented") +} +func (UnimplementedAccountFieeServer) Info(context.Context, *InfoRequest) (*UserInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Info not implemented") +} +func (UnimplementedAccountFieeServer) JobNumGetInfo(context.Context, *JobNumGetInfoRequest) (*InfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method JobNumGetInfo not implemented") +} +func (UnimplementedAccountFieeServer) List(context.Context, *ListRequest) (*ListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method List not implemented") +} +func (UnimplementedAccountFieeServer) RandList(context.Context, *ListRequest) (*ListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RandList not implemented") +} +func (UnimplementedAccountFieeServer) ListByIDs(context.Context, *ListByIDsRequest) (*ListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListByIDs not implemented") +} +func (UnimplementedAccountFieeServer) Remove(context.Context, *RemoveRequest) (*RemoveResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Remove not implemented") +} +func (UnimplementedAccountFieeServer) Update(context.Context, *UpdateRequest) (*UpdateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Update not implemented") +} +func (UnimplementedAccountFieeServer) UsersByTel(context.Context, *UsersByTelRequest) (*ListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UsersByTel not implemented") +} +func (UnimplementedAccountFieeServer) UserByTel(context.Context, *UserByTelRequest) (*UserInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UserByTel not implemented") +} +func (UnimplementedAccountFieeServer) OnlySendMsg(context.Context, *SendMsgRequest) (*SendMsgStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method OnlySendMsg not implemented") +} +func (UnimplementedAccountFieeServer) OnlyCheckMsg(context.Context, *CheckMsgRequest) (*SendMsgStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method OnlyCheckMsg not implemented") +} +func (UnimplementedAccountFieeServer) MailAccountByNickName(context.Context, *MailAccountByNickNameRequest) (*MaiAccountResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method MailAccountByNickName not implemented") +} +func (UnimplementedAccountFieeServer) ListV2(context.Context, *ListV2Request) (*ListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListV2 not implemented") +} +func (UnimplementedAccountFieeServer) QueryPersonnelWithTheSameName(context.Context, *QueryPersonnelWithTheSameNameRequest) (*QueryPersonnelWithTheSameNameResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method QueryPersonnelWithTheSameName not implemented") +} +func (UnimplementedAccountFieeServer) UsersByJobNum(context.Context, *UsersByJobNumRequest) (*ListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UsersByJobNum not implemented") +} +func (UnimplementedAccountFieeServer) RealName(context.Context, *RealNameRequest) (*RealNameResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RealName not implemented") +} +func (UnimplementedAccountFieeServer) Register(context.Context, *RegistRequest) (*RegisterResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Register not implemented") +} +func (UnimplementedAccountFieeServer) UserList(context.Context, *UserListRequest) (*UserListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UserList not implemented") +} +func (UnimplementedAccountFieeServer) CheckRealName(context.Context, *CheckRealNameRequest) (*CheckRealNameResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CheckRealName not implemented") +} +func (UnimplementedAccountFieeServer) GenerateSliderCaptcha(context.Context, *GenerateSliderCaptchaRequest) (*GenerateSliderCaptchaResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GenerateSliderCaptcha not implemented") +} +func (UnimplementedAccountFieeServer) VerifySliderCaptcha(context.Context, *VerifySliderCaptchaRequest) (*VerifySliderCaptchaResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method VerifySliderCaptcha not implemented") +} +func (UnimplementedAccountFieeServer) SendNationMsg(context.Context, *SendNationMsgRequest) (*SendMsgStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SendNationMsg not implemented") +} +func (UnimplementedAccountFieeServer) VerifySliderStatus(context.Context, *VerifySliderStatusRequest) (*VerifySliderStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method VerifySliderStatus not implemented") +} +func (s *UnimplementedAccountFieeServer) XXX_SetProxyImpl(impl protocol.Invoker) { + s.proxyImpl = impl +} + +func (s *UnimplementedAccountFieeServer) XXX_GetProxyImpl() protocol.Invoker { + return s.proxyImpl +} + +func (s *UnimplementedAccountFieeServer) XXX_ServiceDesc() *grpc_go.ServiceDesc { + return &AccountFiee_ServiceDesc +} +func (s *UnimplementedAccountFieeServer) XXX_InterfaceName() string { + return "accountFiee.AccountFiee" +} + +func (UnimplementedAccountFieeServer) mustEmbedUnimplementedAccountFieeServer() {} + +// UnsafeAccountFieeServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to AccountFieeServer will +// result in compilation errors. +type UnsafeAccountFieeServer interface { + mustEmbedUnimplementedAccountFieeServer() +} + +func RegisterAccountFieeServer(s grpc_go.ServiceRegistrar, srv AccountFieeServer) { + s.RegisterService(&AccountFiee_ServiceDesc, srv) +} + +func _AccountFiee_Login_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(LoginRequest) + 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("Login", 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 _AccountFiee_RefreshToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(RefreshTokenRequest) + 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("RefreshToken", 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 _AccountFiee_Logout_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(DecryptJwtRequest) + 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("Logout", 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 _AccountFiee_OffLine_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CommonRequest) + 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("OffLine", 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 _AccountFiee_OnlineLog_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(LoginInfosByUserIdRequest) + 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("OnlineLog", 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 _AccountFiee_OnlineLogById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(OnlineLogByIdRequest) + 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("OnlineLogById", 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 _AccountFiee_CheckPwd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CheckPwdRequest) + 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("CheckPwd", 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 _AccountFiee_SendMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(SendMsgRequest) + 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("SendMsg", 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 _AccountFiee_SendCustomMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(SendCustomMsgRequest) + 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("SendCustomMsg", 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 _AccountFiee_SendExCustomMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(SendCustomMsgRequest) + 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("SendExCustomMsg", 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 _AccountFiee_SendMsgRegister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(SendMsgRequest) + 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("SendMsgRegister", 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 _AccountFiee_CheckMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CheckMsgRequest) + 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("CheckMsg", 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 _AccountFiee_SendNewTelNumMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(SendNewTelNumMsgRequest) + 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("SendNewTelNumMsg", 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 _AccountFiee_UpdateTelNum_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(SendNewTelNumMsgRequest) + 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("UpdateTelNum", 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 _AccountFiee_Authentication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AuthenticationRequest) + 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("Authentication", 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 _AccountFiee_DecryptJwt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(DecryptJwtRequest) + 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("DecryptJwt", 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 _AccountFiee_Info_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(InfoRequest) + 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 _AccountFiee_JobNumGetInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(JobNumGetInfoRequest) + 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("JobNumGetInfo", 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 _AccountFiee_List_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ListRequest) + 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("List", 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 _AccountFiee_RandList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ListRequest) + 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("RandList", 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 _AccountFiee_ListByIDs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ListByIDsRequest) + 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("ListByIDs", 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 _AccountFiee_Remove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveRequest) + 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("Remove", 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 _AccountFiee_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateRequest) + 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("Update", 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 _AccountFiee_UsersByTel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UsersByTelRequest) + 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("UsersByTel", 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 _AccountFiee_UserByTel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UserByTelRequest) + 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("UserByTel", 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 _AccountFiee_OnlySendMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(SendMsgRequest) + 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("OnlySendMsg", 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 _AccountFiee_OnlyCheckMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CheckMsgRequest) + 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("OnlyCheckMsg", 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 _AccountFiee_MailAccountByNickName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(MailAccountByNickNameRequest) + 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("MailAccountByNickName", 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 _AccountFiee_ListV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ListV2Request) + 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("ListV2", 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 _AccountFiee_QueryPersonnelWithTheSameName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryPersonnelWithTheSameNameRequest) + 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("QueryPersonnelWithTheSameName", 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 _AccountFiee_UsersByJobNum_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UsersByJobNumRequest) + 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("UsersByJobNum", 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 _AccountFiee_RealName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(RealNameRequest) + 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("RealName", 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 _AccountFiee_Register_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(RegistRequest) + 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("Register", 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 _AccountFiee_UserList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UserListRequest) + 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("UserList", 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 _AccountFiee_CheckRealName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CheckRealNameRequest) + 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("CheckRealName", 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 _AccountFiee_GenerateSliderCaptcha_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GenerateSliderCaptchaRequest) + 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("GenerateSliderCaptcha", 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 _AccountFiee_VerifySliderCaptcha_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(VerifySliderCaptchaRequest) + 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("VerifySliderCaptcha", 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 _AccountFiee_SendNationMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(SendNationMsgRequest) + 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("SendNationMsg", 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 _AccountFiee_VerifySliderStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(VerifySliderStatusRequest) + 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("VerifySliderStatus", 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) +} + +// AccountFiee_ServiceDesc is the grpc_go.ServiceDesc for AccountFiee service. +// It's only intended for direct use with grpc_go.RegisterService, +// and not to be introspected or modified (even as a copy) +var AccountFiee_ServiceDesc = grpc_go.ServiceDesc{ + ServiceName: "accountFiee.AccountFiee", + HandlerType: (*AccountFieeServer)(nil), + Methods: []grpc_go.MethodDesc{ + { + MethodName: "Login", + Handler: _AccountFiee_Login_Handler, + }, + { + MethodName: "RefreshToken", + Handler: _AccountFiee_RefreshToken_Handler, + }, + { + MethodName: "Logout", + Handler: _AccountFiee_Logout_Handler, + }, + { + MethodName: "OffLine", + Handler: _AccountFiee_OffLine_Handler, + }, + { + MethodName: "OnlineLog", + Handler: _AccountFiee_OnlineLog_Handler, + }, + { + MethodName: "OnlineLogById", + Handler: _AccountFiee_OnlineLogById_Handler, + }, + { + MethodName: "CheckPwd", + Handler: _AccountFiee_CheckPwd_Handler, + }, + { + MethodName: "SendMsg", + Handler: _AccountFiee_SendMsg_Handler, + }, + { + MethodName: "SendCustomMsg", + Handler: _AccountFiee_SendCustomMsg_Handler, + }, + { + MethodName: "SendExCustomMsg", + Handler: _AccountFiee_SendExCustomMsg_Handler, + }, + { + MethodName: "SendMsgRegister", + Handler: _AccountFiee_SendMsgRegister_Handler, + }, + { + MethodName: "CheckMsg", + Handler: _AccountFiee_CheckMsg_Handler, + }, + { + MethodName: "SendNewTelNumMsg", + Handler: _AccountFiee_SendNewTelNumMsg_Handler, + }, + { + MethodName: "UpdateTelNum", + Handler: _AccountFiee_UpdateTelNum_Handler, + }, + { + MethodName: "Authentication", + Handler: _AccountFiee_Authentication_Handler, + }, + { + MethodName: "DecryptJwt", + Handler: _AccountFiee_DecryptJwt_Handler, + }, + { + MethodName: "Info", + Handler: _AccountFiee_Info_Handler, + }, + { + MethodName: "JobNumGetInfo", + Handler: _AccountFiee_JobNumGetInfo_Handler, + }, + { + MethodName: "List", + Handler: _AccountFiee_List_Handler, + }, + { + MethodName: "RandList", + Handler: _AccountFiee_RandList_Handler, + }, + { + MethodName: "ListByIDs", + Handler: _AccountFiee_ListByIDs_Handler, + }, + { + MethodName: "Remove", + Handler: _AccountFiee_Remove_Handler, + }, + { + MethodName: "Update", + Handler: _AccountFiee_Update_Handler, + }, + { + MethodName: "UsersByTel", + Handler: _AccountFiee_UsersByTel_Handler, + }, + { + MethodName: "UserByTel", + Handler: _AccountFiee_UserByTel_Handler, + }, + { + MethodName: "OnlySendMsg", + Handler: _AccountFiee_OnlySendMsg_Handler, + }, + { + MethodName: "OnlyCheckMsg", + Handler: _AccountFiee_OnlyCheckMsg_Handler, + }, + { + MethodName: "MailAccountByNickName", + Handler: _AccountFiee_MailAccountByNickName_Handler, + }, + { + MethodName: "ListV2", + Handler: _AccountFiee_ListV2_Handler, + }, + { + MethodName: "QueryPersonnelWithTheSameName", + Handler: _AccountFiee_QueryPersonnelWithTheSameName_Handler, + }, + { + MethodName: "UsersByJobNum", + Handler: _AccountFiee_UsersByJobNum_Handler, + }, + { + MethodName: "RealName", + Handler: _AccountFiee_RealName_Handler, + }, + { + MethodName: "Register", + Handler: _AccountFiee_Register_Handler, + }, + { + MethodName: "UserList", + Handler: _AccountFiee_UserList_Handler, + }, + { + MethodName: "CheckRealName", + Handler: _AccountFiee_CheckRealName_Handler, + }, + { + MethodName: "GenerateSliderCaptcha", + Handler: _AccountFiee_GenerateSliderCaptcha_Handler, + }, + { + MethodName: "VerifySliderCaptcha", + Handler: _AccountFiee_VerifySliderCaptcha_Handler, + }, + { + MethodName: "SendNationMsg", + Handler: _AccountFiee_SendNationMsg_Handler, + }, + { + MethodName: "VerifySliderStatus", + Handler: _AccountFiee_VerifySliderStatus_Handler, + }, + }, + Streams: []grpc_go.StreamDesc{}, + Metadata: "api/accountFiee/accountFiee.proto", +} diff --git a/conf/dubbogo.yaml b/conf/dubbogo.yaml index 658025b..6aec23d 100644 --- a/conf/dubbogo.yaml +++ b/conf/dubbogo.yaml @@ -9,7 +9,15 @@ dubbo: AccountClientImpl: protocol: tri retries: 0 - interface: com.fontree.microservices.common.micro.account + interface: com.fontree.microservices.common.Account + filter: cshutdown,sign,fonDomainFilter,fonValidateFilter + params: + .accessKeyId: "Accountksl" + .secretAccessKey: "BSDY-FDF1-Fontree_account" + AccountFieeClientImpl: + protocol: tri + retries: 0 + interface: com.fontree.microservices.common.micro.account.fiee # filter: cshutdown,sign,fonDomainFilter,fonValidateFilter # params: # .accessKeyId: "Accountksl" diff --git a/docs/dev/dubbogo.yaml b/docs/dev/dubbogo.yaml index b92ef00..f464785 100644 --- a/docs/dev/dubbogo.yaml +++ b/docs/dev/dubbogo.yaml @@ -24,9 +24,17 @@ dubbo: retries: 0 interface: com.fontree.microservices.fiee.bundle # must be compatible with grpc or dubbo-java AccountClientImpl: + protocol: tri + retries: 0 + interface: com.fontree.microservices.common.Account + filter: cshutdown,sign,fonDomainFilter,fonValidateFilter + params: + .accessKeyId: "Accountksl" + .secretAccessKey: "BSDY-FDF1-Fontree_account" + AccountFieeClientImpl: protocol: tri retries: 3 - interface: com.fontree.microservices.common.micro.account + interface: com.fontree.microservices.common.micro.account.fiee # filter: echo,metrics,token,accesslog,sign,tps,generic_service,execute,pshutdown,auth,fonValidateFilter PaymentClientImpl: interface: com.fontree.microservices.common.payment # must be compatible with grpc or dubbo-java diff --git a/docs/prod/dubbogo.yaml b/docs/prod/dubbogo.yaml index 1b9b576..ba83467 100644 --- a/docs/prod/dubbogo.yaml +++ b/docs/prod/dubbogo.yaml @@ -25,7 +25,15 @@ dubbo: AccountClientImpl: protocol: tri retries: 0 - interface: com.fontree.microservices.common.micro.account + interface: com.fontree.microservices.common.Account + filter: cshutdown,sign,fonDomainFilter,fonValidateFilter + params: + .accessKeyId: "Accountksl" + .secretAccessKey: "BSDY-FDF1-Fontree_account" + AccountFieeClientImpl: + protocol: tri + retries: 0 + interface: com.fontree.microservices.common.micro.account.fiee PaymentCentClientImpl: protocol: tri retries: 0 diff --git a/go.mod b/go.mod index a4238b6..8234332 100644 --- a/go.mod +++ b/go.mod @@ -1,27 +1,11 @@ module fonchain-fiee -go 1.23.0 +go 1.18 -toolchain go1.23.6 - -//github.com/fonchain_enterprise/utils/aes => ./docs/utils/aes -//github.com/fonchain_enterprise/utils/chain => ./docs/utils/chain -//github.com/fonchain_enterprise/utils/jwt => ./docs/utils/jwt -//github.com/fonchain_enterprise/utils/logger => ./docs/utils/logger -//github.com/fonchain_enterprise/utils/rand => ./docs/utils/rand - -//github.com/fonchain/electronic-contract => ../../electronic-contract -//github.com/fonchain_enterprise/utils/aes => ../utils/aes -//github.com/fonchain_enterprise/utils/baidu => ../utils/baidu -//github.com/fonchain_enterprise/utils/bankQuery => ../utils/bankQuery -//github.com/fonchain_enterprise/utils/chain => ../utils/chain -//github.com/fonchain_enterprise/utils/feie => ../utils/feie -//github.com/fonchain_enterprise/utils/ipAddrQuery => ../utils/ipAddrQuery -//github.com/fonchain_enterprise/utils/jwt => ../utils/jwt -//github.com/fonchain_enterprise/utils/logger => ../utils/logger -//replace github.com/fonchain_enterprise/utils/objstorage => ../../tyfon-新/utils/objstorage - -replace github.com/fonchain_enterprise/utils/objstorage => ../utils/objstorage +replace ( + github.com/fonchain_enterprise/utils/aes => ../utils/aes + github.com/fonchain_enterprise/utils/objstorage => ../utils/objstorage +) // require ( @@ -31,7 +15,7 @@ require ( //github.com/fonchain_enterprise/utils/jwt v0.0.0-00010101000000-000000000000 //github.com/fonchain_enterprise/utils/logger v0.0.0-00010101000000-000000000000 github.com/gin-contrib/gzip v0.0.5 - github.com/gin-gonic/gin v1.9.1 + github.com/gin-gonic/gin v1.9.0 github.com/golang/protobuf v1.5.4 github.com/mwitkow/go-proto-validators v0.3.2 github.com/pkg/errors v0.9.1 // indirect @@ -60,7 +44,7 @@ require ( github.com/go-ole/go-ole v1.2.4 // indirect github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect - github.com/go-playground/validator/v10 v10.14.0 // indirect + github.com/go-playground/validator/v10 v10.11.2 // indirect github.com/goccy/go-json v0.10.2 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect @@ -73,7 +57,7 @@ require ( github.com/leodido/go-urn v1.2.4 // indirect github.com/magiconair/properties v1.8.6 // indirect github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.20 // indirect + github.com/mattn/go-isatty v0.0.17 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect @@ -101,10 +85,10 @@ require ( go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.6.0 // indirect go.uber.org/zap v1.21.0 - golang.org/x/crypto v0.37.0 // indirect - golang.org/x/net v0.39.0 // indirect - golang.org/x/sys v0.32.0 // indirect - golang.org/x/text v0.24.0 // indirect + golang.org/x/crypto v0.19.0 // indirect + golang.org/x/net v0.21.0 // indirect + golang.org/x/sys v0.18.0 // indirect + golang.org/x/text v0.14.0 // indirect google.golang.org/genproto v0.0.0-20211104193956-4c6863e31247 // indirect google.golang.org/grpc v1.47.0 // indirect gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect @@ -112,7 +96,9 @@ require ( ) require ( + github.com/360EntSecGroup-Skylar/excelize v1.4.1 github.com/BurntSushi/toml v1.2.1 + github.com/PuerkitoBio/goquery v1.8.1 github.com/disintegration/imaging v1.6.2 github.com/fonchain_enterprise/utils/objstorage v0.0.0-00010101000000-000000000000 github.com/gin-contrib/pprof v1.4.0 @@ -127,12 +113,10 @@ require ( require ( cloud.google.com/go v0.65.0 // indirect - github.com/360EntSecGroup-Skylar/excelize v1.4.1 // indirect - github.com/PuerkitoBio/goquery v1.10.3 // indirect github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5 // indirect github.com/alibaba/sentinel-golang v1.0.4 // indirect github.com/aliyun/alibaba-cloud-sdk-go v1.61.18 // indirect - github.com/andybalholm/cascadia v1.3.3 // indirect + github.com/andybalholm/cascadia v1.3.1 // indirect github.com/aws/aws-sdk-go v1.38.20 // indirect github.com/baidubce/bce-sdk-go v0.9.123 // indirect github.com/buger/jsonparser v1.1.1 // indirect @@ -148,7 +132,6 @@ require ( github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1 // indirect github.com/envoyproxy/protoc-gen-validate v0.1.0 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect - github.com/gabriel-vasile/mimetype v1.4.2 // indirect github.com/ghodss/yaml v1.0.0 // indirect github.com/go-co-op/gocron v1.9.0 // indirect github.com/go-errors/errors v1.4.2 // indirect @@ -156,7 +139,7 @@ require ( github.com/go-logr/stdr v1.2.2 // indirect github.com/go-resty/resty/v2 v2.7.0 // indirect github.com/golang/mock v1.5.0 // indirect - github.com/google/go-cmp v0.6.0 // indirect + github.com/google/go-cmp v0.5.9 // indirect github.com/google/uuid v1.6.0 // indirect github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00 // indirect github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect @@ -196,7 +179,7 @@ require ( go.opentelemetry.io/otel/trace v1.7.0 // indirect golang.org/x/arch v0.3.0 // indirect golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 // indirect - golang.org/x/sync v0.13.0 // indirect + golang.org/x/sync v0.1.0 // indirect golang.org/x/time v0.3.0 // indirect google.golang.org/appengine v1.6.6 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index 97358b1..dd87352 100644 --- a/go.sum +++ b/go.sum @@ -48,8 +48,8 @@ github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/PuerkitoBio/goquery v1.10.3 h1:pFYcNSqHxBD06Fpj/KsbStFRsgRATgnf3LeXiUkhzPo= -github.com/PuerkitoBio/goquery v1.10.3/go.mod h1:tMUX0zDMHXYlAQk6p35XxQMqMweEKB7iK7iLNd4RH4Y= +github.com/PuerkitoBio/goquery v1.8.1 h1:uQxhNlArOIdbrH1tr0UXwdVFgDcZDrZVdcpygAcwmWM= +github.com/PuerkitoBio/goquery v1.8.1/go.mod h1:Q8ICL1kNUJ2sXGoAhPGUdYDJvgQgHzJsnnd3H7Ho5jQ= github.com/RoaringBitmap/roaring v1.1.0 h1:b10lZrZXaY6Q6EKIRrmOF519FIyQQ5anPgGr3niw2yY= github.com/RoaringBitmap/roaring v1.1.0/go.mod h1:icnadbWcNyfEHlYdr+tDlOTih1Bf/h+rzPpv4sbomAA= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= @@ -76,8 +76,8 @@ github.com/aliyun/alibaba-cloud-sdk-go v1.61.18/go.mod h1:v8ESoHo4SyHmuB4b1tJqDH github.com/aliyun/aliyun-oss-go-sdk v2.2.4+incompatible/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8= github.com/aliyun/aliyun-oss-go-sdk v2.2.6+incompatible h1:KXeJoM1wo9I/6xPTyt6qCxoSZnmASiAjlrr0dyTUKt8= github.com/aliyun/aliyun-oss-go-sdk v2.2.6+incompatible/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8= -github.com/andybalholm/cascadia v1.3.3 h1:AG2YHrzJIm4BZ19iwJ/DAua6Btl3IwJX+VI4kktS1LM= -github.com/andybalholm/cascadia v1.3.3/go.mod h1:xNd9bqTn98Ln4DwST8/nG+H0yuB8Hmgu1YHNnWw0GeA= +github.com/andybalholm/cascadia v1.3.1 h1:nhxRkql1kdYCc8Snf7D5/D3spOX+dBgjA6u8x004T2c= +github.com/andybalholm/cascadia v1.3.1/go.mod h1:R4bJ1UQfqADjvDa4P6HZHLh/3OxWWEqc0Sk8XGwHqvA= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/dubbo-getty v1.4.8 h1:Q9WKXmVu4Dm16cMJHamegRbxpDiYaGIU+MnPGhJhNyk= github.com/apache/dubbo-getty v1.4.8/go.mod h1:cPJlbcHUTNTpiboMQjMHhE9XBni11LiBiG8FdrDuVzk= @@ -241,8 +241,6 @@ github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4 github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= -github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU= -github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA= github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= @@ -254,8 +252,8 @@ github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.7.4/go.mod h1:jD2toBW3GZUr5UMcdrwQA10I7RuaFOl/SGeDjXkfUtY= github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= -github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= -github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= +github.com/gin-gonic/gin v1.9.0 h1:OjyFBKICoexlu99ctXNR2gg+c5pKrKMuyjgARg9qeY8= +github.com/gin-gonic/gin v1.9.0/go.mod h1:W1Me9+hsUSyj3CePGrd1/QrKJMSJ1Tu/0hFEH89961k= github.com/go-asn1-ber/asn1-ber v1.3.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= github.com/go-co-op/gocron v1.9.0 h1:+V+DDenw3ryB7B+tK1bAIC5p0ruw4oX9IqAsdRnGIf0= github.com/go-co-op/gocron v1.9.0/go.mod h1:DbJm9kdgr1sEvWpHCA7dFFs/PGHPMil9/97EXCRPr4k= @@ -297,8 +295,8 @@ github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91 github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= github.com/go-playground/validator/v10 v10.10.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos= github.com/go-playground/validator/v10 v10.11.0/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= -github.com/go-playground/validator/v10 v10.14.0 h1:vgvQWe3XCz3gIeFDm/HnTIbj6UGmg/+t63MyGU2n5js= -github.com/go-playground/validator/v10 v10.14.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= +github.com/go-playground/validator/v10 v10.11.2 h1:q3SHpufmypg+erIExEKUmsgmhDTyhcJ38oeKGACXohU= +github.com/go-playground/validator/v10 v10.11.2/go.mod h1:NieE624vt4SCTJtD87arVLvdmjPAeV8BQlHtMnw9D7s= github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGKFlFgcHWWmHQjg= github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= github.com/go-resty/resty/v2 v2.7.0 h1:me+K9p3uhSmXtrBZ4k9jcEAfJmuC8IivWHwaLZwPrFY= @@ -389,7 +387,6 @@ github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8 github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= @@ -581,8 +578,8 @@ github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcME github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= -github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= +github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= @@ -957,12 +954,8 @@ golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= -golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= -golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1003,10 +996,6 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1052,20 +1041,15 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210916014120-12bc252f5db8/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210917221730-978cfadd31cf/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211029224645-99673261e6eb/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211105192438-b53810dc28af/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= -golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= -golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1088,11 +1072,6 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= -golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1171,24 +1150,11 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= -golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1199,13 +1165,8 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= -golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1272,9 +1233,6 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/pkg/e/code.go b/pkg/e/code.go index 269a550..6607221 100644 --- a/pkg/e/code.go +++ b/pkg/e/code.go @@ -38,7 +38,7 @@ const ( NotExistInentifier = 202 ERROR = 500 InvalidParams = 400 - + NotLoginSqueeze = 409 //成员错误 ErrorExistNick = 10001 ErrorExistUser = 10002 @@ -146,3 +146,14 @@ const ( NotFilled = 3 Save = 4 ) + +var OfflineMap = map[string]string{ + "ErrOfflineZhCN": "您已经下线", + "ErrOfflineEN": "You have been offline", + "ErrOfflineZhTW": "您已經下線", +} +var LoginMap = map[string]string{ + "ErrNotLoginZhCN": "请先登录", + "ErrNotLoginEN": "Please login first", + "ErrNotLoginZhTW": "請先登錄", +} diff --git a/pkg/e/msg.go b/pkg/e/msg.go index 0959ede..bdefed8 100644 --- a/pkg/e/msg.go +++ b/pkg/e/msg.go @@ -4,6 +4,8 @@ const ( SERVER_CONFIG = "conf.ini" SERVER_DUBBOGO_CONFIG = "dubbogo.yaml" MODE_ENV = "MODE_ENV" + LoginFromPC = "pc" + OfflineSqueeze = "squeeze" ) const ( diff --git a/pkg/e/oa_msg.go b/pkg/e/oa_msg.go new file mode 100644 index 0000000..47fc7f7 --- /dev/null +++ b/pkg/e/oa_msg.go @@ -0,0 +1,1093 @@ +package e + +/*const ( + ErrAttendanceMiss = "考勤规则缺失" + ErrAttendanceWeekMiss = "考勤规则周期错误" + ErrApplytimeDisagreement = "请假时间不合规" + ErrOvertimeDisagreement = "加班时间不合规" + + ErrConfirmactiontype = "打卡规则确认错误" + ErrConfirmweek = "获取工作周期失败" + NotNeedUseLeave = "无需使用余额的请假申请" + + ErrQueryMultiData = "获取日期错误" + + ErrQueryOaRecord = "查询考勤记录失败" + ErrQueryAbnormalOaRecord = "查询考勤异常记录失败" + + ErrQueryOaApply = "查询OA申请记录失败" + ErrQueryOaLeaveApply = "查询OA余额申请记录失败" + ERR_QUERY_OA_APPLY_OVERTIME = "查询加班申请记录失败" + ErrNotHaveBalance = "未申请假期余额" + ErrHaveBalanceApply = "当前已存在相应的余额申请" + + ErrQueryUser = "查询用户信息失败" + + ErrQueryOaSetting = "查询设置失败" + + ErrQueryOaMonth = "查询考勤信息失败" + + ERR_NOT_NEED_BALANCE = "无需查询余额" + + ErrNoBalance = "假期余额不足" + ErrHourNoBalance = "请假时长超出范围" + + ErrApplyTime = "无效的请假时间" + ERR_EMPTY_APPLY_TIME = "请假时长不能为0" + ErrSelectTimeRepeat = "所选时间段已有申请" + + ErrNotInCurrentYear = "该请假类型申请时间不在本年度" + ErrNotInCurrentMonth = "该请假类型申请时间不在本月" + + ErrNotNeedRecordOutworkcheck = "无需确认是否出外勤" + + ErrIsUsed = "该余额申请无法撤销" + + ErrTimeOrder = "开始时间不应晚于结束时间" + + ErrDayoffNotLessOneHour = "调休时长不得少于1小时" + + ErrOvertimeIsZero = "加班时长不得为0" + + ErrOvertimeIsRep = "加班开始时间和结束时间重复" + + ErrLeaveDurationIsZero = "时长不得为0" + + ErrHolidayMiss = "节假日信息缺失" + + ErrIpMiss = "暂无IP信息" + + ErrWifiIsNotIn = "当前不在公司内网" + + ERR_GETIP = "获取IP信息失败" + + ErrLatLog = "当前定位不能为空" + + ErrChickInMap = "打卡地址坐标缺失" + + ErrDbChickInMap = "查询打卡地址坐标失败" + + ErrCacheChickInMap = "缓存打卡地址坐标失败" + + ErrConfirmChickInMap = "打卡地址确认失败" + + ErrNotInChickInMap = "当前不在打卡范围内" + + ErrMissSystemMakeUpParam = "系统补卡参数缺失" + + ErrQueryWorkingTimeList = "查询考勤列表失败" + + ErrorWorkingTimeFindUser = "查询用户失败" + + ErrorWorkingTimeFindUserPosition = "查询用户岗位信息失败" + + ErrorQueryOaProfile = "查询用户考勤信息失败" + + ErrorQueryHoliday = "查询节假日失败" + + ErrorQueryWorkingTime = "查询考勤信息失败" + + ErrorMissWorkingTime = "未设置考勤信息" + + ErrorDelCacheGeo = "删除缓存的打卡经纬度失败" + + ErrorQueryRangeGeo = "查询打卡范围错误" + + ErrorSaveCacheGeo = "缓存打卡经纬度失败" + + ErrorSaveCacheActualGeo = "缓存实际打卡经纬度失败" + + ErrorCheckWorkTime = "判断考勤时间失败" + + ErrorQueryOutWorkCheck = "查询外出回归记录失败" + + ErrorCheckNextClockInTime = "判断下次打卡时间失败" + + ErrorClockIn = "打卡失败" + + SuccessClockIn = "打卡成功" + + ErrorNotAllowedClockIn = "不允许打卡" + + ErrorMissBreakOption = "缺少休息时间信息" + + ErrNotHadWorkingTime = "未关联考勤信息,无法打卡" + + ErrMissMakeUpRule = "缺少补卡规则" + + ErrCanNotCalcOverTimeBehindTwoDays = "当前不支持提交多日期的加班申请" + + ErrWritePDF = "写入PDF文件失败" + + ErrQueryPositionInfo = "查询部门岗位信息失败" + + ErrSystemCommonParam = "系统修改异常参数缺失" + + ErrTimeIsZero = "时长不得为0" + + ErrQueryEmployeeAttendance = "查询员工考勤绑定的考勤信息失败" + + ErrWorkingTimeNotInUse = "考勤设置将于 a 生效" + + ErrActionTimeNotBeforeNextDateFour = "最后一班下班卡的系统补卡时间不得晚于次日凌晨四点" + + ErrorIsNotBeforeOrEqualCollectionMonth = "仅支持查看当前及历史月考勤数据" + + ErrorEmployFindUser = "查询员工档案失败" +)*/ + +var errorMessagesZhCN = map[string]string{ + "ErrAttendanceMissZhCN": "考勤规则缺失", + "ErrAttendanceWeekMissZhCN": "考勤规则周期错误", + "ErrApplytimeDisagreementZhCN": "请假时间不合规", + "ErrOvertimeDisagreementZhCN": "加班时间不合规", + + "ErrConfirmactiontypeZhCN": "打卡规则确认错误", + "ErrConfirmweekZhCN": "获取工作周期失败", + "NotNeedUseLeaveZhCN": "无需使用余额的请假申请", + + "ErrQueryMultiDataZhCN": "获取日期错误", + + "ErrQueryOaRecordZhCN": "查询考勤记录失败", + "ErrQueryAbnormalOaRecordZhCN": "查询考勤异常记录失败", + + "ErrQueryOaApplyZhCN": "查询OA申请记录失败", + "ErrQueryOaLeaveApplyZhCN": "查询OA余额申请记录失败", + "ERR_QUERY_OA_APPLY_OVERTIMEZhCN": "查询加班申请记录失败", + "ErrNotHaveBalanceZhCN": "未申请假期余额", + "ErrHaveBalanceApplyZhCN": "当前已存在相应的余额申请", + + "ErrQueryUserZhCN": "查询用户信息失败", + + "ErrQueryOaSettingZhCN": "查询设置失败", + + "ErrQueryOaMonthZhCN": "查询考勤信息失败", + + "ERR_NOT_NEED_BALANCEZhCN": "无需查询余额", + + "ErrNoBalanceZhCN": "假期余额不足", + "ErrHourNoBalanceZhCN": "请假时长超出范围", + + "ErrApplyTimeZhCN": "无效的请假时间", + "ERR_EMPTY_APPLY_TIMEZhCN": "请假时长不能为0", + "ErrSelectTimeRepeatZhCN": "所选时间段已有申请", + + "ErrNotInCurrentYearZhCN": "该请假类型申请时间不在本年度", + "ErrNotInCurrentMonthZhCN": "该请假类型申请时间不在本月", + + "ErrNotNeedRecordOutworkcheckZhCN": "无需确认是否出外勤", + + "ErrIsUsedZhCN": "该余额申请无法撤销", + + "ErrTimeOrderZhCN": "开始时间不应晚于结束时间", + + "ErrDayoffNotLessOneHourZhCN": "调休时长不得少于1小时", + + "ErrOvertimeIsZeroZhCN": "加班时长不得为0", + + "ErrOvertimeIsRepZhCN": "加班开始时间和结束时间重复", + + "ErrLeaveDurationIsZeroZhCN": "时长不得为0", + + "ErrHolidayMissZhCN": "节假日信息缺失", + + "ErrIpMissZhCN": "暂无IP信息", + + "ErrWifiIsNotInZhCN": "当前不在公司内网", + + "ERR_GETIPZhCN": "获取IP信息失败", + + "ErrLatLogZhCN": "当前定位不能为空", + + "ErrChickInMapZhCN": "打卡地址坐标缺失", + + "ErrDbChickInMapZhCN": "查询打卡地址坐标失败", + + "ErrCacheChickInMapZhCN": "缓存打卡地址坐标失败", + + "ErrConfirmChickInMapZhCN": "打卡地址确认失败", + + "ErrNotInChickInMapZhCN": "当前不在打卡范围内", + + "ErrMissSystemMakeUpParamZhCN": "系统补卡参数缺失", + + "ErrQueryWorkingTimeListZhCN": "查询考勤列表失败", + + "ErrorWorkingTimeFindUserZhCN": "查询用户失败", + + "ErrorWorkingTimeFindUserPositionZhCN": "查询用户岗位信息失败", + + "ErrorQueryOaProfileZhCN": "查询用户考勤信息失败", + + "ErrorQueryHolidayZhCN": "查询节假日失败", + + "ErrorQueryWorkingTimeZhCN": "查询考勤信息失败", + + "ErrorMissWorkingTimeZhCN": "未设置考勤信息", + + "ErrorDelCacheGeoZhCN": "删除缓存的打卡经纬度失败", + + "ErrorQueryRangeGeoZhCN": "查询打卡范围错误", + + "ErrorSaveCacheGeoZhCN": "缓存打卡经纬度失败", + + "ErrorSaveCacheActualGeoZhCN": "缓存实际打卡经纬度失败", + + "ErrorCheckWorkTimeZhCN": "判断考勤时间失败", + + "ErrorQueryOutWorkCheckZhCN": "查询外出回归记录失败", + + "ErrorCheckNextClockInTimeZhCN": "判断下次打卡时间失败", + + "ErrorClockInZhCN": "打卡失败", + + "SuccessClockInZhCN": "打卡成功", + + "ErrorNotAllowedClockInZhCN": "不允许打卡", + + "ErrorMissBreakOptionZhCN": "缺少休息时间信息", + + "ErrCheckAddressLimitZhCN": "检查地址失败", + + "ErrUserMissZhCN": "用户信息缺失", + + "ErrNoDataZhCN": "无数据", + + "ErrNotApplyUuidZhCN": "申请UUID不能为空", + + "ErrNotHadWorkingTimeZhCN": "未关联考勤信息,无法打卡", + + "ErrMissMakeUpRuleZhCN": "缺少补卡规则", + + "ErrCanNotCalcOverTimeBehindTwoDaysZhCN": "当前不支持提交多日期的加班申请", + + "ErrorQueryApprovalContentZhCN": "查询审批内容失败", + + "ErrorOverTimeNotInWorkTimeZhCN": "申请加班时间不得在工作时间内", + + "ErrorMissOutBackZhCN": "缺少外出或回公司标识", + + "ErrorMissLngLatZhCN": "缺少经纬度信息", + + "SuccessCreateOutWorkCheckZhCN": "创建外出或回公司记录成功", + + "ErrorCreateOutWorkCheckZhCN": "创建外出或回公司记录失败", + + "ErrorFrequentClockInZhCN": "15秒内只能提交一次", + + "ErrorNoFaceImgZhCN": "用户缺少近照信息", + + "ErrorNoCatchFaceImgZhCN": "未获取到打卡时近照", + + "ErrorFaceCompareZhCN": "人脸比对失败", + + "ErrorFaceCompareNotPassZhCN": "人脸比对不通过", + + "ErrorInvalidChickInMapZhCN": "无效的打卡地址", + + "ErrorTimeIsZeroZhCN": "时长不得为0", + + "ErrQueryEmployeeAttendanceZhCN": "查询员工考勤绑定的考勤信息失败", + + "ErrorWorkingTimeNotInUseZhCN": "考勤设置生效于", + + "ErrorAddressEmptyZhCN": "打卡地址经纬度不能为空", + + "ErrorQueryVersionHistoryZhCN": "查询版本历史失败", +} + +var errorMessagesZhTW = map[string]string{ + "ErrAttendanceMissZhTW": "考勤規則缺失", + "ErrAttendanceWeekMissZhTW": "考勤規則週期錯誤", + "ErrApplytimeDisagreementZhTW": "請假時間不合規", + "ErrOvertimeDisagreementZhTW": "加班時間不合規", + + "ErrConfirmactiontypeZhTW": "打卡規則確認錯誤", + "ErrConfirmweekZhTW": "獲取工作週期失敗", + "NotNeedUseLeaveZhTW": "無需使用餘額的請假申請", + + "ErrQueryMultiDataZhTW": "獲取日期錯誤", + + "ErrQueryOaRecordZhTW": "查詢考勤記錄失敗", + "ErrQueryAbnormalOaRecordZhTW": "查詢考勤異常記錄失敗", + + "ErrQueryOaApplyZhTW": "查詢OA申請記錄失敗", + "ErrQueryOaLeaveApplyZhTW": "查詢OA餘額申請記錄失敗", + "ERR_QUERY_OA_APPLY_OVERTIMEZhTW": "查詢加班申請記錄失敗", + "ErrNotHaveBalanceZhTW": "未申請假期餘額", + "ErrHaveBalanceApplyZhTW": "當前已存在相應的餘額申請", + + "ErrQueryUserZhTW": "查詢用戶信息失敗", + + "ErrQueryOaSettingZhTW": "查詢設置失敗", + + "ErrQueryOaMonthZhTW": "查詢考勤信息失敗", + + "ERR_NOT_NEED_BALANCEZhTW": "無需查詢餘額", + + "ErrNoBalanceZhTW": "假期餘額不足", + "ErrHourNoBalanceZhTW": "請假時長超出範圍", + + "ErrApplyTimeZhTW": "無效的請假時間", + "ERR_EMPTY_APPLY_TIMEZhTW": "請假時長不能為0", + "ErrSelectTimeRepeatZhTW": "所選時間段已有申請", + + "ErrNotInCurrentYearZhTW": "該請假類型申請時間不在本年度", + "ErrNotInCurrentMonthZhTW": "該請假類型申請時間不在本月", + + "ErrNotNeedRecordOutworkcheckZhTW": "無需確認是否出外勤", + + "ErrIsUsedZhTW": "該餘額申請無法撤銷", + + "ErrTimeOrderZhTW": "開始時間不應晚於結束時間", + + "ErrDayoffNotLessOneHourZhTW": "調休時長不得少於1小時", + + "ErrOvertimeIsZeroZhTW": "加班時長不得為0", + + "ErrOvertimeIsRepZhTW": "加班開始時間和結束時間重複", + + "ErrLeaveDurationIsZeroZhTW": "時長不得為0", + + "ErrHolidayMissZhTW": "節假日信息缺失", + + "ErrIpMissZhTW": "暫無IP信息", + + "ErrWifiIsNotInZhTW": "當前不在公司內網", + + "ERR_GETIPZhTW": "獲取IP信息失敗", + + "ErrLatLogZhTW": "當前定位不能為空", + + "ErrChickInMapZhTW": "打卡地址坐標缺失", + + "ErrDbChickInMapZhTW": "查詢打卡地址坐標失敗", + + "ErrCacheChickInMapZhTW": "緩存打卡地址坐標失敗", + + "ErrConfirmChickInMapZhTW": "打卡地址確認失敗", + + "ErrNotInChickInMapZhTW": "當前不在打卡範圍內", + + "ErrMissSystemMakeUpParamZhTW": "系統補卡參數缺失", + + "ErrQueryWorkingTimeListZhTW": "查詢考勤列表失敗", + + "ErrorWorkingTimeFindUserZhTW": "查詢用戶失敗", + + "ErrorWorkingTimeFindUserPositionZhTW": "查詢用戶崗位信息失敗", + + "ErrorQueryOaProfileZhTW": "查詢用戶考勤信息失敗", + + "ErrorQueryHolidayZhTW": "查詢節假日失敗", + + "ErrorQueryWorkingTimeZhTW": "查詢考勤信息失敗", + + "ErrorMissWorkingTimeZhTW": "未設置考勤信息", + + "ErrorDelCacheGeoZhTW": "刪除緩存的打卡經緯度失敗", + + "ErrorQueryRangeGeoZhTW": "查詢打卡範圍錯誤", + + "ErrorSaveCacheGeoZhTW": "緩存打卡經緯度失敗", + + "ErrorSaveCacheActualGeoZhTW": "緩存實際打卡經緯度失敗", + + "ErrorCheckWorkTimeZhTW": "判斷考勤時間失敗", + + "ErrorQueryOutWorkCheckZhTW": "查詢外出回歸記錄失敗", + + "ErrorCheckNextClockInTimeZhTW": "判斷下次打卡時間失敗", + + "ErrorClockInZhTW": "打卡失敗", + + "SuccessClockInZhTW": "打卡成功", + + "ErrorNotAllowedClockInZhTW": "不允許打卡", + + "ErrorMissBreakOptionZhTW": "缺少休息時間信息", + + "ErrCheckAddressLimitZhTW": "檢查地址失敗", + + "ErrUserMissZhTW": "用戶信息缺失", + + "ErrNoDataZhTW": "無數據", + + "ErrNotApplyUuidZhTW": "申請UUID不能為空", + + "ErrNotHadWorkingTimeZhTW": "未關聯考勤信息,無法打卡", + + "ErrMissMakeUpRuleZhTW": "缺少補卡規則", + + "ErrCanNotCalcOverTimeBehindTwoDaysZhTW": "當前不支持提交多日期的加班申請", + + "ErrorQueryApprovalContentZhTW": "查詢審批內容失敗", + + "ErrorOverTimeNotInWorkTimeZhTW": "申請加班時間不得在工作時間內", + + "ErrorMissOutBackZhTW": "缺少外出或回公司標識", + + "ErrorMissLngLatZhTW": "缺少經緯度信息", + + "SuccessCreateOutWorkCheckZhTW": "創建外出或回公司記錄成功", + + "ErrorCreateOutWorkCheckZhTW": "創建外出或回公司記錄失敗", + + "ErrorFrequentClockInZhTW": "15秒內只能提交一次", + + "ErrorNoFaceImgZhTW": "用戶缺少近照信息", + + "ErrorNoCatchFaceImgZhTW": "未獲取到打卡時近照", + + "ErrorFaceCompareZhTW": "人臉比對失敗", + + "ErrorFaceCompareNotPassZhTW": "人臉比對不通過", + + "ErrorInvalidChickInMapZhTW": "無效的打卡地址", + + "ErrorTimeIsZeroZhTW": "時長不得為0", + + "ErrQueryEmployeeAttendanceZhTW": "查詢員工考勤綁定的考勤信息失敗", + + "ErrorWorkingTimeNotInUseZhTW": "考勤設置生效於 ", + + "ErrorAddressEmptyZhTW": "打卡地址經緯度不能為空", + + "ErrorQueryVersionHistoryZhTW": "查詢版本歷史失敗", +} + +var errorMessagesEN = map[string]string{ + "ErrAttendanceMissEN": "Attendance rule missing", + "ErrAttendanceWeekMissEN": "Attendance rule period error", + "ErrApplytimeDisagreementEN": "Leave time non-compliant", + "ErrOvertimeDisagreementEN": "Overtime non-compliant", + + "ErrConfirmactiontypeEN": "Attendance rule confirmation error", + "ErrConfirmweekEN": "Failed to get work week", + "NotNeedUseLeaveEN": "Leave application without balance required", + + "ErrQueryMultiDataEN": "Date retrieval error", + + "ErrQueryOaRecordEN": "Failed to query attendance record", + "ErrQueryAbnormalOaRecordEN": "Failed to query abnormal attendance record", + + "ErrQueryOaApplyEN": "Failed to query OA application record", + "ErrQueryOaLeaveApplyEN": "Failed to query OA balance application record", + "ERR_QUERY_OA_APPLY_OVERTIMEEN": "Failed to query overtime application record", + "ErrNotHaveBalanceEN": "No leave balance applied", + "ErrHaveBalanceApplyEN": "Existing balance application already present", + + "ErrQueryUserEN": "Failed to query user information", + + "ErrQueryOaSettingEN": "Failed to query settings", + + "ErrQueryOaMonthEN": "Failed to query attendance information", + + "ERR_NOT_NEED_BALANCEEN": "No need to query balance", + + "ErrNoBalanceEN": "Insufficient leave balance", + "ErrHourNoBalanceEN": "Leave duration out of range", + + "ErrApplyTimeEN": "Invalid leave time", + "ERR_EMPTY_APPLY_TIMEEN": "Leave duration cannot be zero", + "ErrSelectTimeRepeatEN": "Application already exists for the selected time period", + + "ErrNotInCurrentYearEN": "Leave type application time not in current year", + "ErrNotInCurrentMonthEN": "Leave type application time not in current month", + + "ErrNotNeedRecordOutworkcheckEN": "No need to confirm outwork", + + "ErrIsUsedEN": "This balance application cannot be revoked", + + "ErrTimeOrderEN": "Start time should not be later than end time", + + "ErrDayoffNotLessOneHourEN": "Compensatory leave duration should not be less than 1 hour", + + "ErrOvertimeIsZeroEN": "Overtime duration cannot be zero", + + "ErrOvertimeIsRepEN": "Overtime start and end times are repeated", + + "ErrLeaveDurationIsZeroEN": "Duration cannot be zero", + + "ErrHolidayMissEN": "Holiday information missing", + + "ErrIpMissEN": "No IP information available", + + "ErrWifiIsNotInEN": "Not in company intranet", + + "ERR_GETIPEN": "Failed to get IP information", + + "ErrLatLogEN": "Current location cannot be empty", + + "ErrChickInMapEN": "Attendance address coordinates missing", + + "ErrDbChickInMapEN": "Failed to query attendance address coordinates", + + "ErrCacheChickInMapEN": "Failed to cache attendance address coordinates", + + "ErrConfirmChickInMapEN": "Attendance address confirmation failed", + + "ErrNotInChickInMapEN": "Not within attendance range", + + "ErrMissSystemMakeUpParamEN": "System make-up parameters missing", + + "ErrQueryWorkingTimeListEN": "Failed to query attendance list", + + "ErrorWorkingTimeFindUserEN": "Failed to query user", + + "ErrorWorkingTimeFindUserPositionEN": "Failed to query user position information", + + "ErrorQueryOaProfileEN": "Failed to query user attendance information", + + "ErrorQueryHolidayEN": "Failed to query holiday", + + "ErrorQueryWorkingTimeEN": "Failed to query attendance information", + + "ErrorMissWorkingTimeEN": "Attendance information not set", + + "ErrorDelCacheGeoEN": "Failed to delete cached attendance coordinates", + + "ErrorQueryRangeGeoEN": "Attendance range query error", + + "ErrorSaveCacheGeoEN": "Failed to cache attendance coordinates", + + "ErrorSaveCacheActualGeoEN": "Failed to cache actual attendance coordinates", + + "ErrorCheckWorkTimeEN": "Failed to determine attendance time", + + "ErrorQueryOutWorkCheckEN": "Failed to query outwork return records", + + "ErrorCheckNextClockInTimeEN": "Failed to determine next attendance time", + + "ErrorClockInEN": "Attendance failed", + + "SuccessClockInEN": "Attendance successful", + + "ErrorNotAllowedClockInEN": "Attendance not allowed", + + "ErrorMissBreakOptionEN": "Missing break time information", + + "ErrCheckAddressLimitEN": "Address check failed", + + "ErrUserMissEN": "User information missing", + + "ErrNoDataEN": "No data", + + "ErrNotApplyUuidEN": "Application UUID cannot be empty", + + "ErrNotHadWorkingTimeEN": "No associated attendance information, unable to attendance", + + "ErrMissMakeUpRuleEN": "Make-up rule missing", + + "ErrCanNotCalcOverTimeBehindTwoDaysEN": "Multi-date overtime application not supported", + + "ErrorQueryApprovalContentEN": "Failed to query approval content", + + "ErrorOverTimeNotInWorkTimeEN": "Overtime application time should not be within work hours", + + "ErrorMissOutBackEN": "Missing outwork or return to company identifier", + + "ErrorMissLngLatEN": "Missing longitude and latitude information", + + "SuccessCreateOutWorkCheckEN": "Successfully created outwork or return to company record", + + "ErrorCreateOutWorkCheckEN": "Failed to create outwork or return to company record", + + "ErrorFrequentClockInEN": "Can only submit once every 15 seconds", + + "ErrorNoFaceImgEN": "User missing recent photo", + + "ErrorNoCatchFaceImgEN": "Failed to capture recent photo during attendance", + + "ErrorFaceCompareEN": "Face comparison failed", + + "ErrorFaceCompareNotPassEN": "Face comparison not passed", + + "ErrorInvalidChickInMapEN": "Invalid attendance address", + + "ErrorTimeIsZeroEN": "Duration cannot be zero", + + "ErrQueryEmployeeAttendanceEN": "Failed to query employee attendance binding information", + + "ErrorWorkingTimeNotInUseEN": "Attendance settings will take effect on a", + + "ErrorAddressEmptyEN": "Attendance address coordinates cannot be empty", + + "ErrorQueryVersionHistoryEN": "Failed to query version history", +} + +const ( + ErrAttendanceMissEN = "Attendance rule missing" + ErrAttendanceWeekMissEN = "Attendance rule period error" + ErrApplytimeDisagreementEN = "Leave time non-compliant" + ErrOvertimeDisagreementEN = "Overtime non-compliant" + + ErrConfirmactiontypeEN = "Attendance rule confirmation error" + ErrConfirmweekEN = "Failed to get work week" + NotNeedUseLeaveEN = "Leave application without balance required" + + ErrQueryMultiDataEN = "Date retrieval error" + + ErrQueryOaRecordEN = "Failed to query attendance record" + ErrQueryAbnormalOaRecordEN = "Failed to query abnormal attendance record" + + ErrQueryOaApplyEN = "Failed to query OA application record" + ErrQueryOaLeaveApplyEN = "Failed to query OA balance application record" + ERR_QUERY_OA_APPLY_OVERTIMEEN = "Failed to query overtime application record" + ErrNotHaveBalanceEN = "No leave balance applied" + ErrHaveBalanceApplyEN = "Existing balance application already present" + + ErrQueryUserEN = "Failed to query user information" + + ErrQueryOaSettingEN = "Failed to query settings" + + ErrQueryOaMonthEN = "Failed to query attendance information" + + ERR_NOT_NEED_BALANCEEN = "No need to query balance" + + ErrNoBalanceEN = "Insufficient leave balance" + ErrHourNoBalanceEN = "Leave duration out of range" + + ErrApplyTimeEN = "Invalid leave time" + ERR_EMPTY_APPLY_TIMEEN = "Leave duration cannot be zero" + ErrSelectTimeRepeatEN = "Application already exists for the selected time period" + + ErrNotInCurrentYearEN = "Leave type application time not in current year" + ErrNotInCurrentMonthEN = "Leave type application time not in current month" + + ErrNotNeedRecordOutworkcheckEN = "No need to confirm outwork" + + ErrIsUsedEN = "This balance application cannot be revoked" + + ErrTimeOrderEN = "Start time should not be later than end time" + + ErrDayoffNotLessOneHourEN = "Compensatory leave duration should not be less than 1 hour" + + ErrOvertimeIsZeroEN = "Overtime duration cannot be zero" + + ErrOvertimeIsRepEN = "Overtime start and end times are repeated" + + ErrLeaveDurationIsZeroEN = "Duration cannot be zero" + + ErrHolidayMissEN = "Holiday information missing" + + ErrIpMissEN = "No IP information available" + + ErrWifiIsNotInEN = "Not in company intranet" + + ERR_GETIPEN = "Failed to get IP information" + + ErrLatLogEN = "Current location cannot be empty" + + ErrChickInMapEN = "Attendance address coordinates missing" + + ErrDbChickInMapEN = "Failed to query attendance address coordinates" + + ErrCacheChickInMapEN = "Failed to cache attendance address coordinates" + + ErrConfirmChickInMapEN = "Attendance address confirmation failed" + + ErrNotInChickInMapEN = "Not within attendance range" + + ErrMissSystemMakeUpParamEN = "System make-up parameters missing" + + ErrQueryWorkingTimeListEN = "Failed to query attendance list" + + ErrorWorkingTimeFindUserEN = "Failed to query user" + + ErrorWorkingTimeFindUserPositionEN = "Failed to query user position information" + + ErrorQueryOaProfileEN = "Failed to query user attendance information" + + ErrorQueryHolidayEN = "Failed to query holiday" + + ErrorQueryWorkingTimeEN = "Failed to query attendance information" + + ErrorMissWorkingTimeEN = "Attendance information not set" + + ErrorDelCacheGeoEN = "Failed to delete cached attendance coordinates" + + ErrorQueryRangeGeoEN = "Attendance range query error" + + ErrorSaveCacheGeoEN = "Failed to cache attendance coordinates" + + ErrorSaveCacheActualGeoEN = "Failed to cache actual attendance coordinates" + + ErrorCheckWorkTimeEN = "Failed to determine attendance time" + + ErrorQueryOutWorkCheckEN = "Failed to query outwork return records" + + ErrorCheckNextClockInTimeEN = "Failed to determine next attendance time" + + ErrorClockInEN = "Attendance failed" + + SuccessClockInEN = "Attendance successful" + + ErrorNotAllowedClockInEN = "Attendance not allowed" + + ErrorMissBreakOptionEN = "Missing break time information" + + ErrCheckAddressLimitEN = "Address check failed" + + ErrUserMissEN = "User information missing" + + ErrNoDataEN = "No data" + + ErrNotApplyUuidEN = "Application UUID cannot be empty" + + ErrNotHadWorkingTimeEN = "No associated attendance information, unable to attendance" + + ErrMissMakeUpRuleEN = "Make-up rule missing" + + ErrCanNotCalcOverTimeBehindTwoDaysEN = "Multi-date overtime application not supported" + + // Failed to query approval content + ErrorQueryApprovalContentEN = "Failed to query approval content" + + // Overtime application time should not be within work hours + ErrorOverTimeNotInWorkTimeEN = "Overtime application time should not be within work hours" + + ErrorMissOutBackEN = "Missing outwork or return to company identifier" + + ErrorMissLngLatEN = "Missing longitude and latitude information" + + SuccessCreateOutWorkCheckEN = "Successfully created outwork or return to company record" + + ErrorCreateOutWorkCheckEN = "Failed to create outwork or return to company record" + + ErrorFrequentClockInEN = "Can only submit once every 15 seconds" + + ErrorNoFaceImgEN = "User missing recent photo" + + ErrorNoCatchFaceImgEN = "Failed to capture recent photo during attendance" + + ErrorFaceCompareEN = "Face comparison failed" + + ErrorFaceCompareNotPassEN = "Face comparison not passed" + + // Invalid Attendance address + ErrorInvalidChickInMapEN = "Invalid attendance address" + + ErrorTimeIsZeroEN = "Duration cannot be zero" + + ErrQueryEmployeeAttendanceEN = "Failed to query employee attendance binding information" + + ErrorWorkingTimeNotInUseEN = "Attendance settings will take effect on a" + + ErrorAddressEmptyEN = "Attendance address coordinates cannot be empty" + + ErrorQueryVersionHistoryEN = "Failed to query version history" +) + +var errorMessages = map[string]string{ + "ErrAttendanceMiss": "ErrAttendanceMiss", + "ErrAttendanceWeekMiss": "ErrAttendanceWeekMiss", + "ErrApplytimeDisagreement": "ErrApplytimeDisagreement", + "ErrOvertimeDisagreement": "ErrOvertimeDisagreement", + "ErrConfirmactiontype": "ErrConfirmactiontype", + "ErrConfirmweek": "ErrConfirmweek", + "NotNeedUseLeave": "NotNeedUseLeave", + "ErrQueryMultiData": "ErrQueryMultiData", + "ErrQueryOaRecord": "ErrQueryOaRecord", + "ErrQueryAbnormalOaRecord": "ErrQueryAbnormalOaRecord", + "ErrQueryOaApply": "ErrQueryOaApply", + "ErrQueryOaLeaveApply": "ErrQueryOaLeaveApply", + "ERR_QUERY_OA_APPLY_OVERTIME": "ERR_QUERY_OA_APPLY_OVERTIME", + "ErrNotHaveBalance": "ErrNotHaveBalance", + "ErrHaveBalanceApply": "ErrHaveBalanceApply", + "ErrQueryUser": "ErrQueryUser", + "ErrQueryOaSetting": "ErrQueryOaSetting", + "ErrQueryOaMonth": "ErrQueryOaMonth", + "ERR_NOT_NEED_BALANCE": "ERR_NOT_NEED_BALANCE", + "ErrNoBalance": "ErrNoBalance", + "ErrHourNoBalance": "ErrHourNoBalance", + "ErrApplyTime": "ErrApplyTime", + "ERR_EMPTY_APPLY_TIME": "ERR_EMPTY_APPLY_TIME", + "ErrSelectTimeRepeat": "ErrSelectTimeRepeat", + "ErrNotInCurrentYear": "ErrNotInCurrentYear", + "ErrNotInCurrentMonth": "ErrNotInCurrentMonth", + "ErrNotNeedRecordOutworkcheck": "ErrNotNeedRecordOutworkcheck", + "ErrIsUsed": "ErrIsUsed", + "ErrTimeOrder": "ErrTimeOrder", + "ErrDayoffNotLessOneHour": "ErrDayoffNotLessOneHour", + "ErrOvertimeIsZero": "ErrOvertimeIsZero", + "ErrOvertimeIsRep": "ErrOvertimeIsRep", + "ErrLeaveDurationIsZero": "ErrLeaveDurationIsZero", + "ErrHolidayMiss": "ErrHolidayMiss", + "ErrIpMiss": "ErrIpMiss", + "ErrWifiIsNotIn": "ErrWifiIsNotIn", + "ERR_GETIP": "ERR_GETIP", + "ErrLatLog": "ErrLatLog", + "ErrChickInMap": "ErrChickInMap", + "ErrDbChickInMap": "ErrDbChickInMap", + "ErrCacheChickInMap": "ErrCacheChickInMap", + "ErrConfirmChickInMap": "ErrConfirmChickInMap", + "ErrNotInChickInMap": "ErrNotInChickInMap", + "ErrMissSystemMakeUpParam": "ErrMissSystemMakeUpParam", + "ErrQueryWorkingTimeList": "ErrQueryWorkingTimeList", + "ErrorWorkingTimeFindUser": "ErrorWorkingTimeFindUser", + "ErrorWorkingTimeFindUserPosition": "ErrorWorkingTimeFindUserPosition", + "ErrorQueryOaProfile": "ErrorQueryOaProfile", + "ErrorQueryHoliday": "ErrorQueryHoliday", + "ErrorQueryWorkingTime": "ErrorQueryWorkingTime", + "ErrorMissWorkingTime": "ErrorMissWorkingTime", + "ErrorDelCacheGeo": "ErrorDelCacheGeo", + "ErrorQueryRangeGeo": "ErrorQueryRangeGeo", + "ErrorSaveCacheGeo": "ErrorSaveCacheGeo", + "ErrorSaveCacheActualGeo": "ErrorSaveCacheActualGeo", + "ErrorCheckWorkTime": "ErrorCheckWorkTime", + "ErrorQueryOutWorkCheck": "ErrorQueryOutWorkCheck", + "ErrorCheckNextClockInTime": "ErrorCheckNextClockInTime", + "ErrorClockIn": "ErrorClockIn", + "SuccessClockIn": "SuccessClockIn", + "ErrorNotAllowedClockIn": "ErrorNotAllowedClockIn", + "ErrorMissBreakOption": "ErrorMissBreakOption", + "ErrCheckAddressLimit": "ErrCheckAddressLimit", + "ErrUserMiss": "ErrUserMiss", + "ErrNoData": "ErrNoData", + "ErrNotApplyUuid": "ErrNotApplyUuid", + "ErrNotHadWorkingTime": "ErrNotHadWorkingTime", + "ErrMissMakeUpRule": "ErrMissMakeUpRule", + "ErrCanNotCalcOverTimeBehindTwoDays": "ErrCanNotCalcOverTimeBehindTwoDays", + "ErrorQueryApprovalContent": "ErrorQueryApprovalContent", + "ErrorOverTimeNotInWorkTime": "ErrorOverTimeNotInWorkTime", + "ErrorMissOutBack": "ErrorMissOutBack", + "ErrorMissLngLat": "ErrorMissLngLat", + "SuccessCreateOutWorkCheck": "SuccessCreateOutWorkCheck", + "ErrorCreateOutWorkCheck": "ErrorCreateOutWorkCheck", + "ErrorFrequentClockIn": "ErrorFrequentClockIn", + "ErrorNoFaceImg": "ErrorNoFaceImg", + "ErrorNoCatchFaceImg": "ErrorNoCatchFaceImg", + "ErrorFaceCompare": "ErrorFaceCompare", + "ErrorFaceCompareNotPass": "ErrorFaceCompareNotPass", + "ErrorInvalidChickInMap": "ErrorInvalidChickInMap", + "ErrorTimeIsZero": "ErrorTimeIsZero", + "ErrQueryEmployeeAttendance": "ErrQueryEmployeeAttendance", + "ErrorWorkingTimeNotInUse": "ErrorWorkingTimeNotInUse", + "ErrorAddressEmpty": "ErrorAddressEmpty", + "ErrorQueryVersionHistory": "ErrorQueryVersionHistory", +} + +const ( + ErrAttendanceMiss = "ErrAttendanceMiss" + ErrAttendanceWeekMiss = "ErrAttendanceWeekMiss" + ErrApplytimeDisagreement = "ErrApplytimeDisagreement" + ErrOvertimeDisagreement = "ErrOvertimeDisagreement" + + ErrConfirmactiontype = "ErrConfirmactiontype" + ErrConfirmweek = "ErrConfirmweek" + NotNeedUseLeave = "NotNeedUseLeave" + + ErrQueryMultiData = "ErrQueryMultiData" + + ErrQueryOaRecord = "ErrQueryOaRecord" + ErrQueryAbnormalOaRecord = "ErrQueryAbnormalOaRecord" + + ErrQueryOaApply = "ErrQueryOaApply" + ErrQueryOaLeaveApply = "ErrQueryOaLeaveApply" + ERR_QUERY_OA_APPLY_OVERTIME = "ERR_QUERY_OA_APPLY_OVERTIME" + ErrNotHaveBalance = "ErrNotHaveBalance" + ErrHaveBalanceApply = "ErrHaveBalanceApply" + + ErrQueryUser = "ErrQueryUser" + + ErrQueryOaSetting = "ErrQueryOaSetting" + + ErrQueryOaMonth = "ErrQueryOaMonth" + ErrQueryLeaveBalance = "ErrQueryLeaveBalance" + + ERR_NOT_NEED_BALANCE = "ERR_NOT_NEED_BALANCE" + + ErrNoBalance = "ErrNoBalance" + ErrHourNoBalance = "ErrHourNoBalance" + + ErrApplyTime = "ErrApplyTime" + ERR_EMPTY_APPLY_TIME = "ERR_EMPTY_APPLY_TIME" + ErrSelectTimeRepeat = "ErrSelectTimeRepeat" + + ErrNotInCurrentYear = "ErrNotInCurrentYear" + ErrNotInCurrentMonth = "ErrNotInCurrentMonth" + + ErrNotNeedRecordOutworkcheck = "ErrNotNeedRecordOutworkcheck" + + ErrIsUsed = "ErrIsUsed" + + ErrTimeOrder = "ErrTimeOrder" + + ErrDayoffNotLessOneHour = "ErrDayoffNotLessOneHour" + + ErrOvertimeIsZero = "ErrOvertimeIsZero" + + ErrOvertimeIsRep = "ErrOvertimeIsRep" + + ErrLeaveDurationIsZero = "ErrLeaveDurationIsZero" + + ErrHolidayMiss = "ErrHolidayMiss" + + ErrIpMiss = "ErrIpMiss" + + ErrWifiIsNotIn = "ErrWifiIsNotIn" + + ERR_GETIP = "ERR_GETIP" + + ErrLatLog = "ErrLatLog" + + ErrChickInMap = "ErrChickInMap" + + ErrDbChickInMap = "ErrDbChickInMap" + + ErrCacheChickInMap = "ErrCacheChickInMap" + + ErrConfirmChickInMap = "ErrConfirmChickInMap" + + ErrNotInChickInMap = "ErrNotInChickInMap" + + ErrMissSystemMakeUpParam = "ErrMissSystemMakeUpParam" + + ErrQueryWorkingTimeList = "ErrQueryWorkingTimeList" + + ErrorWorkingTimeFindUser = "ErrorWorkingTimeFindUser" + + ErrorWorkingTimeFindUserPosition = "ErrorWorkingTimeFindUserPosition" + + ErrorQueryOaProfile = "ErrorQueryOaProfile" + + ErrorQueryHoliday = "ErrorQueryHoliday" + + ErrorQueryWorkingTime = "ErrorQueryWorkingTime" + + ErrorMissWorkingTime = "ErrorMissWorkingTime" + + ErrorDelCacheGeo = "ErrorDelCacheGeo" + + ErrorQueryRangeGeo = "ErrorQueryRangeGeo" + + ErrorSaveCacheGeo = "ErrorSaveCacheGeo" + + ErrorSaveCacheActualGeo = "ErrorSaveCacheActualGeo" + + ErrorCheckWorkTime = "ErrorCheckWorkTime" + + ErrorQueryOutWorkCheck = "ErrorQueryOutWorkCheck" + + ErrorCheckNextClockInTime = "ErrorCheckNextClockInTime" + + ErrorClockIn = "ErrorClockIn" + + SuccessClockIn = "SuccessClockIn" + + ErrorNotAllowedClockIn = "ErrorNotAllowedClockIn" + + ErrorMissBreakOption = "ErrorMissBreakOption" + + ErrCheckAddressLimit = "ErrCheckAddressLimit" + + ErrUserMiss = "ErrUserMiss" + + ErrNoData = "ErrNoData" + + ErrNotApplyUuid = "ErrNotApplyUuid" + + ErrNotHadWorkingTime = "ErrNotHadWorkingTime" + + ErrMissMakeUpRule = "ErrMissMakeUpRule" + + ErrCanNotCalcOverTimeBehindTwoDays = "ErrCanNotCalcOverTimeBehindTwoDays" + + ErrorOverTimeNotInWorkTime = "ErrorOverTimeNotInWorkTime" + + ErrorMissOutBack = "ErrorMissOutBack" + + ErrorMissLngLat = "ErrorMissLngLat" + + SuccessCreateOutWorkCheck = "SuccessCreateOutWorkCheck" + + ErrorCreateOutWorkCheck = "ErrorCreateOutWorkCheck" + + ErrorFrequentClockIn = "ErrorFrequentClockIn" + + ErrorNoFaceImg = "ErrorNoFaceImg" + + ErrorNoCatchFaceImg = "ErrorNoCatchFaceImg" + + ErrorFaceCompare = "ErrorFaceCompare" + + ErrorFaceCompareNotPass = "ErrorFaceCompareNotPass" + + ErrorInvalidChickInMap = "ErrorInvalidChickInMap" + + ErrorTimeIsZero = "ErrorTimeIsZero" + + ErrQueryEmployeeAttendance = "ErrQueryEmployeeAttendance" + + ErrorWorkingTimeNotInUse = "ErrorWorkingTimeNotInUse" + + ErrorAddressEmpty = "ErrorAddressEmpty" + + ErrorQueryVersionHistory = "ErrorQueryVersionHistory" +) + +const ( + ErrSystemCommonParam = "系统修改异常参数缺失" + + ErrActionTimeNotBeforeNextDateFour = "最后一班下班卡的系统补卡时间不得晚于次日凌晨四点" + + ErrorIsNotBeforeOrEqualCollectionMonth = "仅支持查看当前及历史月考勤数据" + + ErrorEmployFindUser = "查询员工档案失败" + + ErrQueryPositionInfo = "查询部门岗位信息失败" + + ErrWorkingTimeNotInUse = "考勤设置将于 a 生效" + + ErrWritePDF = "写入PDF文件失败" +) + +// export +const ( + ErrorCreateLocalFile = "创建本地文件失败" + ErrorWriteLocalFile = "写入本地文件失败" + ErrorCloseLocalFile = "关闭本地文件失败" + ErrorPutOos = "上传文件失败" + ErrorWriteExcel = "写入excel失败" + + ErrorCreateExportTask = "创建导出任务失败" + + ErrParamWithoutWorkDate = "缺少工作日信息" +) + +const ( + InUse = iota + 1 + NotInUse + InUseAndEffectiveDateIsNextDate +) + +const ( + IsNotWorkDay = iota + 1 + IsWorkDay +) + +const ( + NotAllowOutWork = iota + 1 + AllowOutWork +) + +func VerifyMsgKey(key string) bool { + msg := errorMessages[key] + if msg == "" { + return false + } + return true +} + +func GetMsgZhCN(key string) string { + return errorMessagesZhCN[key] +} + +func GetMsgZhTW(key string) string { + return errorMessagesZhTW[key] +} + +func GetMsgEN(key string) string { + return errorMessagesEN[key] +} diff --git a/pkg/logic/language.go b/pkg/logic/language.go new file mode 100644 index 0000000..1c6cd0d --- /dev/null +++ b/pkg/logic/language.go @@ -0,0 +1,132 @@ +package logic + +import ( + "fonchain-fiee/pkg/e" + "github.com/gin-gonic/gin" + "strings" +) + +func GetLanguage(c *gin.Context) string { + lang := c.Request.Header.Get("Accept-Language") + lang = strings.Split(lang, ",")[0] + if lang == "zh-CN" || lang == "zh" || lang == "ZhCN" { + lang = "ZhCN" + } else if lang == "zh-TW" || lang == "ZhTW" { + lang = "ZhTW" + } else if lang == "en" || lang == "EN" { + lang = "EN" + } + return lang +} + +func ConvertOfflineMsg(c *gin.Context, key string) string { + language := GetLanguage(c) + switch language { + case "EN": + return e.OfflineMap[strings.Join([]string{key, "EN"}, "")] + case "ZhCN": + return e.OfflineMap[strings.Join([]string{key, "ZhCN"}, "")] + case "ZhTW": + return e.OfflineMap[strings.Join([]string{key, "ZhTW"}, "")] + default: + return key + } +} + +func ConvertLoginMsg(c *gin.Context, key string) string { + language := GetLanguage(c) + switch language { + case "EN": + return e.LoginMap[strings.Join([]string{key, "EN"}, "")] + case "ZhCN": + return e.LoginMap[strings.Join([]string{key, "ZhCN"}, "")] + case "ZhTW": + return e.LoginMap[strings.Join([]string{key, "ZhTW"}, "")] + default: + return key + } +} + +func ConvertWeek(language string, week int32) string { + switch language { + case "EN": + switch week { + case 1: + return "Monday" + case 2: + return "Tuesday" + case 3: + return "Wednesday" + case 4: + return "Thursday" + case 5: + return "Friday" + case 6: + return "Saturday" + case 7: + return "Sunday" + } + case "ZhCN": + switch week { + case 1: + return "星期一" + case 2: + return "星期二" + case 3: + return "星期三" + case 4: + return "星期四" + case 5: + return "星期五" + case 6: + return "星期六" + case 7: + return "星期日" + } + case "ZhTW": + switch week { + case 1: + return "星期一" + case 2: + return "星期二" + case 3: + return "星期三" + case 4: + return "星期四" + case 5: + return "星期五" + case 6: + return "星期六" + case 7: + return "星期日" + } + } + return "" +} + +func ConvertAmPm(language string, amPm string) string { + switch language { + case "EN": + switch amPm { + case "上午": + return "AM" + case "下午": + return "PM" + } + } + return amPm +} + +func ConvertOaMsg(c *gin.Context, key string) string { + language := GetLanguage(c) + switch language { + case "EN": + return e.GetMsgEN(strings.Join([]string{key, "EN"}, "")) + case "ZhCN": + return e.GetMsgZhCN(strings.Join([]string{key, "ZhCN"}, "")) + case "ZhTW": + return e.GetMsgZhTW(strings.Join([]string{key, "ZhTW"}, "")) + default: + return key + } +} diff --git a/pkg/middleware/check_login.go b/pkg/middleware/check_login.go index b4051f1..8892d72 100644 --- a/pkg/middleware/check_login.go +++ b/pkg/middleware/check_login.go @@ -1,19 +1,25 @@ package middleware import ( + "dubbo.apache.org/dubbo-go/v3/common/logger" "errors" "fmt" - api "fonchain-fiee/api/account" + "fonchain-fiee/api/account" + api "fonchain-fiee/api/accountFiee" jwt2 "fonchain-fiee/pkg/common/jwt" "fonchain-fiee/pkg/common/m" "fonchain-fiee/pkg/e" + "fonchain-fiee/pkg/logic" + "fonchain-fiee/pkg/model" "fonchain-fiee/pkg/model/login" "fonchain-fiee/pkg/service" + "fonchain-fiee/pkg/utils/secret" "github.com/gin-gonic/gin" + "time" ) // CheckLogin 检测登陆 -func CheckLogin(provider *api.AccountClientImpl) gin.HandlerFunc { +func CheckLogin(provider *api.AccountFieeClientImpl) gin.HandlerFunc { return func(ctx *gin.Context) { @@ -38,7 +44,7 @@ func CheckLogin(provider *api.AccountClientImpl) gin.HandlerFunc { Domain: jwt.Domain, } - infoRes, err := service.AccountProvider.UserByTel(ctx, infoReq) + infoRes, err := service.AccountFieeProvider.UserByTel(ctx, infoReq) if err != nil { service.Error(ctx, err) return @@ -69,3 +75,106 @@ func CheckLogin(provider *api.AccountClientImpl) gin.HandlerFunc { ctx.Next() } } +func CheckWebLogin(provider *account.AccountClientImpl) gin.HandlerFunc { + + return func(ctx *gin.Context) { + startTime := time.Now() + //如果没有登录 + authorization := ctx.GetHeader(e.Authorization) + if authorization == "" { + service.NotLoginRes(ctx, logic.ConvertLoginMsg(ctx, e.ErrNotLogin)) + return + } + + jwt, err := secret.GetJwtFromStr(authorization) + + logger.Info("---------end帐号转jwt:时间:", time.Now().Sub(startTime)) + if err != nil { + service.NotLoginRes(ctx, err.Error()) + return + } + + //0 解密 + req := account.DecryptJwtRequest{ + Token: jwt, + } + + info, err := provider.DecryptJwt(ctx, &req) + logger.Info("---------end帐号微服务解密:时间:", time.Now().Sub(startTime)) + + if err != nil { + service.NotLoginRes(ctx, err.Error()) + return + } + + //if info.OfflineCode == e.OfflineSqueeze { + // service.Error(ctx, e.NotLoginSqueeze, errors.New(e.ErrOfflineSqueeze)) + // return + //} + + if info.IsOffline == true { + service.ErrorWeb(ctx, e.NotLogin, errors.New(logic.ConvertOfflineMsg(ctx, e.ErrOffline))) + return + } + + //1 获取用户的账号信息 + infoReq := &account.InfoRequest{ + ID: info.ID, + Scene: "base", + } + + infoRes, err := service.AccountProvider.Info(ctx, infoReq) + + logger.Info("---------end帐号info时间:", time.Now().Sub(startTime)) + + if err != nil { + service.ErrorWeb(ctx, e.Error, err) + return + } + + //3 获取用户的岗位信息 + //uReq := rule.RulesRequest{ + // AccountID: info.ID, + //} + // + //qres, err1 := service.RuleProvider.UserInfo(ctx, &uReq) + // + //logger.Info("---------end帐号,rule的userInfo:时间:", time.Now().Sub(startTime)) + //if err1 != nil { + // service.Error(ctx, e.Error, err) + // return + //} + + loginInfo := login.Info{ + Domain: info.Domain, + ID: info.ID, + //Account: info.Account, + //NickName: info.NickName, + //PositionUsers: qres.PositionUsers, + //Extend: infoRes.Info.Extend, + TelNum: infoRes.Info.TelNum, + //Avatar: infoRes.Info.Avatar, + //JumpTo: "", + //DepartmentName: "", + } + + //if infoRes.Info.Extend != nil { + // loginInfo.JumpTo = infoRes.Info.Extend.JumpTo + //} + // + //if len(qres.PositionUsers) >= 1 { + // loginInfo.DepartmentName = qres.PositionUsers[0].DepartmentName + //} + + ctx.Set("jwtInfo", loginInfo) + var mLoginInfo model.LoginInfo + mLoginInfo.ID = loginInfo.ID + mLoginInfo.NickName = loginInfo.Name + mLoginInfo.Phone = loginInfo.TelNum + //mLoginInfo.PositionUsers = qres.PositionUsers + ctx.Set("mLoginInfo", mLoginInfo) + logger.Info("---------check_login:总时间", time.Now().Sub(startTime)) + ctx.Next() + + } +} diff --git a/pkg/model/middleware.go b/pkg/model/middleware.go new file mode 100644 index 0000000..70621a4 --- /dev/null +++ b/pkg/model/middleware.go @@ -0,0 +1,18 @@ +package model + +import ( + api "fonchain-fiee/api/account" + //"github.com/fonchain_enterprise/fonchain-main/api/rule" +) + +type LoginInfo struct { + Domain string + ID uint64 + Account string + NickName string + JumpTo string + DepartmentName string + Phone string + Extend *api.Extend + //PositionUsers []*rule.PositionUser +} diff --git a/pkg/router/bundleOrder.go b/pkg/router/bundleOrder.go index 1f1abcc..02af532 100644 --- a/pkg/router/bundleOrder.go +++ b/pkg/router/bundleOrder.go @@ -14,16 +14,22 @@ func BundleOrderRouter(r *gin.RouterGroup) { r.POST("/antom/callback", bundle.AntomWebhook) // Antom回调 bundleOrderRoute := r.Group("bundle-order") - bundleOrderRoute.Use(middleware.CheckLogin(service.AccountProvider)) + bundleOrderRoute.Use(middleware.CheckLogin(service.AccountFieeProvider)) + bundleOrderWebRoute := bundleOrderRoute.Group("web") + bundleOrderWebRoute.Use(middleware.CheckWebLogin(service.AccountProvider)) // 套餐 { - bundleOrderClientRoute := bundleOrderRoute.Group("common") + bundleOrderClientWebRoute := bundleOrderWebRoute.Group("common/web") { - bundleOrderClientRoute.POST("bundle-order-list", bundle.OrderRecordsList) + bundleOrderClientWebRoute.POST("bundle-order-list", bundle.OrderRecordsList) + } + bundleOrderClientAppRoute := bundleOrderRoute.Group("common/app") + { + bundleOrderClientAppRoute.POST("bundle-order-list", bundle.OrderRecordsList) } - bundleOrderWebRoute := bundleOrderRoute.Group("web") + //bundleOrderWebRoute := bundleOrderRoute.Group("web") { bundleOrderWebRoute.POST("financial-confirm", bundle.UpdateFinancialConfirmationStatus) bundleOrderWebRoute.POST("order-export", bundle.ExportOrderInfo) diff --git a/pkg/router/router.go b/pkg/router/router.go index 62c4f6f..0a34e19 100644 --- a/pkg/router/router.go +++ b/pkg/router/router.go @@ -55,15 +55,17 @@ func NewRouter() *gin.Engine { privateGroup.POST("generate/captcha", account.GenerateCaptcha) //生成滑块验证码 privateGroup.POST("validate/captcha", account.ValidateCaptcha) //验证滑块验证码 acRoute := privateGroup.Group("/user") - acRoute.Use(middleware.CheckLogin(service.AccountProvider)) + acRoute.Use(middleware.CheckLogin(service.AccountFieeProvider)) { acRoute.POST("real-name", account.RealName) //实名 acRoute.POST("info", account.UserInfo) //用户详情 acRoute.POST("update", account.UserUpdate) //用户更新 } + webAcRouter := privateGroup.Group("/user") + webAcRouter.Use(middleware.CheckWebLogin(service.AccountProvider)) { - acRoute.POST("list", account.UserList) //用户列表 - acRoute.POST("approval", account.UserApproval) //实名审核 + webAcRouter.POST("list", account.UserList) //用户列表 + webAcRouter.POST("approval", account.UserApproval) //实名审核 } } { @@ -71,7 +73,7 @@ func NewRouter() *gin.Engine { } // 上传 upData := privateGroup.Group("upload") - upData.Use(middleware.CheckLogin(service.AccountProvider)) + upData.Use(middleware.CheckLogin(service.AccountFieeProvider)) { upData.POST("img", upload.UploadImg) } diff --git a/pkg/router/valueAddBundle.go b/pkg/router/valueAddBundle.go index c7f9b44..05a1ca2 100644 --- a/pkg/router/valueAddBundle.go +++ b/pkg/router/valueAddBundle.go @@ -10,7 +10,7 @@ import ( func ValueAddBundleRouter(r *gin.RouterGroup) { valueAddBundleRoute := r.Group("valueAdd-bundle") - valueAddBundleRoute.Use(middleware.CheckLogin(service.AccountProvider)) + valueAddBundleRoute.Use(middleware.CheckWebLogin(service.AccountProvider)) // 增值套餐 { diff --git a/pkg/serializer/common.go b/pkg/serializer/common.go new file mode 100644 index 0000000..03ff3ba --- /dev/null +++ b/pkg/serializer/common.go @@ -0,0 +1,25 @@ +package serializer + +// Response 基础序列化器 +type Response struct { + Status int `json:"status"` + Data interface{} `json:"data"` + Msg string `json:"msg"` + Code int `json:"code"` + Error error `json:"error"` + Err string `json:"err"` + Keys []string `json:"keys"` + Mark string `json:"mark,omitempty"` + Page *PageInfo `json:"page,omitempty"` + Positions interface{} `json:"positions"` +} +type PageInfo struct { + Page int32 `json:"page" query:"page"` + PageSize int32 `json:"pageSize" query:"pageSize"` + Total int32 `json:"total"` +} + +type UseFaceClockIn struct { + Result int `json:"Result"` + Msg string `json:"Msg"` +} diff --git a/pkg/service/account/account.go b/pkg/service/account/account.go index 6865a28..86563c9 100644 --- a/pkg/service/account/account.go +++ b/pkg/service/account/account.go @@ -3,7 +3,7 @@ package account import ( "context" "fmt" - "fonchain-fiee/api/account" + account "fonchain-fiee/api/accountFiee" "fonchain-fiee/pkg/e" "fonchain-fiee/pkg/model/login" "fonchain-fiee/pkg/model/union" @@ -18,7 +18,7 @@ func UserApproval(c *gin.Context) { service.Error(c, err) return } - res, err := service.AccountProvider.CheckRealName(context.Background(), &req) + res, err := service.AccountFieeProvider.CheckRealName(c, &req) if err != nil { service.Error(c, err) return @@ -34,7 +34,7 @@ func UserList(c *gin.Context) { return } req.Domain = "app" - res, err := service.AccountProvider.UserList(context.Background(), &req) + res, err := service.AccountFieeProvider.UserList(context.Background(), &req) if err != nil { service.Error(c, err) return @@ -48,7 +48,7 @@ func UserInfo(c *gin.Context) { user := login.GetUserInfoFromC(c) req.ID = user.ID req.Domain = user.Domain - res, err := service.AccountProvider.Info(context.Background(), &req) + res, err := service.AccountFieeProvider.Info(c, &req) if err != nil { service.Error(c, err) return @@ -67,7 +67,7 @@ func UserUpdate(c *gin.Context) { user := login.GetUserInfoFromC(c) req.ID = user.ID req.Domain = user.Domain - res, err := service.AccountProvider.Update(context.Background(), &account.UpdateRequest{ + res, err := service.AccountFieeProvider.Update(c, &account.UpdateRequest{ ID: req.ID, Domain: req.Domain, Language: req.Language, @@ -88,7 +88,7 @@ func SendMsg(c *gin.Context) { service.Error(c, err) return } - data, err := service.AccountProvider.VerifySliderStatus(context.Background(), &account.VerifySliderStatusRequest{ + data, err := service.AccountFieeProvider.VerifySliderStatus(c, &account.VerifySliderStatusRequest{ NonceStr: req.NonceStr, }) fmt.Println("data=============>", data, err) @@ -151,7 +151,7 @@ func SendMsg(c *gin.Context) { MId: req.MId, Scope: req.Scope, } - res, err := service.AccountProvider.SendNationMsg(context.Background(), tempReq) + res, err := service.AccountFieeProvider.SendNationMsg(context.Background(), tempReq) if err != nil { service.Error(c, err) return @@ -159,7 +159,7 @@ func SendMsg(c *gin.Context) { service.Success(c, res) return } else { - res, err := service.AccountProvider.SendMsg(context.Background(), &req) + res, err := service.AccountFieeProvider.SendMsg(context.Background(), &req) if err != nil { service.Error(c, err) return @@ -171,7 +171,7 @@ func SendMsg(c *gin.Context) { //req.Domain = "app" //req.SignNo = uint32(config.DefaultSignNo) - //res, err := service.AccountProvider.SendMsg(context.Background(), &req) + //res, err := service.AccountFieeProvider.SendMsg(context.Background(), &req) //if err != nil { // service.Error(c, err) // return @@ -187,7 +187,7 @@ func RealName(c *gin.Context) { } user := login.GetUserInfoFromC(c) req.Id = user.ID - res, err := service.AccountProvider.RealName(context.Background(), &req) + res, err := service.AccountFieeProvider.RealName(context.Background(), &req) if err != nil { service.Error(c, err) return @@ -207,7 +207,7 @@ func CheckMsg(c *gin.Context) { return } req.TelNum = req.Zone + req.TelNum - res, err := service.AccountProvider.CheckMsg(context.Background(), &req) + res, err := service.AccountFieeProvider.CheckMsg(context.Background(), &req) if err != nil { service.Error(c, err) return @@ -225,7 +225,7 @@ func GenerateCaptcha(c *gin.Context) { return } - res, err := service.AccountProvider.GenerateSliderCaptcha(context.Background(), &req) + res, err := service.AccountFieeProvider.GenerateSliderCaptcha(context.Background(), &req) if err != nil { service.Error(c, err) @@ -245,7 +245,7 @@ func ValidateCaptcha(c *gin.Context) { return } - res, err := service.AccountProvider.VerifySliderCaptcha(context.Background(), &req) + res, err := service.AccountFieeProvider.VerifySliderCaptcha(context.Background(), &req) if err != nil { service.Error(c, err) @@ -258,7 +258,7 @@ func ValidateCaptcha(c *gin.Context) { func UserLogout(c *gin.Context) { req := account.DecryptJwtRequest{} req.Token = c.GetHeader(e.Authorization) - res, err := service.AccountProvider.Logout(c, &req) + res, err := service.AccountFieeProvider.Logout(c, &req) if err != nil { service.Error(c, err) return @@ -274,12 +274,12 @@ func UserRegister(c *gin.Context) { return } req.Domain = "app" - res, err := service.AccountProvider.Register(context.Background(), &req) + res, err := service.AccountFieeProvider.Register(context.Background(), &req) if err != nil { service.Error(c, err) return } - tokenInfo, err := service.AccountProvider.Login(context.Background(), &account.LoginRequest{ + tokenInfo, err := service.AccountFieeProvider.Login(context.Background(), &account.LoginRequest{ Domain: req.Domain, TelNum: req.TelNum, Code: req.Code, @@ -303,7 +303,7 @@ func UserLogin(c *gin.Context) { } req.Ip = c.ClientIP() req.Domain = "fontree" - res, err := service.AccountProvider.Login(c, &req) + res, err := service.AccountFieeProvider.Login(c, &req) if err != nil { service.Error(c, err) return diff --git a/pkg/service/approval/model/oa_type.go b/pkg/service/approval/model/oa_type.go new file mode 100644 index 0000000..c700607 --- /dev/null +++ b/pkg/service/approval/model/oa_type.go @@ -0,0 +1,283 @@ +package model + +// 或签 会签 +const ( + AndSignType = "AND" + OrSignType = "OR" + ErrorSignType = "签核类型错误" +) + +var OaTypeMap = map[string]string{ + "leave": "leave", // 事假 + "sick": "leave", // 病假 + "annualLeave": "leave", // 年假 + "dayOff": "leave", // 调休 + "maritalLeave": "leave", // 婚假 + "matingCheckLeave": "leave", // 孕检假 + "maternityLeave": "leave", // 产假 + "paternityLeave": "leave", // 陪产假 + "parentalLeave": "leave", // 育儿假 + "nursingLeave": "leave", // 独生子女护理假 + "funeralLeave": "leave", // 丧假 + "abortLeave": "leave", // 流产假 + "breastFeedingLeave": "leave", // 哺乳假 + + "makeUp": "makeUp", // 补卡 + "overTime": "overTime", // 加班 + "outWork": "outWork", // 外勤 + "handover": "handover", // 离职 + "handover-1": "handover", // 离职 + "handover-2": "handover", // 离职 + "handover-3": "handover", // 离职 + "handover-4": "handover", // 离职 + "handover-5": "handover", // 离职 + "handover-6": "handover", // 离职 + "handover-7": "handover", // 离职 + "handover-8": "handover", // 离职 + "handover-9": "handover", // 离职 + "handover-10": "handover", // 离职 + "handover-11": "handover", // 离职 + "handover-12": "handover", // 离职 + "handover-13": "handover", // 离职 + "handover-14": "handover", // 离职 + "handover-15": "handover", // 离职 + "handover-16": "handover", // 离职 + "handover-17": "handover", // 离职 + "handover-18": "handover", // 离职 + "handover-19": "handover", // 离职 + "handover-20": "handover", // 离职 + "handover-21": "handover", // 离职 + "handover-22": "handover", // 离职 + "handover-23": "handover", // 离职 + "handover-24": "handover", // 离职 + "handover-25": "handover", // 离职 + "handover-26": "handover", // 离职 + "handover-27": "handover", // 离职 + "handover-28": "handover", // 离职 + "handover-29": "handover", // 离职 + "handover-30": "handover", // 离职 + "handover-31": "handover", // 离职 + "handover-32": "handover", // 离职 + "handover-33": "handover", // 离职 + "handover-34": "handover", // 离职 + "handover-35": "handover", // 离职 + "handover-36": "handover", // 离职 + "handover-37": "handover", // 离职 + "handover-38": "handover", // 离职 + "handover-39": "handover", // 离职 + "handover-40": "handover", // 离职 + "handover-41": "handover", // 离职 + "handover-42": "handover", // 离职 + "handover-43": "handover", // 离职 + "handover-44": "handover", // 离职 + "handover-45": "handover", // 离职 + "handover-46": "handover", // 离职 + "handover-47": "handover", // 离职 + "handover-48": "handover", // 离职 + "handover-49": "handover", // 离职 + "handover-50": "handover", // 离职 + "handover-51": "handover", // 离职 + "handover-52": "handover", // 离职 + "handover-53": "handover", // 离职 + "turnover": "turnover", // 离职 + "turnover-1": "turnover", // 离职 + "turnover-2": "turnover", // 离职 + "turnover-3": "turnover", // 离职 + "turnover-4": "turnover", // 离职 + "turnover-5": "turnover", // 离职 + "turnover-6": "turnover", // 离职 + "turnover-7": "turnover", // 离职 + "turnover-8": "turnover", // 离职 + "turnover-9": "turnover", // 离职 + "turnover-10": "turnover", // 离职 + "turnover-11": "turnover", // 离职 + "turnover-12": "turnover", // 离职 + "turnover-13": "turnover", // 离职 + "turnover-14": "turnover", // 离职 + "turnover-15": "turnover", // 离职 + "turnover-16": "turnover", // 离职 + "turnover-17": "turnover", // 离职 + "turnover-18": "turnover", // 离职 + "turnover-19": "turnover", // 离职 + "turnover-20": "turnover", // 离职 + "turnover-21": "turnover", // 离职 + "turnover-22": "turnover", // 离职 + "turnover-23": "turnover", // 离职 + "turnover-24": "turnover", // 离职 + "turnover-25": "turnover", // 离职 + "turnover-26": "turnover", // 离职 + "turnover-27": "turnover", // 离职 + "turnover-28": "turnover", // 离职 + "turnover-29": "turnover", // 离职 + "turnover-30": "turnover", // 离职 + "turnover-31": "turnover", // 离职 + "turnover-32": "turnover", // 离职 + "turnover-33": "turnover", // 离职 + "turnover-34": "turnover", // 离职 + "turnover-35": "turnover", // 离职 + "turnover-36": "turnover", // 离职 + "turnover-37": "turnover", // 离职 + "turnover-38": "turnover", // 离职 + "turnover-39": "turnover", // 离职 + "turnover-40": "turnover", // 离职 + "turnover-41": "turnover", // 离职 + "turnover-42": "turnover", // 离职 + "turnover-43": "turnover", // 离职 + "turnover-44": "turnover", // 离职 + "turnover-45": "turnover", // 离职 + "turnover-46": "turnover", // 离职 + "turnover-47": "turnover", // 离职 + "turnover-48": "turnover", // 离职 + "turnover-49": "turnover", // 离职 + "turnover-50": "turnover", // 离职 + "turnover-51": "turnover", // 离职 + "turnover-52": "turnover", // 离职 + "turnover-53": "turnover", // 离职 + "businessTrip": "businessTrip", // 出差 + "goOut": "goOut", // 外出 + + "annualLeaveApply": "leaveApply", // 年假申请 + "maritalLeaveApply": "leaveApply", // 婚假申请 + "matingCheckLeaveApply": "leaveApply", // 孕检假申请 + "maternityLeaveApply": "leaveApply", // 产假申请 + "paternityLeaveApply": "leaveApply", // 陪产假申请 + "parentalLeaveApply": "leaveApply", // 育儿假申请 + "nursingLeaveApply": "leaveApply", // 独生子女护理假申请 + "funeralLeaveApply": "leaveApply", // 丧假申请 +} + +var EnglishMap = map[string]string{ + "普通审批": "General approval", + "画作申请审批": "Approval of the painting application", + "画展包审批": "Approval of the exhibition package", + "画展包数量审批": "Approval of the number of painting packages", + "画展审批": "Approval of art exhibitions", + "画展包付款单申请": "Application for payment slip for exhibition package", + "画作润格审批": "Painting Runge Approval", + "画展包修改审批": "Approval of modification of the exhibition package", + "任命审批": "Appointment approval", + "人员增补申请": "Personnel Supplement Request", + "录用申请": "Job application", + "签到申请": "Check-in application", + "退回审批": "Return for approval", + "特殊画展包生成审批": "Approval of special painting package generation", + + "事假": "Leave", // 事假 + "病假": "sick leave", // 病假 + "年假": "annual leave", // 年假 + "调休": "Compensatory leave", // 调休 + "婚假": "Marriage leave", // 婚假 + "孕检假": "Pregnancy test leave", // 孕检假 + "产假": "maternity leave", // 产假 + "陪产假": "Paternity leave", // 陪产假 + "育儿假": "Parental leave", // 育儿假 + "独生子女护理假": "Nursing leave for an only child", // 独生子女护理假 + "丧假": "Bereavement leave", // 丧假 + "流产假": "Miscarriage leave", // 流产假 + "哺乳假": "Breastfeeding leave", // 哺乳假 + + "补卡": "makeUp", // 补卡 + "加班": "overtime", // 加班 + "外勤": "out work", // 外勤 + "离职申请": "Resignation application", // 离职 + "离职交接": "Separation handover", // 离职交接 + "出差": "business trip", // 出差 + "外出": "Out", // 外出 + + "育儿假额度申请": "parentalLeaveApply", // 育儿假申请 + "独生子女护理假申请": "nursingLeaveApply", // 独生子女护理假申请 + "岗位申请": "employ application", //岗位申请 + "上午": "AM", + "下午": "PM", + "开始时间不应晚于结束时间": "The start time should not be later than the end time", + "未申请假期余额": "Leave balance is not requested", + "请填写完整信息": "Please fill in the complete information", + "所选时间段已有申请": "There is already an application for the selected time period", + "请填写撤销理由": "Please fill in the reason for withdrawal", + "您今天已经对该审批人同类的审批发送过短信!": "You've already sent an SMS message today for an approval of the same type as that approver", + "当前状态无法修改": "The current status cannot be modified", + "请假时长超出范围": "The length of the leave is out of range", + "该请假类型申请时间不在本年度": "This leave type is not available in the current year", + "假期余额不足": "Insufficient leave balance", + "该请假类型申请时间不在本月": "This leave type is not available in this month", + "离职申请未完成": "The resignation application is not complete", + "用户已提交过离职申请": "The user has submitted a resignation request", + "用户已提交过离职交接": "The user has submitted an off-boarding handover", + "该工号已存在": "The job number already exists", + "考勤规则查询错误": "Attendance rule query error", +} + +var ChineseTraditionalMap = map[string]string{ + "普通审批": "普通審批", + "画作申请审批": "畫作申請審批", + "画展包审批": "畫展包審批", + "画展包数量审批": "畫展包數量審批", + "画展审批": "畫展審批", + "画展包付款单申请": "畫展包付款單申請", + "画作润格审批": "畫作潤格審批", + "画展包修改审批": "畫展包修改審批", + "任命审批": "任命審批", + "人员增补申请": "人員增補申請", + "录用申请": "錄用申請", + "签到申请": "簽到申請", + "退回审批": "退回審批", + "特殊画展包生成审批": "特殊畫展包生成審批", + + "事假": "事假", // 事假 + "病假": "病假", // 病假 + "年假": "年假", // 年假 + "调休": "調休", // 调休 + "婚假": "婚假", // 婚假 + "孕检假": "孕檢假", // 孕检假 + "产假": "產假", // 产假 + "陪产假": "陪產假", // 陪产假 + "育儿假": "育兒假", // 育儿假 + "独生子女护理假": "獨生子女護理假", // 独生子女护理假 + "丧假": "喪假", // 丧假 + "流产假": "流產假", // 流产假 + "哺乳假": "哺乳假", // 哺乳假 + + "补卡": "補卡", // 补卡 + "加班": "加班", // 加班 + "外勤": "外勤", // 外勤 + "离职申请": "離職申請", // 离职 + "离职交接": "離職交接", // 离职交接 + "出差": "出差", // 出差 + "外出": "外出", // 外出 + + "育儿假额度申请": "育兒假額度申請", // 育儿假申请 + "独生子女护理假申请": "獨生子女護理假申請", // 独生子女护理假申请 + "岗位申请": "崗位申請", //岗位申请 + "上午": "上午", + "下午": "下午", + "开始时间不应晚于结束时间": "開始時間不應晚於結束時間", + "未申请假期余额": "未申請假期餘額", + "请填写完整信息": "請填寫完整資訊", + "所选时间段已有申请": "所選時間段已有申請", + "请填写撤销理由": "請填寫撤銷理由", + "您今天已经对该审批人同类的审批发送过短信!": "您今天已經對該審批人同類的審批發送過簡訊", + "当前状态无法修改": "當前狀態無法修改", + "请假时长超出范围": "請假時長超出範圍", + "该请假类型申请时间不在本年度": "該請假類型申請時間不在本年度", + "假期余额不足": "假期餘額不足", + "该请假类型申请时间不在本月": "該請假類型申請時間不在本月", + "离职申请未完成": "離職申請未完成", + "用户已提交过离职申请": "使用者已提交過離職申請", + "用户已提交过离职交接": "使用者已提交過離職交接", + "该工号已存在": "該工號已存在", + "考勤规则查询错误": "考勤规则查询错误", +} + +func GetOaType(k string) string { + return OaTypeMap[k] +} + +func GetLanguageType(lang string, k string) string { + if lang == "EN" && EnglishMap[k] != "" { + return EnglishMap[k] + } else if lang == "ZhTW" && ChineseTraditionalMap[k] != "" { + return ChineseTraditionalMap[k] + } else { + return k + } +} diff --git a/pkg/service/base.go b/pkg/service/base.go index 0246402..ff35e97 100644 --- a/pkg/service/base.go +++ b/pkg/service/base.go @@ -1,7 +1,12 @@ package service import ( + "fmt" "fonchain-fiee/pkg/common" + "fonchain-fiee/pkg/e" + "fonchain-fiee/pkg/logic" + "fonchain-fiee/pkg/serializer" + "fonchain-fiee/pkg/service/approval/model" "github.com/gin-gonic/gin" "net/http" ) @@ -56,6 +61,43 @@ func Success1(c *gin.Context, msg string, datas ...interface{}) { c.Abort() } +// Error 统一错误返回 +func ErrorWeb(c *gin.Context, code int, err error, msg ...string) { + + fmt.Println("err:", err) + status := e.Failed + if code == e.NotLogin { + status = e.NotLogin + } + + if code == e.NotLoginSqueeze { + status = e.NotLoginSqueeze + } + + var msgStr string + if msg != nil { + msgStr = msg[0] + } else if err != nil { + msgStr = err.Error() + } + + // 国际化 + if e.VerifyMsgKey(msgStr) { + msgStr = logic.ConvertOaMsg(c, msgStr) + } else { + lang := c.Request.Header.Get("Accept-Language") + msgStr = model.GetLanguageType(lang, msgStr) + } + + c.JSON(e.Success, serializer.Response{ + Status: status, + Msg: msgStr, + Data: nil, + }) + + c.Abort() +} + // Error 统一错误返回 func Error(c *gin.Context, err error) { @@ -103,6 +145,19 @@ func Retry(c *gin.Context, err error) { c.Abort() } +// NotLoginRes 未登录的返回 +func NotLoginRes(c *gin.Context, msg string) { + + c.JSON(e.Success, serializer.Response{ + Code: 401, + Status: 1, + Msg: msg, + Data: nil, + }) + + c.Abort() +} + func NotLoginError(c *gin.Context, err error) { errMsg := "" diff --git a/pkg/service/bundle/bundleOrder.go b/pkg/service/bundle/bundleOrder.go index 6ddde62..155bd84 100644 --- a/pkg/service/bundle/bundleOrder.go +++ b/pkg/service/bundle/bundleOrder.go @@ -4,7 +4,7 @@ import ( "context" "errors" "fmt" - "fonchain-fiee/api/account" + "fonchain-fiee/api/accountFiee" "fonchain-fiee/api/bundle" "fonchain-fiee/api/order" "fonchain-fiee/pkg/model/login" @@ -259,7 +259,7 @@ func OrderRecordsList(c *gin.Context) { continue } - userInfo, _ := service.AccountProvider.Info(context.Background(), &account.InfoRequest{ + userInfo, _ := service.AccountFieeProvider.Info(context.Background(), &accountFiee.InfoRequest{ Domain: "app", ID: userID, }) @@ -356,7 +356,7 @@ func ExportOrderInfo(c *gin.Context) { continue } - userInfo, _ := service.AccountProvider.Info(context.Background(), &account.InfoRequest{ + userInfo, _ := service.AccountFieeProvider.Info(context.Background(), &accountFiee.InfoRequest{ Domain: "app", ID: userID, }) diff --git a/pkg/service/init.go b/pkg/service/init.go index 0f80220..5019eaa 100644 --- a/pkg/service/init.go +++ b/pkg/service/init.go @@ -6,6 +6,7 @@ import ( _ "dubbo.apache.org/dubbo-go/v3/imports" "fmt" "fonchain-fiee/api/account" + "fonchain-fiee/api/accountFiee" "fonchain-fiee/api/bundle" "fonchain-fiee/api/order" "fonchain-fiee/api/payment" @@ -14,16 +15,18 @@ import ( ) var AccountProvider = new(account.AccountClientImpl) +var AccountFieeProvider = new(accountFiee.AccountFieeClientImpl) var BundleProvider = new(bundle.BundleClientImpl) var OrderProvider = new(order.OrderClientImpl) var PaymentProvider = new(payment.PaymentCentClientImpl) func init() { - config.SetConsumerService(BundleProvider) - config.SetConsumerService(OrderProvider) + //config.SetConsumerService(BundleProvider) + //config.SetConsumerService(OrderProvider) config.SetConsumerService(AccountProvider) - config.SetConsumerService(PaymentProvider) + //config.SetConsumerService(PaymentProvider) + config.SetConsumerService(AccountFieeProvider) if err := config.Load(); err != nil { panic(err) diff --git a/pkg/utils/secret/aes/aes.go b/pkg/utils/secret/aes/aes.go new file mode 100644 index 0000000..756ed35 --- /dev/null +++ b/pkg/utils/secret/aes/aes.go @@ -0,0 +1,77 @@ +package aes + +import ( + "bytes" + "crypto/aes" + "crypto/cipher" + "errors" +) + +//高级加密标准(Adevanced Encryption Standard ,AES) + +//16,24,32位字符串的话,分别对应AES-128,AES-192,AES-256 加密方法 +//key不能泄露 +var PwdKey = []byte("tyfon918tyfon918") + +//PKCS7 填充模式 +func PKCS7Padding(ciphertext []byte, blockSize int) []byte { + padding := blockSize - len(ciphertext)%blockSize + //Repeat()函数的功能是把切片[]byte{byte(padding)}复制padding个,然后合并成新的字节切片返回 + padtext := bytes.Repeat([]byte{byte(padding)}, padding) + return append(ciphertext, padtext...) +} + +//填充的反向操作,删除填充字符串 +func PKCS7UnPadding(origData []byte) ([]byte, error) { + //获取数据长度 + length := len(origData) + if length == 0 { + return nil, errors.New("加密字符串错误!") + } else { + //获取填充字符串长度 + unpadding := int(origData[length-1]) + //截取切片,删除填充字节,并且返回明文 + return origData[:(length - unpadding)], nil + } +} + +//实现加密 +func AesEcrypt(origData []byte, key []byte) ([]byte, error) { + //创建加密算法实例 + block, err := aes.NewCipher(key) + if err != nil { + return nil, err + } + //获取块的大小 + blockSize := block.BlockSize() + //对数据进行填充,让数据长度满足需求 + origData = PKCS7Padding(origData, blockSize) + //采用AES加密方法中CBC加密模式 + blocMode := cipher.NewCBCEncrypter(block, key[:blockSize]) + crypted := make([]byte, len(origData)) + //执行加密 + blocMode.CryptBlocks(crypted, origData) + return crypted, nil +} + +//实现解密 +func AesDeCrypt(cypted []byte, key []byte) ([]byte, error) { + //创建加密算法实例 + block, err := aes.NewCipher(key) + if err != nil { + return nil, err + } + //获取块大小 + blockSize := block.BlockSize() + //创建加密客户端实例 + blockMode := cipher.NewCBCDecrypter(block, key[:blockSize]) + origData := make([]byte, len(cypted)) + //这个函数也可以用来解密 + blockMode.CryptBlocks(origData, cypted) + //去除填充字符串 + origData, err = PKCS7UnPadding(origData) + if err != nil { + return nil, err + } + return origData, err +} diff --git a/pkg/utils/secret/aes/aes_test.go b/pkg/utils/secret/aes/aes_test.go new file mode 100644 index 0000000..6167fbd --- /dev/null +++ b/pkg/utils/secret/aes/aes_test.go @@ -0,0 +1,36 @@ +package aes + +import ( + "encoding/hex" + "testing" +) + +func TestSecret(t *testing.T) { + textA := "我是王德法" + textABytes := []byte(textA) + + token, err := AesEcrypt(textABytes, PwdKey) + if err != nil { + t.Errorf("加密错误 %s", err.Error()) + } + + //fmt.Println(token) + tokenStr := hex.EncodeToString(token) + + tokenByte, err := hex.DecodeString(tokenStr) + if err != nil { + t.Errorf("hex加密错误 %s", err.Error()) + } + + res, err := AesDeCrypt(tokenByte, PwdKey) + if err != nil { + t.Errorf("解密错误 %s", err.Error()) + } + + if string(res) == textA { + t.Logf("加解密通过 %s", string(res)) + } else { + t.Errorf("解析内容不符合") + } + +} diff --git a/pkg/utils/secret/secret.go b/pkg/utils/secret/secret.go new file mode 100644 index 0000000..fdca611 --- /dev/null +++ b/pkg/utils/secret/secret.go @@ -0,0 +1,105 @@ +package secret + +import ( + "encoding/hex" + "errors" + "fmt" + "fonchain-fiee/pkg/utils/secret/aes" + "strings" +) + +func GetPositionCode(positionName string) string { + code := "other" + positionMap := map[string]string{"宣传部": "xcb", "鉴证科": "jzk", "经纪人": "jjr", "普通用户": "com"} + + if v, ok := positionMap[positionName]; ok { + code = v + } + + return code +} + +func CombineSecret(position, name, toke string) (string, error) { + abc := position + "(~!@)" + name + "(~!@)" + toke + b, err := aes.AesEcrypt([]byte(abc), aes.PwdKey) + if err != nil { + return "", errors.New("解析错误") + } + + return hex.EncodeToString(b), nil +} + +func getToken(token string) (string, error) { + + if strings.Contains(token, "(~!@)") == false { + return "", errors.New("解析错误") + } + + str1 := strings.Split(token, "(~!@)") + + if len(str1) != 3 { + return "", errors.New("解析数量错误") + } + + return str1[2], nil +} + +func GetJwtFromStr(authorization string) (string, error) { + + tokenByte, err := hex.DecodeString(authorization) + if err != nil { + return "", err + } + defer func() { + if msg := recover(); msg != nil { + fmt.Println("panic信息:", msg, "---recover恢复---") + } + }() + + token, err := aes.AesDeCrypt(tokenByte, aes.PwdKey) + + if err != nil { + return "", err + } + + //解密下 + jwt, err := getToken(string(token)) + + if err != nil { + return "", err + } + + return jwt, nil + +} + +func CommonCombineSecret(abc string) (string, error) { + b, err := aes.AesEcrypt([]byte(abc), aes.PwdKey) + if err != nil { + return "", errors.New("解析错误") + } + + return hex.EncodeToString(b), nil +} + +func CommonDec(abc string) (string, error) { + + tokenByte, err := hex.DecodeString(abc) + if err != nil { + return "", err + } + defer func() { + if msg := recover(); msg != nil { + fmt.Println("panic信息:", msg, "---recover恢复---") + } + }() + + token, err := aes.AesDeCrypt(tokenByte, aes.PwdKey) + + if err != nil { + return "", err + } + + return string(token), nil + +} diff --git a/pkg/utils/secret/secret_test.go b/pkg/utils/secret/secret_test.go new file mode 100644 index 0000000..578af7e --- /dev/null +++ b/pkg/utils/secret/secret_test.go @@ -0,0 +1,58 @@ +package secret + +import ( + "fmt" + "testing" +) + +func TestCodetInfo(t *testing.T) { + + if GetPositionCode("鉴证科") != "jzk" { + t.Errorf("验证错误 ") + } + + if GetPositionCode("鉴证科1") == "jzk" { + t.Errorf("验证错误 ") + } + +} + +func TestSecretInfo(t *testing.T) { + token := "abc" + position := "pppp" + name := "王德发" + str, err := CombineSecret(position, name, token) + if err != nil { + t.Errorf("组合加密错误 %s", err.Error()) + return + } + + t.Logf("加密之后 %s", str) + + tokenExample, err := GetJwtFromStr(str) + if err != nil { + t.Errorf("获取token组合加密错误 %s", err.Error()) + return + } + + if tokenExample != token { + t.Errorf("解密不符合 %s", "解析内容不匹配") + } + + t.Logf("加解密通过 %s", tokenExample) + +} + +func TestCommonCombineSecret(t *testing.T) { + a := "zzzz" + str, err := CommonCombineSecret(a) + if err != nil { + t.Errorf("组合加密错误 %s", err.Error()) + return + } + + t.Logf("加密之后 %s", str) + + tokenExample, err := CommonDec(str) + fmt.Println(tokenExample, err) +} From 01724622b98d17e6cccd46d5ec990d93f7485962 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A1=80=E5=B0=BC=E9=BE=9F?= <365252428@qq.com> Date: Mon, 26 May 2025 17:03:07 +0800 Subject: [PATCH 22/27] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- conf/dubbogo.yaml | 3 ++- docs/dev/dubbogo.yaml | 2 +- docs/prod/dubbogo.yaml | 2 +- pkg/middleware/check_login.go | 2 +- pkg/service/init.go | 6 +++--- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/conf/dubbogo.yaml b/conf/dubbogo.yaml index 6aec23d..02a4946 100644 --- a/conf/dubbogo.yaml +++ b/conf/dubbogo.yaml @@ -10,10 +10,11 @@ dubbo: protocol: tri retries: 0 interface: com.fontree.microservices.common.Account - filter: cshutdown,sign,fonDomainFilter,fonValidateFilter + filter: echo,metrics,token,accesslog,sign,tps,generic_service,execute params: .accessKeyId: "Accountksl" .secretAccessKey: "BSDY-FDF1-Fontree_account" + AccountFieeClientImpl: protocol: tri retries: 0 diff --git a/docs/dev/dubbogo.yaml b/docs/dev/dubbogo.yaml index f464785..f0f9b0e 100644 --- a/docs/dev/dubbogo.yaml +++ b/docs/dev/dubbogo.yaml @@ -27,7 +27,7 @@ dubbo: protocol: tri retries: 0 interface: com.fontree.microservices.common.Account - filter: cshutdown,sign,fonDomainFilter,fonValidateFilter + filter: echo,metrics,token,accesslog,sign,tps,generic_service,execute params: .accessKeyId: "Accountksl" .secretAccessKey: "BSDY-FDF1-Fontree_account" diff --git a/docs/prod/dubbogo.yaml b/docs/prod/dubbogo.yaml index ba83467..d27078e 100644 --- a/docs/prod/dubbogo.yaml +++ b/docs/prod/dubbogo.yaml @@ -26,7 +26,7 @@ dubbo: protocol: tri retries: 0 interface: com.fontree.microservices.common.Account - filter: cshutdown,sign,fonDomainFilter,fonValidateFilter + filter: echo,metrics,token,accesslog,sign,tps,generic_service,execute params: .accessKeyId: "Accountksl" .secretAccessKey: "BSDY-FDF1-Fontree_account" diff --git a/pkg/middleware/check_login.go b/pkg/middleware/check_login.go index 8892d72..11c7578 100644 --- a/pkg/middleware/check_login.go +++ b/pkg/middleware/check_login.go @@ -99,7 +99,7 @@ func CheckWebLogin(provider *account.AccountClientImpl) gin.HandlerFunc { Token: jwt, } - info, err := provider.DecryptJwt(ctx, &req) + info, err := service.AccountProvider.DecryptJwt(ctx, &req) logger.Info("---------end帐号微服务解密:时间:", time.Now().Sub(startTime)) if err != nil { diff --git a/pkg/service/init.go b/pkg/service/init.go index 5019eaa..d849aca 100644 --- a/pkg/service/init.go +++ b/pkg/service/init.go @@ -22,10 +22,10 @@ var OrderProvider = new(order.OrderClientImpl) var PaymentProvider = new(payment.PaymentCentClientImpl) func init() { - //config.SetConsumerService(BundleProvider) - //config.SetConsumerService(OrderProvider) + config.SetConsumerService(BundleProvider) + config.SetConsumerService(OrderProvider) config.SetConsumerService(AccountProvider) - //config.SetConsumerService(PaymentProvider) + config.SetConsumerService(PaymentProvider) config.SetConsumerService(AccountFieeProvider) if err := config.Load(); err != nil { From 4aaa28f1d746568e454f01da27df18f609cd3e05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A1=80=E5=B0=BC=E9=BE=9F?= <365252428@qq.com> Date: Mon, 26 May 2025 17:16:48 +0800 Subject: [PATCH 23/27] 11 --- docs/dev/dubbogo.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/dev/dubbogo.yaml b/docs/dev/dubbogo.yaml index f0f9b0e..2c63f90 100644 --- a/docs/dev/dubbogo.yaml +++ b/docs/dev/dubbogo.yaml @@ -36,7 +36,7 @@ dubbo: retries: 3 interface: com.fontree.microservices.common.micro.account.fiee # filter: echo,metrics,token,accesslog,sign,tps,generic_service,execute,pshutdown,auth,fonValidateFilter - PaymentClientImpl: + PaymentCentClientImpl: interface: com.fontree.microservices.common.payment # must be compatible with grpc or dubbo-java filter: cshutdown,sign,auth params: From cfef240daaa68fbb77e329484eb6282672b3dc3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A1=80=E5=B0=BC=E9=BE=9F?= <365252428@qq.com> Date: Tue, 27 May 2025 09:15:38 +0800 Subject: [PATCH 24/27] 11 --- pkg/middleware/check_login.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkg/middleware/check_login.go b/pkg/middleware/check_login.go index 11c7578..afe0ac3 100644 --- a/pkg/middleware/check_login.go +++ b/pkg/middleware/check_login.go @@ -96,7 +96,8 @@ func CheckWebLogin(provider *account.AccountClientImpl) gin.HandlerFunc { //0 解密 req := account.DecryptJwtRequest{ - Token: jwt, + Token: jwt, + Domain: "fontree", } info, err := service.AccountProvider.DecryptJwt(ctx, &req) From 7ea7eec0f7acb1ff4db5d896f5846bc61e9b2a4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A1=80=E5=B0=BC=E9=BE=9F?= <365252428@qq.com> Date: Tue, 27 May 2025 09:36:10 +0800 Subject: [PATCH 25/27] 11 --- pkg/middleware/check_login.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/middleware/check_login.go b/pkg/middleware/check_login.go index afe0ac3..06e1c82 100644 --- a/pkg/middleware/check_login.go +++ b/pkg/middleware/check_login.go @@ -120,8 +120,9 @@ func CheckWebLogin(provider *account.AccountClientImpl) gin.HandlerFunc { //1 获取用户的账号信息 infoReq := &account.InfoRequest{ - ID: info.ID, - Scene: "base", + ID: info.ID, + Scene: "base", + Domain: "fontree", } infoRes, err := service.AccountProvider.Info(ctx, infoReq) From 8904c13e9c638138b10c0f625e32c2d33b3877e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A1=80=E5=B0=BC=E9=BE=9F?= <365252428@qq.com> Date: Tue, 27 May 2025 09:41:36 +0800 Subject: [PATCH 26/27] 11 --- pkg/router/bundleOrder.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/router/bundleOrder.go b/pkg/router/bundleOrder.go index 02af532..36cea28 100644 --- a/pkg/router/bundleOrder.go +++ b/pkg/router/bundleOrder.go @@ -15,7 +15,7 @@ func BundleOrderRouter(r *gin.RouterGroup) { bundleOrderRoute := r.Group("bundle-order") bundleOrderRoute.Use(middleware.CheckLogin(service.AccountFieeProvider)) - bundleOrderWebRoute := bundleOrderRoute.Group("web") + bundleOrderWebRoute := r.Group("bundle-order") bundleOrderWebRoute.Use(middleware.CheckWebLogin(service.AccountProvider)) // 套餐 From bad9d26c8d6d1e07ac557c45d03a6bfd86e85b87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A1=80=E5=B0=BC=E9=BE=9F?= <365252428@qq.com> Date: Tue, 27 May 2025 09:53:39 +0800 Subject: [PATCH 27/27] 11 --- pkg/router/bundle.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkg/router/bundle.go b/pkg/router/bundle.go index 5f8d766..42ba7fe 100644 --- a/pkg/router/bundle.go +++ b/pkg/router/bundle.go @@ -1,13 +1,15 @@ package router import ( + "fonchain-fiee/pkg/middleware" + "fonchain-fiee/pkg/service" "fonchain-fiee/pkg/service/bundle" "github.com/gin-gonic/gin" ) func BundleRouter(r *gin.RouterGroup) { bundleRoute := r.Group("bundle") - + bundleRoute.Use(middleware.CheckWebLogin(service.AccountProvider)) // 套餐 { bundleClientRoute := bundleRoute.Group("system")