首次打包
continuous-integration/drone Build is failing Details

main
jhc 10 months ago
parent 4f70291bf3
commit 5b8bd16642

@ -29,7 +29,7 @@ steps:
path: /go/pkg
commands:
- cp DockerfileTest Dockerfile
- CGO_ENABLED=0 go build -ldflags "-s -w" -o oa-meeting-server ./cmd
- CGO_ENABLED=0 go build -ldflags "-s -w" -o chain-dci-server ./cmd
- name: publish
image: testhub.szjixun.cn:9043/public/plugins/docker
pull: if-not-exists

@ -0,0 +1,22 @@
FROM testhub.szjixun.cn:9043/public/golang:1.20-alpine AS builder
LABEL stage=gobuilder
ENV CGO_ENABLED 0
ENV GOPROXY https://goproxy.cn,direct
WORKDIR /build
COPY chain-dci-server /app/chain-dci-server
#FROM 172.16.100.99:9006/alpine
#RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
#RUN apk update --no-cache
#RUN apk add --no-cache ca-certificates
#RUN apk add --no-cache tzdata
FROM testhub.szjixun.cn:9043/public/self-alpine
COPY ./conf /app/conf
ENV TZ Asia/Shanghai
ENV MODE_ENV prod
WORKDIR /app
COPY --from=builder /app/chain-dci-server .
EXPOSE 20117
CMD ["/app/chain-dci-server"]

@ -4,15 +4,18 @@ import (
dciConfig "chain-dci/config"
"chain-dci/internal/controller"
_ "chain-dci/internal/handler"
"chain-dci/pb/dci"
"chain-dci/pkg/app"
common "chain-dci/pkg/init"
"chain-dci/pkg/tracing"
"dubbo.apache.org/dubbo-go/v3/config"
_ "dubbo.apache.org/dubbo-go/v3/filter/tps/strategy"
_ "dubbo.apache.org/dubbo-go/v3/imports"
"fmt"
bccrClient "github.com/antchain-openapi-sdk-go/bccr/client"
"github.com/bwmarrin/snowflake"
"go.uber.org/zap"
"google.golang.org/grpc"
"net"
)
func NewApp(Lg *zap.Logger, JaegerTracer *tracing.JaegerProvider, BccrClient *bccrClient.Client, SfNode *snowflake.Node) *app.App {
@ -31,9 +34,20 @@ func main() {
if err != nil {
panic(err)
}
//注册服务
config.SetProviderService(&controller.DciProvider{})
common.Init()
l, err := net.Listen("tcp", ":8883")
if err != nil {
fmt.Printf("failed to listen: %v", err)
return
}
s := grpc.NewServer() // 创建gRPC服务器
dci.RegisterDciServer(s, &controller.DciProvider{}) // 在gRPC服务端注册服务
// 启动服务
err = s.Serve(l)
////注册服务
//config.SetProviderService(&controller.DciProvider{})
//common.Init()
if err = config.Load(); err != nil {
panic(err)
}

@ -14,7 +14,7 @@ antCloud:
Bccr:
access_key_id: "ACsK4CQqzj5rGSKf"
access_key_secret: "SJmH5eATWY26tJrVg8QyHaBGbLNCbj7y"
end_point: "https://openapi-sit.antchain.antgroup.com/gateway.do"
end_point: "openapi-sit.antchain.antgroup.com"
#aliYunRtc:
# appid: "aeztom27"
# app_key: "76c62466cbd77d7a3606660a15861d1e"
@ -30,7 +30,7 @@ zapLog:
max_backups: 30
snowflake:
node_num: 4
start_time: "2023-05-31"
start_time: "2023-11-27"
jaeger:
addr: "127.0.0.1:6831"
open: false

@ -1,34 +1,29 @@
system:
mode: dev #正式 prod #测试 test #开发 dev
config_source: configmap
# config_source: configmap
#oaMeeting:
# host: ${mysql.host|localhost}
# port: ${mysql.port|3306}
# user: ${mysql.user}
# password: ${mysql.password}
# db_name: ${oa-meeting.mysql.db_name}
#aliYunRtc:
# appid: ${aliyun-rtc.appid}
# app_key: ${aliyun-rtc.app_key}
Bccr:
access_key_id: "ACsK4CQqzj5rGSKf"
access_key_secret: "SJmH5eATWY26tJrVg8QyHaBGbLNCbj7y"
end_point: "openapi-sit.antchain.antgroup.com"
#redis:
# db: ${oa-meeting.redis.db}
# addr: ${redis.addr}
# password: ${redis.password}
zapLog:
level: "info"
filename: "logs/oa-meeting.log"
max_size: ${zap.max_size}
max_age: ${zap.max_age}
max_backups: ${zap.max_backups}
filename: "logs/chain-dci.log"
max_size: 5
max_age: 30
max_backups: 30
snowflake:
node_num: ${oa-meeting.snowflake.node_num}
start_time: "2023-05-31"
node_num: 4
start_time: "2023-11-27"
jaeger:
addr: ${jaeger.host}
open: ${oa-meeting.jaeger_open}
#rabbitmq:
# user: ${rabbitmq.user}
# password: ${rabbitmq.password}
# host: ${rabbitmq.host}
# port: ${rabbitmq.port}
# vhost: ${oa-meeting.rabbitmq.vhost}
addr: "127.0.0.1:6831"
open: false

@ -8,7 +8,7 @@ dubbo:
demoZK:
protocol: zookeeper
timeout: 10s
address: 172.16.100.93:2181
address: zookeeper:2181
protocols:
triple: #triple
name: tri

@ -0,0 +1,35 @@
system:
mode: prod #正式 prod #测试 test #开发 dev
# config_source: configmap
#oaMeeting:
# host: ${mysql.host|localhost}
# port: ${mysql.port|3306}
# user: ${mysql.user}
# password: ${mysql.password}
# db_name: ${oa-meeting.mysql.db_name}
Bccr:
access_key_id: "ACsK4CQqzj5rGSKf"
access_key_secret: "SJmH5eATWY26tJrVg8QyHaBGbLNCbj7y"
end_point: "openapi-sit.antchain.antgroup.com"
#redis:
# db: ${oa-meeting.redis.db}
# addr: ${redis.addr}
# password: ${redis.password}
zapLog:
level: "info"
filename: "logs/chain-dci.log"
max_size: 5
max_age: 30
max_backups: 30
snowflake:
node_num: 4
start_time: "2023-11-27"
jaeger:
addr: "127.0.0.1:6831"
open: false
#rabbitmq:
# user: ${rabbitmq.user}
# password: ${rabbitmq.password}
# host: ${rabbitmq.host}
# port: ${rabbitmq.port}
# vhost: ${oa-meeting.rabbitmq.vhost}

@ -0,0 +1,68 @@
dubbo:
metrics:
enable: true # default is true
path: /metrics # default is /metrics
port: 9092 # default is 9090
namespace: dubboDci # default is dubbo 作为数据上报 metrics 的前缀
registries:
demoZK:
protocol: zookeeper
timeout: 10s
address: 172.16.100.93:2181
protocols:
triple: #triple
name: tri
port: 20117
provider:
filter: tracing
services:
MeetingProvider:
interface: com.fontree.microservices.chain.dci
retries: 0
filter: tps,tracing
tps.limiter: method-service
tps.limit.strategy: fixedWindow
tps.limit.rejected.handler: DefaultValueHandler
tps.limit.interval: 1000 # 间隔时间
tps.limit.rate: 30 # 间隔时间内次数
warmup: 100 #预热时间
logger:
zap-config:
level: info # 日志级别
development: false
disableCaller: false
disableStacktrace: false
encoding: "json"
# zap encoder 配置
encoderConfig:
messageKey: "message"
levelKey: "level"
timeKey: "time"
nameKey: "logger"
callerKey: "caller"
stacktraceKey: "stacktrace"
lineEnding: ""
levelEncoder: "capitalColor"
timeEncoder: "iso8601"
durationEncoder: "seconds"
callerEncoder: "short"
nameEncoder: ""
EncodeTime: zapcore.TimeEncoderOfLayout("2006-01-02 15:04:05.000"),
EncodeDuration: zapcore.SecondsDurationEncoder,
outputPaths:
- "stderr"
errorOutputPaths:
- "stderr"
lumberjack-config:
# 写日志的文件名称
filename: "runtime/logs/chain-dci.log"
# 每个日志文件长度的最大大小,单位是 MiB。默认 100MiB
maxSize: 5
# 日志保留的最大天数(只保留最近多少天的日志)
maxAge: 30
# 只保留最近多少个日志文件,用于控制程序总日志的大小
maxBackups: 30
# 是否使用本地时间,默认使用 UTC 时间
localTime: true
# 是否压缩日志文件,压缩方法 gzip
compress: false

@ -5,6 +5,7 @@ import (
"chain-dci/pkg/app"
errCommon "chain-dci/pkg/err"
"chain-dci/pkg/msg"
"fmt"
bccrClient "github.com/antchain-openapi-sdk-go/bccr/client"
"github.com/jinzhu/copier"
"time"
@ -29,6 +30,9 @@ func (r *DciRegistration) CreateDciRegistration(req *dci.CreateDciRegistrationRe
createDciRegistrationRequest := new(bccrClient.CreateDciRegistrationRequest)
_ = copier.CopyWithOption(&createDciRegistrationRequest, req, copier.Option{DeepCopy: true})
fmt.Printf("req : %+v\n", req)
fmt.Println("======================================================= ============== ===========00")
fmt.Printf("createDciRegistrationRequest : %+v\n", createDciRegistrationRequest)
clientToken, err := createToken(time.Now().UnixMilli(), req.DciContentId, app.ModuleClients.SfNode.Generate().Base64())
if err != nil {

@ -7,6 +7,7 @@ import (
"chain-dci/pkg/msg"
"chain-dci/pkg/utils"
"encoding/base64"
"fmt"
"github.com/alibabacloud-go/tea/tea"
bccrClient "github.com/antchain-openapi-sdk-go/bccr/client"
"github.com/jinzhu/copier"
@ -51,8 +52,8 @@ func (f *File) Upload(req *dci.GetUploadUrlRequest) (res *dci.GetUploadUrlRespon
var fileName string
// 拆分 文件名 和 文件链接
fileArr := strings.Split(req.FileName, "/")
fileNameWithSuffix := strings.Split(fileArr[len(fileArr)-1], ".")
fileName = fileNameWithSuffix[0]
fileName = fileArr[len(fileArr)-1]
fmt.Println("no encode fileName is :", fileArr[len(fileArr)-1])
// 如果文件名包含 中文 则需要对 fileName 进行 utf-8 字符集进行 URL编码
for _, c := range fileName {
@ -62,25 +63,26 @@ func (f *File) Upload(req *dci.GetUploadUrlRequest) (res *dci.GetUploadUrlRespon
}
if isChinese {
getUploadUrlRequest.SetFileName(base64.URLEncoding.EncodeToString([]byte(fileName)))
} else {
getUploadUrlRequest.SetFileName(fileName)
fileName = base64.URLEncoding.EncodeToString([]byte(fileName))
}
getUploadUrlRequest.SetFileName(fileName)
clientToken, err := createToken(time.Now().UnixMilli(), fileName, app.ModuleClients.SfNode.Generate().Base64())
if err != nil {
return nil, errCommon.ReturnError(err, msg.ErrCreateClientToken, "创建clientToken 失败: ")
}
getUploadUrlRequest.SetClientToken(clientToken)
fmt.Println(clientToken)
fmt.Println(len(clientToken))
fmt.Println("encode fileName is :", fileName)
getUploadUrlResponse := GetUploadUrl(getUploadUrlRequest)
//res = serializer.UploadUrlResponseToRpc(getUploadUrlResponse)
res = new(dci.GetUploadUrlResponse)
_ = copier.CopyWithOption(&res, getUploadUrlResponse, copier.Option{DeepCopy: true})
if tea.ToString(getUploadUrlResponse.ResultCode) != "OK" {
return res, errCommon.ReturnError(err, err.Error(), "获取授权访问OSS链接 错误:")
}
//if tea.ToString(getUploadUrlResponse.ResultCode) != "OK" {
// return res, errCommon.ReturnError(err, err.Error(), "获取授权访问OSS链接 错误:")
//}
if tea.ToString(getUploadUrlResponse.Url) == "" || tea.ToString(getUploadUrlResponse.FileId) == "" {
return res, errCommon.ReturnError(err, err.Error(), "获取授权访问OSS链接 错误:")
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -131,9 +131,9 @@ message DciCreationInfo {
}
message DciPublicationInfo {
string creationNature = 1 [json_name = "creationNature",(validator.field) = {string_not_empty: true,human_error:"作品发表状态不能为空"}];
string creationCompletionDate = 2 [json_name = "creationCompletionDate",(validator.field) = {string_not_empty: true,human_error:"首次发表日期不能为空"}];
string creationCompletionCode = 3 [json_name = "creationCompletionCode",(validator.field) = {string_not_empty: true,human_error:"首次发表地点地区编码不能为空"}];
string publicationStatus = 1 [json_name = "publicationStatus",(validator.field) = {string_not_empty: true,human_error:"作品发表状态不能为空"}];
string firstPublicationDate = 2 [json_name = "firstPublicationDate",(validator.field) = {string_not_empty: true,human_error:"首次发表日期不能为空"}];
string firstPublicationCode = 3 [json_name = "firstPublicationCode",(validator.field) = {string_not_empty: true,human_error:"首次发表地点地区编码不能为空"}];
}
message DciRightInfo {

@ -942,9 +942,9 @@ type DciPublicationInfo struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CreationNature string `protobuf:"bytes,1,opt,name=creationNature,proto3" json:"creationNature,omitempty"`
CreationCompletionDate string `protobuf:"bytes,2,opt,name=creationCompletionDate,proto3" json:"creationCompletionDate,omitempty"`
CreationCompletionCode string `protobuf:"bytes,3,opt,name=creationCompletionCode,proto3" json:"creationCompletionCode,omitempty"`
PublicationStatus string `protobuf:"bytes,1,opt,name=publicationStatus,proto3" json:"publicationStatus,omitempty"`
FirstPublicationDate string `protobuf:"bytes,2,opt,name=firstPublicationDate,proto3" json:"firstPublicationDate,omitempty"`
FirstPublicationCode string `protobuf:"bytes,3,opt,name=firstPublicationCode,proto3" json:"firstPublicationCode,omitempty"`
}
func (x *DciPublicationInfo) Reset() {
@ -979,23 +979,23 @@ func (*DciPublicationInfo) Descriptor() ([]byte, []int) {
return file_pb_dci_proto_rawDescGZIP(), []int{10}
}
func (x *DciPublicationInfo) GetCreationNature() string {
func (x *DciPublicationInfo) GetPublicationStatus() string {
if x != nil {
return x.CreationNature
return x.PublicationStatus
}
return ""
}
func (x *DciPublicationInfo) GetCreationCompletionDate() string {
func (x *DciPublicationInfo) GetFirstPublicationDate() string {
if x != nil {
return x.CreationCompletionDate
return x.FirstPublicationDate
}
return ""
}
func (x *DciPublicationInfo) GetCreationCompletionCode() string {
func (x *DciPublicationInfo) GetFirstPublicationCode() string {
if x != nil {
return x.CreationCompletionCode
return x.FirstPublicationCode
}
return ""
}
@ -2939,377 +2939,350 @@ var file_pb_dci_proto_rawDesc = []byte{
0xe7, 0x82, 0xb9, 0xe5, 0x9c, 0xb0, 0xe5, 0x8c, 0xba, 0xe7, 0xbc, 0x96, 0xe7, 0xa0, 0x81, 0xe4,
0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x16, 0x63,
0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f,
0x6e, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xb0, 0x02, 0x0a, 0x12, 0x44, 0x63, 0x69, 0x50, 0x75, 0x62,
0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4e, 0x0a, 0x0e,
0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe2, 0xdf, 0x1f, 0x22, 0x2a, 0x1e, 0xe4, 0xbd, 0x9c, 0xe5,
0x93, 0x81, 0xe5, 0x8f, 0x91, 0xe8, 0xa1, 0xa8, 0xe7, 0x8a, 0xb6, 0xe6, 0x80, 0x81, 0xe4, 0xb8,
0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0e, 0x63, 0x72,
0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x5e, 0x0a, 0x16,
0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69,
0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe2, 0xdf,
0x1f, 0x22, 0x2a, 0x1e, 0xe9, 0xa6, 0x96, 0xe6, 0xac, 0xa1, 0xe5, 0x8f, 0x91, 0xe8, 0xa1, 0xa8,
0xe6, 0x97, 0xa5, 0xe6, 0x9c, 0x9f, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7,
0xa9, 0xba, 0x58, 0x01, 0x52, 0x16, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f,
0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x6a, 0x0a, 0x16,
0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69,
0x6e, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xae, 0x02, 0x0a, 0x12, 0x44, 0x63, 0x69, 0x50, 0x75, 0x62,
0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x54, 0x0a, 0x11,
0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75,
0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe2, 0xdf, 0x1f, 0x22, 0x2a, 0x1e, 0xe4,
0xbd, 0x9c, 0xe5, 0x93, 0x81, 0xe5, 0x8f, 0x91, 0xe8, 0xa1, 0xa8, 0xe7, 0x8a, 0xb6, 0xe6, 0x80,
0x81, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52,
0x11, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74,
0x75, 0x73, 0x12, 0x5a, 0x0a, 0x14, 0x66, 0x69, 0x72, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x42, 0x26, 0xe2, 0xdf, 0x1f, 0x22, 0x2a, 0x1e, 0xe9, 0xa6, 0x96, 0xe6, 0xac, 0xa1, 0xe5, 0x8f,
0x91, 0xe8, 0xa1, 0xa8, 0xe6, 0x97, 0xa5, 0xe6, 0x9c, 0x9f, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd,
0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x14, 0x66, 0x69, 0x72, 0x73, 0x74, 0x50,
0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x66,
0x0a, 0x14, 0x66, 0x69, 0x72, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe2, 0xdf,
0x1f, 0x2e, 0x2a, 0x2a, 0xe9, 0xa6, 0x96, 0xe6, 0xac, 0xa1, 0xe5, 0x8f, 0x91, 0xe8, 0xa1, 0xa8,
0xe5, 0x9c, 0xb0, 0xe7, 0x82, 0xb9, 0xe5, 0x9c, 0xb0, 0xe5, 0x8c, 0xba, 0xe7, 0xbc, 0x96, 0xe7,
0xa0, 0x81, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01,
0x52, 0x16, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65,
0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xf2, 0x01, 0x0a, 0x0c, 0x44, 0x63, 0x69,
0x52, 0x69, 0x67, 0x68, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x46, 0x0a, 0x0a, 0x72, 0x69, 0x67,
0x68, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe2,
0xdf, 0x1f, 0x22, 0x2a, 0x1e, 0xe4, 0xbd, 0x9c, 0xe5, 0x93, 0x81, 0xe6, 0x9d, 0x83, 0xe5, 0x88,
0xa9, 0xe8, 0x8c, 0x83, 0xe5, 0x9b, 0xb4, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba,
0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0a, 0x72, 0x69, 0x67, 0x68, 0x74, 0x53, 0x63, 0x6f, 0x70,
0x65, 0x12, 0x4e, 0x0a, 0x0e, 0x72, 0x69, 0x67, 0x68, 0x74, 0x4f, 0x62, 0x74, 0x61, 0x69, 0x6e,
0x57, 0x61, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe2, 0xdf, 0x1f, 0x22, 0x2a,
0x1e, 0xe6, 0x9d, 0x83, 0xe5, 0x88, 0xa9, 0xe5, 0x8f, 0x96, 0xe5, 0xbe, 0x97, 0xe6, 0x96, 0xb9,
0xe5, 0xbc, 0x8f, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58,
0x01, 0x52, 0x0e, 0x72, 0x69, 0x67, 0x68, 0x74, 0x4f, 0x62, 0x74, 0x61, 0x69, 0x6e, 0x57, 0x61,
0x79, 0x12, 0x4a, 0x0a, 0x0c, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x57, 0x61,
0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe2, 0xdf, 0x1f, 0x22, 0x2a, 0x1e, 0xe6,
0x9d, 0x83, 0xe5, 0x88, 0xa9, 0xe5, 0xbd, 0x92, 0xe5, 0xb1, 0x9e, 0xe6, 0x96, 0xb9, 0xe5, 0xbc,
0x52, 0x14, 0x66, 0x69, 0x72, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xf2, 0x01, 0x0a, 0x0c, 0x44, 0x63, 0x69, 0x52, 0x69,
0x67, 0x68, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x46, 0x0a, 0x0a, 0x72, 0x69, 0x67, 0x68, 0x74,
0x53, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe2, 0xdf, 0x1f,
0x22, 0x2a, 0x1e, 0xe4, 0xbd, 0x9c, 0xe5, 0x93, 0x81, 0xe6, 0x9d, 0x83, 0xe5, 0x88, 0xa9, 0xe8,
0x8c, 0x83, 0xe5, 0x9b, 0xb4, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9,
0xba, 0x58, 0x01, 0x52, 0x0a, 0x72, 0x69, 0x67, 0x68, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12,
0x4e, 0x0a, 0x0e, 0x72, 0x69, 0x67, 0x68, 0x74, 0x4f, 0x62, 0x74, 0x61, 0x69, 0x6e, 0x57, 0x61,
0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe2, 0xdf, 0x1f, 0x22, 0x2a, 0x1e, 0xe6,
0x9d, 0x83, 0xe5, 0x88, 0xa9, 0xe5, 0x8f, 0x96, 0xe5, 0xbe, 0x97, 0xe6, 0x96, 0xb9, 0xe5, 0xbc,
0x8f, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52,
0x0c, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x57, 0x61, 0x79, 0x22, 0xa0, 0x01,
0x0a, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x63, 0x69, 0x50, 0x72, 0x65, 0x72, 0x65,
0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x6e,
0x74, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x4d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x49, 0x64,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x49, 0x64,
0x22, 0x65, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x63, 0x69, 0x50, 0x72, 0x65, 0x72,
0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x43, 0x0a, 0x0c, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xe2, 0xdf, 0x1f, 0x1b, 0x2a, 0x17,
0x44, 0x43, 0x49, 0xe5, 0x86, 0x85, 0xe5, 0xae, 0xb9, 0x49, 0x44, 0xe4, 0xb8, 0x8d, 0xe8, 0x83,
0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0c, 0x64, 0x63, 0x69, 0x43, 0x6f,
0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xa5, 0x07, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72,
0x79, 0x44, 0x63, 0x69, 0x50, 0x72, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 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, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12,
0x26, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x54, 0x78, 0x48, 0x61, 0x73,
0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73,
0x68, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x30, 0x0a, 0x13, 0x66, 0x69, 0x6c, 0x65, 0x48,
0x61, 0x73, 0x68, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04,
0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x42, 0x6c,
0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x63, 0x69,
0x43, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x63, 0x69, 0x43,
0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x64, 0x65, 0x54, 0x78,
0x48, 0x61, 0x73, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x63, 0x69, 0x43,
0x6f, 0x64, 0x65, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2e, 0x0a, 0x12, 0x64, 0x63, 0x69,
0x43, 0x6f, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18,
0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x6c,
0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x63, 0x69,
0x43, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x18, 0x08,
0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6c,
0x65, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x36, 0x0a, 0x16, 0x64, 0x63, 0x69, 0x43, 0x6f,
0x64, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68,
0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x64, 0x65,
0x46, 0x69, 0x6c, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12,
0x2a, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x52, 0x65, 0x67, 0x43, 0x65, 0x72, 0x74, 0x54, 0x78, 0x48,
0x61, 0x73, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x72, 0x65, 0x52, 0x65,
0x67, 0x43, 0x65, 0x72, 0x74, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x34, 0x0a, 0x15, 0x70,
0x72, 0x65, 0x52, 0x65, 0x67, 0x43, 0x65, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65,
0x69, 0x67, 0x68, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x72, 0x65, 0x52,
0x65, 0x67, 0x43, 0x65, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68,
0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x64, 0x65, 0x54, 0x73, 0x72, 0x18,
0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x64, 0x65, 0x54, 0x73,
0x72, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x65,
0x54, 0x73, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x63, 0x69, 0x43, 0x6f,
0x64, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x73, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x72, 0x65,
0x52, 0x65, 0x67, 0x43, 0x65, 0x72, 0x74, 0x54, 0x73, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0d, 0x70, 0x72, 0x65, 0x52, 0x65, 0x67, 0x43, 0x65, 0x72, 0x74, 0x54, 0x73, 0x72, 0x12,
0x2e, 0x0a, 0x12, 0x70, 0x72, 0x65, 0x52, 0x65, 0x67, 0x43, 0x65, 0x72, 0x74, 0x46, 0x69, 0x6c,
0x65, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x65,
0x52, 0x65, 0x67, 0x43, 0x65, 0x72, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12,
0x24, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x52, 0x65, 0x67, 0x43, 0x65, 0x72, 0x74, 0x55, 0x72, 0x6c,
0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x52, 0x65, 0x67, 0x43, 0x65,
0x72, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x4f, 0x62,
0x74, 0x61, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f,
0x61, 0x70, 0x70, 0x6c, 0x79, 0x4f, 0x62, 0x74, 0x61, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12,
0x2c, 0x0a, 0x11, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x64, 0x65, 0x4f, 0x62, 0x74, 0x61, 0x69, 0x6e,
0x44, 0x61, 0x74, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x63, 0x69, 0x43,
0x6f, 0x64, 0x65, 0x4f, 0x62, 0x74, 0x61, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a,
0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12,
0x24, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x43, 0x6e,
0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x61,
0x73, 0x6f, 0x6e, 0x43, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43,
0x6f, 0x64, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d,
0x73, 0x67, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x18,
0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x22,
0xb3, 0x03, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x63, 0x69, 0x52, 0x65, 0x67,
0x0e, 0x72, 0x69, 0x67, 0x68, 0x74, 0x4f, 0x62, 0x74, 0x61, 0x69, 0x6e, 0x57, 0x61, 0x79, 0x12,
0x4a, 0x0a, 0x0c, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x57, 0x61, 0x79, 0x18,
0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe2, 0xdf, 0x1f, 0x22, 0x2a, 0x1e, 0xe6, 0x9d, 0x83,
0xe5, 0x88, 0xa9, 0xe5, 0xbd, 0x92, 0xe5, 0xb1, 0x9e, 0xe6, 0x96, 0xb9, 0xe5, 0xbc, 0x8f, 0xe4,
0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0c, 0x6f,
0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x57, 0x61, 0x79, 0x22, 0xa0, 0x01, 0x0a, 0x20,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x63, 0x69, 0x50, 0x72, 0x65, 0x72, 0x65, 0x67, 0x69,
0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x22, 0x0a, 0x0c, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x6e, 0x74, 0x65,
0x6e, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f,
0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d, 0x73,
0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d,
0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x18, 0x04,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x22, 0x65,
0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x63, 0x69, 0x50, 0x72, 0x65, 0x72, 0x65, 0x67,
0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x43, 0x0a, 0x0c, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xe2, 0xdf, 0x1f, 0x1b, 0x2a, 0x17, 0x44, 0x43,
0x49, 0xe7, 0x94, 0xb3, 0xe9, 0xa2, 0x86, 0x49, 0x44, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4,
0x49, 0xe5, 0x86, 0x85, 0xe5, 0xae, 0xb9, 0x49, 0x44, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4,
0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0c, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x6e, 0x74,
0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x69, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
0x2e, 0x64, 0x63, 0x69, 0x2e, 0x44, 0x63, 0x69, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x26, 0xe2, 0xdf, 0x1f, 0x22, 0x2a, 0x1e, 0xe4,
0xbd, 0x9c, 0xe5, 0x93, 0x81, 0xe5, 0x88, 0x9b, 0xe4, 0xbd, 0x9c, 0xe8, 0xaf, 0xb4, 0xe6, 0x98,
0x8e, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52,
0x0f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
0x12, 0x54, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x49, 0x6e, 0x76, 0x6f,
0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x20, 0xe2, 0xdf, 0x1f, 0x1c, 0x2a, 0x18, 0xe5,
0x8f, 0x91, 0xe7, 0xa5, 0xa8, 0xe4, 0xbf, 0xa1, 0xe6, 0x81, 0xaf, 0xe4, 0xb8, 0x8d, 0xe8, 0x83,
0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x6f, 0x69,
0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x47, 0x0a, 0x12, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69,
0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f,
0x6e, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x61, 0x64, 0x64,
0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12,
0x44, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05,
0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe2, 0xdf, 0x1f, 0x1e, 0x2a, 0x1a, 0xe5, 0xae, 0xa2, 0xe6,
0x88, 0xb7, 0xe7, 0xab, 0xaf, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd,
0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xc2, 0x02, 0x0a, 0x12, 0x44, 0x63, 0x69, 0x45, 0x78, 0x70,
0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4c, 0x0a, 0x0f,
0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe2, 0xdf, 0x1f, 0x1e, 0x2a, 0x18, 0xe5, 0x88, 0x9b,
0xe4, 0xbd, 0x9c, 0xe7, 0x9b, 0xae, 0xe7, 0x9a, 0x84, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4,
0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x78, 0x33, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x50, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x0f, 0x63, 0x72,
0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20,
0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xa5, 0x07, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44,
0x63, 0x69, 0x50, 0x72, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 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, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x26, 0x0a,
0x0e, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x18,
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x54,
0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x30, 0x0a, 0x13, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73,
0x68, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01,
0x28, 0x09, 0x52, 0x13, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x42, 0x6c, 0x6f, 0x63,
0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x63, 0x69, 0x43, 0x6f,
0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x64,
0x65, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x64, 0x65, 0x54, 0x78, 0x48, 0x61,
0x73, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x64,
0x65, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2e, 0x0a, 0x12, 0x64, 0x63, 0x69, 0x43, 0x6f,
0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x07, 0x20,
0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63,
0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x63, 0x69, 0x43, 0x6f,
0x64, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x18, 0x08, 0x20, 0x01,
0x28, 0x09, 0x52, 0x11, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x54,
0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x36, 0x0a, 0x16, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x64, 0x65,
0x46, 0x69, 0x6c, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18,
0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x64, 0x65, 0x46, 0x69,
0x6c, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2a, 0x0a,
0x10, 0x70, 0x72, 0x65, 0x52, 0x65, 0x67, 0x43, 0x65, 0x72, 0x74, 0x54, 0x78, 0x48, 0x61, 0x73,
0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x72, 0x65, 0x52, 0x65, 0x67, 0x43,
0x65, 0x72, 0x74, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x34, 0x0a, 0x15, 0x70, 0x72, 0x65,
0x52, 0x65, 0x67, 0x43, 0x65, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67,
0x68, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x72, 0x65, 0x52, 0x65, 0x67,
0x43, 0x65, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12,
0x1e, 0x0a, 0x0a, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x64, 0x65, 0x54, 0x73, 0x72, 0x18, 0x0c, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x64, 0x65, 0x54, 0x73, 0x72, 0x12,
0x26, 0x0a, 0x0e, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x73,
0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x64, 0x65,
0x46, 0x69, 0x6c, 0x65, 0x54, 0x73, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x52, 0x65,
0x67, 0x43, 0x65, 0x72, 0x74, 0x54, 0x73, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
0x70, 0x72, 0x65, 0x52, 0x65, 0x67, 0x43, 0x65, 0x72, 0x74, 0x54, 0x73, 0x72, 0x12, 0x2e, 0x0a,
0x12, 0x70, 0x72, 0x65, 0x52, 0x65, 0x67, 0x43, 0x65, 0x72, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x48,
0x61, 0x73, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x65, 0x52, 0x65,
0x67, 0x43, 0x65, 0x72, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a,
0x0d, 0x70, 0x72, 0x65, 0x52, 0x65, 0x67, 0x43, 0x65, 0x72, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x10,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x52, 0x65, 0x67, 0x43, 0x65, 0x72, 0x74,
0x55, 0x72, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x4f, 0x62, 0x74, 0x61,
0x69, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x70,
0x70, 0x6c, 0x79, 0x4f, 0x62, 0x74, 0x61, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a,
0x11, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x64, 0x65, 0x4f, 0x62, 0x74, 0x61, 0x69, 0x6e, 0x44, 0x61,
0x74, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x64,
0x65, 0x4f, 0x62, 0x74, 0x61, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x65,
0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x24, 0x0a,
0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x43, 0x6e, 0x18, 0x14,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x61, 0x73, 0x6f,
0x6e, 0x43, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64,
0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43,
0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d, 0x73, 0x67,
0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d, 0x73,
0x67, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x18, 0x17, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x22, 0xb3, 0x03,
0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73,
0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43,
0x0a, 0x0c, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xe2, 0xdf, 0x1f, 0x1b, 0x2a, 0x17, 0x44, 0x43, 0x49, 0xe7,
0x94, 0xb3, 0xe9, 0xa2, 0x86, 0x49, 0x44, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba,
0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0c, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
0x74, 0x49, 0x64, 0x12, 0x69, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64,
0x63, 0x69, 0x2e, 0x44, 0x63, 0x69, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x26, 0xe2, 0xdf, 0x1f, 0x22, 0x2a, 0x1e, 0xe4, 0xbd, 0x9c,
0xe5, 0x93, 0x81, 0xe5, 0x88, 0x9b, 0xe4, 0xbd, 0x9c, 0xe8, 0xaf, 0xb4, 0xe6, 0x98, 0x8e, 0xe4,
0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0f, 0x65,
0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x54,
0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63,
0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x20, 0xe2, 0xdf, 0x1f, 0x1c, 0x2a, 0x18, 0xe5, 0x8f, 0x91,
0xe7, 0xa5, 0xa8, 0xe4, 0xbf, 0xa1, 0xe6, 0x81, 0xaf, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4,
0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65,
0x49, 0x6e, 0x66, 0x6f, 0x12, 0x47, 0x0a, 0x12, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x17, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61,
0x6c, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x61, 0x64, 0x64, 0x69, 0x74,
0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x44, 0x0a,
0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01,
0x28, 0x09, 0x42, 0x22, 0xe2, 0xdf, 0x1f, 0x1e, 0x2a, 0x1a, 0xe5, 0xae, 0xa2, 0xe6, 0x88, 0xb7,
0xe7, 0xab, 0xaf, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8,
0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f,
0x6b, 0x65, 0x6e, 0x22, 0xc2, 0x02, 0x0a, 0x12, 0x44, 0x63, 0x69, 0x45, 0x78, 0x70, 0x6c, 0x61,
0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4c, 0x0a, 0x0f, 0x63, 0x72,
0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x42, 0x22, 0xe2, 0xdf, 0x1f, 0x1e, 0x2a, 0x18, 0xe5, 0x88, 0x9b, 0xe4, 0xbd,
0x9c, 0xe8, 0xbf, 0x87, 0xe7, 0xa8, 0x8b, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba,
0xe7, 0xa9, 0xba, 0x58, 0x01, 0x78, 0x56, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x12, 0x48, 0x0a, 0x0b, 0x6f, 0x72, 0x69, 0x67,
0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe2,
0xdf, 0x1f, 0x22, 0x2a, 0x1b, 0xe7, 0x8b, 0xac, 0xe5, 0x88, 0x9b, 0xe6, 0x80, 0xa7, 0xe8, 0xaf,
0xb4, 0xe6, 0x98, 0x8e, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba,
0x58, 0x01, 0x78, 0x8d, 0x01, 0x52, 0x0b, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x69,
0x74, 0x79, 0x12, 0x46, 0x0a, 0x0d, 0x66, 0x6f, 0x6e, 0x74, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69,
0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xe2, 0xdf, 0x1f, 0x1c, 0x2a,
0x18, 0xe5, 0xad, 0x97, 0xe4, 0xbd, 0x93, 0xe5, 0xa3, 0xb0, 0xe6, 0x98, 0x8e, 0xe4, 0xb8, 0x8d,
0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0d, 0x66, 0x6f, 0x6e,
0x74, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x22, 0x89, 0x03, 0x0a, 0x0b, 0x49,
0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x42, 0x0a, 0x0b, 0x69, 0x6e,
0x76, 0x6f, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
0x20, 0xe2, 0xdf, 0x1f, 0x1c, 0x2a, 0x18, 0xe5, 0x8f, 0x91, 0xe7, 0xa5, 0xa8, 0xe7, 0xb1, 0xbb,
0xe5, 0x9e, 0x8b, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58,
0x01, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x46,
0x0a, 0x0d, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xe2, 0xdf, 0x1f, 0x1c, 0x2a, 0x18, 0xe5, 0x8f, 0x91,
0xe7, 0xa5, 0xa8, 0xe6, 0x8a, 0xac, 0xe5, 0xa4, 0xb4, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4,
0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0d, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65,
0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x61, 0x78, 0x70, 0x61, 0x79,
0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e,
0x74, 0x61, 0x78, 0x70, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2c,
0x0a, 0x11, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72,
0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x72, 0x65, 0x67, 0x69, 0x73,
0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x24, 0x0a, 0x0d,
0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x54, 0x65, 0x6c, 0x18, 0x05, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x54,
0x65, 0x6c, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x54, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x70, 0x65, 0x6e,
0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x65, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x70,
0x65, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6e, 0x6b, 0x18, 0x07, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0f, 0x6f, 0x70, 0x65, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x42, 0x61, 0x6e, 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x61, 0x6e, 0x6b, 0x41,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x82, 0x02, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x69, 0x74,
0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a,
0x14, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x46,
0x69, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x63, 0x6f, 0x6e,
0x74, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x49,
0x64, 0x12, 0x2a, 0x0a, 0x10, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x46, 0x69,
0x6c, 0x65, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x77, 0x6e,
0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x12, 0x2e, 0x0a,
0x12, 0x70, 0x6f, 0x72, 0x74, 0x72, 0x61, 0x69, 0x74, 0x41, 0x75, 0x74, 0x68, 0x46, 0x69, 0x6c,
0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x6f, 0x72, 0x74, 0x72,
0x61, 0x69, 0x74, 0x41, 0x75, 0x74, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x32, 0x0a,
0x14, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x73, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x75, 0x74, 0x68, 0x46,
0x69, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x6f, 0x74, 0x68,
0x65, 0x72, 0x73, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x75, 0x74, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x49,
0x64, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64,
0x4c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x6f, 0x74, 0x68, 0x65,
0x72, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xa7, 0x01, 0x0a, 0x1d,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a,
0x11, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61,
0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x72,
0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72,
0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71,
0x4d, 0x73, 0x67, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x71,
0x4d, 0x73, 0x67, 0x49, 0x64, 0x22, 0x6f, 0x0a, 0x1b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x63,
0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52,
0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x11, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x6e,
0x74, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xf8, 0x04, 0x0a, 0x1c, 0x51, 0x75, 0x65, 0x72, 0x79,
0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x4e, 0x75,
0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x67, 0x4e,
0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c,
0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x11, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65,
0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x63, 0x69, 0x43, 0x6f,
0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x15, 0x64, 0x69, 0x67, 0x69, 0x74,
0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52,
0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3a, 0x0a,
0x18, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
0x41, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
0x18, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
0x41, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x1d, 0x64, 0x69, 0x67,
0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70,
0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
0x52, 0x1d, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65,
0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12,
0x2c, 0x0a, 0x11, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73,
0x4c, 0x65, 0x66, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x64, 0x6f, 0x77, 0x6e,
0x6c, 0x6f, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x4c, 0x65, 0x66, 0x74, 0x12, 0x26, 0x0a,
0x0e, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x18,
0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x55, 0x72,
0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x61, 0x69, 0x6c, 0x44, 0x65, 0x74,
0x61, 0x69, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x61, 0x69, 0x6c, 0x44,
0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x6d, 0x65, 0x6e, 0x64, 0x54, 0x79,
0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x6d, 0x65, 0x6e, 0x64, 0x54,
0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x46, 0x6f, 0x72, 0x6d,
0x55, 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x79,
0x46, 0x6f, 0x72, 0x6d, 0x55, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x6c, 0x6f, 0x77, 0x4e,
0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x6c, 0x6f,
0x77, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73,
0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x4d, 0x73, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x49,
0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x49,
0x64, 0x22, 0xad, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x44, 0x63, 0x69, 0x50, 0x61, 0x79, 0x55,
0x72, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x11, 0x64, 0x69, 0x67,
0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe2, 0xdf, 0x1f, 0x1e, 0x2a, 0x1a, 0xe6, 0x95, 0xb0, 0xe7,
0x99, 0xbb, 0xe7, 0x94, 0xb3, 0xe8, 0xaf, 0xb7, 0x49, 0x44, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd,
0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x11, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61,
0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0b, 0x63,
0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x42, 0x22, 0xe2, 0xdf, 0x1f, 0x1e, 0x2a, 0x1a, 0xe5, 0xae, 0xa2, 0xe6, 0x88, 0xb7, 0xe7, 0xab,
0xaf, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7,
0xa9, 0xba, 0x58, 0x01, 0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65,
0x6e, 0x22, 0x88, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x63, 0x69, 0x50, 0x61, 0x79, 0x55,
0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61,
0x79, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x79, 0x55,
0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65,
0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f,
0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d, 0x73, 0x67, 0x18,
0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d, 0x73, 0x67,
0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x18, 0x0f, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x22, 0x66, 0x0a, 0x12,
0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x63, 0x69, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x50, 0x0a, 0x11, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67,
0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe2,
0xdf, 0x1f, 0x1e, 0x2a, 0x1a, 0xe6, 0x95, 0xb0, 0xe7, 0x99, 0xbb, 0xe7, 0x94, 0xb3, 0xe8, 0xaf,
0xb7, 0x49, 0x44, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58,
0x01, 0x52, 0x11, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74,
0x65, 0x72, 0x49, 0x64, 0x22, 0x8d, 0x01, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x63,
0x69, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09,
0x70, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52,
0x09, 0x70, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72,
0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x4d,
0x73, 0x67, 0x49, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x71, 0x4d,
0x73, 0x67, 0x49, 0x64, 0x22, 0xb7, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x44, 0x63, 0x69, 0x52,
0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x11, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61,
0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x42, 0x22, 0xe2, 0xdf, 0x1f, 0x1e, 0x2a, 0x1a, 0xe6, 0x95, 0xb0, 0xe7, 0x99, 0xbb, 0xe7,
0x94, 0xb3, 0xe8, 0xaf, 0xb7, 0x49, 0x44, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba,
0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x11, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65,
0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65,
0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe2,
0xdf, 0x1f, 0x1e, 0x2a, 0x1a, 0xe5, 0xae, 0xa2, 0xe6, 0x88, 0xb7, 0xe7, 0xab, 0xaf, 0x74, 0x6f,
0x6b, 0x65, 0x6e, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58,
0x01, 0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa0,
0x02, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x34, 0x0a, 0x15, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69,
0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x15, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65,
0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c,
0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f,
0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x6f, 0x77,
0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x4c, 0x65, 0x66, 0x74, 0x18, 0x03,
0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x69,
0x6d, 0x65, 0x73, 0x4c, 0x65, 0x66, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x61, 0x69, 0x6c, 0x44,
0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x61, 0x69,
0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73,
0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x4d, 0x73, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x49,
0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x49,
0x64, 0x22, 0xe5, 0x02, 0x0a, 0x1b, 0x52, 0x65, 0x74, 0x72, 0x79, 0x44, 0x63, 0x69, 0x52, 0x65,
0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x50, 0x0a, 0x11, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69,
0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe2, 0xdf,
0x1f, 0x1e, 0x2a, 0x1a, 0xe6, 0x95, 0xb0, 0xe7, 0x99, 0xbb, 0xe7, 0x94, 0xb3, 0xe8, 0xaf, 0xb7,
0x49, 0x44, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01,
0x52, 0x11, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65,
0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x63, 0x69, 0x43, 0x6f,
0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x6c, 0x61,
0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x17, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x44, 0x63, 0x69, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x6c, 0x61,
0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x47, 0x0a, 0x12, 0x61, 0x64,
0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x41, 0x64, 0x64,
0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x12, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x49,
0x6e, 0x66, 0x6f, 0x12, 0x44, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b,
0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe2, 0xdf, 0x1f, 0x1e, 0x2a, 0x1a,
0xe5, 0xae, 0xa2, 0xe6, 0x88, 0xb7, 0xe7, 0xab, 0xaf, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0xe4, 0xb8,
0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0b, 0x63, 0x6c,
0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x78, 0x0a, 0x1c, 0x52, 0x65, 0x74,
0x72, 0x79, 0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73,
0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72,
0x9c, 0xe7, 0x9b, 0xae, 0xe7, 0x9a, 0x84, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba,
0xe7, 0xa9, 0xba, 0x58, 0x01, 0x78, 0x33, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x50, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x42, 0x22, 0xe2, 0xdf, 0x1f, 0x1e, 0x2a, 0x18, 0xe5, 0x88, 0x9b, 0xe4, 0xbd, 0x9c, 0xe8,
0xbf, 0x87, 0xe7, 0xa8, 0x8b, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9,
0xba, 0x58, 0x01, 0x78, 0x56, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50,
0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x12, 0x48, 0x0a, 0x0b, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e,
0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe2, 0xdf, 0x1f,
0x22, 0x2a, 0x1b, 0xe7, 0x8b, 0xac, 0xe5, 0x88, 0x9b, 0xe6, 0x80, 0xa7, 0xe8, 0xaf, 0xb4, 0xe6,
0x98, 0x8e, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01,
0x78, 0x8d, 0x01, 0x52, 0x0b, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79,
0x12, 0x46, 0x0a, 0x0d, 0x66, 0x6f, 0x6e, 0x74, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68,
0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xe2, 0xdf, 0x1f, 0x1c, 0x2a, 0x18, 0xe5,
0xad, 0x97, 0xe4, 0xbd, 0x93, 0xe5, 0xa3, 0xb0, 0xe6, 0x98, 0x8e, 0xe4, 0xb8, 0x8d, 0xe8, 0x83,
0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0d, 0x66, 0x6f, 0x6e, 0x74, 0x43,
0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x22, 0x89, 0x03, 0x0a, 0x0b, 0x49, 0x6e, 0x76,
0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x42, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x6f,
0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xe2,
0xdf, 0x1f, 0x1c, 0x2a, 0x18, 0xe5, 0x8f, 0x91, 0xe7, 0xa5, 0xa8, 0xe7, 0xb1, 0xbb, 0xe5, 0x9e,
0x8b, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52,
0x0b, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x46, 0x0a, 0x0d,
0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x42, 0x20, 0xe2, 0xdf, 0x1f, 0x1c, 0x2a, 0x18, 0xe5, 0x8f, 0x91, 0xe7, 0xa5,
0xa8, 0xe6, 0x8a, 0xac, 0xe5, 0xa4, 0xb4, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba,
0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0d, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x48, 0x65,
0x61, 0x64, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x61, 0x78, 0x70, 0x61, 0x79, 0x65, 0x72,
0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61,
0x78, 0x70, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x11,
0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65,
0x72, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65,
0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x54, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x54, 0x65, 0x6c,
0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54,
0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x70, 0x65, 0x6e, 0x41, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x65, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x70, 0x65, 0x6e,
0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6e, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0f, 0x6f, 0x70, 0x65, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61,
0x6e, 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x22, 0x82, 0x02, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f,
0x6e, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x14, 0x63,
0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x46, 0x69, 0x6c,
0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x65,
0x6e, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12,
0x2a, 0x0a, 0x10, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x46, 0x69, 0x6c, 0x65,
0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x77, 0x6e, 0x65, 0x72,
0x73, 0x68, 0x69, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x70,
0x6f, 0x72, 0x74, 0x72, 0x61, 0x69, 0x74, 0x41, 0x75, 0x74, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x49,
0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x6f, 0x72, 0x74, 0x72, 0x61, 0x69,
0x74, 0x41, 0x75, 0x74, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x14, 0x6f,
0x74, 0x68, 0x65, 0x72, 0x73, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x75, 0x74, 0x68, 0x46, 0x69, 0x6c,
0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x6f, 0x74, 0x68, 0x65, 0x72,
0x73, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x75, 0x74, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12,
0x28, 0x0a, 0x0f, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x4c, 0x69,
0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x46,
0x69, 0x6c, 0x65, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xa7, 0x01, 0x0a, 0x1d, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x64,
0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52,
0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73,
0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72,
0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x73,
0x75, 0x6c, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65,
0x75, 0x6c, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73,
0x67, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73,
0x67, 0x49, 0x64, 0x22, 0xb1, 0x02, 0x0a, 0x1b, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x44, 0x63, 0x69,
0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x11, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65,
0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22,
0xe2, 0xdf, 0x1f, 0x1e, 0x2a, 0x1a, 0xe6, 0x95, 0xb0, 0xe7, 0x99, 0xbb, 0xe7, 0x94, 0xb3, 0xe8,
0xaf, 0xb7, 0x49, 0x44, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba,
0x58, 0x01, 0x52, 0x11, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73,
0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x42, 0x25, 0xe2, 0xdf, 0x1f, 0x21, 0x2a, 0x1b, 0xe9, 0x80, 0x80, 0xe8, 0xb4,
0xb9, 0xe4, 0xba, 0xba, 0xe5, 0x90, 0x8d, 0xe7, 0xa7, 0xb0, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd,
0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x78, 0x29, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x12, 0x3f, 0x0a, 0x08, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x4e, 0x6f, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x42, 0x23, 0xe2, 0xdf, 0x1f, 0x1f, 0x2a, 0x1b, 0xe8, 0x81, 0x94, 0xe7, 0xb3, 0xbb,
0xe6, 0x89, 0x8b, 0xe6, 0x9c, 0xba, 0xe5, 0x8f, 0xb7, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4,
0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x08, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x4e,
0x67, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73,
0x67, 0x49, 0x64, 0x22, 0x6f, 0x0a, 0x1b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x63, 0x69, 0x52,
0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67,
0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64,
0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
0x12, 0x22, 0x0a, 0x0c, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x6e, 0x74, 0x65,
0x6e, 0x74, 0x49, 0x64, 0x22, 0xf8, 0x04, 0x0a, 0x1c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x63,
0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x4e, 0x75, 0x6d, 0x62,
0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x67, 0x4e, 0x75, 0x6d,
0x62, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65,
0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11,
0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49,
0x64, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49,
0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x6e, 0x74,
0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x15, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c,
0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04,
0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67,
0x69, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3a, 0x0a, 0x18, 0x64,
0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x70,
0x70, 0x6c, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x64,
0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x70,
0x70, 0x6c, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x1d, 0x64, 0x69, 0x67, 0x69, 0x74,
0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65,
0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1d,
0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43,
0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2c, 0x0a,
0x11, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x4c, 0x65,
0x66, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f,
0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x4c, 0x65, 0x66, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x69,
0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20,
0x03, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x4c,
0x69, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x61, 0x69, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69,
0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x61, 0x69, 0x6c, 0x44, 0x65, 0x74,
0x61, 0x69, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x6d, 0x65, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65,
0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x6d, 0x65, 0x6e, 0x64, 0x54, 0x79, 0x70,
0x65, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x55, 0x72,
0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x46, 0x6f,
0x72, 0x6d, 0x55, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x6c, 0x6f, 0x77, 0x4e, 0x75, 0x6d,
0x62, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x77, 0x4e,
0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43,
0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d,
0x73, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x18,
0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x22,
0xad, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x44, 0x63, 0x69, 0x50, 0x61, 0x79, 0x55, 0x72, 0x6c,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x11, 0x64, 0x69, 0x67, 0x69, 0x74,
0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x42, 0x22, 0xe2, 0xdf, 0x1f, 0x1e, 0x2a, 0x1a, 0xe6, 0x95, 0xb0, 0xe7, 0x99, 0xbb,
0xe7, 0x94, 0xb3, 0xe8, 0xaf, 0xb7, 0x49, 0x44, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8,
0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x11, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52,
0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0b, 0x63, 0x6c, 0x69,
0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22,
0xe2, 0xdf, 0x1f, 0x1e, 0x2a, 0x1a, 0xe5, 0xae, 0xa2, 0xe6, 0x88, 0xb7, 0xe7, 0xab, 0xaf, 0x74,
0x6f, 0x6b, 0x65, 0x6e, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba,
0x58, 0x01, 0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22,
0x88, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x63, 0x69, 0x50, 0x61, 0x79, 0x55, 0x72, 0x6c,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x79, 0x55,
0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x79, 0x55, 0x72, 0x6c,
0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0d,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65,
0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x0e, 0x20,
0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x1a,
0x0a, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x22, 0x66, 0x0a, 0x12, 0x51, 0x75,
0x65, 0x72, 0x79, 0x44, 0x63, 0x69, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x50, 0x0a, 0x11, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73,
0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe2, 0xdf, 0x1f,
0x1e, 0x2a, 0x1a, 0xe6, 0x95, 0xb0, 0xe7, 0x99, 0xbb, 0xe7, 0x94, 0xb3, 0xe8, 0xaf, 0xb7, 0x49,
0x44, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52,
0x11, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
0x49, 0x64, 0x22, 0x8d, 0x01, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x63, 0x69, 0x50,
0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61,
0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70,
0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x73,
0x75, 0x6c, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67,
0x49, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67,
0x49, 0x64, 0x22, 0xb7, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x44, 0x63, 0x69, 0x52, 0x65, 0x67,
0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x11, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52,
0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
0x22, 0xe2, 0xdf, 0x1f, 0x1e, 0x2a, 0x1a, 0xe6, 0x95, 0xb0, 0xe7, 0x99, 0xbb, 0xe7, 0x94, 0xb3,
0xe8, 0xaf, 0xb7, 0x49, 0x44, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9,
0xba, 0x58, 0x01, 0x52, 0x11, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69,
0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe2, 0xdf, 0x1f,
0x1e, 0x2a, 0x1a, 0xe5, 0xae, 0xa2, 0xe6, 0x88, 0xb7, 0xe7, 0xab, 0xaf, 0x74, 0x6f, 0x6b, 0x65,
0x6e, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52,
0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa0, 0x02, 0x0a,
0x1e, 0x47, 0x65, 0x74, 0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x34, 0x0a, 0x15, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74,
0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15,
0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x53,
0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61,
0x64, 0x55, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e,
0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x6f, 0x77, 0x6e, 0x6c,
0x6f, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x4c, 0x65, 0x66, 0x74, 0x18, 0x03, 0x20, 0x01,
0x28, 0x03, 0x52, 0x11, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65,
0x73, 0x4c, 0x65, 0x66, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x61, 0x69, 0x6c, 0x44, 0x65, 0x74,
0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x61, 0x69, 0x6c, 0x44,
0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43,
0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d,
0x73, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x18,
0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x22,
0xe5, 0x02, 0x0a, 0x1b, 0x52, 0x65, 0x74, 0x72, 0x79, 0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69,
0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x50, 0x0a, 0x11, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74,
0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe2, 0xdf, 0x1f, 0x1e,
0x2a, 0x1a, 0xe6, 0x95, 0xb0, 0xe7, 0x99, 0xbb, 0xe7, 0x94, 0xb3, 0xe8, 0xaf, 0xb7, 0x49, 0x44,
0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x11,
0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49,
0x64, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49,
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x63, 0x69, 0x43, 0x6f, 0x6e, 0x74,
0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
0x2e, 0x64, 0x63, 0x69, 0x2e, 0x44, 0x63, 0x69, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x47, 0x0a, 0x12, 0x61, 0x64, 0x64, 0x69,
0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x04,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74,
0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x61,
0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66,
0x6f, 0x12, 0x44, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe2, 0xdf, 0x1f, 0x1e, 0x2a, 0x1a, 0xe5, 0xae,
0xa2, 0xe6, 0x88, 0xb7, 0xe7, 0xab, 0xaf, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0xe4, 0xb8, 0x8d, 0xe8,
0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65,
0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x78, 0x0a, 0x1c, 0x43, 0x6c, 0x6f, 0x73, 0x65,
0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x78, 0x0a, 0x1c, 0x52, 0x65, 0x74, 0x72, 0x79,
0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73,
@ -3317,76 +3290,103 @@ var file_pb_dci_proto_rawDesc = []byte{
0x74, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x49,
0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x49,
0x64, 0x32, 0xc6, 0x08, 0x0a, 0x03, 0x44, 0x63, 0x69, 0x12, 0x43, 0x0a, 0x0c, 0x47, 0x65, 0x74,
0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x18, 0x2e, 0x64, 0x63, 0x69, 0x2e,
0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c,
0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d,
0x0a, 0x0a, 0x41, 0x64, 0x64, 0x44, 0x63, 0x69, 0x55, 0x73, 0x65, 0x72, 0x12, 0x16, 0x2e, 0x64,
0x63, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x44, 0x63, 0x69, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x44, 0x63,
0x69, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a,
0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x63, 0x69, 0x55, 0x73, 0x65, 0x72, 0x12, 0x19,
0x2e, 0x64, 0x63, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x63, 0x69, 0x55, 0x73,
0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x64, 0x63, 0x69, 0x2e,
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x63, 0x69, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x63,
0x69, 0x55, 0x73, 0x65, 0x72, 0x12, 0x18, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72,
0x79, 0x44, 0x63, 0x69, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x19, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x63, 0x69, 0x55, 0x73,
0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x18, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x44, 0x63, 0x69, 0x50, 0x72, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x43, 0x72, 0x65,
0x61, 0x74, 0x65, 0x44, 0x63, 0x69, 0x50, 0x72, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x64,
0x63, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x63, 0x69, 0x50, 0x72, 0x65, 0x72,
0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x63, 0x69, 0x50,
0x72, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23,
0x2e, 0x64, 0x63, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x63, 0x69, 0x50, 0x72, 0x65,
0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44,
0x63, 0x69, 0x50, 0x72, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x15, 0x43, 0x72, 0x65,
0x61, 0x74, 0x65, 0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x21, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44,
0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61,
0x74, 0x65, 0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x14, 0x51, 0x75, 0x65,
0x72, 0x79, 0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x20, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x63, 0x69,
0x64, 0x22, 0xb1, 0x02, 0x0a, 0x1b, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x44, 0x63, 0x69, 0x52, 0x65,
0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x50, 0x0a, 0x11, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69,
0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe2, 0xdf,
0x1f, 0x1e, 0x2a, 0x1a, 0xe6, 0x95, 0xb0, 0xe7, 0x99, 0xbb, 0xe7, 0x94, 0xb3, 0xe8, 0xaf, 0xb7,
0x49, 0x44, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01,
0x52, 0x11, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65,
0x72, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x42, 0x25, 0xe2, 0xdf, 0x1f, 0x21, 0x2a, 0x1b, 0xe9, 0x80, 0x80, 0xe8, 0xb4, 0xb9, 0xe4,
0xba, 0xba, 0xe5, 0x90, 0x8d, 0xe7, 0xa7, 0xb0, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8,
0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x78, 0x29, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3f,
0x0a, 0x08, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x4e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x42, 0x23, 0xe2, 0xdf, 0x1f, 0x1f, 0x2a, 0x1b, 0xe8, 0x81, 0x94, 0xe7, 0xb3, 0xbb, 0xe6, 0x89,
0x8b, 0xe6, 0x9c, 0xba, 0xe5, 0x8f, 0xb7, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba,
0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x08, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x4e, 0x6f, 0x12,
0x44, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05,
0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe2, 0xdf, 0x1f, 0x1e, 0x2a, 0x1a, 0xe5, 0xae, 0xa2, 0xe6,
0x88, 0xb7, 0xe7, 0xab, 0xaf, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd,
0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x78, 0x0a, 0x1c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x44, 0x63,
0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43,
0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d,
0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x32,
0xc6, 0x08, 0x0a, 0x03, 0x44, 0x63, 0x69, 0x12, 0x43, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x55, 0x70,
0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x18, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x47, 0x65,
0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x19, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61,
0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0a,
0x41, 0x64, 0x64, 0x44, 0x63, 0x69, 0x55, 0x73, 0x65, 0x72, 0x12, 0x16, 0x2e, 0x64, 0x63, 0x69,
0x2e, 0x41, 0x64, 0x64, 0x44, 0x63, 0x69, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x17, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x44, 0x63, 0x69, 0x55,
0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0d, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x63, 0x69, 0x55, 0x73, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x64,
0x63, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x63, 0x69, 0x55, 0x73, 0x65, 0x72,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x44, 0x63, 0x69, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x63, 0x69, 0x55,
0x73, 0x65, 0x72, 0x12, 0x18, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44,
0x63, 0x69, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e,
0x64, 0x63, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x63, 0x69, 0x55, 0x73, 0x65, 0x72,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61,
0x74, 0x65, 0x44, 0x63, 0x69, 0x50, 0x72, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
0x65, 0x44, 0x63, 0x69, 0x50, 0x72, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x64, 0x63, 0x69,
0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x63, 0x69, 0x50, 0x72, 0x65, 0x72, 0x65, 0x67,
0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x64, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x63, 0x69, 0x50, 0x72, 0x65,
0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x2e, 0x64,
0x63, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x63, 0x69, 0x50, 0x72, 0x65, 0x72, 0x65,
0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x24, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x63, 0x69,
0x50, 0x72, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74,
0x65, 0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x21, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x63, 0x69,
0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44,
0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x44, 0x63, 0x69,
0x50, 0x61, 0x79, 0x55, 0x72, 0x6c, 0x12, 0x18, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x47, 0x65, 0x74,
0x44, 0x63, 0x69, 0x50, 0x61, 0x79, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x19, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x63, 0x69, 0x50, 0x61, 0x79,
0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x51,
0x75, 0x65, 0x72, 0x79, 0x44, 0x63, 0x69, 0x50, 0x61, 0x79, 0x12, 0x17, 0x2e, 0x64, 0x63, 0x69,
0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x63, 0x69, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44,
0x63, 0x69, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a,
0x16, 0x47, 0x65, 0x74, 0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x12, 0x22, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x47, 0x65,
0x74, 0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x63, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x64, 0x63,
0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x5b, 0x0a, 0x14, 0x52, 0x65, 0x74, 0x72, 0x79, 0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69,
0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x52,
0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79,
0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
0x20, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x63, 0x69, 0x52, 0x65,
0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x21, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x63, 0x69,
0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x44, 0x63, 0x69, 0x50, 0x61,
0x79, 0x55, 0x72, 0x6c, 0x12, 0x18, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x63,
0x69, 0x50, 0x61, 0x79, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19,
0x2e, 0x64, 0x63, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x63, 0x69, 0x50, 0x61, 0x79, 0x55, 0x72,
0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x51, 0x75, 0x65,
0x72, 0x79, 0x44, 0x63, 0x69, 0x50, 0x61, 0x79, 0x12, 0x17, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x51,
0x75, 0x65, 0x72, 0x79, 0x44, 0x63, 0x69, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x18, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x63, 0x69,
0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x16, 0x47,
0x65, 0x74, 0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x63, 0x65, 0x72, 0x74, 0x12, 0x22, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44,
0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x65,
0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x64, 0x63, 0x69, 0x2e,
0x47, 0x65, 0x74, 0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b,
0x0a, 0x14, 0x52, 0x65, 0x74, 0x72, 0x79, 0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x52, 0x65, 0x74,
0x72, 0x79, 0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x52,
0x65, 0x74, 0x72, 0x79, 0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x64, 0x63, 0x69,
0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a,
0x14, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x43, 0x6c, 0x6f, 0x73,
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x14, 0x43,
0x6c, 0x6f, 0x73, 0x65, 0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x20, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x44,
0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x43, 0x6c, 0x6f, 0x73,
0x65, 0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x64, 0x63, 0x69, 0x2e, 0x43, 0x6c,
0x6f, 0x73, 0x65, 0x44, 0x63, 0x69, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x07, 0x5a, 0x05, 0x2e, 0x2f,
0x64, 0x63, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x07, 0x5a, 0x05, 0x2e, 0x2f, 0x64, 0x63,
0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

@ -7,8 +7,8 @@ import (
fmt "fmt"
math "math"
proto "github.com/golang/protobuf/proto"
_ "github.com/mwitkow/go-proto-validators"
_ "google.golang.org/protobuf/types/descriptorpb"
_ "github.com/mwitkow/go-proto-validators"
github_com_mwitkow_go_proto_validators "github.com/mwitkow/go-proto-validators"
)
@ -149,14 +149,14 @@ func (this *DciCreationInfo) Validate() error {
return nil
}
func (this *DciPublicationInfo) Validate() error {
if this.CreationNature == "" {
return github_com_mwitkow_go_proto_validators.FieldError("CreationNature", fmt.Errorf(`作品发表状态不能为空`))
if this.PublicationStatus == "" {
return github_com_mwitkow_go_proto_validators.FieldError("PublicationStatus", fmt.Errorf(`作品发表状态不能为空`))
}
if this.CreationCompletionDate == "" {
return github_com_mwitkow_go_proto_validators.FieldError("CreationCompletionDate", fmt.Errorf(`首次发表日期不能为空`))
if this.FirstPublicationDate == "" {
return github_com_mwitkow_go_proto_validators.FieldError("FirstPublicationDate", fmt.Errorf(`首次发表日期不能为空`))
}
if this.CreationCompletionCode == "" {
return github_com_mwitkow_go_proto_validators.FieldError("CreationCompletionCode", fmt.Errorf(`首次发表地点地区编码不能为空`))
if this.FirstPublicationCode == "" {
return github_com_mwitkow_go_proto_validators.FieldError("FirstPublicationCode", fmt.Errorf(`首次发表地点地区编码不能为空`))
}
return nil
}

@ -0,0 +1,545 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.2.0
// - protoc v3.21.4
// source: pb/dci.proto
package dci
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
// DciClient is the client API for Dci 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 DciClient interface {
// 通用接口 用于文件上传
GetUploadUrl(ctx context.Context, in *GetUploadUrlRequest, opts ...grpc.CallOption) (*GetUploadUrlResponse, error)
// dci user
AddDciUser(ctx context.Context, in *AddDciUserRequest, opts ...grpc.CallOption) (*AddDciUserResponse, error)
UpdateDciUser(ctx context.Context, in *UpdateDciUserRequest, opts ...grpc.CallOption) (*UpdateDciUserResponse, error)
QueryDciUser(ctx context.Context, in *QueryDciUserRequest, opts ...grpc.CallOption) (*QueryDciUserResponse, error)
// dci work
CreateDciPreregistration(ctx context.Context, in *CreateDciPreregistrationRequest, opts ...grpc.CallOption) (*CreateDciPreregistrationResponse, error)
QueryDciPreregistration(ctx context.Context, in *QueryDciPreregistrationRequest, opts ...grpc.CallOption) (*QueryDciPreregistrationResponse, error)
// 数登
CreateDciRegistration(ctx context.Context, in *CreateDciRegistrationRequest, opts ...grpc.CallOption) (*CreateDciRegistrationResponse, error)
QueryDciRegistration(ctx context.Context, in *QueryDciRegistrationRequest, opts ...grpc.CallOption) (*QueryDciRegistrationResponse, error)
GetDciPayUrl(ctx context.Context, in *GetDciPayUrlRequest, opts ...grpc.CallOption) (*GetDciPayUrlResponse, error)
QueryDciPay(ctx context.Context, in *QueryDciPayRequest, opts ...grpc.CallOption) (*QueryDciPayResponse, error)
GetDciRegistrationcert(ctx context.Context, in *GetDciRegistrationcertRequest, opts ...grpc.CallOption) (*GetDciRegistrationcertResponse, error)
RetryDciRegistration(ctx context.Context, in *RetryDciRegistrationRequest, opts ...grpc.CallOption) (*RetryDciRegistrationResponse, error)
CloseDciRegistration(ctx context.Context, in *CloseDciRegistrationRequest, opts ...grpc.CallOption) (*CloseDciRegistrationResponse, error)
}
type dciClient struct {
cc grpc.ClientConnInterface
}
func NewDciClient(cc grpc.ClientConnInterface) DciClient {
return &dciClient{cc}
}
func (c *dciClient) GetUploadUrl(ctx context.Context, in *GetUploadUrlRequest, opts ...grpc.CallOption) (*GetUploadUrlResponse, error) {
out := new(GetUploadUrlResponse)
err := c.cc.Invoke(ctx, "/dci.Dci/GetUploadUrl", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dciClient) AddDciUser(ctx context.Context, in *AddDciUserRequest, opts ...grpc.CallOption) (*AddDciUserResponse, error) {
out := new(AddDciUserResponse)
err := c.cc.Invoke(ctx, "/dci.Dci/AddDciUser", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dciClient) UpdateDciUser(ctx context.Context, in *UpdateDciUserRequest, opts ...grpc.CallOption) (*UpdateDciUserResponse, error) {
out := new(UpdateDciUserResponse)
err := c.cc.Invoke(ctx, "/dci.Dci/UpdateDciUser", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dciClient) QueryDciUser(ctx context.Context, in *QueryDciUserRequest, opts ...grpc.CallOption) (*QueryDciUserResponse, error) {
out := new(QueryDciUserResponse)
err := c.cc.Invoke(ctx, "/dci.Dci/QueryDciUser", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dciClient) CreateDciPreregistration(ctx context.Context, in *CreateDciPreregistrationRequest, opts ...grpc.CallOption) (*CreateDciPreregistrationResponse, error) {
out := new(CreateDciPreregistrationResponse)
err := c.cc.Invoke(ctx, "/dci.Dci/CreateDciPreregistration", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dciClient) QueryDciPreregistration(ctx context.Context, in *QueryDciPreregistrationRequest, opts ...grpc.CallOption) (*QueryDciPreregistrationResponse, error) {
out := new(QueryDciPreregistrationResponse)
err := c.cc.Invoke(ctx, "/dci.Dci/QueryDciPreregistration", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dciClient) CreateDciRegistration(ctx context.Context, in *CreateDciRegistrationRequest, opts ...grpc.CallOption) (*CreateDciRegistrationResponse, error) {
out := new(CreateDciRegistrationResponse)
err := c.cc.Invoke(ctx, "/dci.Dci/CreateDciRegistration", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dciClient) QueryDciRegistration(ctx context.Context, in *QueryDciRegistrationRequest, opts ...grpc.CallOption) (*QueryDciRegistrationResponse, error) {
out := new(QueryDciRegistrationResponse)
err := c.cc.Invoke(ctx, "/dci.Dci/QueryDciRegistration", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dciClient) GetDciPayUrl(ctx context.Context, in *GetDciPayUrlRequest, opts ...grpc.CallOption) (*GetDciPayUrlResponse, error) {
out := new(GetDciPayUrlResponse)
err := c.cc.Invoke(ctx, "/dci.Dci/GetDciPayUrl", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dciClient) QueryDciPay(ctx context.Context, in *QueryDciPayRequest, opts ...grpc.CallOption) (*QueryDciPayResponse, error) {
out := new(QueryDciPayResponse)
err := c.cc.Invoke(ctx, "/dci.Dci/QueryDciPay", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dciClient) GetDciRegistrationcert(ctx context.Context, in *GetDciRegistrationcertRequest, opts ...grpc.CallOption) (*GetDciRegistrationcertResponse, error) {
out := new(GetDciRegistrationcertResponse)
err := c.cc.Invoke(ctx, "/dci.Dci/GetDciRegistrationcert", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dciClient) RetryDciRegistration(ctx context.Context, in *RetryDciRegistrationRequest, opts ...grpc.CallOption) (*RetryDciRegistrationResponse, error) {
out := new(RetryDciRegistrationResponse)
err := c.cc.Invoke(ctx, "/dci.Dci/RetryDciRegistration", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dciClient) CloseDciRegistration(ctx context.Context, in *CloseDciRegistrationRequest, opts ...grpc.CallOption) (*CloseDciRegistrationResponse, error) {
out := new(CloseDciRegistrationResponse)
err := c.cc.Invoke(ctx, "/dci.Dci/CloseDciRegistration", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// DciServer is the server API for Dci service.
// All implementations must embed UnimplementedDciServer
// for forward compatibility
type DciServer interface {
// 通用接口 用于文件上传
GetUploadUrl(context.Context, *GetUploadUrlRequest) (*GetUploadUrlResponse, error)
// dci user
AddDciUser(context.Context, *AddDciUserRequest) (*AddDciUserResponse, error)
UpdateDciUser(context.Context, *UpdateDciUserRequest) (*UpdateDciUserResponse, error)
QueryDciUser(context.Context, *QueryDciUserRequest) (*QueryDciUserResponse, error)
// dci work
CreateDciPreregistration(context.Context, *CreateDciPreregistrationRequest) (*CreateDciPreregistrationResponse, error)
QueryDciPreregistration(context.Context, *QueryDciPreregistrationRequest) (*QueryDciPreregistrationResponse, error)
// 数登
CreateDciRegistration(context.Context, *CreateDciRegistrationRequest) (*CreateDciRegistrationResponse, error)
QueryDciRegistration(context.Context, *QueryDciRegistrationRequest) (*QueryDciRegistrationResponse, error)
GetDciPayUrl(context.Context, *GetDciPayUrlRequest) (*GetDciPayUrlResponse, error)
QueryDciPay(context.Context, *QueryDciPayRequest) (*QueryDciPayResponse, error)
GetDciRegistrationcert(context.Context, *GetDciRegistrationcertRequest) (*GetDciRegistrationcertResponse, error)
RetryDciRegistration(context.Context, *RetryDciRegistrationRequest) (*RetryDciRegistrationResponse, error)
CloseDciRegistration(context.Context, *CloseDciRegistrationRequest) (*CloseDciRegistrationResponse, error)
mustEmbedUnimplementedDciServer()
}
// UnimplementedDciServer must be embedded to have forward compatible implementations.
type UnimplementedDciServer struct {
}
func (UnimplementedDciServer) GetUploadUrl(context.Context, *GetUploadUrlRequest) (*GetUploadUrlResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetUploadUrl not implemented")
}
func (UnimplementedDciServer) AddDciUser(context.Context, *AddDciUserRequest) (*AddDciUserResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method AddDciUser not implemented")
}
func (UnimplementedDciServer) UpdateDciUser(context.Context, *UpdateDciUserRequest) (*UpdateDciUserResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateDciUser not implemented")
}
func (UnimplementedDciServer) QueryDciUser(context.Context, *QueryDciUserRequest) (*QueryDciUserResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method QueryDciUser not implemented")
}
func (UnimplementedDciServer) CreateDciPreregistration(context.Context, *CreateDciPreregistrationRequest) (*CreateDciPreregistrationResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateDciPreregistration not implemented")
}
func (UnimplementedDciServer) QueryDciPreregistration(context.Context, *QueryDciPreregistrationRequest) (*QueryDciPreregistrationResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method QueryDciPreregistration not implemented")
}
func (UnimplementedDciServer) CreateDciRegistration(context.Context, *CreateDciRegistrationRequest) (*CreateDciRegistrationResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateDciRegistration not implemented")
}
func (UnimplementedDciServer) QueryDciRegistration(context.Context, *QueryDciRegistrationRequest) (*QueryDciRegistrationResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method QueryDciRegistration not implemented")
}
func (UnimplementedDciServer) GetDciPayUrl(context.Context, *GetDciPayUrlRequest) (*GetDciPayUrlResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetDciPayUrl not implemented")
}
func (UnimplementedDciServer) QueryDciPay(context.Context, *QueryDciPayRequest) (*QueryDciPayResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method QueryDciPay not implemented")
}
func (UnimplementedDciServer) GetDciRegistrationcert(context.Context, *GetDciRegistrationcertRequest) (*GetDciRegistrationcertResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetDciRegistrationcert not implemented")
}
func (UnimplementedDciServer) RetryDciRegistration(context.Context, *RetryDciRegistrationRequest) (*RetryDciRegistrationResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method RetryDciRegistration not implemented")
}
func (UnimplementedDciServer) CloseDciRegistration(context.Context, *CloseDciRegistrationRequest) (*CloseDciRegistrationResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CloseDciRegistration not implemented")
}
func (UnimplementedDciServer) mustEmbedUnimplementedDciServer() {}
// UnsafeDciServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to DciServer will
// result in compilation errors.
type UnsafeDciServer interface {
mustEmbedUnimplementedDciServer()
}
func RegisterDciServer(s grpc.ServiceRegistrar, srv DciServer) {
s.RegisterService(&Dci_ServiceDesc, srv)
}
func _Dci_GetUploadUrl_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetUploadUrlRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DciServer).GetUploadUrl(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/dci.Dci/GetUploadUrl",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DciServer).GetUploadUrl(ctx, req.(*GetUploadUrlRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Dci_AddDciUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(AddDciUserRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DciServer).AddDciUser(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/dci.Dci/AddDciUser",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DciServer).AddDciUser(ctx, req.(*AddDciUserRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Dci_UpdateDciUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateDciUserRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DciServer).UpdateDciUser(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/dci.Dci/UpdateDciUser",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DciServer).UpdateDciUser(ctx, req.(*UpdateDciUserRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Dci_QueryDciUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryDciUserRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DciServer).QueryDciUser(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/dci.Dci/QueryDciUser",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DciServer).QueryDciUser(ctx, req.(*QueryDciUserRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Dci_CreateDciPreregistration_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateDciPreregistrationRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DciServer).CreateDciPreregistration(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/dci.Dci/CreateDciPreregistration",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DciServer).CreateDciPreregistration(ctx, req.(*CreateDciPreregistrationRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Dci_QueryDciPreregistration_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryDciPreregistrationRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DciServer).QueryDciPreregistration(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/dci.Dci/QueryDciPreregistration",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DciServer).QueryDciPreregistration(ctx, req.(*QueryDciPreregistrationRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Dci_CreateDciRegistration_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateDciRegistrationRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DciServer).CreateDciRegistration(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/dci.Dci/CreateDciRegistration",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DciServer).CreateDciRegistration(ctx, req.(*CreateDciRegistrationRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Dci_QueryDciRegistration_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryDciRegistrationRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DciServer).QueryDciRegistration(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/dci.Dci/QueryDciRegistration",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DciServer).QueryDciRegistration(ctx, req.(*QueryDciRegistrationRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Dci_GetDciPayUrl_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetDciPayUrlRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DciServer).GetDciPayUrl(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/dci.Dci/GetDciPayUrl",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DciServer).GetDciPayUrl(ctx, req.(*GetDciPayUrlRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Dci_QueryDciPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryDciPayRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DciServer).QueryDciPay(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/dci.Dci/QueryDciPay",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DciServer).QueryDciPay(ctx, req.(*QueryDciPayRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Dci_GetDciRegistrationcert_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetDciRegistrationcertRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DciServer).GetDciRegistrationcert(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/dci.Dci/GetDciRegistrationcert",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DciServer).GetDciRegistrationcert(ctx, req.(*GetDciRegistrationcertRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Dci_RetryDciRegistration_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(RetryDciRegistrationRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DciServer).RetryDciRegistration(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/dci.Dci/RetryDciRegistration",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DciServer).RetryDciRegistration(ctx, req.(*RetryDciRegistrationRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Dci_CloseDciRegistration_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CloseDciRegistrationRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DciServer).CloseDciRegistration(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/dci.Dci/CloseDciRegistration",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DciServer).CloseDciRegistration(ctx, req.(*CloseDciRegistrationRequest))
}
return interceptor(ctx, in, info, handler)
}
// Dci_ServiceDesc is the grpc.ServiceDesc for Dci service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var Dci_ServiceDesc = grpc.ServiceDesc{
ServiceName: "dci.Dci",
HandlerType: (*DciServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "GetUploadUrl",
Handler: _Dci_GetUploadUrl_Handler,
},
{
MethodName: "AddDciUser",
Handler: _Dci_AddDciUser_Handler,
},
{
MethodName: "UpdateDciUser",
Handler: _Dci_UpdateDciUser_Handler,
},
{
MethodName: "QueryDciUser",
Handler: _Dci_QueryDciUser_Handler,
},
{
MethodName: "CreateDciPreregistration",
Handler: _Dci_CreateDciPreregistration_Handler,
},
{
MethodName: "QueryDciPreregistration",
Handler: _Dci_QueryDciPreregistration_Handler,
},
{
MethodName: "CreateDciRegistration",
Handler: _Dci_CreateDciRegistration_Handler,
},
{
MethodName: "QueryDciRegistration",
Handler: _Dci_QueryDciRegistration_Handler,
},
{
MethodName: "GetDciPayUrl",
Handler: _Dci_GetDciPayUrl_Handler,
},
{
MethodName: "QueryDciPay",
Handler: _Dci_QueryDciPay_Handler,
},
{
MethodName: "GetDciRegistrationcert",
Handler: _Dci_GetDciRegistrationcert_Handler,
},
{
MethodName: "RetryDciRegistration",
Handler: _Dci_RetryDciRegistration_Handler,
},
{
MethodName: "CloseDciRegistration",
Handler: _Dci_CloseDciRegistration_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "pb/dci.proto",
}

@ -4,7 +4,7 @@
// - protoc v3.21.4
// source: pb/dci.proto
package dci
package grpc
import (
context "context"

@ -22,4 +22,3 @@ func NewBccrClient() *bccrClient.Client {
}
return client
}

@ -0,0 +1,9 @@
package err
var ResultCode = map[string]string{
"OK": "正常返回",
"BAD_REQUEST": "请求参数错误",
"PERMISSION_ERROR": "权限错误",
"BUSINESS_ERROR": "业务内容错误",
"SERVER_ERROR": "服务器错误",
}

@ -0,0 +1,47 @@
package err
var ProMunRegCode = map[string][]struct{}{
"北京市": "11",
"天津市": "12",
"河北省": "13",
"山西省": "14",
"内蒙古自治区": "15",
"辽宁省": "21",
"吉林省": "22",
"黑龙江省": "23",
"上海市": "31",
"江苏省": "32",
"浙江省": "33",
"安徽省": "34",
"福建省": "35",
"江西省": "36",
"山东省": "37",
"河南省": "41",
"湖北省": "42",
"湖南省": "43",
"广东省": "44",
"广西壮族自治区": "45",
"海南省": "46",
"重庆市": "50",
"四川省": "51",
"贵州省": "52",
"云南省": "53",
"西藏自治区": "54",
"陕西省": "61",
"甘肃省": "62",
"青海省": "63",
"宁夏回族自治区": "64",
"新疆维吾尔自治区": "65",
}
var BeiJing = map[string]string{}
var TianJin = map[string]string{}
var HeBei = map[string]string{}
var ShanXi14 = map[string]string{}
var NeiMeng = map[string]string{}
var ShanXi61 = map[string]string{}

@ -0,0 +1,6 @@
package err
var CertTypeMap = map[string]string{
"IDENTITY_CARD": "身份证",
"NATIONAL_LEGAL_MERGE": "统⼀社会信⽤代码",
}

@ -0,0 +1,13 @@
package err
var DciDigitalRegStatusEnum = map[string]string{
"CHECK": "初审中",
"CHECK_FAIL": "初审不通过",
"PAY": "待支付",
"REVIEW": "复审中",
"TOBE_AMEND": "待补正",
"AMEND_CHECK_FAIL": "待补正审核失败",
"FINISH": "数登完成",
"DISREGARD": "不予处理",
"REGISTRATION_STOP": "申请停止",
}

@ -0,0 +1,9 @@
package err
var FileType = map[string]string{
"TEXT": "文本(限制pdf类型)(限制文件大小10M)",
"IMAGE": "图片(限制jpg、jpeg、png类型)(限制文件大小5M)",
"AUDIO": "音频(限制mp3、wav类型)(限制文件大小50M)",
"VIDEO": "视频(限制mp4、avi、wmv类型)(限制文件大小200M)",
"PDF_IMAGE": "系列图(限制pdf类型)(限制文件大小10M)(限制子图数量2-30)",
}

@ -0,0 +1,8 @@
package err
var FontCopyrightEnum = map[string]string{
"NO_NEED": "不涉及字体版权",
"FREE_FONT": "公共免费字体",
"ORIGINAL_FONT": "原创字体",
"AUTHORIZED_FONT": "商用字体已授权",
}

@ -0,0 +1,6 @@
package err
var InvoiceTypeEnum = map[string]string{
"NORMAL": "普票",
"SPECIAL": "专票",
}

@ -0,0 +1,6 @@
package err
var OwnershipWay = map[string]string{
"PERSON": "个人作品",
"ENTERPRISE": "法人作品",
}

@ -0,0 +1,7 @@
package err
var PayStatus = map[string]string{
"PAY_SUCCESS": "支付成功",
"PAY_FAIL": "支付失败",
"UNPAID": "待支付",
}

@ -0,0 +1,8 @@
package err
var PreRegistrationTrueWill = map[string]string{
"PASSWORD": "密码验证",
"CONFIRM_SMS": "用户短信验证",
"LIVE_SMS": "指纹或视频人脸验证",
"CERTIFICATE": "电子签名验证",
}

@ -0,0 +1,5 @@
package err
var PublicationStatus = map[string]string{
"PUBLISHED": "作品已发表",
}

@ -0,0 +1,66 @@
package err
var ResultMsg = map[string]string{
"PERMISSION_IS_NOT_EXIST": "权限未开通",
"WORK_NAME_IS_NULL": "作品名称为空",
"WORK_NAME_INVALID_LENGTH": "作品名称长度错误",
"WORK_CATEGORY_INVALID": "作品类型错误",
"WORK_FILE_ID_IS_NULL": "作品fileId为空",
"WORK_FILE_NOT_EXIST": "作品文件不存在",
"WORK_CREATION_INFO_IS_NULL": "作品创作信息为空",
"WORK_CREATION_NATURE_INVALID": "作品创作性质错误",
"WORK_CREATION_DATE_INVALID": "作品创作时间错误",
"WORK_CREATION_CODE_IS_NULL": "作品创作地点为空",
"WORK_PUBLICATION_INFO_IS_NULL": "作品发表信息为空",
"WORK_PUBLICATION_STATUS_INVALID": "作品发表状态错误",
"WORK_PUBLICATION_DATE_INVALID": "作品发表时间错误",
"WORK_PUBLICATION_CODE_INVALID": "作品发表地点错误",
"WORK_AUTHOR_NAME_IS_NULL": "作品作者名称为空",
"WORK_RIGHT_INFO_IS_NULL": "作品权利信息为空",
"WORK_RIGHT_SCOPE_INVALID": "作品权利范围错误",
"WORK_RIGHT_OBTAIN_WAY_INVALID": "作品权利获取方式错误",
"WORK_OWNERSHIP_WAY_INVALID": "作品权利归属方式错误",
"PREREGISTRATION_TRUE_WILL_INVALID": "真实意愿表达错误",
"ACCOUNT_BALANCE_STATUS_INVALID": "账号余额不足",
"DCI_FILE_TYPE_INVALID": "dci文件类型错误",
"DCI_COPYRIGHT_OWNER_ID_IS_NULL": "著作权人用户id为空",
"DCI_COPYRIGHT_OWNER_ID_INVALID": "著作权人用户id无效",
"DCI_CATEGORY_NOT_OPTIONAL": "DCI作品类型不可选",
"DCI_FILE_SIZE_INVALID": "dci作品文件大小超限",
"DCI_FILE_INVALID": "dci作品文件异常",
"DCI_FILE_NAME_INVALID": "dci作品文件为空",
"WORK_FILE_ID_INVALID": "dci作品文件id异常",
"WORK_CREATION_CODE_INVALID": "作品创作地点无效",
"CHANNEL_TERMINAL_INVALID": "渠道标签无效",
"DCI_CONTENT_ALREADY_EXIST": "相同文件已发起过dci申领",
"DCI_USER_ID_IS_NULL": "dci用户id为空",
"DCI_USER_ID_INVALID": "dci用户id有误",
"DCI_USER_CERT_FRONT_FILE_EMPTY": "dci证件正面文件入参为空",
"DCI_USER_CERT_BACK_FILE_EMPTY": "dci证件背面文件入参为空",
"DCI_USER_CERT_FRONT_FILE_NOT_EXIST": "dci证件正面文件不存在",
"DCI_USER_CERT_BACK_FILE_NOT_EXIST": "dci用户证件背面文件不存在",
"DCI_USER_PHONE_INVALID": "dci用户手机号无效",
"DCI_USER_NAME_INVALID": "dci用户名错误",
"DCI_USER_LEGAL_PERSON_CERT_NAME_EMPTY": "dci用户法人姓名无效",
"DCI_USER_LEGAL_PERSON_CERT_TYPE_EMPTY": "dci用户法人证件类型无效",
"DCI_USER_LEGAL_PERSON_CERT_NO_EMPTY": "dci用户法人证件号无效",
"DCI_USER_LEGAL_PERSON_CERT_NO_INVALID": "dci用户法人证件号错误",
"DCI_CERTIFICATE_START_TIME_INVALID": "dci证件开始时间错误",
"DCI_CERTIFICATE_END_TIME_INVALID": "dci证件结束时间错误",
"DCI_CERTIFICATE_FRONT_ID_INVALID": "dci证件正面文件d为空",
"DCI_CERTIFICATE_FRONT_NOT_EXIST": "dci证件正面文件不存在",
"DCI_CERTIFICATE_BACK_NOT_EXIST": "dci证件背面文件不存在",
"DCI_IDENTITY_START_TIME_INVALID": "dci证件开始时间错误",
"DCI_USER_AREA_INVALID": "dci用户所属地区错误,当前只支持CHINA_MAINLAND",
"DCI_USER_ALREADY_EXIST": "已注册过dci用户",
"DCI_CERTIFICATE_TYPE_INVALID": "dci证件类型错误",
"DCI_CERTIFICATE_NUMBER_INVALID": "dci证件号错误",
"DCI_CERTIFICATE_NUMBER_IS_NULL": "dci证件号为空",
"DCI_USER_PHONE_IS_NULL": "dci用户手机号为空",
"REPEAT_REQUEST_INTERCEPTION": "重复请求",
"DCI_CONTENT_NOT_EXIST": "DCI作品不存在",
"DCI_CONTENT_ID_INVALID": "dci申领id有误",
"DCI_CONTENT_ID_IS_NULL": "dci申领id为空",
"DCI_USER_NOT_EXIST": "dci用户不存在",
"DCI_USER_NOT_MATCH": "dci用户不匹配",
}

@ -0,0 +1,5 @@
package err
var RightObtainWay = map[string]string{
"ORIGINAL": "原创",
}

@ -0,0 +1,5 @@
package err
var RightScope = map[string]string{
"ALL": "全选",
}

@ -0,0 +1,6 @@
package err
var UserStatus = map[string]string{
"NORMAL": "正常",
"DISABLE": "停用",
}

@ -0,0 +1,19 @@
package err
var WorkCategory = map[string]string{
"WORD": "文字作品支持文件类型TEXT",
"ORAL": "口述作品支持文件类型AUDIO",
"MUSIC": "音乐作品支持文件类型AUDIO",
"DRAMA": "戏剧作品支持文件类型TEXT",
"QUYI": "曲艺作品支持文件类型TEXT",
"DANCE": "舞蹈作品支持文件类型VIDEO",
"ACRABATICS": "杂技作品支持文件类型VIDEO",
"ART": "美术作品支持文件类型IMAGE",
"ARCHITECTURE": "建筑作品支持文件类型IMAGE",
"PHOTOGRAPHY": "摄影作品支持文件类型IMAGE",
"MOVIE": "电影作品支持文件类型VIDEO",
"AUDIOVISUAL": "类似摄制电影方法创作作品支持文件类型VIDEO",
"DESIGN": "工程设计图、产品设计图支持文件类型IMAGE",
"DIAGRAM": "示意图支持文件类型IMAGE",
"MODEL": "模型支持文件类型IMAGE",
}

@ -0,0 +1,5 @@
package err
var WorkCreationNature = map[string]string{
"ORIGINAL": "原创",
}

@ -0,0 +1,9 @@
package err
var WorkStatus = map[string]string{
"DCI_PRE_REG_AUDITING": "申领审核中",
"DCI_PRE_REG_FINISH": "申领成功",
"DCI_PRE_REG_FAIL": "申领失败",
"DCI_PRE_REG_CANCEL": "dci撤销",
"DCI_PRE_REG_TOBE_CONFIRM": "申领待确认,账户余额不足",
}

@ -2,7 +2,6 @@ package utils
import (
"bytes"
"encoding/base64"
"fmt"
"go.uber.org/zap"
"io/ioutil"
@ -55,7 +54,7 @@ func PutFromFileUrlWithStream(url, fileName, fileUrl string) (statusCode int, re
req, err := http.NewRequest("PUT", url, bytes.NewBuffer(fileBody))
req.Header.Set("Content-Type", "application/octet-stream")
req.Header.Set("x-oss-meta-rawfilename", base64.URLEncoding.EncodeToString([]byte(fileName)))
req.Header.Set("x-oss-meta-rawfilename", fileName)
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
@ -66,8 +65,10 @@ func PutFromFileUrlWithStream(url, fileName, fileUrl string) (statusCode int, re
body, _ := ioutil.ReadAll(resp.Body)
result = string(body)
fmt.Println("put url:", url)
fmt.Println("fileName :", fileName)
fmt.Println("response Headers:", resp.Header)
fmt.Println("response Body:", string(body))
//fmt.Println("response Body:", string(body))
fmt.Println("response StatusCode:", statusCode)
zap.L().Info("post", zap.Any("url", url), zap.Any("jsonStr", bytes.NewBuffer(fileBody).String()), zap.Any("result", result))
return
}

Loading…
Cancel
Save