From 22f8143e850bb6e67ebe37fd4b259410a15c3b96 Mon Sep 17 00:00:00 2001 From: wyt <309301362@qq.com> Date: Wed, 18 Jan 2023 17:03:15 +0800 Subject: [PATCH] 1 --- DockerfileWindowsTest | 33 + cmd/app.go | 26 + cmd/internal/controller/artisrInfo.go | 59 + cmd/internal/controller/artwork.go | 62 + cmd/internal/controller/contract.go | 59 + cmd/internal/controller/supply.go | 110 + cmd/internal/dao/artistInfo.go | 427 ++++ cmd/internal/dao/artwork.go | 194 ++ cmd/internal/dao/contract.go | 195 ++ cmd/internal/dao/supply.go | 398 ++++ cmd/internal/logic/artistInfo.go | 50 + cmd/internal/logic/artwork.go | 59 + cmd/internal/logic/contract.go | 67 + cmd/internal/logic/supply.go | 88 + cmd/logs/artist_server.log | 4 + cmd/model/artistinfo.go | 21 + cmd/model/artwork.go | 156 ++ cmd/model/artworkbatch.go | 14 + cmd/model/artworkstate.go | 14 + cmd/model/bank.go | 15 + cmd/model/contract.go | 102 + cmd/model/exhexam.go | 21 + cmd/model/exhvideo.go | 17 + cmd/model/invite.go | 23 + cmd/model/real_name.go | 15 + cmd/model/supplyinfo.go | 35 + cmd/model/user.go | 43 + cmd/model/user_invited.go | 14 + cmd/model/user_update_info.go | 30 + conf/conf.ini | 29 + conf/dev/conf.ini | 29 + conf/dev/dubbogo.yaml | 69 + conf/dev/sdk.real.yaml | 18 + conf/dev/sdk.test.yaml | 18 + conf/dev/sdk.yaml | 18 + conf/dubbogo.yaml | 19 + conf/prod/conf.ini | 29 + conf/prod/dubbogo.yaml | 69 + conf/prod/sdk.real.yaml | 18 + conf/prod/sdk.test.yaml | 18 + conf/prod/sdk.yaml | 18 + conf/sdk.real.yaml | 18 + conf/sdk.test.yaml | 18 + conf/sdk.yaml | 18 + conf/test/conf.ini | 29 + conf/test/dubbogo.yaml | 73 + conf/test/sdk.real.yaml | 18 + conf/test/sdk.test.yaml | 18 + conf/test/sdk.yaml | 18 + go.mod | 39 + go.sum | 1661 +++++++++++++++ pb/artistinfo/artistinfo.pb.go | 2014 ++++++++++++++++++ pb/artistinfo/artistinfo.proto | 174 ++ pb/artistinfo/artistinfo_triple.pb.go | 552 +++++ pb/artwork/artwork.pb.go | 1625 ++++++++++++++ pb/artwork/artwork.proto | 139 ++ pb/artwork/artwork_triple.pb.go | 417 ++++ pb/contract/contract.pb.go | 1517 +++++++++++++ pb/contract/contract.proto | 124 ++ pb/contract/contract_triple.pb.go | 462 ++++ pb/supplyinfo/supplyinfo.pb.go | 2841 +++++++++++++++++++++++++ pb/supplyinfo/supplyinfo.proto | 256 +++ pb/supplyinfo/supplyinfo_triple.pb.go | 642 ++++++ pkg/cache/redis.go | 51 + pkg/db/init.go | 106 + pkg/m/artistinfo.go | 17 + pkg/m/msg.go | 77 + pkg/util/file.go | 28 + pkg/util/qrcode.go | 130 ++ pkg/util/utils.go | 167 ++ 70 files changed, 15952 insertions(+) create mode 100644 DockerfileWindowsTest create mode 100644 cmd/app.go create mode 100644 cmd/internal/controller/artisrInfo.go create mode 100644 cmd/internal/controller/artwork.go create mode 100644 cmd/internal/controller/contract.go create mode 100644 cmd/internal/controller/supply.go create mode 100644 cmd/internal/dao/artistInfo.go create mode 100644 cmd/internal/dao/artwork.go create mode 100644 cmd/internal/dao/contract.go create mode 100644 cmd/internal/dao/supply.go create mode 100644 cmd/internal/logic/artistInfo.go create mode 100644 cmd/internal/logic/artwork.go create mode 100644 cmd/internal/logic/contract.go create mode 100644 cmd/internal/logic/supply.go create mode 100644 cmd/logs/artist_server.log create mode 100644 cmd/model/artistinfo.go create mode 100644 cmd/model/artwork.go create mode 100644 cmd/model/artworkbatch.go create mode 100644 cmd/model/artworkstate.go create mode 100644 cmd/model/bank.go create mode 100644 cmd/model/contract.go create mode 100644 cmd/model/exhexam.go create mode 100644 cmd/model/exhvideo.go create mode 100644 cmd/model/invite.go create mode 100644 cmd/model/real_name.go create mode 100644 cmd/model/supplyinfo.go create mode 100644 cmd/model/user.go create mode 100644 cmd/model/user_invited.go create mode 100644 cmd/model/user_update_info.go create mode 100644 conf/conf.ini create mode 100644 conf/dev/conf.ini create mode 100644 conf/dev/dubbogo.yaml create mode 100644 conf/dev/sdk.real.yaml create mode 100644 conf/dev/sdk.test.yaml create mode 100644 conf/dev/sdk.yaml create mode 100644 conf/dubbogo.yaml create mode 100644 conf/prod/conf.ini create mode 100644 conf/prod/dubbogo.yaml create mode 100644 conf/prod/sdk.real.yaml create mode 100644 conf/prod/sdk.test.yaml create mode 100644 conf/prod/sdk.yaml create mode 100644 conf/sdk.real.yaml create mode 100644 conf/sdk.test.yaml create mode 100644 conf/sdk.yaml create mode 100644 conf/test/conf.ini create mode 100644 conf/test/dubbogo.yaml create mode 100644 conf/test/sdk.real.yaml create mode 100644 conf/test/sdk.test.yaml create mode 100644 conf/test/sdk.yaml create mode 100644 go.mod create mode 100644 go.sum create mode 100644 pb/artistinfo/artistinfo.pb.go create mode 100644 pb/artistinfo/artistinfo.proto create mode 100644 pb/artistinfo/artistinfo_triple.pb.go create mode 100644 pb/artwork/artwork.pb.go create mode 100644 pb/artwork/artwork.proto create mode 100644 pb/artwork/artwork_triple.pb.go create mode 100644 pb/contract/contract.pb.go create mode 100644 pb/contract/contract.proto create mode 100644 pb/contract/contract_triple.pb.go create mode 100644 pb/supplyinfo/supplyinfo.pb.go create mode 100644 pb/supplyinfo/supplyinfo.proto create mode 100644 pb/supplyinfo/supplyinfo_triple.pb.go create mode 100644 pkg/cache/redis.go create mode 100644 pkg/db/init.go create mode 100644 pkg/m/artistinfo.go create mode 100644 pkg/m/msg.go create mode 100644 pkg/util/file.go create mode 100644 pkg/util/qrcode.go create mode 100644 pkg/util/utils.go diff --git a/DockerfileWindowsTest b/DockerfileWindowsTest new file mode 100644 index 0000000..f55d397 --- /dev/null +++ b/DockerfileWindowsTest @@ -0,0 +1,33 @@ +FROM golang:alpine AS builder + +LABEL stage=gobuilder +#ENV DUBBO_GO_CONFIG_PATH ./conf/dubbogo.yaml +#ENV MODE_ENV test +ENV CGO_ENABLED 0 +ENV GOPROXY https://goproxy.cn,direct +#RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories +#RUN apk update --no-cache && apk add --no-cache tzdata + +WORKDIR /build +COPY ./utils ../utils +ADD ./fonchain-backup/go.mod . +ADD ./fonchain-backup/go.sum . +RUN go mod download +COPY ./fonchain-backup . + +RUN go build -ldflags "-s -w" -o /app/backup ./cmd/app.go + +FROM 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 +COPY ./fonchain-backup/conf /app/conf +COPY ./fonchain-backup/conf /conf + +ENV TZ Asia/Shanghai +ENV DUBBO_GO_CONFIG_PATH ./conf/dubbogo.yaml +WORKDIR /app +COPY --from=builder /app/backup . +EXPOSE 9021 +CMD ["/app/backup"] diff --git a/cmd/app.go b/cmd/app.go new file mode 100644 index 0000000..5983c8a --- /dev/null +++ b/cmd/app.go @@ -0,0 +1,26 @@ +package main + +import ( + "fmt" + + "dubbo.apache.org/dubbo-go/v3/config" + + _ "dubbo.apache.org/dubbo-go/v3/imports" + "github.com/fonchain-artistserver/cmd/internal/controller" + + "github.com/fonchain-artistserver/pkg/cache" + db "github.com/fonchain-artistserver/pkg/db" + "github.com/fonchain-artistserver/pkg/m" +) + +// export DUBBO_GO_CONFIG_PATH= PATH_TO_SAMPLES/helloworld/go-server/conf/dubbogo.yaml +func main() { + fmt.Println("第一处") + config.SetProviderService(&controller.ArtistInfoProvider{}) + db.Init(m.SERVER_CONFIG) + cache.InitRedis(m.SERVER_CONFIG) + if err := config.Load(); err != nil { + panic(err) + } + select {} +} diff --git a/cmd/internal/controller/artisrInfo.go b/cmd/internal/controller/artisrInfo.go new file mode 100644 index 0000000..5eb2d38 --- /dev/null +++ b/cmd/internal/controller/artisrInfo.go @@ -0,0 +1,59 @@ +package controller + +import ( + "context" + "fmt" + + "github.com/fonchain-artistserver/cmd/internal/logic" + "github.com/fonchain-artistserver/pb/artistinfo" +) + +type ArtistInfoProvider struct { + artistinfo.UnimplementedArtistInfoServer + artistInfoLogic *logic.ArtistInfo +} + +func (a *ArtistInfoProvider) registerUser(ctx context.Context, req *artistinfo.RegisterUserRequest) (rep *artistinfo.RegisterUserRespond, err error) { + fmt.Println("第一处") + // backup := &artistInfo.GetUserInfoRespond{} + if rep, err = a.artistInfoLogic.RegisterUser(req); err != nil { + return nil, err + } + return rep, nil +} + +func (a *ArtistInfoProvider) GetUser(ctx context.Context, req *artistinfo.GetUserRequest) (rep *artistinfo.GetUserRespond, err error) { + fmt.Println("第一处") + // backup := &artistInfo.GetUserInfoRespond{} + if rep, err = a.artistInfoLogic.GetUser(req); err != nil { + return nil, err + } + return rep, nil +} + +func (a *ArtistInfoProvider) UpdateRealName(ctx context.Context, req *artistinfo.UpdateRealNameRequest) (rep *artistinfo.UpdateRealNameRespond, err error) { + fmt.Println("第一处") + // backup := &artistInfo.GetUserInfoRespond{} + if rep, err = a.artistInfoLogic.UpdateRealName(req); err != nil { + return nil, err + } + return rep, nil +} + +func (a *ArtistInfoProvider) FinishVerify(ctx context.Context, req *artistinfo.FinishVerifyRequest) (rep *artistinfo.FinishVerifyRespond, err error) { + fmt.Println("第一处") + // backup := &artistInfo.GetUserInfoRespond{} + if rep, err = a.artistInfoLogic.FinishVerify(req); err != nil { + return nil, err + } + return rep, nil +} + +func (a *ArtistInfoProvider) CheckUserLock(ctx context.Context, req *artistinfo.CheckUserLockRequest) (rep *artistinfo.CheckUserLockRespond, err error) { + fmt.Println("第一处") + // backup := &artistInfo.GetUserInfoRespond{} + if rep, err = a.artistInfoLogic.CheckUserLock(req); err != nil { + return nil, err + } + return rep, nil +} diff --git a/cmd/internal/controller/artwork.go b/cmd/internal/controller/artwork.go new file mode 100644 index 0000000..f1d28d1 --- /dev/null +++ b/cmd/internal/controller/artwork.go @@ -0,0 +1,62 @@ +package controller + +import ( + "context" + "fmt" + + "github.com/fonchain-artistserver/cmd/internal/logic" + "github.com/fonchain-artistserver/pb/artwork" +) + +type ArtWorkProvider struct { + artwork.UnimplementedArtworkServer + artWorkLogic *logic.ArtWork +} + +func (a *ArtWorkProvider) ArtworkAdd(ctx context.Context, req *artwork.ArtworkAddRequest) (rep *artwork.ArtworkAddRespond, err error) { + fmt.Println("第一处") + if rep, err = a.artWorkLogic.ArtworkAdd(req); err != nil { + return nil, err + } + return rep, nil +} + +func (a *ArtWorkProvider) UpdateArtwork(ctx context.Context, req *artwork.UpdateArtworkRequest) (rep *artwork.UpdateArtworkRespond, err error) { + fmt.Println("第一处") + if rep, err = a.artWorkLogic.UpdateArtwork(req); err != nil { + return nil, err + } + return rep, nil +} + +func (a *ArtWorkProvider) DelArtwork(ctx context.Context, req *artwork.DelArtworkRequest) (rep *artwork.DelArtworkRespond, err error) { + fmt.Println("第一处") + if rep, err = a.artWorkLogic.DelArtwork(req); err != nil { + return nil, err + } + return rep, nil +} + +func (a *ArtWorkProvider) GetArtworkList(ctx context.Context, req *artwork.GetArtworkListRequest) (rep *artwork.GetArtworkListRespond, err error) { + fmt.Println("第一处") + if rep, err = a.artWorkLogic.GetArtworkList(req); err != nil { + return nil, err + } + return rep, nil +} + +func (a *ArtWorkProvider) GetArtwork(ctx context.Context, req *artwork.GetArtworkRequest) (rep *artwork.GetArtworkRespond, err error) { + fmt.Println("第一处") + if rep, err = a.artWorkLogic.GetArtwork(req); err != nil { + return nil, err + } + return rep, nil +} + +func (a *ArtWorkProvider) UploadArtwork(ctx context.Context, req *artwork.UploadArtworkRequest) (rep *artwork.UploadArtworkRespond, err error) { + fmt.Println("第一处") + if rep, err = a.artWorkLogic.UploadArtwork(req); err != nil { + return nil, err + } + return rep, nil +} diff --git a/cmd/internal/controller/contract.go b/cmd/internal/controller/contract.go new file mode 100644 index 0000000..31e9eff --- /dev/null +++ b/cmd/internal/controller/contract.go @@ -0,0 +1,59 @@ +package controller + +import ( + "context" + "fmt" + + "github.com/fonchain-artistserver/cmd/internal/logic" + "github.com/fonchain-artistserver/pb/contract" +) + +type ContractProvider struct { + contract.UnimplementedContractServer + contractLogic *logic.Contract +} + +func (c *ContractProvider) FinishContract(ctx context.Context, req *contract.FinishContractRequest) (rep *contract.FinishContractRespond, err error) { + fmt.Println("第一处") + if rep, err = c.contractLogic.FinishContract(req); err != nil { + return nil, err + } + return rep, nil +} + +func (c *ContractProvider) ContractList(ctx context.Context, req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) { + fmt.Println("第一处") + if rep, err = c.contractLogic.ContractList(req); err != nil { + return nil, err + } + return rep, nil +} +func (c *ContractProvider) GetContract(ctx context.Context, req *contract.GetContractRequest) (rep *contract.ContractData, err error) { + fmt.Println("第一处") + if rep, err = c.contractLogic.GetContract(req); err != nil { + return nil, err + } + return rep, nil +} +func (c *ContractProvider) ContractTxList(ctx context.Context, req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) { + fmt.Println("第一处") + if rep, err = c.contractLogic.ContractTxList(req); err != nil { + return nil, err + } + return rep, nil +} + +func (c *ContractProvider) UpdateContract(ctx context.Context, req *contract.UpdateContractRequest) (rep *contract.UpdateContractRespond, err error) { + fmt.Println("第一处") + if rep, err = c.contractLogic.UpdateContract(req); err != nil { + return nil, err + } + return rep, nil +} +func (c *ContractProvider) UpdateContractTx(ctx context.Context, req *contract.UpdateContractTxRequest) (rep *contract.UpdateContractTxRespond, err error) { + fmt.Println("第一处") + if rep, err = c.contractLogic.UpdateContractTx(req); err != nil { + return nil, err + } + return rep, nil +} diff --git a/cmd/internal/controller/supply.go b/cmd/internal/controller/supply.go new file mode 100644 index 0000000..42c324c --- /dev/null +++ b/cmd/internal/controller/supply.go @@ -0,0 +1,110 @@ +package controller + +import ( + "context" + "fmt" + + "github.com/fonchain-artistserver/cmd/internal/logic" + "github.com/fonchain-artistserver/pb/supplyinfo" +) + +type SupplyProvider struct { + supplyinfo.UnimplementedSupplyInfoServer + SupplyLogic *logic.Supply +} + +func (a *SupplyProvider) GetSupplyInfoList(ctx context.Context, req *supplyinfo.GetSupplyInfoListRequest) (rep *supplyinfo.GetSupplyInfoListRespond, err error) { + fmt.Println("第一处") + if rep, err = a.SupplyLogic.GetSupplyInfoList(req); err != nil { + return nil, err + } + return rep, nil +} + +func (a *SupplyProvider) GetSupplyInfo(ctx context.Context, req *supplyinfo.GetSupplyInfoRequest) (rep *supplyinfo.GetSupplyInfoData, err error) { + fmt.Println("第一处") + if rep, err = a.SupplyLogic.GetSupplyInfo(req); err != nil { + return nil, err + } + return rep, nil +} + +func (a *SupplyProvider) UpdateSupplyInfo(ctx context.Context, req *supplyinfo.UpdateSupplyInfoRequest) (rep *supplyinfo.UpdateSupplyInfoRespond, err error) { + fmt.Println("第一处") + if rep, err = a.SupplyLogic.UpdateSupplyInfo(req); err != nil { + return nil, err + } + return rep, nil +} + +func (a *SupplyProvider) GetVideoList(ctx context.Context, req *supplyinfo.GetVideoListRequest) (rep *supplyinfo.GetVideoListRespond, err error) { + fmt.Println("第一处") + if rep, err = a.SupplyLogic.GetVideoList(req); err != nil { + return nil, err + } + return rep, nil +} + +func (a *SupplyProvider) GetVideo(ctx context.Context, req *supplyinfo.GetVideoRequest) (rep *supplyinfo.GetVideoListData, err error) { + fmt.Println("第一处") + if rep, err = a.SupplyLogic.GetVideo(req); err != nil { + return nil, err + } + return rep, nil +} + +func (a *SupplyProvider) UpdateVideo(ctx context.Context, req *supplyinfo.UpdateVideoRequest) (rep *supplyinfo.UpdateVideoRespond, err error) { + fmt.Println("第一处") + if rep, err = a.SupplyLogic.UpdateVideo(req); err != nil { + return nil, err + } + return rep, nil +} + +func (a *SupplyProvider) GetExam(ctx context.Context, req *supplyinfo.GetExamRequest) (rep *supplyinfo.GetExamListData, err error) { + fmt.Println("第一处") + if rep, err = a.SupplyLogic.GetExam(req); err != nil { + return nil, err + } + return rep, nil +} + +func (a *SupplyProvider) GetExamList(ctx context.Context, req *supplyinfo.GetExamListRequest) (rep *supplyinfo.GetExamListRespond, err error) { + fmt.Println("第一处") + if rep, err = a.SupplyLogic.GetExamList(req); err != nil { + return nil, err + } + return rep, nil +} + +func (a *SupplyProvider) UpdateExam(ctx context.Context, req *supplyinfo.UpdateExamRequest) (rep *supplyinfo.UpdateExamRespond, err error) { + fmt.Println("第一处") + if rep, err = a.SupplyLogic.UpdateExam(req); err != nil { + return nil, err + } + return rep, nil +} + +func (a *SupplyProvider) GetArtistInfoList(ctx context.Context, req *supplyinfo.GetArtistInfoListRequest) (rep *supplyinfo.GetArtistInfoListRespond, err error) { + fmt.Println("第一处") + if rep, err = a.SupplyLogic.GetArtistInfoList(req); err != nil { + return nil, err + } + return rep, nil +} + +func (a *SupplyProvider) GetArtistInfo(ctx context.Context, req *supplyinfo.GetArtistInfoRequest) (rep *supplyinfo.GetArtistInfoListData, err error) { + fmt.Println("第一处") + if rep, err = a.SupplyLogic.GetArtistInfo(req); err != nil { + return nil, err + } + return rep, nil +} + +func (a *SupplyProvider) UpdateArtistInfo(ctx context.Context, req *supplyinfo.UpdateArtistInfoRequest) (rep *supplyinfo.UpdateArtistInfoRespond, err error) { + fmt.Println("第一处") + if rep, err = a.SupplyLogic.UpdateArtistInfo(req); err != nil { + return nil, err + } + return rep, nil +} diff --git a/cmd/internal/dao/artistInfo.go b/cmd/internal/dao/artistInfo.go new file mode 100644 index 0000000..5419897 --- /dev/null +++ b/cmd/internal/dao/artistInfo.go @@ -0,0 +1,427 @@ +package dao + +import ( + "errors" + + "github.com/fonchain-artistserver/cmd/model" + "github.com/fonchain-artistserver/pb/artistinfo" + db "github.com/fonchain-artistserver/pkg/db" + "github.com/fonchain-artistserver/pkg/m" + "go.uber.org/zap" +) + +func RegisterUser(req *artistinfo.RegisterUserRequest) (rep *artistinfo.RegisterUserRespond, err error) { + + var user model.User + user.TelNum = req.TelNum + user.MgmtArtistId = req.MgmtArtistId + if err := db.DB.Create(&user).Error; err != nil { + zap.L().Error("register user err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return nil, err + } + return +} + +func GetUser(req *artistinfo.GetUserRequest) (rep *artistinfo.GetUserRespond, err error) { + rep = &artistinfo.GetUserRespond{} + // service := &artist.UserUpdateInfoService{} + var user model.User + if err = db.DB.First(&user, "telnum = ?", req.TelNum).Error; err != nil { + zap.L().Error("get user info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return nil, err + } + // rep. + rep.Id = user.ID + rep.MgmtUserId = user.MgmtUserId + rep.MgmtArtistId = user.MgmtArtistId + rep.TelNum = user.TelNum + rep.IsFdd = user.IsFdd + rep.IsRealName = user.IsRealName + rep.Ruler = user.Ruler + // service.QrCodeImg = fmt.Sprintf("https://cdn.fontree.cn/artistmgmt/static/qrcode/%v.png", user.InvitedCode) + + // service.QrCodeImgDownload = fmt.Sprintf("https://cdn.fontree.cn/artistmgmt/static/qrcode/%v-2.png", user.InvitedCode) + // rep.Data = service + return rep, nil +} + +func GetUserById(req *artistinfo.GetUserByIdRequest) (rep *artistinfo.GetUserByIdRespond, err error) { + rep = &artistinfo.GetUserByIdRespond{} + // service := &artist.UserUpdateInfoService{} + var user model.User + if err = db.DB.First(&user, "id = ?", req.Id).Error; err != nil { + zap.L().Error("get user info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return nil, err + } + // rep. + rep.Id = user.ID + rep.MgmtUserId = user.MgmtUserId + rep.MgmtArtistId = user.MgmtArtistId + rep.TelNum = user.TelNum + rep.IsFdd = user.IsFdd + rep.IsRealName = user.IsRealName + rep.Ruler = user.Ruler + return rep, nil +} +func UpdateRealName(req *artistinfo.UpdateRealNameRequest) (rep *artistinfo.UpdateRealNameRespond, err error) { + + var user model.User + user.ID = req.Id + if err = db.DB.Model(&user).Update("isrealname", 1).Error; err != nil { + zap.L().Error("get user info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return nil, err + } + return rep, nil + +} +func FinishVerify(req *artistinfo.FinishVerifyRequest) (rep *artistinfo.FinishVerifyRespond, err error) { + var user model.User + user.ID = req.Id + if err = db.DB.Model(&user).Update("isfdd", 2).Error; err != nil { + zap.L().Error("get user info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return nil, err + } + return rep, nil +} + +// // Update 用户修改信息 +// func Create(reqs *artist.CreateUserInfoRequest) (rep *artist.CreateUserInfoRespond, err error) { +// req := reqs.Data +// rep = &artist.CreateUserInfoRespond{} +// data := &artist.User{} +// // user := rep.User +// var user model.User +// // user := rep.User +// if err = db.DB.First(&user, "id = ?", int32(reqs.Id)).Error; err != nil { +// //数据库操作异常 +// zap.L().Error("get user info err", zap.Error(err)) +// err = errors.New(m.ERROR_SELECT) +// return nil, err +// } + +// var realNameFind model.RealName +// if err = db.DB.First(&realNameFind, "id_num = ?", req.IdCard).Error; err != nil { +// zap.L().Error("get realName info err", zap.Error(err)) +// err = errors.New(m.ERROR_SELECT) +// return nil, err +// } else { +// if realNameFind.ID != 0 { +// return nil, errors.New(m.ERROR_ALREADY_AUTH) +// } +// } + +// var realname = model.RealName{ +// Name: req.RealName, +// IDNum: req.IdCard, +// TelNum: req.TelNum, +// IdcardFront: req.IdCardFront, +// IdcardBack: req.IdCardBack, +// } +// if err = db.DB.Save(&realname).Error; err != nil { +// zap.L().Error("save realName info err", zap.Error(err)) +// err = errors.New(m.SAVE_ERROR) +// return nil, err +// } + +// if err = db.DB.First(&realname, "id_num=?", realname.IDNum).Error; err != nil { +// zap.L().Error("get realName info err", zap.Error(err)) +// err = errors.New(m.ERROR_SELECT) +// return nil, err +// } + +// // user.ID = int32(reqs.Id) +// user.Name = req.RealName +// user.PenName = req.PenName +// user.RealNameID = int32(realname.ID) +// user.StageName = req.StageName +// user.Age = int32(util.IdCardTurnAge(realname.IDNum)) +// user.Sex = int32(req.Sex) +// user.JoinAssoTime = req.JoinAssoTime +// user.CertificateNum = req.CertificateNum +// conAddessByte, err := json.Marshal(req.ConAddress) +// if err != nil { +// zap.L().Error("conAddress marshal err", zap.Error(err)) +// err = errors.New(m.ERROR_MARSHAL) +// return nil, err +// } + +// user.ConAddress = string(conAddessByte) +// user.CreateAt = time.Now().Unix() +// user.Photo = req.Photo +// user.WxAccount = req.WxAccount +// user.CertificateImg = req.CertificateImg +// user.Video = req.Video +// // user.IsRealName = true +// var invite model.Invite +// if err = db.DB.Where("user_id = ?", user.ID).First(&invite).Error; err != nil { +// zap.L().Error("get invite info err", zap.Error(err)) +// if err.Error() == "record not found" { +// } else { +// err = errors.New(m.SAVE_ERROR) +// return nil, err +// } +// } + +// if invite.ID == 0 { +// res, err := CheckInvitedCode(req.InvitedCode) +// if err != nil { +// Createinvite(user.ID, res.ID) +// } +// } +// user.ID = int32(reqs.Id) +// if err = db.DB.Save(user).Error; err != nil { +// zap.L().Error("save user info err", zap.Error(err)) +// err = errors.New(m.SAVE_ERROR) +// return nil, err +// } + +// copyOpt := util.CopyOption{ +// Src: &user, +// Dst: data, +// } +// util.CopyStructSuper(copyOpt) +// rep.User = data +// return rep, nil +// } + +// // Get 用户修改信息 +// func GetUserInfoSelf(id int64) (rep *model.UserUpdateInfoService, err error) { +// rep = &model.UserUpdateInfoService{} +// var user model.User +// if err = db.DB.First(&user, "id = ?", int32(id)).Error; err != nil { +// zap.L().Error("get user info err", zap.Error(err)) +// err = errors.New(m.ERROR_SELECT) +// return +// } + +// var realName model.RealName +// if err = db.DB.First(&realName, "id = ?", user.RealNameID).Error; err != nil { +// zap.L().Error("get realName info err", zap.Error(err)) +// err = errors.New(m.ERROR_SELECT) +// return +// } + +// var artworkList []model.Artwork +// if err = db.DB.Where("artist_id = ? ", uint(id)).Find(&artworkList).Error; err != nil { +// zap.L().Error("get artworkList info err", zap.Error(err)) +// err = errors.New(m.ERROR_SELECT) +// return +// } + +// for _, v := range artworkList { +// if v.State == 3 { +// rep.Ruler = rep.Ruler + int32(v.Ruler) +// } +// } + +// rep.TelNum = user.TelNum +// rep.CertificateNum = user.CertificateNum +// if user.CertificateImg != "" { +// rep.CertificateImg = fmt.Sprintf("%v?v=%d", user.CertificateImg, user.UpdatedAt.Unix()) +// } +// rep.RealName = realName.Name +// rep.PenName = user.PenName +// rep.Age = int32(util.IdCardTurnAge(realName.IDNum)) + +// rep.IdCard = realName.IDNum +// rep.StageName = user.StageName +// rep.WxAccount = user.WxAccount +// rep.JoinAssoTime = user.JoinAssoTime +// rep.IdCardFront = fmt.Sprintf("%v?v=%d", realName.IdcardFront, realName.UpdatedAt.Unix()) +// rep.IdCardBack = fmt.Sprintf("%v?v=%d", realName.IdcardBack, realName.UpdatedAt.Unix()) +// var conAddressArr []string +// err = json.Unmarshal([]byte(user.ConAddress), &conAddressArr) +// if err != nil { +// zap.L().Error("conAddressArr unmarshal err", zap.Error(err)) +// err = errors.New(m.ERROR_UNMARSHAL) +// return nil, err +// } +// rep.ConAddress = conAddressArr +// rep.InvitedCode = user.InvitedCode + +// var invited model.Invite +// if err = db.DB.Where("user_id=?", user.ID).First(&invited).Error; err != nil { +// zap.L().Error("get invited info err", zap.Error(err)) +// err = errors.New(m.ERROR_SELECT) +// return +// } + +// var invitedUser model.User +// if err = db.DB.Where("id=?", invited.InvitedId).First(&invitedUser).Error; err != nil { +// zap.L().Error("get invitedUser info err", zap.Error(err)) +// err = errors.New(m.ERROR_UNMARSHAL) +// return +// } +// rep.InvitedName = invitedUser.Name +// rep.Sex = user.Sex +// rep.FddState = user.FddState +// rep.CustomerId = user.CustomerId +// rep.Photo = fmt.Sprintf("%v?v=%d", user.Photo, user.UpdatedAt.Unix()) +// if user.Video != "" { +// rep.Video = fmt.Sprintf("%v?v=%d", user.Video, user.UpdatedAt.Unix()) +// } +// rep.QrCodeImg = fmt.Sprintf("https://cdn.fontree.cn/artistmgmt/static/qrcode/%v.png", user.InvitedCode) +// rep.QrCodeImgDownload = fmt.Sprintf("https://cdn.fontree.cn/artistmgmt/static/qrcode/%v-2.png", user.InvitedCode) + +// return rep, nil +// } + +// func Update(req *artist.UpdateUserInfoRequest) (rep *artist.UpdateUserInfoRespond, err error) { +// rep = &artist.UpdateUserInfoRespond{} +// data := &artist.User{} +// var user model.User +// if err = db.DB.First(&user, "id = ?", int32(req.Id)).Error; err != nil { +// zap.L().Error("get user info err", zap.Error(err)) +// err = errors.New(m.ERROR_SELECT) +// return +// } +// user.PenName = req.Data.PenName +// user.Photo = req.Data.Photo +// user.Video = req.Data.Video +// user.CertificateImg = req.Data.CertificateImg +// conAddessByte, err := json.Marshal(req.Data.ConAddress) +// if err != nil { +// zap.L().Error("conAddress marshal err", zap.Error(err)) +// err = errors.New(m.ERROR_MARSHAL) +// return nil, err +// } +// user.ConAddress = string(conAddessByte) +// user.WxAccount = req.Data.WxAccount +// user.CertificateNum = req.Data.CertificateNum +// if err = db.DB.Save(&user).Error; err != nil { +// zap.L().Error("save user info err", zap.Error(err)) +// err = errors.New(m.SAVE_ERROR) +// return +// } + +// var realName model.RealName +// if err = db.DB.First(&realName, "id = ?", user.RealNameID).Error; err != nil { +// zap.L().Error("get RealName info err", zap.Error(err)) +// err = errors.New(m.ERROR_SELECT) +// return +// } + +// realName.IdcardBack = req.Data.IdCardBack +// realName.IdcardFront = req.Data.IdCardFront +// if err = db.DB.Save(&realName).Error; err != nil { +// zap.L().Error("save realName info err", zap.Error(err)) +// err = errors.New(m.SAVE_ERROR) +// return +// } +// copyOpt := util.CopyOption{ +// Src: &user, +// Dst: data, +// } +// util.CopyStructSuper(copyOpt) +// rep.User = data +// return +// } + +// func UpdateTel(req *artist.UserUpdateTelRequest) (rep *artist.UserUpdateTelRespond, err error) { +// rep = &artist.UserUpdateTelRespond{} +// var user model.User +// if err = db.DB.First(&user, int32(req.Id)).Error; err != nil { +// zap.L().Error("get user info err", zap.Error(err)) +// err = errors.New(m.ERROR_SELECT) +// return +// } +// str := cache.RedisClient.Get(req.TelNum) +// verCode := str.Val() +// if verCode != req.VerCode { +// zap.L().Error("verCode err", zap.Error(err)) +// err = errors.New(m.ERRORCODE) +// return +// } +// if user.TelNum == req.TelNum { +// zap.L().Error("TelNum err", zap.Error(err)) +// err = errors.New(m.ERROT_SAME_TEL) +// return +// } +// user.TelNum = req.TelNum +// if err = db.DB.Save(&user).Error; err != nil { +// zap.L().Error("save user info err", zap.Error(err)) +// err = errors.New(m.SAVE_ERROR) +// return +// } +// rep.TelNum = user.TelNum +// return +// } + +// func UpdateMsg(req *artist.UserUpdateMsgRequest) (rep *artist.UserUpdateMsgRespond, err error) { +// var user model.User +// user.IsRealName = true +// user.ID = int32(req.Id) +// if err = db.DB.Model(&user).Update("is_read", 1).Error; err != nil { +// zap.L().Error("user update failed", zap.Error(err)) +// err = errors.New(m.UPDATE_FAILED) +// return +// } +// return +// } + +// func VerifyFdd(req *artist.VerifyfddRequest) (rep *artist.VerifyfddRespond, err error) { +// rep = &artist.VerifyfddRespond{} +// var user model.User +// if err = db.DB.Where("id = ?", int32(req.Id)).First(&user).Error; err != nil { +// zap.L().Error("get user info err", zap.Error(err)) +// err = errors.New(m.ERROR_SELECT) +// return +// } +// if user.FddState != 2 { +// return +// } +// rep.Ready = true +// return +// } + +// func FinishVerify(req *artist.FinishVerifyRequest) (rep *artist.FinishVerifyRespond, err error) { +// rep = &artist.FinishVerifyRespond{} +// data := &artist.User{} +// var user model.User +// user.ID = int32(req.Id) +// if err = db.DB.Model(&user).Update("fdd_state", 2).Error; err != nil { +// zap.L().Error("user update failed", zap.Error(err)) +// err = errors.New(m.UPDATE_FAILED) +// return +// } +// copyOpt := util.CopyOption{ +// Src: &user, +// Dst: data, +// } +// util.CopyStructSuper(copyOpt) +// rep.User = data +// return +// } + +// func CheckInvitedCode(invitedCode string) (user *model.User, err error) { +// user = &model.User{} +// //找到用户 +// if err := db.DB.Where("invited_code =?", invitedCode).Find(user).Error; err != nil { +// zap.L().Error("get user info err", zap.Error(err)) +// err = errors.New(m.ERROR_SELECT) +// return nil, err +// } +// if user.ID == 0 { +// err = errors.New(m.INVITE_CODE_INVALID) +// return nil, err +// } +// return user, nil +// } + +// func Createinvite(userId, invitedId int32) (invite *model.Invite, err error) { +// invite = &model.Invite{} +// invite.UserId = userId +// invite.InvitedId = invitedId +// if err := db.DB.Create(&invite).Error; err != nil { +// zap.L().Error("create invite info err", zap.Error(err)) +// err = errors.New(m.CREATE_ERROR) +// return nil, err +// } +// return invite, nil + +// } diff --git a/cmd/internal/dao/artwork.go b/cmd/internal/dao/artwork.go new file mode 100644 index 0000000..0d7ffd0 --- /dev/null +++ b/cmd/internal/dao/artwork.go @@ -0,0 +1,194 @@ +package dao + +import ( + "encoding/json" + "errors" + + "github.com/fonchain-artistserver/cmd/model" + "github.com/fonchain-artistserver/pb/artwork" + db "github.com/fonchain-artistserver/pkg/db" + "github.com/fonchain-artistserver/pkg/m" + "go.uber.org/zap" +) + +func ArtworkAdd(res *artwork.ArtworkAddRequest) (req *artwork.ArtworkAddRespond, err error) { + CreataAddByte, err := json.Marshal(res.CreateAddress) + if err != nil { + zap.L().Error("marshal createAddress failed", zap.Error(err)) + err = errors.New(m.ERROR_MARSHAL) + return + } + artwork := &model.Artwork{ + ArtistId: int32(res.ArtistId), + Name: res.Name, + ModelYear: res.ModelYear, + Photo: res.Photo, + ArtistPhoto: res.ArtistPhoto, + CreateAddress: string(CreataAddByte), + Width: int32(res.Width), + AgeOfCreation: res.AgeOfCreation, + Height: int32(res.Height), + Ruler: int32(res.Ruler), + Introduct: res.Introduct, + NetworkTrace: res.NetworkTrace, + Url: res.Url, + State: int32(res.State), + } + + if err = db.DB.Create(&artwork).Error; err != nil { + zap.L().Error("create artwork info err", zap.Error(err)) + err = errors.New(m.CREATE_ERROR) + return + } + + return +} + +func CheckUserLock(id int64) (err error) { + var user model.User + if err = db.DB.Where("id = ? ", id).First(&user).Error; err != nil { + zap.L().Error("get user info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return + } + + if user.IsLock { + zap.L().Error("user is lock") + return errors.New(m.ERROR_ISLOCK) + } + + return +} + +func UpdateArtwork(data *artwork.UpdateArtworkRequest) (err error) { + var artwork model.Artwork + artwork.ID = int32(data.ID) + if err = db.DB.First(&artwork).Error; err != nil { + zap.L().Error("get artwork info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return + } + + CreataAddByte, _ := json.Marshal(data.CreateAddress) + artwork.ID = int32(data.ID) + artwork.ArtistId = int32(data.ArtistId) + artwork.Name = data.Name + artwork.ModelYear = data.ModelYear + artwork.Photo = data.Photo + artwork.ArtistPhoto = data.ArtistPhoto + artwork.Width = int32(data.Width) + artwork.AgeOfCreation = data.AgeOfCreation + artwork.CreateAddress = string(CreataAddByte) + artwork.Height = int32(data.Height) + artwork.Ruler = int32(data.Ruler) + artwork.Introduct = data.Introduct + artwork.NetworkTrace = data.NetworkTrace + artwork.Url = data.Url + artwork.State = 1 + + if err = db.DB.Save(&artwork).Error; err != nil { + zap.L().Error("save artwork info err", zap.Error(err)) + err = errors.New(m.SAVE_ERROR) + return + } + + return +} + +func DelArtwork(id int32) (err error) { + if err = db.DB.Where("id = ?", id).Delete(&model.Artwork{}).Error; err != nil { + zap.L().Error("delete artwork info err", zap.Error(err)) + err = errors.New(m.ERROR_DELETE) + return + } + + return +} + +func GetArtworkList(req *artwork.GetArtworkListRequest) (rep *artwork.GetArtworkListRespond, err error) { + rep = &artwork.GetArtworkListRespond{} + var datas []*artwork.UpdateArtworkRequest + + var artworkList []model.Artwork + //找到用户 + if err = db.DB.Order("created_at desc").Where("artist_id = ?", req.ID).Find(&artworkList).Error; err != nil { + zap.L().Error("get artwork info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return + } + for k, v := range artworkList { + artworkList[k].CreateTime = v.CreatedAt.Format("2006-01-02") + var data artwork.UpdateArtworkRequest + var createAddressByte []string + json.Unmarshal([]byte(artworkList[k].CreateAddress), &createAddressByte) + data.ID = uint64(artworkList[k].ID) + data.ArtistId = uint64(artworkList[k].ArtistId) + data.Name = artworkList[k].Name + data.ModelYear = artworkList[k].ModelYear + data.Photo = artworkList[k].Photo + data.ArtistPhoto = artworkList[k].ArtistPhoto + data.Width = uint64(artworkList[k].Width) + data.CreateAddress = createAddressByte + data.Height = uint64(artworkList[k].Height) + data.Ruler = uint64(artworkList[k].Ruler) + data.Introduct = artworkList[k].Introduct + data.AgeOfCreation = artworkList[k].AgeOfCreation + data.CreateAt = artworkList[k].CreateTime + data.NetworkTrace = artworkList[k].NetworkTrace + data.Url = artworkList[k].Url + data.State = uint64(artworkList[k].State) + datas = append(datas, &data) + } + rep.Data = datas + return +} + +func GetArtwork(id int32) (rep *artwork.GetArtworkRespond, err error) { + rep = &artwork.GetArtworkRespond{} + + var artworkRes model.Artwork + if err = db.DB.Find(&artworkRes, "id = ? and deleted_at is null", id).Error; err != nil { + zap.L().Error("get artwork info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return + } + + artworkRes.CreateTime = artworkRes.CreatedAt.Format("2006-01-02") + var createAddressByte []string + json.Unmarshal([]byte(artworkRes.CreateAddress), &createAddressByte) + rep.ID = uint64(artworkRes.ID) + rep.ArtistId = uint64(artworkRes.ArtistId) + rep.Name = artworkRes.Name + rep.ModelYear = artworkRes.ModelYear + rep.Photo = artworkRes.Photo + rep.ArtistPhoto = artworkRes.ArtistPhoto + rep.Width = uint64(artworkRes.Width) + rep.CreateAddress = createAddressByte + rep.Height = uint64(artworkRes.Height) + rep.Ruler = uint64(artworkRes.Ruler) + rep.Introduct = artworkRes.Introduct + rep.AgeOfCreation = artworkRes.AgeOfCreation + rep.CreateAt = artworkRes.CreateTime + rep.NetworkTrace = artworkRes.NetworkTrace + rep.Url = artworkRes.Url + rep.State = uint64(artworkRes.State) + return +} + +func UploadArtwork(Id uint64) (err error) { + var artwork model.Artwork + if err = db.DB.First(&artwork, "id = ?", Id).Error; err != nil { + zap.L().Error("get artwork info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return + } + + artwork.State = 1 + + if err = db.DB.Save(&artwork).Error; err != nil { + zap.L().Error("save artwork info err", zap.Error(err)) + err = errors.New(m.SAVE_ERROR) + return + } + return +} diff --git a/cmd/internal/dao/contract.go b/cmd/internal/dao/contract.go new file mode 100644 index 0000000..434a287 --- /dev/null +++ b/cmd/internal/dao/contract.go @@ -0,0 +1,195 @@ +package dao + +import ( + "errors" + "time" + + "github.com/fonchain-artistserver/cmd/model" + "github.com/fonchain-artistserver/pb/contract" + db "github.com/fonchain-artistserver/pkg/db" + "github.com/fonchain-artistserver/pkg/m" + "go.uber.org/zap" +) + +func FinishContract(id string) (err error) { + var contracts model.Contract + if err = db.DB.Where("transaction_id = ?", id).First(&contracts).Error; err != nil { + zap.L().Error("get contract info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return + } + + if err = db.DB.Model(&contracts).Update("state", 3).Error; err != nil { + zap.L().Error("user contract failed", zap.Error(err)) + err = errors.New(m.UPDATE_FAILED) + return + } + + return +} + +func ContractList(req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) { + rep = &contract.ContractListRespond{} + var Data []*contract.ContractData + + var user model.User + if err = db.DB.Where("id = ? ", int32(req.ID)).First(&user).Error; err != nil { + zap.L().Error("get user info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return + } + + var realName model.RealName + if err = db.DB.Where("id = ? ", user.RealNameID).First(&realName).Error; err != nil { + zap.L().Error("get realName info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return + } + + var args []interface{} + var sqlWhere = "user_id = ? and type !=4 " + args = append(args, req.ID) + + if req.State != 0 { + sqlWhere += " and state = ? " + if req.State == 2 { + req.State = 3 + } + args = append(args, req.State) + } + + var contractModel []model.Contract + if err = db.DB.Where(sqlWhere, args...).Find(&contractModel).Error; err != nil { + zap.L().Error("get contractModels info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return + } + + for _, v := range contractModel { + contract := &contract.ContractData{} + contract.ID = uint64(v.ID) + contract.ContractId = v.ContractId + contract.DownloadUrl = v.DownloadUrl + contract.MgmtUserId = v.MgmtUserId + contract.State = int64(v.State) + contract.TransactionId = v.TransactionId + contract.Type = int64(v.Type) + contract.UserId = int64(v.UserId) + contract.ViewUrl = v.ViewUrl + contract.ExpirationTime = v.CreatedAt.Add(86400 * time.Second).Format("2006-01-02 15:04:05") + contract.SignTime = v.UpdatedAt.Format("2006-01-02") + Data = append(Data, contract) + } + + rep.Data = Data + + return +} + +func ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) { + rep = &contract.ContractTxListRespond{} + var Data []*contract.ContractData + + var user model.User + if err = db.DB.Where("id = ? ", int32(req.ID)).First(&user).Error; err != nil { + zap.L().Error("get user info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return + } + + var realName model.RealName + if err = db.DB.Where("id = ? ", user.RealNameID).First(&realName).Error; err != nil { + zap.L().Error("get realName info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return + } + + var args []interface{} + var sqlWhere = " card_id = ? and (type = 4 or type = 7) " + args = append(args, realName.IDNum) + if req.State != 0 { + sqlWhere += " and state = ? " + args = append(args, req.State) + } + + var contractModel []model.Contract + if err = db.DB.Where(sqlWhere, args...).Find(&contractModel).Error; err != nil { + zap.L().Error("get contractModels info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return + } + + for _, v := range contractModel { + contractTmp := &contract.ContractData{} + contractTmp.ID = uint64(v.ID) + contractTmp.ContractId = v.ContractId + contractTmp.DownloadUrl = v.DownloadUrl + contractTmp.MgmtUserId = v.MgmtUserId + contractTmp.State = int64(v.State) + contractTmp.TransactionId = v.TransactionId + contractTmp.Type = int64(v.Type) + var b string + if v.Type == 4 { + b = "物权" + } + if v.Type == 7 { + b = "版权" + } + contractTmp.BatchName = b + v.BatchName[0:4] + "年" + v.BatchName[4:6] + "月" + v.BatchName[6:11] + "年" + v.BatchName[11:13] + "月" + contractTmp.UserId = int64(v.UserId) + contractTmp.ViewUrl = v.ViewUrl + contractTmp.ExpirationTime = v.CreatedAt.Add(86400 * time.Second).Format("2006-01-02 15:04:05") + contractTmp.SignTime = v.UpdatedAt.Format("2006-01-02") + Data = append(Data, contractTmp) + } + + rep.Data = Data + + return +} + +func GetContract(id int32) (rep *contract.ContractData, err error) { + var con model.Contract + if err = db.DB.Where("id = ? ", id).First(&con).Error; err != nil { + zap.L().Error("get contract info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return + } + rep.ID = uint64(con.ID) + rep.UserId = int64(con.UserId) + rep.CardId = con.CardId + rep.MgmtUserId = con.MgmtUserId + rep.ArtworkId = con.ArtworkId + rep.ContractId = con.ContractId + rep.TransactionId = con.TransactionId + rep.Type = int64(con.Type) + rep.BatchName = con.BatchName + rep.ViewUrl = con.ViewUrl + rep.DownloadUrl = con.DownloadUrl + rep.State = int64(con.State) + + return +} + +// 更新交易id +func UpdateContract(req *contract.UpdateContractRequest) error { + //数据库操作异常 + var con model.Contract + if err := db.DB.Model(&con).Updates(&model.Contract{ContractId: req.ContractId, ViewUrl: req.ViewUrl, DownloadUrl: req.DownloadUrl}).Error; err != nil { + return err + } + return nil +} + +// 更新交易id +func UpdateContractTx(txId string, contractId int32) (err error) { + var con model.Contract + con.ID = contractId + if err = db.DB.Model(&con).Update("transaction_id", txId).Error; err != nil { + return + } + if err = db.DB.Model(&con).Update("state", 1).Error; err != nil { + return + } + return +} diff --git a/cmd/internal/dao/supply.go b/cmd/internal/dao/supply.go new file mode 100644 index 0000000..990904f --- /dev/null +++ b/cmd/internal/dao/supply.go @@ -0,0 +1,398 @@ +package dao + +import ( + "encoding/json" + "errors" + + "github.com/fonchain-artistserver/cmd/model" + "github.com/fonchain-artistserver/pb/supplyinfo" + db "github.com/fonchain-artistserver/pkg/db" + "github.com/fonchain-artistserver/pkg/m" + "go.uber.org/zap" +) + +func GetSupplyInfoList(id, num int32) (rep *supplyinfo.GetSupplyInfoListRespond, err error) { + rep = &supplyinfo.GetSupplyInfoListRespond{} + var datas []*supplyinfo.GetSupplyInfoData + + var supplyInfoList []model.SupplyInfo + if err := db.DB.Where("user_id = ? and types <= ?", id, num).Find(&supplyInfoList).Error; err != nil { + zap.L().Error("get supplyInfo infos err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return nil, err + } + + for i, v := range supplyInfoList { + supplyInfoList[i].CreateTime = v.CreatedAt.Format("2006-01-02") + data := &supplyinfo.GetSupplyInfoData{} + data.ID = uint64(supplyInfoList[i].ID) + data.ArtworkId = supplyInfoList[i].ArtworkId + data.ArtistId = supplyInfoList[i].ArtistId + data.UserId = uint64(supplyInfoList[i].UserId) + data.Name = supplyInfoList[i].Name + data.ModelYear = supplyInfoList[i].ModelYear + data.Photo = supplyInfoList[i].Photo + data.ArtistPhoto = supplyInfoList[i].ArtistPhoto + data.Width = uint64(supplyInfoList[i].Width) + data.Height = uint64(supplyInfoList[i].Height) + data.Ruler = uint64(supplyInfoList[i].Ruler) + data.ExhibitInfo = supplyInfoList[i].ExhibitInfo + data.ExhibitPic1 = supplyInfoList[i].ExhibitPic1 + data.ExhibitPic2 = supplyInfoList[i].ExhibitPic2 + data.CreateTime = supplyInfoList[i].CreateTime + data.Introduct = supplyInfoList[i].Introduct + data.NetworkTrace = supplyInfoList[i].NetworkTrace + data.CreateAddress = supplyInfoList[i].CreateAddress + data.Url = supplyInfoList[i].Url + data.Types = supplyInfoList[i].Types + data.Remark = supplyInfoList[i].Remark + data.Remark2 = supplyInfoList[i].Remark2 + data.Enable = supplyInfoList[i].Enable + datas = append(datas, data) + } + rep.Data = datas + + return +} + +func GetSupplyInfo(req *supplyinfo.GetSupplyInfoRequest) (rep *supplyinfo.GetSupplyInfoData, err error) { + rep = &supplyinfo.GetSupplyInfoData{} + + var supplyInfoTmp model.SupplyInfo + if err := db.DB.Where("id = ?", req.Id).Find(&supplyInfoTmp).Error; err != nil { + zap.L().Error("get supplyInfo infos err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return nil, err + } + rep.ID = uint64(supplyInfoTmp.ID) + rep.ArtworkId = supplyInfoTmp.ArtworkId + rep.ArtistId = supplyInfoTmp.ArtistId + rep.UserId = uint64(supplyInfoTmp.UserId) + rep.Name = supplyInfoTmp.Name + rep.ModelYear = supplyInfoTmp.ModelYear + rep.Photo = supplyInfoTmp.Photo + rep.ArtistPhoto = supplyInfoTmp.ArtistPhoto + rep.Width = uint64(supplyInfoTmp.Width) + rep.Height = uint64(supplyInfoTmp.Height) + rep.Ruler = uint64(supplyInfoTmp.Ruler) + rep.ExhibitInfo = supplyInfoTmp.ExhibitInfo + rep.ExhibitPic1 = supplyInfoTmp.ExhibitPic1 + rep.ExhibitPic2 = supplyInfoTmp.ExhibitPic2 + rep.CreateTime = supplyInfoTmp.CreateTime + rep.Introduct = supplyInfoTmp.Introduct + rep.NetworkTrace = supplyInfoTmp.NetworkTrace + rep.CreateAddress = supplyInfoTmp.CreateAddress + rep.Url = supplyInfoTmp.Url + rep.Types = supplyInfoTmp.Types + rep.Remark = supplyInfoTmp.Remark + rep.Remark2 = supplyInfoTmp.Remark2 + rep.Enable = supplyInfoTmp.Enable + + return +} + +func UpdateSupplyInfo(req *supplyinfo.UpdateSupplyInfoRequest) (rep *supplyinfo.UpdateSupplyInfoRespond, err error) { + var SupplyInfo model.SupplyInfo + if err := db.DB.Where("id = ? ", req.ID).Find(&SupplyInfo).Error; err != nil { + zap.L().Error("get supplyInfo info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return nil, err + } + + SupplyInfo.CreateTime = req.CreateTime + SupplyInfo.ModelYear = req.ModelYear + SupplyInfo.NetworkTrace = req.NetworkTrace + SupplyInfo.Url = req.Url + SupplyInfo.Introduct = req.Introduct + SupplyInfo.Types = req.Types + SupplyInfo.ExhibitInfo = req.ExhibitInfo + SupplyInfo.ExhibitPic1 = req.ExhibitPic1 + SupplyInfo.ExhibitPic2 = req.ExhibitPic2 + + if err = db.DB.Save(&SupplyInfo).Error; err != nil { + zap.L().Error("save supplyInfo info err", zap.Error(err)) + err = errors.New(m.SAVE_ERROR) + return + } + + return +} + +func GetVideoList(id int32) (rep *supplyinfo.GetVideoListRespond, err error) { + rep = &supplyinfo.GetVideoListRespond{} + var datas []*supplyinfo.GetVideoListData + + var ExhVideo []model.ExhVideo + if err := db.DB.Where("user_id = ? and types <=4", id).Find(&ExhVideo).Error; err != nil { + zap.L().Error("get exhVideo infos err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return nil, err + } + + for _, v := range ExhVideo { + var data supplyinfo.GetVideoListData + data.ID = uint64(v.ID) + data.UserId = uint64(v.UserId) + data.Url = v.Url + data.Types = v.Types + data.Remark = v.Remark + data.Remark2 = v.Remark2 + data.Enable = v.Enable + + datas = append(datas, &data) + } + + rep.Data = datas + + return +} + +func GetVideo(req *supplyinfo.GetVideoRequest) (rep *supplyinfo.GetVideoListData, err error) { + rep = &supplyinfo.GetVideoListData{} + + var ExhVideo model.ExhVideo + if err := db.DB.Where("id = ?", req.ID).First(&ExhVideo).Error; err != nil { + zap.L().Error("get exhVideo info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return nil, err + } + + rep.ID = uint64(ExhVideo.ID) + rep.UserId = uint64(ExhVideo.UserId) + rep.Url = ExhVideo.Url + rep.Types = ExhVideo.Types + rep.Remark = ExhVideo.Remark + rep.Remark2 = ExhVideo.Remark2 + rep.Enable = ExhVideo.Enable + + return +} + +func UpdateVideo(req *supplyinfo.UpdateVideoRequest) (rep *supplyinfo.UpdateVideoRespond, err error) { + rep = &supplyinfo.UpdateVideoRespond{} + + var ExhVideo model.ExhVideo + if err := db.DB.Where("id = ? ", req.ID).First(&ExhVideo).Error; err != nil { + zap.L().Error("get exhVideo info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return nil, err + } + + ExhVideo.Url = req.Url + ExhVideo.Types = req.Types + + if err := db.DB.Save(&ExhVideo).Error; err != nil { + zap.L().Error("save exhVideo info err", zap.Error(err)) + err = errors.New(m.SAVE_ERROR) + return nil, err + } + + return +} + +func GetExam(req *supplyinfo.GetExamRequest) (rep *supplyinfo.GetExamListData, err error) { + rep = &supplyinfo.GetExamListData{} + + var ExhExam model.ExhExam + if err := db.DB.Where("id = ?", req.ID).First(&ExhExam).Error; err != nil { + zap.L().Error("get exhVideo info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return nil, err + } + + rep.ID = uint64(ExhExam.ID) + rep.UserId = uint64(ExhExam.UserId) + rep.Title = ExhExam.Title + rep.Class = ExhExam.Class + rep.TitleScore = uint64(ExhExam.TitleScore) + rep.Score = ExhExam.Score + rep.Types = ExhExam.Types + rep.Remark = ExhExam.Remark + rep.Remark2 = ExhExam.Remark2 + rep.Enable = ExhExam.Enable + return +} + +func GetExamList(req *supplyinfo.GetExamListRequest) (rep *supplyinfo.GetExamListRespond, err error) { + rep = &supplyinfo.GetExamListRespond{} + var datas []*supplyinfo.GetExamListData + + var ExhExam []model.ExhExam + if err := db.DB.Where("user_id = ? and types <=4", req.ID).Find(&ExhExam).Error; err != nil { + zap.L().Error("get exhVideo infos err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return nil, err + } + + for _, v := range ExhExam { + var data supplyinfo.GetExamListData + + data.ID = uint64(v.ID) + data.UserId = uint64(v.UserId) + data.Title = v.Title + data.Class = v.Class + data.TitleScore = uint64(v.TitleScore) + data.Score = v.Score + data.Types = v.Types + data.Remark = v.Remark + data.Remark2 = v.Remark2 + data.Enable = v.Enable + + datas = append(datas, &data) + } + + rep.Data = datas + + return +} + +func UpdateExam(req *supplyinfo.UpdateExamRequest) (rep *supplyinfo.UpdateExamRespond, err error) { + rep = &supplyinfo.UpdateExamRespond{} + + var ExhExam model.ExhExam + if err := db.DB.Where("id = ? ", req.ID).First(&ExhExam).Error; err != nil { + zap.L().Error("get exhVideo info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return nil, err + } + + ExhExam.Score = req.Score + ExhExam.Class = req.Class + ExhExam.Types = req.Types + ExhExam.Title = req.Title + ExhExam.Class = req.Class + ExhExam.TitleScore = uint(req.TitleScore) + ExhExam.Score = req.Score + ExhExam.Types = req.Types + ExhExam.Remark = req.Remark + ExhExam.Remark2 = req.Remark2 + + var score map[string]int32 + var titleScore int32 + + json.Unmarshal([]byte(req.Score), &score) + + for _, v := range score { + titleScore = titleScore + v + } + + ExhExam.TitleScore = uint(titleScore) + + if err = db.DB.Save(&ExhExam).Error; err != nil { + zap.L().Error("save supplyInfo info err", zap.Error(err)) + err = errors.New(m.SAVE_ERROR) + return + } + + if req.Types == "2" { + type titleScore struct { + UserId uint + Score int + } + + var tmp []model.ExhExam + if err = db.DB.Where("class = ?", req.Class).Order("title_score desc").Find(&tmp).Error; err != nil { + zap.L().Error("get exhExam infos err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return nil, err + } + + var ranking int + for k, v := range tmp { + if v.UserId == uint(req.UserId) { + ranking = k + } + } + + percent := (ranking + 1) / len(tmp) * 100 + rep.Percent = int32(percent) + return + } + + return +} + +func GetArtistInfoList(id int32) (rep *supplyinfo.GetArtistInfoListRespond, err error) { + rep = &supplyinfo.GetArtistInfoListRespond{} + var datas []*supplyinfo.GetArtistInfoListData + + var artistInfoTmp []model.ArtistInfo + if err = db.DB.Where("user_id = ? and state <=4 ", id).Find(&artistInfoTmp).Error; err != nil { + zap.L().Error("get artistInfo infos err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return nil, err + } + + for k, v := range artistInfoTmp { + artistInfoTmp[k].Model.ID = uint(v.ID) + data := &supplyinfo.GetArtistInfoListData{} + + data.ID = uint64(artistInfoTmp[k].ID) + data.UserId = uint64(artistInfoTmp[k].UserId) + data.ArtistId = artistInfoTmp[k].ArtistId + data.BankAccount = artistInfoTmp[k].BankAccount + data.BankName = artistInfoTmp[k].BankName + data.Introduct = artistInfoTmp[k].Introduct + data.CountryArtLevel = artistInfoTmp[k].CountryArtLevel + data.ArtistCertPic = artistInfoTmp[k].ArtistCertPic + data.Remark = artistInfoTmp[k].Remark + data.Remark2 = artistInfoTmp[k].Remark2 + data.State = uint64(artistInfoTmp[k].State) + + datas = append(datas, data) + } + + rep.Data = datas + + return +} + +func GetArtistInfo(req *supplyinfo.GetArtistInfoRequest) (rep *supplyinfo.GetArtistInfoListData, err error) { + rep = &supplyinfo.GetArtistInfoListData{} + + var artistInfoTmp model.ArtistInfo + if err := db.DB.Where("id = ?", req.ID).Find(&artistInfoTmp).Error; err != nil { + zap.L().Error("get artistInfo info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return nil, err + } + rep.ID = uint64(artistInfoTmp.ID) + rep.UserId = uint64(artistInfoTmp.UserId) + rep.ArtistId = artistInfoTmp.ArtistId + rep.BankAccount = artistInfoTmp.BankAccount + rep.BankName = artistInfoTmp.BankName + rep.Introduct = artistInfoTmp.Introduct + rep.CountryArtLevel = artistInfoTmp.CountryArtLevel + rep.ArtistCertPic = artistInfoTmp.ArtistCertPic + rep.Remark = artistInfoTmp.Remark + rep.Remark2 = artistInfoTmp.Remark2 + rep.State = uint64(artistInfoTmp.State) + + return +} + +func UpdateArtistInfo(req *supplyinfo.UpdateArtistInfoRequest) (rep *supplyinfo.UpdateArtistInfoRespond, err error) { + rep = &supplyinfo.UpdateArtistInfoRespond{} + + var artistInfoTmp model.ArtistInfo + if err := db.DB.Where("id = ? ", req.ID).Find(&artistInfoTmp).Error; err != nil { + zap.L().Error("get artistInfo info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return nil, err + } + + artistInfoTmp.BankAccount = req.BankAccount + artistInfoTmp.BankName = req.BankName + artistInfoTmp.Introduct = req.Introduct + artistInfoTmp.State = uint(req.State) + artistInfoTmp.CountryArtLevel = req.CountryArtLevel + artistInfoTmp.ArtistCertPic = req.ArtistCertPic + + if err = db.DB.Save(&artistInfoTmp).Error; err != nil { + zap.L().Error("save supplyInfo info err", zap.Error(err)) + err = errors.New(m.SAVE_ERROR) + return + } + + return +} diff --git a/cmd/internal/logic/artistInfo.go b/cmd/internal/logic/artistInfo.go new file mode 100644 index 0000000..f8b41bc --- /dev/null +++ b/cmd/internal/logic/artistInfo.go @@ -0,0 +1,50 @@ +package logic + +import ( + "github.com/fonchain-artistserver/cmd/internal/dao" + "github.com/fonchain-artistserver/pb/artistinfo" +) + +type IArtistInfo interface { + RegisterUser(req *artistinfo.RegisterUserRequest) (rep *artistinfo.RegisterUserRespond, err error) + GetUserById(req *artistinfo.GetUserByIdRequest) (rep *artistinfo.GetUserByIdRespond, err error) + GetUser(req *artistinfo.GetUserRequest) (rep *artistinfo.GetUserRespond, err error) + UpdateRealName(req *artistinfo.UpdateRealNameRequest) (rep *artistinfo.UpdateRealNameRespond, err error) + FinishVerify(req *artistinfo.FinishVerifyRequest) (rep *artistinfo.FinishVerifyRespond, err error) + CheckUserLock(req *artistinfo.CheckUserLockRequest) (rep *artistinfo.CheckUserLockRespond, err error) +} + +func NewArtistInfo() IArtistInfo { + return &ArtistInfo{} +} + +type ArtistInfo struct{} + +func (a *ArtistInfo) GetUser(req *artistinfo.GetUserRequest) (rep *artistinfo.GetUserRespond, err error) { + rep, err = dao.GetUser(req) + return +} +func (a *ArtistInfo) RegisterUser(req *artistinfo.RegisterUserRequest) (rep *artistinfo.RegisterUserRespond, err error) { + rep, err = dao.RegisterUser(req) + return +} + +func (a *ArtistInfo) GetUserById(req *artistinfo.GetUserByIdRequest) (rep *artistinfo.GetUserByIdRespond, err error) { + rep, err = dao.GetUserById(req) + return +} + +func (a *ArtistInfo) UpdateRealName(req *artistinfo.UpdateRealNameRequest) (rep *artistinfo.UpdateRealNameRespond, err error) { + rep, err = dao.UpdateRealName(req) + return +} + +func (a *ArtistInfo) FinishVerify(req *artistinfo.FinishVerifyRequest) (rep *artistinfo.FinishVerifyRespond, err error) { + rep, err = dao.FinishVerify(req) + return +} + +func (a *ArtistInfo) CheckUserLock(req *artistinfo.CheckUserLockRequest) (rep *artistinfo.CheckUserLockRespond, err error) { + err = dao.CheckUserLock(int64(req.ID)) + return +} diff --git a/cmd/internal/logic/artwork.go b/cmd/internal/logic/artwork.go new file mode 100644 index 0000000..a2b207e --- /dev/null +++ b/cmd/internal/logic/artwork.go @@ -0,0 +1,59 @@ +package logic + +import ( + "github.com/fonchain-artistserver/cmd/internal/dao" + "github.com/fonchain-artistserver/pb/artwork" +) + +type IArtWork interface { + ArtworkAdd(req *artwork.ArtworkAddRequest) (rep *artwork.ArtworkAddRespond, err error) + UpdateArtwork(req *artwork.UpdateArtworkRequest) (rep *artwork.UpdateArtworkRespond, err error) + DelArtwork(req *artwork.DelArtworkRequest) (rep *artwork.DelArtworkRespond, err error) + GetArtworkList(req *artwork.GetArtworkListRequest) (rep *artwork.GetArtworkListRespond, err error) + GetArtwork(req *artwork.GetArtworkRequest) (rep *artwork.GetArtworkRespond, err error) + UploadArtwork(req *artwork.UploadArtworkRequest) (rep *artwork.UploadArtworkRespond, err error) +} + +func NewArtWork() IArtWork { + return &ArtWork{} +} + +type ArtWork struct { +} + +func (a *ArtWork) ArtworkAdd(req *artwork.ArtworkAddRequest) (rep *artwork.ArtworkAddRespond, err error) { + rep = &artwork.ArtworkAddRespond{} + _, err = dao.ArtworkAdd(req) + return +} + +func (a *ArtWork) UpdateArtwork(req *artwork.UpdateArtworkRequest) (rep *artwork.UpdateArtworkRespond, err error) { + err = dao.UpdateArtwork(req) + return +} + +func (a *ArtWork) DelArtwork(req *artwork.DelArtworkRequest) (rep *artwork.DelArtworkRespond, err error) { + rep = &artwork.DelArtworkRespond{} + + if err = dao.DelArtwork(int32(req.Id)); err != nil { + return + } + + return +} + +func (a *ArtWork) GetArtworkList(req *artwork.GetArtworkListRequest) (rep *artwork.GetArtworkListRespond, err error) { + rep, err = dao.GetArtworkList(req) + return +} + +func (a *ArtWork) GetArtwork(req *artwork.GetArtworkRequest) (rep *artwork.GetArtworkRespond, err error) { + rep, err = dao.GetArtwork(int32(req.ID)) + return +} + +func (a *ArtWork) UploadArtwork(req *artwork.UploadArtworkRequest) (rep *artwork.UploadArtworkRespond, err error) { + + err = dao.UploadArtwork(req.ID) + return +} diff --git a/cmd/internal/logic/contract.go b/cmd/internal/logic/contract.go new file mode 100644 index 0000000..ef009fc --- /dev/null +++ b/cmd/internal/logic/contract.go @@ -0,0 +1,67 @@ +package logic + +import ( + "github.com/fonchain-artistserver/cmd/internal/dao" + "github.com/fonchain-artistserver/pb/contract" +) + +type IContract interface { + FinishContract(req *contract.FinishContractRequest) (rep *contract.FinishContractRespond, err error) + ContractList(req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) + ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) + UpdateContract(req *contract.UpdateContractRequest) (rep *contract.UpdateContractRespond, err error) + UpdateContractTx(req *contract.UpdateContractTxRequest) (rep *contract.UpdateContractTxRespond, err error) + GetContract(req *contract.GetContractRequest) (rep *contract.ContractData, err error) +} + +func NewContract() IContract { + return &Contract{} +} + +type Contract struct { +} + +func (a *Contract) FinishContract(req *contract.FinishContractRequest) (rep *contract.FinishContractRespond, err error) { + rep = &contract.FinishContractRespond{} + + err = dao.FinishContract(req.TransactionId) + if err != nil { + return nil, err + } + + return +} + +func (a *Contract) ContractList(req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) { + + rep, err = dao.ContractList(req) + + return +} + +func (a *Contract) GetContract(req *contract.GetContractRequest) (rep *contract.ContractData, err error) { + + rep, err = dao.GetContract(int32(req.Id)) + + return +} +func (a *Contract) ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) { + + rep, err = dao.ContractTxList(req) + + return +} + +func (a *Contract) UpdateContract(req *contract.UpdateContractRequest) (rep *contract.UpdateContractRespond, err error) { + rep = &contract.UpdateContractRespond{} + err = dao.UpdateContract(req) + + return +} + +func (a *Contract) UpdateContractTx(req *contract.UpdateContractTxRequest) (rep *contract.UpdateContractTxRespond, err error) { + rep = &contract.UpdateContractTxRespond{} + err = dao.UpdateContractTx(req.TransactionId, int32(req.ID)) + + return +} diff --git a/cmd/internal/logic/supply.go b/cmd/internal/logic/supply.go new file mode 100644 index 0000000..0bf1c77 --- /dev/null +++ b/cmd/internal/logic/supply.go @@ -0,0 +1,88 @@ +package logic + +import ( + "github.com/fonchain-artistserver/cmd/internal/dao" + "github.com/fonchain-artistserver/pb/supplyinfo" +) + +type ISupply interface { + GetSupplyInfoList(req *supplyinfo.GetSupplyInfoListRequest) (rep *supplyinfo.GetSupplyInfoListRespond, err error) + GetSupplyInfo(req *supplyinfo.GetSupplyInfoRequest) (rep *supplyinfo.GetSupplyInfoData, err error) + UpdateSupplyInfo(req *supplyinfo.UpdateSupplyInfoRequest) (rep *supplyinfo.UpdateSupplyInfoRespond, err error) + GetVideoList(req *supplyinfo.GetVideoListRequest) (rep *supplyinfo.GetVideoListRespond, err error) + GetVideo(req *supplyinfo.GetVideoRequest) (rep *supplyinfo.GetVideoListData, err error) + UpdateVideo(req *supplyinfo.UpdateVideoRequest) (rep *supplyinfo.UpdateVideoRespond, err error) + GetExam(req *supplyinfo.GetExamRequest) (rep *supplyinfo.GetExamListData, err error) + GetExamList(req *supplyinfo.GetExamListRequest) (rep *supplyinfo.GetExamListRespond, err error) + UpdateExam(req *supplyinfo.UpdateExamRequest) (rep *supplyinfo.UpdateExamRespond, err error) + GetArtistInfoList(req *supplyinfo.GetArtistInfoListRequest) (rep *supplyinfo.GetArtistInfoListRespond, err error) + GetArtistInfo(req *supplyinfo.GetArtistInfoRequest) (rep *supplyinfo.GetArtistInfoListData, err error) + UpdateArtistInfo(req *supplyinfo.UpdateArtistInfoRequest) (rep *supplyinfo.UpdateArtistInfoRespond, err error) +} + +func NewSupply() ISupply { + return &Supply{} +} + +type Supply struct { +} + +func (a *Supply) GetSupplyInfoList(req *supplyinfo.GetSupplyInfoListRequest) (rep *supplyinfo.GetSupplyInfoListRespond, err error) { + rep, err = dao.GetSupplyInfoList(int32(req.ArtistId), int32(req.Types)) + return +} + +func (a *Supply) GetSupplyInfo(req *supplyinfo.GetSupplyInfoRequest) (rep *supplyinfo.GetSupplyInfoRespond, err error) { + rep, err = dao.GetSupplyInfo(req) + return +} + +func (a *Supply) UpdateSupplyInfo(req *supplyinfo.UpdateSupplyInfoRequest) (rep *supplyinfo.UpdateSupplyInfoRespond, err error) { + rep, err = dao.UpdateSupplyInfo(req) + return +} + +func (a *Supply) GetVideoList(req *supplyinfo.GetVideoListRequest) (rep *supplyinfo.GetVideoListRespond, err error) { + rep, err = dao.GetVideoList(req.Id) + return +} + +func (a *Supply) GetVideo(req *supplyinfo.GetVideoRequest) (rep *supplyinfo.GetVideoRespond, err error) { + rep, err = dao.GetVideo(req) + return +} + +func (a *Supply) UpdateVideo(req *supplyinfo.UpdateVideoRequest) (rep *supplyinfo.UpdateVideoRespond, err error) { + rep, err = dao.UpdateVideo(req) + return +} + +func (a *Supply) GetExam(req *supplyinfo.GetExamRequest) (rep *supplyinfo.GetExamRespond, err error) { + rep, err = dao.GetExam(req) + return +} + +func (a *Supply) GetExamList(req *supplyinfo.GetExamListRequest) (rep *supplyinfo.GetExamListRespond, err error) { + rep, err = dao.GetExamList(req) + return +} + +func (a *Supply) UpdateExam(req *supplyinfo.UpdateExamRequest) (rep *supplyinfo.UpdateExamRespond, err error) { + rep, err = dao.UpdateExam(req) + return +} + +func (a *Supply) GetArtistInfoList(req *supplyinfo.GetArtistInfoListRequest) (rep *supplyinfo.GetArtistInfoListRespond, err error) { + rep, err = dao.GetArtistInfoList(req.Id) + return +} + +func (a *Supply) GetArtistInfo(req *supplyinfo.GetArtistInfoRequest) (rep *supplyinfo.GetArtistInfoRespond, err error) { + rep, err = dao.GetArtistInfo(req) + return +} + +func (a *Supply) UpdateArtistInfo(req *supplyinfo.UpdateArtistInfoRequest) (rep *supplyinfo.UpdateArtistInfoRespond, err error) { + rep, err = dao.UpdateArtistInfo(req) + return +} diff --git a/cmd/logs/artist_server.log b/cmd/logs/artist_server.log new file mode 100644 index 0000000..55263d3 --- /dev/null +++ b/cmd/logs/artist_server.log @@ -0,0 +1,4 @@ +{"level":"\u001b[34mINFO\u001b[0m","time":"2022-12-02T11:22:57.799+0800","caller":"config/root_config.go:150","message":"[Config Center] Config center doesn't start"} +{"level":"\u001b[34mINFO\u001b[0m","time":"2022-12-02T11:24:08.395+0800","caller":"config/root_config.go:150","message":"[Config Center] Config center doesn't start"} +{"level":"\u001b[34mINFO\u001b[0m","time":"2022-12-02T11:39:34.056+0800","caller":"config/root_config.go:150","message":"[Config Center] Config center doesn't start"} +{"level":"\u001b[34mINFO\u001b[0m","time":"2022-12-02T11:48:17.606+0800","caller":"config/root_config.go:150","message":"[Config Center] Config center doesn't start"} diff --git a/cmd/model/artistinfo.go b/cmd/model/artistinfo.go new file mode 100644 index 0000000..5d2eadc --- /dev/null +++ b/cmd/model/artistinfo.go @@ -0,0 +1,21 @@ +package model + +import ( + "gorm.io/gorm" +) + +//User 用户模型 +type ArtistInfo struct { + gorm.Model + ID uint `gorm:"not null" json:"id"` + UserId uint `gorm:"not null default:0" json:"userId"` + ArtistId string `gorm:"type:varchar(256) default ''" json:"artistId"` + BankAccount string `gorm:"type:varchar(25) not null" json:"bankAccount"` + BankName string `gorm:"type:varchar(25) not null" json:"bankName"` + Introduct string `gorm:"type:text not null" json:"introduct"` + CountryArtLevel string `gorm:"type:varchar(256) default ''" json:"countryArtLevel"` + ArtistCertPic string `gorm:"type:varchar(256) default ''" json:"artistCertPic"` + Remark string `gorm:"type:varchar(256) default ''" json:"remark"` + Remark2 string `gorm:"type:varchar(256) default ''" json:"remark2"` + State uint `gorm:"not null default:0" json:"state"` +} diff --git a/cmd/model/artwork.go b/cmd/model/artwork.go new file mode 100644 index 0000000..ba2989c --- /dev/null +++ b/cmd/model/artwork.go @@ -0,0 +1,156 @@ +package model + +import ( + "gorm.io/gorm" +) + +// User 用户模型 +type Artwork struct { + gorm.Model + ID int32 `gorm:"not null" json:"id"` + ArtistId int32 `gorm:"not null" json:"artistId"` + Name string `gorm:"type:varchar(256) not null" json:"name"` + ArtworkId string `gorm:"type:varchar(256) default ''" json:"artworkId"` + ModelYear string `gorm:"type:varchar(256) not null" json:"modelYear"` + Photo string `gorm:"type:varchar(1024) not null" json:"photo"` + BatchId int32 `gorm:"not null" json:"batchId"` + ArtistPhoto string `gorm:"type:varchar(1024) not null" json:"artistPhoto"` + CreateAddress string `gorm:"type:varchar(256) not null" json:"createAddress"` + Width int32 `gorm:"not null" json:"width"` + Height int32 `gorm:"not null" json:"height"` + Ruler int32 `gorm:"not null" json:"ruler"` + AgeOfCreation string `gorm:"type:varchar(56) default ''" json:"ageOfCreation"` + CreateTime string `gorm:"type:varchar(20) not null" json:"createTime"` + Introduct string `gorm:"type:varchar(2048) not null" json:"introduct"` + NetworkTrace bool `gorm:"not null" json:"networkTrace"` + FlowState int32 `gorm:"default 0"` + Url string `gorm:"type:varchar(512) not null" json:"url"` + Remark string `gorm:"type:varchar(256) default ''" json:"remark"` + Remark2 string `gorm:"type:varchar(256) default ''" json:"remark2"` + State int32 `gorm:"not null" json:"state"` //1未上传2已上传3已通过4未通过 +} + +type ArtworkStateService struct { + ID int32 `form:"id" json:"id"` + ArtworkId int32 `form:"artworkId" json:"artworkId"` + State int32 `form:"state" json:"state"` + Pic string `form:"pic" json:"pic"` +} + +type ArtworkStateData struct { + State int32 `json:"state"` + Timestamp string `json:"timestamp"` + Pic string `json:"pic"` +} + +// 画作 +type ArtworkList struct { + Uid string `json:"uid"` //画作唯一标志 + Seqnum string `json:"seqnum2"` + TFnum string `json:"tfnum"` // 泰丰编号 + Num int64 `json:"seqnum"` // 画作序号,从1开始自增,以批次为单位 + ArtistId string `json:"artistId"` //画家id + ArtistName string `json:"artistName"` //画家名 + BatchId string `json:"batchId"` //批次id + BatchNum int64 `json:"batchNum"` //批次号 + BatchType int64 `json:"batchType"` //批次类型 + OutBatchId string `json:"outBatchId"` // 出库批次id + IsOutbound int64 `json:"isOutbound"` // 是否出库,1-已出库,2-未出库 + //泰丰,丰链公共字段 + Name string `json:"name"` //画作名称 + CopyrightName string `json:"copyrightName"` + Belong int64 `json:"belong"` //画作隶属,1-泰丰,2-丰链 + ArtistPhoto string `json:"artistPhoto"` //画家与画作合影 + SmallPic string `json:"smallPic"` //画作小图 + SmallPicArtist string `json:"smallPicArtist"` //画作小图画家提供 + PhotoPic string `json:"photoPic"` //手机拍摄图(信息登记人员内部拍摄) + IsSign int64 `json:"isSign"` //是否有落款,1-有,2-无 + IsSeal int64 `json:"isSeal"` //是否有人名章,1-有,2-无 + Quality int64 `json:"quality"` //画作品相,1-完好,2-有破损,3-其他 + IncompletePic string `json:"incompletePic"` // 残缺图片url + CopyrightPic string `json:"copyrightPic"` // 版权图 + Length int64 `json:"length"` //画作长度,厘米 + Width int64 `json:"width"` //画作宽度,厘米 + Ruler int64 `json:"ruler"` //画作平尺数 + ModelYear string `json:"modelYear"` //年款 + NetworkTrace *NetworkTrace `json:"networkTrace"` //网络痕迹 + ArtworkState int64 `json:"artworkState"` //实体画作状态,1-丰链,2-托裱,3-泰丰,4-其他 + PhotoState *PhotoState `json:"photoState"` //拍摄情况 + ArtworkPic string `json:"artworkPic"` //图片上传 + Hash *Hash `json:"hash"` //哈希值登记 + Copyright *Copyright `json:"copyright"` //版权登记 + IsExcellentArtwork int64 `json:"isExcellent"` //是否优秀画作,1-是,2-否(优秀画作将留在丰链) + ScreenNum int64 `json:"screenNum"` //条屏数量 + Abstract string `json:"abstract"` // 简介 + MountMode string `json:"mountMode"` // 装裱方式 + Material string `json:"material"` // 画作材质 + SignPic string `json:"signPic"` // 落款图 + SealPic string `json:"sealPic"` // 人名章图 + SignDate string `json:"signDate"` // 签约日期 + CreatedDate string `json:"createDate"` // 创作日期 + CreatedAddress string `json:"createAddress"` // 创作地点 + //优秀画作是从泰丰批次中选一个出来的 + //丰链独有字段 + ArriveTime string `json:"arriveTime"` //画作到达时间,精确到日 + ArtworkType int64 `json:"artworkType"` //画作类型,1-优秀画作,2-赠画,3-卷轴,4-普通画作 + GiftInfo string `json:"giftInfo"` //赠画信息 + Scroll *Scroll `json:"scroll"` //卷轴信息 + Resume string `json:"resume"` //画家简介 + RecentPhoto string `json:"recentPhoto"` // 画家近照url + Comment string `json:"comment"` // 画作备注 + + // 6.7 + ArtCat string `json:"artCat"` // 艺术类别 + ArtMeansOfExpression string `json:"artMeansOfExpression"` // 表现形式 + ArtSub string `json:"artSub"` // 艺术主题 + ArtStyle string `json:"artStyle"` // 风格 + ArtColor string `json:"artColor"` // 颜色 + Size string `json:"size"` // 画作尺寸描述 {"1":"大","2":"中","3":"小"} + ArtHorizontal string `json:"artHorizontal"` // 幅式 + TagIds []string `json:"tagIds"` // 艺术品标签 逗号隔开 + Aucrecords string `json:"aucrecords"` + PastCollectors string `json:"pastCollectors"` + Pastpub string `json:"pastpub"` + PastTradFroms string `json:"pastTradFroms"` + + // 画家提供名称 + CustomName string `json:"customName"` + BatchState string `json:"batchState"` //画作已入库图片 + DigitizationState string `json:"digitizationState"` //画作已数字化图片 + AuthenticateState string `json:"authenticateState"` //已鉴证 + +} + +type NetworkTrace struct { + IsExist int64 `json:"isExist"` //1-有,2-无,3-有痕已无 + FirstPublic string `json:"firstPublic"` //首次发表url + FirstName string `json:"firstName"` //首次命名url + Comment string `json:"comment"` +} + +type PhotoState struct { + IsPhoto int `json:"isPhoto"` //是否已拍摄,1-是,2-否 + PhotoTime string `json:"photoTime"` //拍摄日期 + Comment string `json:"comment"` //备注 +} + +type Hash struct { + PropertyHash string `json:"property"` //物权哈希值 + CopyrightHash string `json:"copyright"` //版权哈希值 + PropertyHashLocation string `json:"pLocation"` //物权哈希值位置 + PropertyHashContext string `json:"pComment"` //物权哈希值备注 +} + +type Copyright struct { + Proxy string `json:"proxy"` //画作授权委托书(扫描件)(jpg,pdf) + CopyrightCert string `json:"cert"` //版权证书(pdf) + Type int64 `json:"type"` //版权类型,1-国家版权,2-江苏省版权 +} + +type Scroll struct { + IsNew int64 `json:"isNew"` //新卷轴还是老卷轴,1-新,2-旧 + SendTime string `json:"sendTime"` //寄出卷轴日期 + SendNum string `json:"sendNum"` //寄出卷轴单号 + ReceiveTime string `json:"receiveTime"` //收到卷轴日期 + ReceiveNum string `json:"receiveNum"` //收到卷轴单号 +} diff --git a/cmd/model/artworkbatch.go b/cmd/model/artworkbatch.go new file mode 100644 index 0000000..71c48d1 --- /dev/null +++ b/cmd/model/artworkbatch.go @@ -0,0 +1,14 @@ +package model + +import ( + "gorm.io/gorm" +) + +//User 用户模型 +type ArtworkBatch struct { + gorm.Model + ID int32 `gorm:"not null"` + BatchId int32 `gorm:"not null"` + ArtistId int32 `gorm:"not null"` + State int32 `gorm:"not null"` +} diff --git a/cmd/model/artworkstate.go b/cmd/model/artworkstate.go new file mode 100644 index 0000000..e054836 --- /dev/null +++ b/cmd/model/artworkstate.go @@ -0,0 +1,14 @@ +package model + +import ( + "gorm.io/gorm" +) + +//考核 用户模型 +type ArtworkState struct { + gorm.Model + ID int32 `gorm:"not null"` + ArtworkId int32 `gorm:"default:0"` + State int32 `gorm:"default:0"` + Pic string `gorm:"type:varchar(256) default ''"` +} diff --git a/cmd/model/bank.go b/cmd/model/bank.go new file mode 100644 index 0000000..d2f2263 --- /dev/null +++ b/cmd/model/bank.go @@ -0,0 +1,15 @@ +package model + +import ( + "gorm.io/gorm" +) + +//User 用户模型 +type Bank struct { + gorm.Model + ID int32 `gorm:"not null"` + UserId int32 `gorm:" not null"` + BankAccount string `gorm:"type:varchar(25) not null"` + BankName string `gorm:"type:varchar(25) not null"` + Enable bool `gorm:"not null"` +} diff --git a/cmd/model/contract.go b/cmd/model/contract.go new file mode 100644 index 0000000..2da5c06 --- /dev/null +++ b/cmd/model/contract.go @@ -0,0 +1,102 @@ +package model + +import ( + "gorm.io/gorm" +) + +// Contract 用户模型 +type Contract struct { + gorm.Model + ID int32 `gorm:"not null"` + UserId int32 `gorm:"not null"` + CardId string `gorm:"type:varchar(256) default ''"` + MgmtUserId string `gorm:"not null"` + ArtworkId string `gorm:"type:varchar(256) default ''"` + ContractId string `gorm:"type:varchar(256) default ''"` + TransactionId string `gorm:"type:varchar(256) default '' "` + Type int32 `gorm:"not null"` + BatchId int32 `gorm:"not null"` + BatchName string `gorm:"type:varchar(256) default '' "` + ViewUrl string `gorm:"type:varchar(256) default ''"` + DownloadUrl string `gorm:"type:varchar(256) default ''"` + State int32 `gorm:"not null"` +} + +type Reply struct { + Code int `json:"state"` + Message string `json:"message"` + Data interface{} `json:"data"` +} + +type ArtistInfoRes struct { + Uid string `json:"uid"` + Seqnum int64 `json:"seqnum"` // 序列号 + Tnum string `json:"tnum"` //ex.T240 + Num int `json:"num"` // 编号 + Name string `json:"name"` + CardId string `json:"cardId"` + PhoneNum string `json:"phone"` + Gender string `json:"gender"` // 性别 + Belong int `json:"belong"` // 画家归属,1-泰丰,2-丰链 + RecentPhoto string `json:"recentPhoto"` // 画家近照url + AccountBank string `json:"bank"` // 开户银行 + Account string `json:"account"` // 开户账号 + Video []string `json:"artistVideo"` // 视频资料 + ArtshowTimes int64 `json:"artshowTimes"` // 参加画展次数 + Age int64 `json:"age"` + Address string `json:"address"` + Resume string `json:"resume"` + CardPicFace string `json:"cardPicFace"` + CardPicBack string `json:"cardPicBack"` + CertificatePic string `json:"certificatePic"` + CertificateNum string `json:"certificateNum"` + // Priority int64 `json:"priority"` + Agent string `json:"agent"` + PenName string `json:"penName"` // 笔名 + Comment string `json:"comment"` + WtchainHash string `json:"wtchainHash"` + BaiduchainHash string `json:"baiduchanHash"` + ChengchainHash string `json:"chengchainHash"` + ChengChainCertUrl string `json:"chengChainCertUrl"` + BaiduChainCertUrl string `json:"baiduChainCertUrl"` + ChengChainCertOssUrl string `json:"chengChainCertOssUrl"` + Baiduchaincertossurl string `json:"baiduchaincertossurl"` + IsArtshow bool `json:"isArtshow"` // 是否参加过画展,1参加过,2未参加过 + CurrentPosition string `json:"currentPosition"` //现任职务 + Email string `json:"email"` + TeaRela string `json:"teaRela"` //师 + StuRela string `json:"stuRela"` //徒 + GradSchoolStudyTour string `json:"gradSchoolStudyTour"` //毕业院校及游学经历 + NaTittle string `json:"naTittle"` //国家级头衔 + ProTittle string `json:"proTittle"` //省级头衔 + MunTittle string `json:"munTittle"` //市级头衔 + CouTittle string `json:"couTittle"` //区县级头衔 + OtherTittle string `json:"otherTittle"` //其他头衔 + PastCooForms string `json:"pastCooForms"` //过往合作平台 + ExhibiInfo string `json:"exhibiInfo"` //参展信息 + KeyAchi string `json:"keyAchi"` //主要成就 + Works string `json:"works"` //作品集 + PicAlbum string `json:"picAlbum"` //画册 + + // AwardInfo []AwardInfo `json:"awardInfo"` //获奖信息 + // Publish []Publish `json:"publish"` //出版 + // AcadePub []AcadePub `json:"acadePub"` //学术发表 + // ThirdComment []ThirdComment `json:"thirdComment"` //第三方或策展人评论 + CreaDirect string `json:"creaDirect"` //创作方向(科目) + ArtStyle string `json:"artStyle"` //艺术风格 + PenInkSkill string `json:"penInkSkill"` //笔墨技法 + DrawThink string `json:"drawThink"` //绘画思想 + AcadeValue string `json:"acadeValue"` //学术价值 + + ArtName string `json:"artName"` // 艺名 + JoinClubTime string `json:"joinClubTime"` // 入会时间 + ArtistStamp string `json:"artistStamp"` // 画家印章 +} + +type CreateContractRes struct { + Code string `json:"code"` + Download_url string `json:"download_url"` + Msg string `json:"msg"` + Result string `json:"result"` + Viewpdf_url string `json:"viewpdf_url"` +} diff --git a/cmd/model/exhexam.go b/cmd/model/exhexam.go new file mode 100644 index 0000000..5ee4f25 --- /dev/null +++ b/cmd/model/exhexam.go @@ -0,0 +1,21 @@ +package model + +import ( + "gorm.io/gorm" +) + +//考核 用户模型 +type ExhExam struct { + gorm.Model + ID uint `gorm:"not null"` + UserId uint `gorm:"default:0"` + Title string `gorm:"type:varchar(64) default ''"` + Class string `gorm:"type:varchar(25) default ''"` + TitleScore uint `gorm:"default:0"` + Score string `gorm:"type:varchar(1024) default ''"` + Types string `gorm:"type:varchar(25) default ''"` + Remark string `gorm:"type:varchar(1024) default ''" json:"remark"` + Remark2 string `gorm:"type:varchar(1024) default ''" json:"remark2"` + + Enable bool `gorm:"default:0"` +} diff --git a/cmd/model/exhvideo.go b/cmd/model/exhvideo.go new file mode 100644 index 0000000..f80965f --- /dev/null +++ b/cmd/model/exhvideo.go @@ -0,0 +1,17 @@ +package model + +import ( + "gorm.io/gorm" +) + +//User 用户模型 +type ExhVideo struct { + gorm.Model + ID uint `gorm:"not null "` + UserId uint `gorm:"not null default:0"` + Url string `gorm:"type:varchar(256) default ''"` + Types string `gorm:"type:varchar(25) default ''"` + Remark string `gorm:"type:varchar(1024) default ''" json:"remark"` + Remark2 string `gorm:"type:varchar(1024) default ''" json:"remark2"` + Enable bool `gorm:"default:false"` +} diff --git a/cmd/model/invite.go b/cmd/model/invite.go new file mode 100644 index 0000000..ded799f --- /dev/null +++ b/cmd/model/invite.go @@ -0,0 +1,23 @@ +package model + +import ( + "gorm.io/gorm" +) + +// User 用户模型 +type Invite struct { + gorm.Model + ID int32 `gorm:"not null default 0"` + UserId int32 `gorm:"not null default 0"` + InvitedId int32 `gorm:"not null default 0"` +} + +type InvitedCodeService struct { + InvitedCode string `form:"invitedCode" json:"invitedCode"` +} + +type InviteService struct { + Id int32 `json:"id"` + UserId int32 `form:"userId" json:"userId"` + InvitedId int32 `form:"invitedId" json:"invitedId"` +} diff --git a/cmd/model/real_name.go b/cmd/model/real_name.go new file mode 100644 index 0000000..0fe695b --- /dev/null +++ b/cmd/model/real_name.go @@ -0,0 +1,15 @@ +package model + +import ( + "gorm.io/gorm" +) + +//实名认证模型 +type RealName struct { + gorm.Model + Name string `gorm:"not null"` + IDNum string `gorm:"type:varchar(18) not null"` + TelNum string `gorm:"type:varchar(11) not null"` + IdcardFront string `gorm:"type:varchar(256) not null"` + IdcardBack string `gorm:"type:varchar(256) not null"` +} diff --git a/cmd/model/supplyinfo.go b/cmd/model/supplyinfo.go new file mode 100644 index 0000000..bb8c1d3 --- /dev/null +++ b/cmd/model/supplyinfo.go @@ -0,0 +1,35 @@ +package model + +import ( + "gorm.io/gorm" +) + +//User 用户模型 +type SupplyInfo struct { + gorm.Model + ID uint `gorm:"not null"` + ArtworkId string `gorm:"type:varchar(256) default ''"` + ArtistId string `gorm:"type:varchar(256) default ''"` + UserId uint `gorm:" not null"` + Name string `gorm:"type:varchar(256) default ''"` + ModelYear string `gorm:"type:varchar(256) default ''"` + Photo string `gorm:"type:varchar(2048) default ''"` + ArtistPhoto string `gorm:"type:varchar(2048) default ''"` + Width uint `gorm:"default:0"` + Height uint `gorm:"default:0"` + Ruler uint `gorm:"default:0"` + ExhibitInfo string `gorm:"type:varchar(1024) default ''"` + ExhibitPic1 string `gorm:"type:varchar(1024) default ''"` + ExhibitPic2 string `gorm:"type:varchar(1024) default ''"` + + CreateTime string `gorm:"type:varchar(20) default ''"` + Introduct string `gorm:"type:varchar(2048) default ''"` + NetworkTrace bool `gorm:"default:false"` + CreateAddress string `gorm:"type:varchar(256) not null" json:"createAddress"` + Url string `gorm:"type:varchar(1024) default ''"` + Types string `gorm:"type:varchar(25) default ''"` + Remark string `gorm:"type:varchar(1024) default ''" json:"remark"` + Remark2 string `gorm:"type:varchar(1024) default ''" json:"remark2"` + + Enable bool `gorm:"default:false"` +} diff --git a/cmd/model/user.go b/cmd/model/user.go new file mode 100644 index 0000000..19c41d6 --- /dev/null +++ b/cmd/model/user.go @@ -0,0 +1,43 @@ +package model + +import ( + "gorm.io/gorm" +) + +// User 用户模型 +type User struct { + gorm.Model + ID uint64 `gorm:"not null"` + MgmtUserId uint64 `gorm:"not null"` + MgmtArtistId string `gorm:"type:varchar(256) not null"` + Account string `gorm:"type:varchar(256) not null"` + MnemonicWords string `gorm:"type:varchar(256) not null"` + TelNum string `gorm:"type:varchar(20) not null"` + Name string `gorm:"type:varchar(20) not null"` + PenName string `gorm:"type:varchar(20) not null"` + StageName string `gorm:"type:varchar(20) not null"` + JoinAssoTime string `gorm:"type:varchar(64) not null"` + CertificateNum string `gorm:"type:varchar(16) not null"` + CertificateImg string `gorm:"type:varchar(512) not null"` + Key string `gorm:"type:varchar(16) not null"` + RealNameID int32 `gorm:"not null"` + IDNum string `gorm:"type:varchar(18) not null"` + Sex int32 `gorm:"not null"` + Ruler int64 `gorm:"not null"` + OpenId string `gorm:"type:varchar(2048) not null"` + CustomerId string `gorm:"type:varchar(2048) not null"` + Age int32 `gorm:"not null"` + Introduct string `gorm:"type:varchar(2048) not null"` + CreateAt int64 `gorm:"not null"` + ConAddress string `gorm:"type:varchar(2048) not null"` + Photo string `gorm:"type:varchar(2048) not null"` + Video string `gorm:"type:varchar(256) not null"` + IsRealName int64 `gorm:"not null"` + IsFdd int64 `gorm:"not null"` + WxAccount string `gorm:"type:varchar(256) not null"` + IsLock bool `gorm:"not null"` + InvitedCode string `gorm:"type:varchar(16) default ''"` + IsRead int32 `gorm:"not null"` + IsImport int32 `gorm:"not null"` + Enable bool `gorm:"not null"` +} diff --git a/cmd/model/user_invited.go b/cmd/model/user_invited.go new file mode 100644 index 0000000..335d54f --- /dev/null +++ b/cmd/model/user_invited.go @@ -0,0 +1,14 @@ +package model + +import ( + "gorm.io/gorm" +) + +//User 用户模型 +type UserInvited struct { + gorm.Model + ID int32 `gorm:"not null"` + UserId int32 `gorm:"type:int not null"` + InvitedUserId int32 `gorm:"type:int not null"` + Count int32 `gorm:"type:int not null"` +} diff --git a/cmd/model/user_update_info.go b/cmd/model/user_update_info.go new file mode 100644 index 0000000..c641aad --- /dev/null +++ b/cmd/model/user_update_info.go @@ -0,0 +1,30 @@ +package model + +// 用户修改信息的服务 +type UserUpdateInfoService struct { + TelNum string `form:"telNum" json:"telNum" binding:"required,len=11"` + CertificateNum string `form:"certificateNum" json:"certificateNum" binding:"required"` + CertificateImg string `form:"certificateImg" json:"certificateImg" ` + JoinAssoTime string `from:"joinAssoTime" json:"joinAssoTime"` + RealName string `form:"realName" json:"realName" binding:"required"` + PenName string `form:"penName" json:"penName"` + StageName string `form:"stageName" json:"stageName"` + Sex int32 `form:"sex" json:"sex"` + IdCard string `form:"idCard" json:"idCard" binding:"required"` + IdCardFront string `form:"idCardFront" json:"idCardFront" binding:"required"` + IdCardBack string `form:"idCardBack" json:"idCardBack" binding:"required"` + Age int32 `form:"age" json:"age"` + Ruler int32 `form:"ruler" json:"ruler"` + ConAddress []string `form:"conAddress" json:"conAddress"` + Photo string `form:"photo" json:"photo" binding:"required"` + Video string `form:"video" json:"video"` + FddState int32 `form:"fddState" json:"fddState"` + CustomerId string `form:"customerId" json:"customerId"` + InvitedCode string `form:"invitedCode" json:"invitedCode"` + InvitedName string `form:"invitedName" json:"invitedName"` + WxAccount string `form:"wxAccount" json:"wxAccount"` + QrCodeImg string `form:"qrCode" json:"qrCodeImg"` + QrCodeImgDownload string `form:"qrCodeDownload" json:"qrCodeImgDownload"` + HtmlType string `form:"htmlType" json:"htmlType"` + EnvType string `form:"envType" json:"envType"` +} diff --git a/conf/conf.ini b/conf/conf.ini new file mode 100644 index 0000000..02c95a7 --- /dev/null +++ b/conf/conf.ini @@ -0,0 +1,29 @@ +[system] +mode = dev #正式prod #测试dev + +[mysql] +Db = mysql +DbHost = 121.229.45.214 +DbPort = 9007 +DbUser = artuser +DbPassWord = "C250PflXIWv2SQm8" +DbName = artistmgmt + +[redis] +RedisDB = 2 +RedisAddr = 172.16.100.99:9008 +RedisPW = "nDCTrfTtBu3Pw" +RedisDBNAme = + +[chain] +IP=127.0.0.1:37101 +MnemonicWords=知 睡 迷 纤 纲 耀 镜 婆 渡 考 拔 百 +ContractAccount=XC8214684261867838@xuper +ContractName=fp001 + +[zap_log] +level: "info" +filename: "logs/artist_server.log" +max_size: 200 +max_age: 30 +max_backups: 7 \ No newline at end of file diff --git a/conf/dev/conf.ini b/conf/dev/conf.ini new file mode 100644 index 0000000..b63902d --- /dev/null +++ b/conf/dev/conf.ini @@ -0,0 +1,29 @@ +[system] +mode = dev #正式prod #测试dev + +[mysql] +Db = mysql +DbHost = 127.0.0.1 +DbPort = 3306 +DbUser = dyb +DbPassWord = rootdyb +DbArtist = artist + +[redis] +RedisDB = 2 +RedisAddr = 127.0.0.1:6379 +RedisPW = "7532T6R" +RedisDBNAme = + +[chain] +IP=127.0.0.1:37101 +MnemonicWords=知 睡 迷 纤 纲 耀 镜 婆 渡 考 拔 百 +ContractAccount=XC8214684261867838@xuper +ContractName=fp001 + +[zap_log] +level: "info" +filename: "logs/artist_server.log" +max_size: 200 +max_age: 30 +max_backups: 7 \ No newline at end of file diff --git a/conf/dev/dubbogo.yaml b/conf/dev/dubbogo.yaml new file mode 100644 index 0000000..fe1e5ab --- /dev/null +++ b/conf/dev/dubbogo.yaml @@ -0,0 +1,69 @@ +dubbo: + metrics: + enable: true # default is true + path: /metrics # default is /metrics + port: 9091 # default is 9090 + namespace: dubboArtist # default is dubbo 作为数据上报 metrics 的前缀 + registries: + demoZK: + protocol: zookeeper +# timeout: 3s + address: 127.0.0.1:2181 + protocols: + triple: #triple + name: tri + port: 20004 + provider: + services: + ArtistProvider: + interface: com.fontree.microservices.common.Artist + retries: 0 +# filter: myServerFilter +# application: "1234" + filter: tps + tps.limiter: method-service + tps.limit.strategy: fixedWindow + tps.limit.rejected.handler: DefaultValueHandler + tps.limit.interval: 1000 + tps.limit.rate: 3 + 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: "logs/artist_server.log" + # 每个日志文件长度的最大大小,单位是 MiB。默认 100MiB + maxSize: 10 + # 日志保留的最大天数(只保留最近多少天的日志) + maxAge: 15 + # 只保留最近多少个日志文件,用于控制程序总日志的大小 + maxBackups: 10 + # 是否使用本地时间,默认使用 UTC 时间 + localTime: true + # 是否压缩日志文件,压缩方法 gzip + compress: false \ No newline at end of file diff --git a/conf/dev/sdk.real.yaml b/conf/dev/sdk.real.yaml new file mode 100644 index 0000000..2d5ba00 --- /dev/null +++ b/conf/dev/sdk.real.yaml @@ -0,0 +1,18 @@ +# endorseService Info +# testNet addrs +endorseServiceHost: "39.156.69.83:37100" +complianceCheck: + # 是否需要进行合规性背书 + isNeedComplianceCheck: false + # 是否需要支付合规性背书费用 + isNeedComplianceCheckFee: false + # 合规性背书费用 + complianceCheckEndorseServiceFee: 400 + # 支付合规性背书费用的收款地址 + complianceCheckEndorseServiceFeeAddr: aB2hpHnTBDxko3UoP2BpBZRujwhdcAFoT + # 如果通过合规性检查,签发认证签名的地址 + complianceCheckEndorseServiceAddr: jknGxa6eyum1JrATWvSJKW3thJ9GKHA9n +#创建平行链所需要的最低费用 +minNewChainAmount: "100" +crypto: "xchain" +txVersion: 1 \ No newline at end of file diff --git a/conf/dev/sdk.test.yaml b/conf/dev/sdk.test.yaml new file mode 100644 index 0000000..adf2678 --- /dev/null +++ b/conf/dev/sdk.test.yaml @@ -0,0 +1,18 @@ +# endorseService Info +# testNet addrs +endorseServiceHost: "14.215.179.74:37101" +complianceCheck: + # 是否需要进行合规性背书 + isNeedComplianceCheck: true + # 是否需要支付合规性背书费用 + isNeedComplianceCheckFee: true + # 合规性背书费用 + complianceCheckEndorseServiceFee: 100 + # 支付合规性背书费用的收款地址 + complianceCheckEndorseServiceFeeAddr: cHvBK1TTB52GYtVxHK7HnW8N9RTqkN99R + # 如果通过合规性检查,签发认证签名的地址 + complianceCheckEndorseServiceAddr: XDxkpQkfLwG6h56e896f3vBHhuN5g6M9u +#创建平行链所需要的最低费用 +minNewChainAmount: "100" +crypto: "xchain" +txVersion: 1 \ No newline at end of file diff --git a/conf/dev/sdk.yaml b/conf/dev/sdk.yaml new file mode 100644 index 0000000..b6c1ebe --- /dev/null +++ b/conf/dev/sdk.yaml @@ -0,0 +1,18 @@ +# endorseService Info +# testNet addrs +# endorseServiceHost: "120.48.24.223:37101" +endorseServiceHost: "127.0.0.1:37101" +complianceCheck: + # 是否需要进行合规性背书 + isNeedComplianceCheck: false + # 是否需要支付合规性背书费用 + isNeedComplianceCheckFee: false + # 合规性背书费用 + complianceCheckEndorseServiceFee: 400 + # 支付合规性背书费用的收款地址 + complianceCheckEndorseServiceFeeAddr: WwLgfAatHyKx2mCJruRaML4oVf7Chzp42 + # 如果通过合规性检查,签发认证签名的地址 + complianceCheckEndorseServiceAddr: WwLgfAatHyKx2mCJruRaML4oVf7Chzp42 +#创建平行链所需要的最低费用 +minNewChainAmount: "100" +crypto: "xchain" diff --git a/conf/dubbogo.yaml b/conf/dubbogo.yaml new file mode 100644 index 0000000..0e0d3d5 --- /dev/null +++ b/conf/dubbogo.yaml @@ -0,0 +1,19 @@ +dubbo: + metrics: + enable: true # default is true + path: /metrics # default is /metrics + port: 9091 # default is 9090 + namespace: dubboArtistInfo # default is dubbo 作为数据上报 metrics 的前缀 + registries: + demoZK: + protocol: zookeeper + timeout: 3s + address: 127.0.0.1:2181 + protocols: + triple: #triple + name: tri + port: 20020 + provider: + services: + ArtistInfoProvider: + interface: com.fontree.microservices.common.ArtistInfo \ No newline at end of file diff --git a/conf/prod/conf.ini b/conf/prod/conf.ini new file mode 100644 index 0000000..7c82154 --- /dev/null +++ b/conf/prod/conf.ini @@ -0,0 +1,29 @@ +[system] +mode = prod #正式prod #测试dev + +[mysql] +Db = mysql +DbHost = 192.168.1.35 +DbPort = 9005 +DbUser = root +DbPassWord = sLl0b7stlbwvZ883TV +DbArtist = artist + +[redis] +RedisDB = 2 +RedisAddr = 192.168.1.35:6379 +RedisPW = +RedisDBNAme = + +[chain] +IP=127.0.0.1:37101 +MnemonicWords=知 睡 迷 纤 纲 耀 镜 婆 渡 考 拔 百 +ContractAccount=XC8214684261867838@xuper +ContractName=fp001 + +[zap_log] +level: "info" +filename: "logs/artist_server.log" +max_size: 200 +max_age: 30 +max_backups: 7 \ No newline at end of file diff --git a/conf/prod/dubbogo.yaml b/conf/prod/dubbogo.yaml new file mode 100644 index 0000000..a1dcc5f --- /dev/null +++ b/conf/prod/dubbogo.yaml @@ -0,0 +1,69 @@ +dubbo: + metrics: + enable: true # default is true + path: /metrics # default is /metrics + port: 9091 # default is 9090 + namespace: dubboArtist # default is dubbo 作为数据上报 metrics 的前缀 + registries: + demoZK: + protocol: zookeeper + timeout: 3s + address: 192.168.1.35:2181 + protocols: + triple: #triple + name: tri + port: 20004 + provider: + services: + ArtistProvider: + interface: com.fontree.microservices.common.Artist + retries: 0 + filter: tps +# token: "dubbo" +# application: "1234" + tps.limiter: method-service + tps.limit.strategy: fixedWindow + tps.limit.rejected.handler: DefaultValueHandler + tps.limit.interval: 1000 + tps.limit.rate: 3 + 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: "logs/artist_server.log" + # 每个日志文件长度的最大大小,单位是 MiB。默认 100MiB + maxSize: 10 + # 日志保留的最大天数(只保留最近多少天的日志) + maxAge: 15 + # 只保留最近多少个日志文件,用于控制程序总日志的大小 + maxBackups: 10 + # 是否使用本地时间,默认使用 UTC 时间 + localTime: true + # 是否压缩日志文件,压缩方法 gzip + compress: false \ No newline at end of file diff --git a/conf/prod/sdk.real.yaml b/conf/prod/sdk.real.yaml new file mode 100644 index 0000000..2d5ba00 --- /dev/null +++ b/conf/prod/sdk.real.yaml @@ -0,0 +1,18 @@ +# endorseService Info +# testNet addrs +endorseServiceHost: "39.156.69.83:37100" +complianceCheck: + # 是否需要进行合规性背书 + isNeedComplianceCheck: false + # 是否需要支付合规性背书费用 + isNeedComplianceCheckFee: false + # 合规性背书费用 + complianceCheckEndorseServiceFee: 400 + # 支付合规性背书费用的收款地址 + complianceCheckEndorseServiceFeeAddr: aB2hpHnTBDxko3UoP2BpBZRujwhdcAFoT + # 如果通过合规性检查,签发认证签名的地址 + complianceCheckEndorseServiceAddr: jknGxa6eyum1JrATWvSJKW3thJ9GKHA9n +#创建平行链所需要的最低费用 +minNewChainAmount: "100" +crypto: "xchain" +txVersion: 1 \ No newline at end of file diff --git a/conf/prod/sdk.test.yaml b/conf/prod/sdk.test.yaml new file mode 100644 index 0000000..adf2678 --- /dev/null +++ b/conf/prod/sdk.test.yaml @@ -0,0 +1,18 @@ +# endorseService Info +# testNet addrs +endorseServiceHost: "14.215.179.74:37101" +complianceCheck: + # 是否需要进行合规性背书 + isNeedComplianceCheck: true + # 是否需要支付合规性背书费用 + isNeedComplianceCheckFee: true + # 合规性背书费用 + complianceCheckEndorseServiceFee: 100 + # 支付合规性背书费用的收款地址 + complianceCheckEndorseServiceFeeAddr: cHvBK1TTB52GYtVxHK7HnW8N9RTqkN99R + # 如果通过合规性检查,签发认证签名的地址 + complianceCheckEndorseServiceAddr: XDxkpQkfLwG6h56e896f3vBHhuN5g6M9u +#创建平行链所需要的最低费用 +minNewChainAmount: "100" +crypto: "xchain" +txVersion: 1 \ No newline at end of file diff --git a/conf/prod/sdk.yaml b/conf/prod/sdk.yaml new file mode 100644 index 0000000..b6c1ebe --- /dev/null +++ b/conf/prod/sdk.yaml @@ -0,0 +1,18 @@ +# endorseService Info +# testNet addrs +# endorseServiceHost: "120.48.24.223:37101" +endorseServiceHost: "127.0.0.1:37101" +complianceCheck: + # 是否需要进行合规性背书 + isNeedComplianceCheck: false + # 是否需要支付合规性背书费用 + isNeedComplianceCheckFee: false + # 合规性背书费用 + complianceCheckEndorseServiceFee: 400 + # 支付合规性背书费用的收款地址 + complianceCheckEndorseServiceFeeAddr: WwLgfAatHyKx2mCJruRaML4oVf7Chzp42 + # 如果通过合规性检查,签发认证签名的地址 + complianceCheckEndorseServiceAddr: WwLgfAatHyKx2mCJruRaML4oVf7Chzp42 +#创建平行链所需要的最低费用 +minNewChainAmount: "100" +crypto: "xchain" diff --git a/conf/sdk.real.yaml b/conf/sdk.real.yaml new file mode 100644 index 0000000..2d5ba00 --- /dev/null +++ b/conf/sdk.real.yaml @@ -0,0 +1,18 @@ +# endorseService Info +# testNet addrs +endorseServiceHost: "39.156.69.83:37100" +complianceCheck: + # 是否需要进行合规性背书 + isNeedComplianceCheck: false + # 是否需要支付合规性背书费用 + isNeedComplianceCheckFee: false + # 合规性背书费用 + complianceCheckEndorseServiceFee: 400 + # 支付合规性背书费用的收款地址 + complianceCheckEndorseServiceFeeAddr: aB2hpHnTBDxko3UoP2BpBZRujwhdcAFoT + # 如果通过合规性检查,签发认证签名的地址 + complianceCheckEndorseServiceAddr: jknGxa6eyum1JrATWvSJKW3thJ9GKHA9n +#创建平行链所需要的最低费用 +minNewChainAmount: "100" +crypto: "xchain" +txVersion: 1 \ No newline at end of file diff --git a/conf/sdk.test.yaml b/conf/sdk.test.yaml new file mode 100644 index 0000000..adf2678 --- /dev/null +++ b/conf/sdk.test.yaml @@ -0,0 +1,18 @@ +# endorseService Info +# testNet addrs +endorseServiceHost: "14.215.179.74:37101" +complianceCheck: + # 是否需要进行合规性背书 + isNeedComplianceCheck: true + # 是否需要支付合规性背书费用 + isNeedComplianceCheckFee: true + # 合规性背书费用 + complianceCheckEndorseServiceFee: 100 + # 支付合规性背书费用的收款地址 + complianceCheckEndorseServiceFeeAddr: cHvBK1TTB52GYtVxHK7HnW8N9RTqkN99R + # 如果通过合规性检查,签发认证签名的地址 + complianceCheckEndorseServiceAddr: XDxkpQkfLwG6h56e896f3vBHhuN5g6M9u +#创建平行链所需要的最低费用 +minNewChainAmount: "100" +crypto: "xchain" +txVersion: 1 \ No newline at end of file diff --git a/conf/sdk.yaml b/conf/sdk.yaml new file mode 100644 index 0000000..b6c1ebe --- /dev/null +++ b/conf/sdk.yaml @@ -0,0 +1,18 @@ +# endorseService Info +# testNet addrs +# endorseServiceHost: "120.48.24.223:37101" +endorseServiceHost: "127.0.0.1:37101" +complianceCheck: + # 是否需要进行合规性背书 + isNeedComplianceCheck: false + # 是否需要支付合规性背书费用 + isNeedComplianceCheckFee: false + # 合规性背书费用 + complianceCheckEndorseServiceFee: 400 + # 支付合规性背书费用的收款地址 + complianceCheckEndorseServiceFeeAddr: WwLgfAatHyKx2mCJruRaML4oVf7Chzp42 + # 如果通过合规性检查,签发认证签名的地址 + complianceCheckEndorseServiceAddr: WwLgfAatHyKx2mCJruRaML4oVf7Chzp42 +#创建平行链所需要的最低费用 +minNewChainAmount: "100" +crypto: "xchain" diff --git a/conf/test/conf.ini b/conf/test/conf.ini new file mode 100644 index 0000000..5414059 --- /dev/null +++ b/conf/test/conf.ini @@ -0,0 +1,29 @@ +[system] +mode = dev #正式prod #测试dev + +[mysql] +Db = mysql +DbHost = 172.16.100.99 #214 +DbPort = 9007 +DbUser = artuser +DbPassWord = "C250PflXIWv2SQm8" +DbArtist = artist + +[redis] +RedisDB = 2 +RedisAddr = 172.16.100.99:9008 +RedisPW = "nDCTrfTtBu3Pw" +RedisDBNAme = + +[chain] +IP=127.0.0.1:37101 +MnemonicWords=知 睡 迷 纤 纲 耀 镜 婆 渡 考 拔 百 +ContractAccount=XC8214684261867838@xuper +ContractName=fp001 + +[zap_log] +level: "info" +filename: "logs/artist_server.log" +max_size: 200 +max_age: 30 +max_backups: 7 \ No newline at end of file diff --git a/conf/test/dubbogo.yaml b/conf/test/dubbogo.yaml new file mode 100644 index 0000000..5859060 --- /dev/null +++ b/conf/test/dubbogo.yaml @@ -0,0 +1,73 @@ +dubbo: + metrics: + enable: true # default is true + path: /metrics # default is /metrics + port: 9091 # default is 9090 + namespace: dubboArtist # default is dubbo 作为数据上报 metrics 的前 + registries: + demoZK: + protocol: zookeeper + timeout: 3s +# address: 127.0.0.1:2181 +# address: 121.229.45.214:9004 +# address: 114.218.158.24:2181 + address: 172.16.100.93:2181 + protocols: + triple: #triple + name: tri +# ip: 121.229.45.214 + port: 20004 + provider: + services: + ArtistProvider: + interface: com.fontree.microservices.common.Artist + retries: 0 + filter: tps +# token: "dubbo" +# application: "1234" + tps.limiter: method-service + tps.limit.strategy: fixedWindow + tps.limit.rejected.handler: DefaultValueHandler + tps.limit.interval: 1000 + tps.limit.rate: 3 + 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: "logs/artist_server.log" + # 每个日志文件长度的最大大小,单位是 MiB。默认 100MiB + maxSize: 10 + # 日志保留的最大天数(只保留最近多少天的日志) + maxAge: 15 + # 只保留最近多少个日志文件,用于控制程序总日志的大小 + maxBackups: 10 + # 是否使用本地时间,默认使用 UTC 时间 + localTime: true + # 是否压缩日志文件,压缩方法 gzip + compress: false \ No newline at end of file diff --git a/conf/test/sdk.real.yaml b/conf/test/sdk.real.yaml new file mode 100644 index 0000000..2d5ba00 --- /dev/null +++ b/conf/test/sdk.real.yaml @@ -0,0 +1,18 @@ +# endorseService Info +# testNet addrs +endorseServiceHost: "39.156.69.83:37100" +complianceCheck: + # 是否需要进行合规性背书 + isNeedComplianceCheck: false + # 是否需要支付合规性背书费用 + isNeedComplianceCheckFee: false + # 合规性背书费用 + complianceCheckEndorseServiceFee: 400 + # 支付合规性背书费用的收款地址 + complianceCheckEndorseServiceFeeAddr: aB2hpHnTBDxko3UoP2BpBZRujwhdcAFoT + # 如果通过合规性检查,签发认证签名的地址 + complianceCheckEndorseServiceAddr: jknGxa6eyum1JrATWvSJKW3thJ9GKHA9n +#创建平行链所需要的最低费用 +minNewChainAmount: "100" +crypto: "xchain" +txVersion: 1 \ No newline at end of file diff --git a/conf/test/sdk.test.yaml b/conf/test/sdk.test.yaml new file mode 100644 index 0000000..adf2678 --- /dev/null +++ b/conf/test/sdk.test.yaml @@ -0,0 +1,18 @@ +# endorseService Info +# testNet addrs +endorseServiceHost: "14.215.179.74:37101" +complianceCheck: + # 是否需要进行合规性背书 + isNeedComplianceCheck: true + # 是否需要支付合规性背书费用 + isNeedComplianceCheckFee: true + # 合规性背书费用 + complianceCheckEndorseServiceFee: 100 + # 支付合规性背书费用的收款地址 + complianceCheckEndorseServiceFeeAddr: cHvBK1TTB52GYtVxHK7HnW8N9RTqkN99R + # 如果通过合规性检查,签发认证签名的地址 + complianceCheckEndorseServiceAddr: XDxkpQkfLwG6h56e896f3vBHhuN5g6M9u +#创建平行链所需要的最低费用 +minNewChainAmount: "100" +crypto: "xchain" +txVersion: 1 \ No newline at end of file diff --git a/conf/test/sdk.yaml b/conf/test/sdk.yaml new file mode 100644 index 0000000..b6c1ebe --- /dev/null +++ b/conf/test/sdk.yaml @@ -0,0 +1,18 @@ +# endorseService Info +# testNet addrs +# endorseServiceHost: "120.48.24.223:37101" +endorseServiceHost: "127.0.0.1:37101" +complianceCheck: + # 是否需要进行合规性背书 + isNeedComplianceCheck: false + # 是否需要支付合规性背书费用 + isNeedComplianceCheckFee: false + # 合规性背书费用 + complianceCheckEndorseServiceFee: 400 + # 支付合规性背书费用的收款地址 + complianceCheckEndorseServiceFeeAddr: WwLgfAatHyKx2mCJruRaML4oVf7Chzp42 + # 如果通过合规性检查,签发认证签名的地址 + complianceCheckEndorseServiceAddr: WwLgfAatHyKx2mCJruRaML4oVf7Chzp42 +#创建平行链所需要的最低费用 +minNewChainAmount: "100" +crypto: "xchain" diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..7deb87a --- /dev/null +++ b/go.mod @@ -0,0 +1,39 @@ +module github.com/fonchain-artistserver + +go 1.17 + +replace ( + github.com/fonchain/electronic-contract => ../electronic-contract + github.com/fonchain/utils/objstorage => ../utils/objstorage + github.com/fonchain/utils/utils => ../utils/utils + github.com/fonchain_enterprise/utils/aes => ../utils/aes + github.com/fonchain_enterprise/utils/baidu => ../utils/baidu + github.com/fonchain_enterprise/utils/chain => ../utils/chain + github.com/fonchain_enterprise/utils/jwt => ../utils/jwt + github.com/fonchain_enterprise/utils/rand => ../utils/rand +) + +require ( + dubbo.apache.org/dubbo-go/v3 v3.0.1 + github.com/dubbogo/grpc-go v1.42.9 + github.com/dubbogo/triple v1.1.8 + github.com/fonchain/utils/objstorage v0.0.0-00010101000000-000000000000 + github.com/fonchain/utils/utils v0.0.0-00010101000000-000000000000 + github.com/fonchain_enterprise/utils/aes v0.0.0-00010101000000-000000000000 + github.com/gin-gonic/gin v1.8.1 + github.com/go-redis/redis v6.15.9+incompatible + github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 + github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 + go.uber.org/zap v1.21.0 + golang.org/x/image v0.0.0-20190802002840-cff245a6509b + google.golang.org/protobuf v1.28.0 + gopkg.in/ini.v1 v1.66.4 + gorm.io/driver/mysql v1.4.4 + gorm.io/gorm v1.24.1 +) + +require ( + github.com/baidubce/bce-sdk-go v0.9.138 // indirect + github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f // indirect + github.com/spf13/viper v1.11.0 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..563e521 --- /dev/null +++ b/go.sum @@ -0,0 +1,1661 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= +cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= +cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= +cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= +cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= +cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= +cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= +cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= +cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= +cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= +cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= +cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= +cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= +cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= +cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= +cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= +contrib.go.opencensus.io/exporter/prometheus v0.4.0 h1:0QfIkj9z/iVZgK31D9H9ohjjIDApI2GOPScCKwxedbs= +contrib.go.opencensus.io/exporter/prometheus v0.4.0/go.mod h1:o7cosnyfuPVK0tB8q0QmaQNhGnptITnPQB+z1+qeFB0= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +dubbo.apache.org/dubbo-go/v3 v3.0.1 h1:HC6rkDFGohr3CDXWFJAqVgbwRO267wIDHeLRHp3D4Ek= +dubbo.apache.org/dubbo-go/v3 v3.0.1/go.mod h1:CHhUA245fzAbbsAh7E/X7KdnpRWbxo418zLL3YFGXZ8= +github.com/AlexStocks/goext v0.3.3/go.mod h1:3M5j9Pjge4CdkNg2WIjRLUeoPedJHHKwkkglDGSl3Hc= +github.com/AlexStocks/log4go v1.0.7/go.mod h1:p7vP0/IAoSu7SLjjSvn4NciqYs//Ylyy/FxE0kmqFUg= +github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= +github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= +github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= +github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= +github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= +github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= +github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= +github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= +github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= +github.com/Julusian/godocdown v0.0.0-20170816220326-6d19f8ff2df8/go.mod h1:INZr5t32rG59/5xeltqoCJoNY7e5x/3xoY9WSWVWg74= +github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= +github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/RoaringBitmap/roaring v0.7.1 h1:HkcLv8q/kwGJnhEWe+vinu+04DGDdQ7nVivMhNhxP2g= +github.com/RoaringBitmap/roaring v0.7.1/go.mod h1:jdT9ykXwHFNdJbEtxePexlFYH9LXucApeS0/+/g+p1I= +github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= +github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= +github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d h1:G0m3OIz70MZUWq3EgK3CesDbo8upS2Vm9/P3FtgI+Jk= +github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= +github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= +github.com/Workiva/go-datastructures v1.0.52 h1:PLSK6pwn8mYdaoaCZEMsXBpBotr4HHn9abU0yMQt0NI= +github.com/Workiva/go-datastructures v1.0.52/go.mod h1:Z+F2Rca0qCsVYDS8z7bAGm8f3UkzuWYS/oBZz5a7VVA= +github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5 h1:rFw4nCn9iMW+Vajsk51NtYIcwSTkXr+JGrMd36kTDJw= +github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= +github.com/agiledragon/gomonkey v2.0.2+incompatible h1:eXKi9/piiC3cjJD1658mEE2o3NjkJ5vDLgYjCQu0Xlw= +github.com/agiledragon/gomonkey v2.0.2+incompatible/go.mod h1:2NGfXu1a80LLr2cmWXGBDaHEjb1idR6+FVlX5T3D9hw= +github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= +github.com/alibaba/sentinel-golang v1.0.4 h1:i0wtMvNVdy7vM4DdzYrlC4r/Mpk1OKUUBurKKkWhEo8= +github.com/alibaba/sentinel-golang v1.0.4/go.mod h1:Lag5rIYyJiPOylK8Kku2P+a23gdKMMqzQS7wTnjWEpk= +github.com/aliyun/alibaba-cloud-sdk-go v1.61.18 h1:zOVTBdCKFd9JbCKz9/nt+FovbjPFmb7mUnp8nH9fQBA= +github.com/aliyun/alibaba-cloud-sdk-go v1.61.18/go.mod h1:v8ESoHo4SyHmuB4b1tJqDHxfTGEciD+yhvOU/5s1Rfk= +github.com/aliyun/aliyun-oss-go-sdk v2.2.4+incompatible h1:cD1bK/FmYTpL+r5i9lQ9EU6ScAjA173EVsii7gAc6SQ= +github.com/aliyun/aliyun-oss-go-sdk v2.2.4+incompatible/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/apache/dubbo-getty v1.4.7 h1:DckNY2c9i8FF3xX1w7fWqsgBz108EE4mLpeedwYBuLw= +github.com/apache/dubbo-getty v1.4.7/go.mod h1:+6IHweEgfMCShEzGzQw2H7Wt33nYTJ/U9lNH9tHrzMM= +github.com/apache/dubbo-go-hessian2 v1.9.1/go.mod h1:xQUjE7F8PX49nm80kChFvepA/AvqAZ0oh/UaB6+6pBE= +github.com/apache/dubbo-go-hessian2 v1.9.3/go.mod h1:xQUjE7F8PX49nm80kChFvepA/AvqAZ0oh/UaB6+6pBE= +github.com/apache/dubbo-go-hessian2 v1.11.0 h1:VTdT6NStuEqNmyT3AdSN2DLDBqhXvAAyAAAoh9hLavk= +github.com/apache/dubbo-go-hessian2 v1.11.0/go.mod h1:7rEw9guWABQa6Aqb8HeZcsYPHsOS7XT1qtJvkmI6c5w= +github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-metrics v0.3.9/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= +github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= +github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= +github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= +github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= +github.com/aws/aws-sdk-go-v2 v1.9.2/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= +github.com/aws/aws-sdk-go-v2/config v1.8.3/go.mod h1:4AEiLtAb8kLs7vgw2ZV3p2VZ1+hBavOc84hqxVNpCyw= +github.com/aws/aws-sdk-go-v2/credentials v1.4.3/go.mod h1:FNNC6nQZQUuyhq5aE5c7ata8o9e4ECGmS4lAXC7o1mQ= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.6.0/go.mod h1:gqlclDEZp4aqJOancXK6TN24aKhT0W0Ae9MHk3wzTMM= +github.com/aws/aws-sdk-go-v2/internal/ini v1.2.4/go.mod h1:ZcBrrI3zBKlhGFNYWvju0I3TR93I7YIgAfy82Fh4lcQ= +github.com/aws/aws-sdk-go-v2/service/appconfig v1.4.2/go.mod h1:FZ3HkCe+b10uFZZkFdvf98LHW21k49W8o8J366lqVKY= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.3.2/go.mod h1:72HRZDLMtmVQiLG2tLfQcaWLCssELvGl+Zf2WVxMmR8= +github.com/aws/aws-sdk-go-v2/service/sso v1.4.2/go.mod h1:NBvT9R1MEF+Ud6ApJKM0G+IkPchKS7p7c2YPKwHmBOk= +github.com/aws/aws-sdk-go-v2/service/sts v1.7.2/go.mod h1:8EzeIqfWt2wWT4rJVu3f21TfrhJ8AEMzVybRNSb/b4g= +github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/baidubce/bce-sdk-go v0.9.123/go.mod h1:zbYJMQwE4IZuyrJiFO8tO8NbtYiKTFTbwh4eIsqjVdg= +github.com/baidubce/bce-sdk-go v0.9.138 h1:/1P4MT2QQtR6dG1n3SaQYfmzWWdI871mEL0458lYODo= +github.com/baidubce/bce-sdk-go v0.9.138/go.mod h1:zbYJMQwE4IZuyrJiFO8tO8NbtYiKTFTbwh4eIsqjVdg= +github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f h1:ZNv7On9kyUzm7fvRZumSyy/IUiSC7AzL0I1jKKtwooA= +github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc= +github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= +github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= +github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bits-and-blooms/bitset v1.2.0 h1:Kn4yilvwNtMACtf1eYDlG8H77R07mZSPbMjLyS07ChA= +github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= +github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= +github.com/boombuler/barcode v1.0.1 h1:NDBbPmhS+EqABEs5Kg3n/5ZNjy73Pz7SIV+KCeqyXcs= +github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= +github.com/buger/jsonparser v0.0.0-20181115193947-bf1c66bbce23/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= +github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= +github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= +github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= +github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= +github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= +github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= +github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= +github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= +github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= +github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= +github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= +github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= +github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= +github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= +github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e h1:Wf6HqHfScWJN9/ZjdUKyjop4mf3Qdd+1TvvltAvM3m8= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= +github.com/coreos/go-systemd/v22 v22.3.2 h1:D9/bQk5vlXQFZ6Kwuu6zaiXJ9oTPe68++AzAJc1DzSI= +github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creasty/defaults v1.5.2 h1:/VfB6uxpyp6h0fr7SPp7n8WJBoV8jfxQXPCnkVSjyls= +github.com/creasty/defaults v1.5.2/go.mod h1:FPZ+Y0WNrbqOVw+c6av63eyHUAl6pMHZwqLPvXUZGfY= +github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= +github.com/dubbogo/go-zookeeper v1.0.3/go.mod h1:fn6n2CAEer3novYgk9ULLwAjuV8/g4DdC2ENwRb6E+c= +github.com/dubbogo/go-zookeeper v1.0.4-0.20211212162352-f9d2183d89d5 h1:XoR8SSVziXe698dt4uZYDfsmHpKLemqAgFyndQsq5Kw= +github.com/dubbogo/go-zookeeper v1.0.4-0.20211212162352-f9d2183d89d5/go.mod h1:fn6n2CAEer3novYgk9ULLwAjuV8/g4DdC2ENwRb6E+c= +github.com/dubbogo/gost v1.9.0/go.mod h1:pPTjVyoJan3aPxBPNUX0ADkXjPibLo+/Ib0/fADXSG8= +github.com/dubbogo/gost v1.11.18/go.mod h1:vIcP9rqz2KsXHPjsAwIUtfJIJjppQLQDcYaZTy/61jI= +github.com/dubbogo/gost v1.11.20/go.mod h1:vIcP9rqz2KsXHPjsAwIUtfJIJjppQLQDcYaZTy/61jI= +github.com/dubbogo/gost v1.11.22 h1:7g1CCzq5PlnB2JothjWjVCoZ7ZVtPbwR+ijaEGPtdRk= +github.com/dubbogo/gost v1.11.22/go.mod h1:PhJ8+qZJx+Txjx1KthNPuVkCvUca0jRLgKWj/noGgeI= +github.com/dubbogo/grpc-go v1.42.7/go.mod h1:F1T9hnUvYGW4JLK1QNriavpOkhusU677ovPzLkk6zHM= +github.com/dubbogo/grpc-go v1.42.8/go.mod h1:F1T9hnUvYGW4JLK1QNriavpOkhusU677ovPzLkk6zHM= +github.com/dubbogo/grpc-go v1.42.9 h1:nTuglkH9rTJzQfardU4b0OJ0Imd2169dMNLBTNhTdlc= +github.com/dubbogo/grpc-go v1.42.9/go.mod h1:F1T9hnUvYGW4JLK1QNriavpOkhusU677ovPzLkk6zHM= +github.com/dubbogo/jsonparser v1.0.1/go.mod h1:tYAtpctvSP/tWw4MeelsowSPgXQRVHHWbqL6ynps8jU= +github.com/dubbogo/net v0.0.4/go.mod h1:1CGOnM7X3he+qgGNqjeADuE5vKZQx/eMSeUkpU3ujIc= +github.com/dubbogo/triple v1.0.9/go.mod h1:1t9me4j4CTvNDcsMZy6/OGarbRyAUSY0tFXGXHCp7Iw= +github.com/dubbogo/triple v1.1.8-rc2/go.mod h1:7IZLmz0sWZuceYM4urzyZemIcqvoksrFq4CZZ8/wBjQ= +github.com/dubbogo/triple v1.1.8 h1:yE+J3W1NTZCEPa1FoX+VWZH6UF1c0+A2MGfERlU2zbI= +github.com/dubbogo/triple v1.1.8/go.mod h1:9pgEahtmsY/avYJp3dzUQE8CMMVe1NtGBmUhfICKLJk= +github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dvyukov/go-fuzz v0.0.0-20210429054444-fca39067bc72/go.mod h1:11Gm+ccJnvAhCNLlf5+cS9KjtbaD5I5zaZpFMsTHWTw= +github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= +github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= +github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/elazarl/go-bindata-assetfs v1.0.1/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4= +github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633 h1:H2pdYOb3KQ1/YsqVWoWNLQO+fusocsw354rqGTZtAgw= +github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emicklei/go-restful/v3 v3.7.3 h1:06a5brwUhivED9WAFB3Q1JZDhirpnHlCdEVhGz3PSfc= +github.com/emicklei/go-restful/v3 v3.7.3/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= +github.com/envoyproxy/go-control-plane v0.10.0/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v4.11.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch/v5 v5.5.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4= +github.com/fastly/go-utils v0.0.0-20180712184237-d95a45783239/go.mod h1:Gdwt2ce0yfBxPvZrHkprdPPTTS3N5rwmLE8T22KBXlw= +github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= +github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/form3tech-oss/jwt-go v3.2.3+incompatible h1:7ZaBxOI7TMoYBfyA3cQHErNNyAWIKUMIwqxEtgHOs5c= +github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= +github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= +github.com/frankban/quicktest v1.10.0 h1:Gfh+GAJZOAoKZsIZeZbdn2JF10kN1XHNvjsvQK8gVkE= +github.com/frankban/quicktest v1.10.0/go.mod h1:ui7WezCLWMWxVWr1GETZY3smRy0G4KWq9vcPtJmFl7Y= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= +github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= +github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= +github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8= +github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= +github.com/glycerine/go-unsnap-stream v0.0.0-20181221182339-f9677308dec2/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE= +github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= +github.com/go-asn1-ber/asn1-ber v1.3.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= +github.com/go-co-op/gocron v1.9.0 h1:+V+DDenw3ryB7B+tK1bAIC5p0ruw4oX9IqAsdRnGIf0= +github.com/go-co-op/gocron v1.9.0/go.mod h1:DbJm9kdgr1sEvWpHCA7dFFs/PGHPMil9/97EXCRPr4k= +github.com/go-errors/errors v1.0.1 h1:LUHzmkK3GUKUrL/1gfBUxAHzcev3apQlezX/+O7ma6w= +github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= +github.com/go-kit/log v0.1.0 h1:DGJh0Sm43HbOeYDNnVZFl8BvcYVvjD5bqYJvp0REbwQ= +github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= +github.com/go-ldap/ldap v3.0.2+incompatible/go.mod h1:qfd9rJvER9Q0/D/Sqn1DfHRoBp40uXYvFoEVrNEPqRc= +github.com/go-ldap/ldap/v3 v3.1.10/go.mod h1:5Zun81jBTabRaI8lzN7E1JjyEl1g6zI6u9pd8luAK4Q= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.0 h1:TrB8swr/68K7m9CcGut2g3UOihhbcbiMAYiuTXdEih4= +github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= +github.com/go-logr/logr v0.4.0 h1:K7/B1jt6fIBQVd4Owv2MqGQClcgf0R266+7C/QjRcLc= +github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-ole/go-ole v1.2.4 h1:nNBDSCOigTSiarFpYE9J/KtEA1IOW4CNeqT9TQDqCxI= +github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM= +github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= +github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= +github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= +github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= +github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= +github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= +github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= +github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= +github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= +github.com/go-playground/validator/v10 v10.10.0 h1:I7mrTYv78z8k8VXa/qJlOlEXn/nBh+BF8dHX5nt/dr0= +github.com/go-playground/validator/v10 v10.10.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos= +github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGKFlFgcHWWmHQjg= +github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= +github.com/go-resty/resty/v2 v2.7.0 h1:me+K9p3uhSmXtrBZ4k9jcEAfJmuC8IivWHwaLZwPrFY= +github.com/go-resty/resty/v2 v2.7.0/go.mod h1:9PWDzw47qPphMRFfhsyk0NnSgvluHcljSMVIq3w7q0I= +github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= +github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-test/deep v1.0.2-0.20181118220953-042da051cf31/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/go-test/deep v1.0.2/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/goccy/go-json v0.9.7 h1:IcB+Aqpx/iMHu5Yooh7jEzJk1JZ7Pjtmys2ukPr7EeM= +github.com/goccy/go-json v0.9.7/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/goji/httpauth v0.0.0-20160601135302-2da839ab0f4d/go.mod h1:nnjvkQ9ptGaCkuDUx6wNykzzlUixGxvkme+H/lnzb+A= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= +github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= +github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= +github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= +github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= +github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/gonum/blas v0.0.0-20181208220705-f22b278b28ac/go.mod h1:P32wAyui1PQ58Oce/KYkOqQv8cVw1zAapXOl+dRFGbc= +github.com/gonum/floats v0.0.0-20181209220543-c233463c7e82/go.mod h1:PxC8OnwL11+aosOB5+iEPoV3picfs8tUpkVd0pDo+Kg= +github.com/gonum/integrate v0.0.0-20181209220457-a422b5c0fdf2/go.mod h1:pDgmNM6seYpwvPos3q+zxlXMsbve6mOIPucUnUOrI7Y= +github.com/gonum/internal v0.0.0-20181124074243-f884aa714029/go.mod h1:Pu4dmpkhSyOzRwuXkOgAvijx4o+4YMUJJo9OvPYMkks= +github.com/gonum/lapack v0.0.0-20181123203213-e4cdc5a0bff9/go.mod h1:XA3DeT6rxh2EAE789SSiSJNqxPaC0aE9J8NTOI0Jo/A= +github.com/gonum/matrix v0.0.0-20181209220409-c518dec07be9/go.mod h1:0EXg4mc1CNP0HCqCz+K4ts155PXIlUywf0wqN+GfPZw= +github.com/gonum/stat v0.0.0-20181125101827-41a0da705a5b/go.mod h1:Z4GIJBJO3Wa4gD4vbwQxXXZ+WHmW6E9ixmNrwvs0iZs= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.1 h1:gK4Kx5IaGY9CD5sPJ36FHiBJ6ZXl0kilRiiCj+jdYp4= +github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= +github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= +github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= +github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= +github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= +github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= +github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= +github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= +github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= +github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= +github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= +github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gopherjs/gopherjs v0.0.0-20190910122728-9d188e94fb99 h1:twflg0XRTjwKpxb/jFExr4HGq6on2dEOmnL6FV+fgPw= +github.com/gopherjs/gopherjs v0.0.0-20190910122728-9d188e94fb99/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= +github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.2.2/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI= +github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= +github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.14.6/go.mod h1:zdiPV4Yse/1gnckTHtghG4GkDEdKCRJduHpTxT3/jcw= +github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU= +github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw= +github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= +github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= +github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= +github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= +github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-hclog v0.0.0-20180709165350-ff2cf002a8dd/go.mod h1:9bjs9uLqI8l75knNv3lV1kA55veR+WUPSiKIWcQHudI= +github.com/hashicorp/go-hclog v0.8.0/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= +github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v0.16.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-kms-wrapping/entropy v0.1.0/go.mod h1:d1g9WGtAunDNpek8jUIEJnBlbgKS1N2Q61QkHiZyR1g= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= +github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= +github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/hashicorp/go-plugin v1.0.1/go.mod h1:++UyYGoz3o5w9ZzAdZxtQKrWWP+iqPBn3cQptSMzBuY= +github.com/hashicorp/go-plugin v1.4.3/go.mod h1:5fGEH17QVwTTcR0zV7yhDPLLmFX9YSZ38b18Udy6vYQ= +github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= +github.com/hashicorp/go-retryablehttp v0.5.4/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= +github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= +github.com/hashicorp/go-rootcerts v1.0.1/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/go-secure-stdlib/base62 v0.1.1/go.mod h1:EdWO6czbmthiwZ3/PUsDV+UD1D5IRU4ActiaWGwt0Yw= +github.com/hashicorp/go-secure-stdlib/mlock v0.1.1/go.mod h1:zq93CJChV6L9QTfGKtfBxKqD7BqqXx5O04A/ns2p5+I= +github.com/hashicorp/go-secure-stdlib/parseutil v0.1.1/go.mod h1:QmrqtbKuxxSWTN3ETMPuB+VtEiBJ/A9XhoYGv8E1uD8= +github.com/hashicorp/go-secure-stdlib/password v0.1.1/go.mod h1:9hH302QllNwu1o2TGYtSk8I8kTAN0ca1EHpwhm5Mmzo= +github.com/hashicorp/go-secure-stdlib/strutil v0.1.1/go.mod h1:gKOamz3EwoIoJq7mlMIRBpVTAUn8qPCrEclOKKWhD3U= +github.com/hashicorp/go-secure-stdlib/tlsutil v0.1.1/go.mod h1:l8slYwnJA26yBz+ErHpp2IRCLr0vuOMGBORIz4rRiAs= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= +github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= +github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= +github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= +github.com/hashicorp/serf v0.9.7/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= +github.com/hashicorp/vault/api v1.0.4/go.mod h1:gDcqh3WGcR1cpF5AJz/B1UFheUEneMoIospckxBxk6Q= +github.com/hashicorp/vault/sdk v0.1.13/go.mod h1:B+hVj7TpuQY1Y/GPbCpffmgd+tSEwvhkWnjtSYCaS2M= +github.com/hashicorp/vault/sdk v0.3.0 h1:kR3dpxNkhh/wr6ycaJYqp6AFT/i2xaftbfnwZduTKEY= +github.com/hashicorp/vault/sdk v0.3.0/go.mod h1:aZ3fNuL5VNydQk8GcLJ2TV8YCRVvyaakYkhZRoVuhj0= +github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= +github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= +github.com/jehiah/go-strftime v0.0.0-20171201141054-1d33003b3869/go.mod h1:cJ6Cj7dQo+O6GJNiMx+Pa94qKj+TG8ONdKHgMNIyyag= +github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/jhump/protoreflect v1.6.0/go.mod h1:eaTn3RZAmMBcV0fifFvlm6VHNz3wSkYyXYWUh7ymB74= +github.com/jinzhu/copier v0.3.5 h1:GlvfUwHk62RokgqVNvYsku0TATCF7bAHVwEXoBh3iJg= +github.com/jinzhu/copier v0.3.5/go.mod h1:DfbEm0FYsaqBcKcFuvmOZb218JkPGtvSHsKg8S8hyyg= +github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= +github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= +github.com/jinzhu/now v1.1.4/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= +github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= +github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/jonboulle/clockwork v0.2.2 h1:UOGuzwb1PwsrDAObMuhUnj0p5ULPj8V/xJ7Kx9qUBdQ= +github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= +github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.5/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/juju/errors v0.0.0-20210818161939-5560c4c073ff/go.mod h1:i1eL7XREII6aHpQ2gApI/v6FkVUDEBremNkcBCKYAcY= +github.com/juju/loggo v0.0.0-20170605014607-8232ab8918d9/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= +github.com/juju/testing v0.0.0-20180517134105-72703b1e95eb/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= +github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88 h1:uC1QfSlInpQF+M0ao65imhwqKnz3Q2z/d8PWZRMQvDM= +github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k= +github.com/k0kubun/pp v3.0.1+incompatible h1:3tqvf7QgUnZ5tXO6pNAZlrvHgl6DvifjDrd9g2S9Z40= +github.com/k0kubun/pp v3.0.1+incompatible/go.mod h1:GWse8YhT0p8pT4ir3ZgBbfZild3tgzSScAn6HmfYukg= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/knadh/koanf v1.4.0 h1:/k0Bh49SqLyLNfte9r6cvuZWrApOQhglOmhIU3L/zDw= +github.com/knadh/koanf v1.4.0/go.mod h1:1cfH5223ZeZUOs8FU2UdTmaNfHpqgtjV0+NHjRO43gs= +github.com/koding/multiconfig v0.0.0-20171124222453-69c27309b2d7/go.mod h1:Y2SaZf2Rzd0pXkLVhLlCiAXFCLSXAIbTKDivVgff/AM= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= +github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= +github.com/lestrrat/go-envload v0.0.0-20180220120943-6ed08b54a570/go.mod h1:BLt8L9ld7wVsvEWQbuLrUZnCMnUmLZ+CGDzKtclrTlE= +github.com/lestrrat/go-file-rotatelogs v0.0.0-20180223000712-d3151e2a480f/go.mod h1:UGmTpUd3rjbtfIpwAPrcfmGf/Z1HS95TATB+m57TPB8= +github.com/lestrrat/go-strftime v0.0.0-20180220042222-ba3bf9c1d042/go.mod h1:TPpsiPUEh0zFL1Snz4crhMlBe60PYxRHr5oFF3rRYg0= +github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= +github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= +github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= +github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= +github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.1/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= +github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= +github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= +github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= +github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= +github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= +github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= +github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= +github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= +github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= +github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= +github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/montanaflynn/stats v0.6.6/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= +github.com/mschoch/smat v0.2.0 h1:8imxQsjDm8yFEAVBe7azKmKSgzSkZXDuKkSq9374khM= +github.com/mschoch/smat v0.2.0/go.mod h1:kc9mz7DoBKqDyiRL7VZN8KvXQMWeTaVnttLRXOlotKw= +github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= +github.com/nacos-group/nacos-sdk-go v1.0.8/go.mod h1:hlAPn3UdzlxIlSILAyOXKxjFSvDJ9oLzTJ9hLAK1KzA= +github.com/nacos-group/nacos-sdk-go v1.1.0 h1:6ESrAegx2pqp3Vi8mqDi7s2Vq+I+u0oYLn646K4wx6o= +github.com/nacos-group/nacos-sdk-go v1.1.0/go.mod h1:Y/9Dj0Bl04hWUO1DaL4+r+fLzv5nl9kn58Vt1OGvWdw= +github.com/natefinch/lumberjack v2.0.0+incompatible h1:4QJd3OLAMgj7ph+yZTuX13Ld4UpgHp07nNdFX7mqFfM= +github.com/natefinch/lumberjack v2.0.0+incompatible/go.mod h1:Wi9p2TTF5DG5oU+6YfsmYQpsTIOm0B1VNzQg9Mw6nPk= +github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= +github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= +github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= +github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= +github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= +github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ= +github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/npillmayer/nestext v0.1.3/go.mod h1:h2lrijH8jpicr25dFY+oAJLyzlya6jhnuG+zWp9L0Uk= +github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= +github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.14.0 h1:2mOpI4JVVPBN+WQRa0WKH2eXR+Ey+uK4n7Zj0aYpIQA= +github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.10.1 h1:o0+MgICZLuZ7xjH7Vx6zS/zcu93/BEp1VwkIW1mEXCE= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= +github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= +github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= +github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= +github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= +github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= +github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= +github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= +github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= +github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= +github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/pelletier/go-toml/v2 v2.0.0-beta.8/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= +github.com/pelletier/go-toml/v2 v2.0.1 h1:8e3L2cCQzLFi2CR4g7vGFuFxX7Jl1kKX8gW+iV0GUKU= +github.com/pelletier/go-toml/v2 v2.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= +github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= +github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= +github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= +github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= +github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pierrec/lz4 v2.5.2+incompatible h1:WCjObylUIOlKy/+7Abdn34TLIkXiA4UWUMhxq9m9ZXI= +github.com/pierrec/lz4 v2.5.2+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= +github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= +github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/polarismesh/polaris-go v1.0.1 h1:Zqr8ZtxsJQsxt0MGyC/fFsF861ogoJCz16yWFJ/t54Q= +github.com/polarismesh/polaris-go v1.0.1/go.mod h1:3NOqn3QquPdEdY6YhPrsWGvBVCpKhPBGt0Hspq3yEqY= +github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= +github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= +github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= +github.com/prometheus/client_golang v1.5.1/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= +github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= +github.com/prometheus/client_golang v1.9.0/go.mod h1:FqZLKOZnGdFAhOK4nqGHa7D66IdsO+O441Eve7ptJDU= +github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.12.1 h1:ZiaPsmm9uiBeaSMRznKsCDNtPCS0T3JVDGF+06gjBzk= +github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= +github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= +github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= +github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= +github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= +github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= +github.com/prometheus/common v0.28.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.32.1 h1:hWIdL3N2HoUx3B8j3YN9mWor0qhY/NlEKZEaXxuIRh4= +github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= +github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU= +github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/statsd_exporter v0.21.0 h1:hA05Q5RFeIjgwKIYEdFd59xu5Wwaznf33yKI+pyX6T8= +github.com/prometheus/statsd_exporter v0.21.0/go.mod h1:rbT83sZq2V+p73lHhPZfMc3MLCHmSHelCh9hSGYNLTQ= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/rhnvrm/simples3 v0.6.1/go.mod h1:Y+3vYm2V7Y4VijFoJHHTrja6OgPrJ2cBti8dPGkC3sA= +github.com/robertkrimen/godocdown v0.0.0-20130622164427-0bfa04905481/go.mod h1:C9WhFzY47SzYBIvzFqSvHIR6ROgDo4TtdTuRaOMjF/s= +github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs= +github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8= +github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= +github.com/sagikazarmark/crypt v0.5.0/go.mod h1:l+nzl7KWh51rpzp2h7t4MZWyiEWdhNpOAnclKvg+mdA= +github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= +github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b h1:gQZ0qzfKHQIybLANtM3mBXNUtOfsCFXeTsnBqCsx1KM= +github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= +github.com/shirou/gopsutil v3.20.11+incompatible h1:LJr4ZQK4mPpIV5gOa4jCOKOGb4ty4DZO54I4FGqIpto= +github.com/shirou/gopsutil v3.20.11+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= +github.com/shirou/gopsutil/v3 v3.21.6 h1:vU7jrp1Ic/2sHB7w6UNs7MIkn7ebVtTb5D9j45o9VYE= +github.com/shirou/gopsutil/v3 v3.21.6/go.mod h1:JfVbDpIBLVzT8oKbvMg9P3wEIMDDpVn+LwHTKj0ST88= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/sirupsen/logrus v1.7.0 h1:ShrD1U9pZB12TX0cVy0DtePoCH97K8EtX+mg7ZARUtM= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/soheilhy/cmux v0.1.5-0.20210205191134-5ec6847320e5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= +github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js= +github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= +github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/afero v1.8.2 h1:xehSyVa0YnHWsJ49JFljMpg1HX19V6NDZ1fkm1Xznbo= +github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= +github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= +github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= +github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= +github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/spf13/viper v1.11.0 h1:7OX/1FS6n7jHD1zGrZTM7WtY13ZELRyosK4k93oPr44= +github.com/spf13/viper v1.11.0/go.mod h1:djo0X/bA5+tYVoCn+C7cAYJGcVn/qYLFTG8gdUsX7Zk= +github.com/stephens2424/writerset v1.0.2/go.mod h1:aS2JhsMn6eA7e82oNmW4rfsgAOp9COBTTl8mzkwADnc= +github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= +github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= +github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/tebeka/strftime v0.1.3/go.mod h1:7wJm3dZlpr4l/oVK0t1HYIc4rMzQ2XJlOMIUJUJH6XQ= +github.com/tevid/gohamcrest v1.1.1 h1:ou+xSqlIw1xfGTg1uq1nif/htZ2S3EzRqLm2BP+tYU0= +github.com/tevid/gohamcrest v1.1.1/go.mod h1:3UvtWlqm8j5JbwYZh80D/PVBt0mJ1eJiYgZMibh0H/k= +github.com/tklauser/go-sysconf v0.3.6 h1:oc1sJWvKkmvIxhDHeKWvZS4f6AW+YcoguSfRF2/Hmo4= +github.com/tklauser/go-sysconf v0.3.6/go.mod h1:MkWzOF4RMCshBAMXuhXJs64Rte09mITnppBXY/rYEFI= +github.com/tklauser/numcpus v0.2.2 h1:oyhllyrScuYI6g+h/zUvNXNp1wy7x8qQy3t/piefldA= +github.com/tklauser/numcpus v0.2.2/go.mod h1:x3qojaO3uyYt0i56EW/VUYs7uBvdl2fkfZFu0T9wgjM= +github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tmc/grpc-websocket-proxy v0.0.0-20200427203606-3cfed13b9966/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802 h1:uruHq4dN7GR16kFc5fp3d1RIYzJW5onx8Ybykw2YQFA= +github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/toolkits/concurrent v0.0.0-20150624120057-a4371d70e3e3 h1:kF/7m/ZU+0D4Jj5eZ41Zm3IH/J8OElK1Qtd7tVKAwLk= +github.com/toolkits/concurrent v0.0.0-20150624120057-a4371d70e3e3/go.mod h1:QDlpd3qS71vYtakd2hmdpqhJ9nwv6mD6A30bQ1BPBFE= +github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= +github.com/uber/jaeger-client-go v2.29.1+incompatible h1:R9ec3zO3sGpzs0abd43Y+fBZRJ9uiH6lXyR/+u6brW4= +github.com/uber/jaeger-client-go v2.29.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= +github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg= +github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= +github.com/ugorji/go v1.2.6/go.mod h1:anCg0y61KIhDlPZmnH+so+RQbysYVyDko0IMgJv0Nn0= +github.com/ugorji/go v1.2.7 h1:qYhyWUUd6WbiM+C6JZAUkIJt/1WrjzNHY9+KCIjVqTo= +github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M= +github.com/ugorji/go/codec v1.2.6/go.mod h1:V6TCNZ4PHqoHGFZuSG1W8nrCzzdgA2DozYxWFFpvxTw= +github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0= +github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= +github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/zouyx/agollo/v3 v3.4.5 h1:7YCxzY9ZYaH9TuVUBvmI6Tk0mwMggikah+cfbYogcHQ= +github.com/zouyx/agollo/v3 v3.4.5/go.mod h1:LJr3kDmm23QSW+F1Ol4TMHDa7HvJvscMdVxJ2IpUTVc= +go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= +go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= +go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= +go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738 h1:VcrIfasaLFkyjk6KNlXQSzO+B0fZcnECiDrKJsfxka0= +go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= +go.etcd.io/etcd/api/v3 v3.5.0-alpha.0/go.mod h1:mPcW6aZJukV6Aa81LSKpBjQXTWlXB5r74ymPoSWa3Sw= +go.etcd.io/etcd/api/v3 v3.5.2 h1:tXok5yLlKyuQ/SXSjtqHc4uzNaMqZi2XsoSPr/LlJXI= +go.etcd.io/etcd/api/v3 v3.5.2/go.mod h1:5GB2vv4A4AOn3yk7MftYGHkUfGtDHnEraIjym4dYz5A= +go.etcd.io/etcd/client/pkg/v3 v3.5.2 h1:4hzqQ6hIb3blLyQ8usCU4h3NghkqcsohEQ3o3VetYxE= +go.etcd.io/etcd/client/pkg/v3 v3.5.2/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/v2 v2.305.0-alpha.0/go.mod h1:kdV+xzCJ3luEBSIeQyB/OEKkWKd8Zkux4sbDeANrosU= +go.etcd.io/etcd/client/v2 v2.305.2 h1:ymrVwTkefuqA/rPkSW7/B4ApijbPVefRumkY+stNfS0= +go.etcd.io/etcd/client/v2 v2.305.2/go.mod h1:2D7ZejHVMIfog1221iLSYlQRzrtECw3kz4I4VAQm3qI= +go.etcd.io/etcd/client/v3 v3.5.0-alpha.0/go.mod h1:wKt7jgDgf/OfKiYmCq5WFGxOFAkVMLxiiXgLDFhECr8= +go.etcd.io/etcd/client/v3 v3.5.2 h1:WdnejrUtQC4nCxK0/dLTMqKOB+U5TP/2Ya0BJL+1otA= +go.etcd.io/etcd/client/v3 v3.5.2/go.mod h1:kOOaWFFgHygyT0WlSmL8TJiXmMysO/nNUlEsSsN6W4o= +go.etcd.io/etcd/pkg/v3 v3.5.0-alpha.0/go.mod h1:tV31atvwzcybuqejDoY3oaNRTtlD2l/Ot78Pc9w7DMY= +go.etcd.io/etcd/pkg/v3 v3.5.2 h1:YZUojdoPhOyl5QILYnR8LTUbbNefu/sV4ma+ZMr2tto= +go.etcd.io/etcd/pkg/v3 v3.5.2/go.mod h1:zsXz+9D/kijzRiG/UnFGDTyHKcVp0orwiO8iMLAi+k0= +go.etcd.io/etcd/raft/v3 v3.5.0-alpha.0/go.mod h1:FAwse6Zlm5v4tEWZaTjmNhe17Int4Oxbu7+2r0DiD3w= +go.etcd.io/etcd/raft/v3 v3.5.2 h1:uCC37qOXqBvKqTGHGyhASsaCsnTuJugl1GvneJNwHWo= +go.etcd.io/etcd/raft/v3 v3.5.2/go.mod h1:G6pCP1sFgbjod7/KnEHY0vHUViqxjkdt6AiKsD0GRr8= +go.etcd.io/etcd/server/v3 v3.5.0-alpha.0/go.mod h1:tsKetYpt980ZTpzl/gb+UOJj9RkIyCb1u4wjzMg90BQ= +go.etcd.io/etcd/server/v3 v3.5.2 h1:B6ytJvS4Fmt8nkjzS2/8POf4tuPhFMluE0lWd4dx/7U= +go.etcd.io/etcd/server/v3 v3.5.2/go.mod h1:mlG8znIEz4N/28GABrohZCBM11FqgGVQcpbcyJgh0j0= +go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= +go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opentelemetry.io/contrib v0.20.0 h1:ubFQUn0VCZ0gPwIoJfBJVpeBlyRMxu8Mm/huKWYd9p0= +go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0 h1:sO4WKdPAudZGKPcpZT4MJn6JaDmpyLrMPDGGyA1SttE= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= +go.opentelemetry.io/otel v0.20.0 h1:eaP0Fqu7SXHwvjiqDq83zImeehOHX8doTvU9AwXON8g= +go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= +go.opentelemetry.io/otel/exporters/otlp v0.20.0 h1:PTNgq9MRmQqqJY0REVbZFvwkYOA85vbdQU/nVfxDyqg= +go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= +go.opentelemetry.io/otel/metric v0.20.0 h1:4kzhXFP+btKm4jwxpjIqjs41A7MakRFUS86bqLHTIw8= +go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= +go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= +go.opentelemetry.io/otel/sdk v0.20.0 h1:JsxtGXd06J8jrnya7fdI/U/MR6yXA5DtbZy+qoHQlr8= +go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= +go.opentelemetry.io/otel/sdk/export/metric v0.20.0 h1:c5VRjxCXdQlx1HjzwGdQHzZaVI82b5EbBgOu2ljD92g= +go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= +go.opentelemetry.io/otel/sdk/metric v0.20.0 h1:7ao1wpzHRVKf0OQ7GIxiQJA6X7DLX9o14gmVon7mMK8= +go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= +go.opentelemetry.io/otel/trace v0.20.0 h1:1DL6EXUdcg95gukhuRRvLDO/4X5THh/5dIV52lqtnbw= +go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= +go.opentelemetry.io/proto/otlp v0.7.0 h1:rwOQPCuKAKmwGKq2aVNnYIibI6wnV7EvzgfTCzcdGg8= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= +go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= +go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI= +go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= +go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= +go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= +go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= +go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ= +go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= +go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= +go.uber.org/zap v1.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8= +go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 h1:kUhD7nTDoI3fVd9G4ORWrbV5NY0liEs/Jg2pv5f+bBA= +golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= +golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b h1:+qEpEAPhDZ1o0x3tHzZTQDArnOixOzGD9HUJfcg0mb4= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= +golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210520170846-37e1c6afe023/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210917221730-978cfadd31cf/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211029224645-99673261e6eb/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211105192438-b53810dc28af/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220412020605-290c469a71a5 h1:bRb386wvrE+oBNdF1d/Xh9mQrfQ4ecYhW5qJ5GvTGT4= +golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5 h1:OSnWWcOd/CtWQC2cYSBgbTSJv3ciqd8r54ySIW2y3RE= +golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190129075346-302c3dd5f1cc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201009025420-dfb3f7c4e634/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201214210602-f9fddec55a1e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201223074533-0d417f636930/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211106132015-ebca88c72f68/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211117180635-dee7805ff2e1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220412211240-33da011f77ad h1:ntjMns5wyP/fN65tdBD4g8J5w8n015+iIIs9rtjXkY0= +golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9 h1:ftMN5LMiBFjbzleLqtoBZk7KdJwhuybIU+FckUHgoyQ= +golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20200928182047-19e03678916f/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= +golang.org/x/tools v0.0.0-20201014170642-d1624618ad65/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= +golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f h1:GGU+dLjvlC3qDwqYgL6UgRmHXhOOgns0bZu2Ty5mm6U= +golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= +gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= +google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= +google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= +google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= +google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= +google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= +google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= +google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= +google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= +google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= +google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= +google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= +google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= +google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= +google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= +google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= +google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200806141610-86f49bd18e98/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210106152847-07624b53cd92/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= +google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= +google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211104193956-4c6863e31247/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= +google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac h1:qSNTkEN+L2mvWcLgJOR+8bdHX9rN/IdU3A1Ghpfb1Rg= +google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k= +google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.45.0 h1:NEpgUqV3Z+ZjkqMsxMg11IaDrXY4RY6CQukSGK0uI1M= +google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= +google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20160105164936-4f90aeace3a2/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= +gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/ini.v1 v1.42.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.66.4 h1:SsAcf+mM7mRZo2nJNGt8mZCjG8ZRaNGMURJw7BsIST4= +gopkg.in/ini.v1 v1.66.4/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/mgo.v2 v2.0.0-20160818015218-f2b6f6c918c4/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= +gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8= +gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= +gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= +gopkg.in/yaml.v2 v2.0.0-20170712054546-1be3d31502d6/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gorm.io/driver/mysql v1.4.4 h1:MX0K9Qvy0Na4o7qSC/YI7XxqUw5KDw01umqgID+svdQ= +gorm.io/driver/mysql v1.4.4/go.mod h1:BCg8cKI+R0j/rZRQxeKis/forqRwRSYOR8OM3Wo6hOM= +gorm.io/gorm v1.23.8/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= +gorm.io/gorm v1.24.1 h1:CgvzRniUdG67hBAzsxDGOAuq4Te1osVMYsa1eQbd4fs= +gorm.io/gorm v1.24.1/go.mod h1:DVrVomtaYTbqs7gB/x2uVvqnXzv0nqjB396B8cG4dBA= +gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= +honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +k8s.io/api v0.16.9 h1:3vCx0WX9qcg1Hv4aQ/G1tiIKectGVuimvPVTJU4VOCA= +k8s.io/api v0.16.9/go.mod h1:Y7dZNHs1Xy0mSwSlzL9QShi6qkljnN41yR8oWCRTDe8= +k8s.io/apimachinery v0.16.9/go.mod h1:Xk2vD2TRRpuWYLQNM6lT9R7DSFZUYG03SarNkbGrnKE= +k8s.io/apimachinery v0.22.4 h1:9uwcvPpukBw/Ri0EUmWz+49cnFtaoiyEhQTK+xOe7Ck= +k8s.io/apimachinery v0.22.4/go.mod h1:yU6oA6Gnax9RrxGzVvPFFJ+mpnW6PBSqp0sx0I0HHW0= +k8s.io/client-go v0.16.9 h1:6Eh4lMDxFtDzBkqid1AOL3bQ/pPYrulx8l23DXw4mRU= +k8s.io/client-go v0.16.9/go.mod h1:ThjPlh7Kx+XoBFOCt775vx5J7atwY7F/zaFzTco5gL0= +k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= +k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= +k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8= +k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= +k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= +k8s.io/klog/v2 v2.9.0 h1:D7HV+n1V57XeZ0m6tdRkfknthUaM06VFbWldOFh8kzM= +k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= +k8s.io/kube-openapi v0.0.0-20190816220812-743ec37842bf/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E= +k8s.io/kube-openapi v0.0.0-20211109043538-20434351676c/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= +k8s.io/utils v0.0.0-20190801114015-581e00157fb1 h1:+ySTxfHnfzZb9ys375PXNlLhkJPLKgHajBU0N62BDvE= +k8s.io/utils v0.0.0-20190801114015-581e00157fb1/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e h1:4Z09Hglb792X0kfOBBJUPFEyvVfQWrYT/l8h5EKA6JQ= +sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= +sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.1.2 h1:Hr/htKFmJEbtMgS/UD0N+gtgctAqz81t3nu+sPzynno= +sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= +sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= diff --git a/pb/artistinfo/artistinfo.pb.go b/pb/artistinfo/artistinfo.pb.go new file mode 100644 index 0000000..5e6541a --- /dev/null +++ b/pb/artistinfo/artistinfo.pb.go @@ -0,0 +1,2014 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.9.0 +// source: api/artistinfo/artistinfo.proto + +package artistinfo + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type UploadPicRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UploadPicRequest) Reset() { + *x = UploadPicRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadPicRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadPicRequest) ProtoMessage() {} + +func (x *UploadPicRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UploadPicRequest.ProtoReflect.Descriptor instead. +func (*UploadPicRequest) Descriptor() ([]byte, []int) { + return file_api_artistinfo_artistinfo_proto_rawDescGZIP(), []int{0} +} + +type UploadPicRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UploadPicRespond) Reset() { + *x = UploadPicRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadPicRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadPicRespond) ProtoMessage() {} + +func (x *UploadPicRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UploadPicRespond.ProtoReflect.Descriptor instead. +func (*UploadPicRespond) Descriptor() ([]byte, []int) { + return file_api_artistinfo_artistinfo_proto_rawDescGZIP(), []int{1} +} + +type UploadIdCardRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UploadIdCardRequest) Reset() { + *x = UploadIdCardRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadIdCardRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadIdCardRequest) ProtoMessage() {} + +func (x *UploadIdCardRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UploadIdCardRequest.ProtoReflect.Descriptor instead. +func (*UploadIdCardRequest) Descriptor() ([]byte, []int) { + return file_api_artistinfo_artistinfo_proto_rawDescGZIP(), []int{2} +} + +type UploadIdCardRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UploadIdCardRespond) Reset() { + *x = UploadIdCardRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadIdCardRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadIdCardRespond) ProtoMessage() {} + +func (x *UploadIdCardRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UploadIdCardRespond.ProtoReflect.Descriptor instead. +func (*UploadIdCardRespond) Descriptor() ([]byte, []int) { + return file_api_artistinfo_artistinfo_proto_rawDescGZIP(), []int{3} +} + +type RegisterUserRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` + MgmtUserId uint64 `protobuf:"varint,2,opt,name=MgmtUserId,proto3" json:"MgmtUserId,omitempty"` + MgmtArtistId string `protobuf:"bytes,3,opt,name=MgmtArtistId,proto3" json:"MgmtArtistId,omitempty"` + TelNum string `protobuf:"bytes,4,opt,name=TelNum,proto3" json:"TelNum,omitempty"` +} + +func (x *RegisterUserRequest) Reset() { + *x = RegisterUserRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RegisterUserRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisterUserRequest) ProtoMessage() {} + +func (x *RegisterUserRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegisterUserRequest.ProtoReflect.Descriptor instead. +func (*RegisterUserRequest) Descriptor() ([]byte, []int) { + return file_api_artistinfo_artistinfo_proto_rawDescGZIP(), []int{4} +} + +func (x *RegisterUserRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *RegisterUserRequest) GetMgmtUserId() uint64 { + if x != nil { + return x.MgmtUserId + } + return 0 +} + +func (x *RegisterUserRequest) GetMgmtArtistId() string { + if x != nil { + return x.MgmtArtistId + } + return "" +} + +func (x *RegisterUserRequest) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +type RegisterUserRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RegisterUserRespond) Reset() { + *x = RegisterUserRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RegisterUserRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisterUserRespond) ProtoMessage() {} + +func (x *RegisterUserRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegisterUserRespond.ProtoReflect.Descriptor instead. +func (*RegisterUserRespond) Descriptor() ([]byte, []int) { + return file_api_artistinfo_artistinfo_proto_rawDescGZIP(), []int{5} +} + +type GetUserRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TelNum string `protobuf:"bytes,1,opt,name=TelNum,proto3" json:"TelNum,omitempty"` +} + +func (x *GetUserRequest) Reset() { + *x = GetUserRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetUserRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUserRequest) ProtoMessage() {} + +func (x *GetUserRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUserRequest.ProtoReflect.Descriptor instead. +func (*GetUserRequest) Descriptor() ([]byte, []int) { + return file_api_artistinfo_artistinfo_proto_rawDescGZIP(), []int{6} +} + +func (x *GetUserRequest) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +type GetUserRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` + MgmtUserId uint64 `protobuf:"varint,2,opt,name=MgmtUserId,proto3" json:"MgmtUserId,omitempty"` + MgmtArtistId string `protobuf:"bytes,3,opt,name=MgmtArtistId,proto3" json:"MgmtArtistId,omitempty"` + TelNum string `protobuf:"bytes,4,opt,name=TelNum,proto3" json:"TelNum,omitempty"` + IsFdd int64 `protobuf:"varint,5,opt,name=IsFdd,proto3" json:"IsFdd,omitempty"` + IsRealName int64 `protobuf:"varint,6,opt,name=IsRealName,proto3" json:"IsRealName,omitempty"` + Ruler int64 `protobuf:"varint,7,opt,name=ruler,proto3" json:"ruler,omitempty"` +} + +func (x *GetUserRespond) Reset() { + *x = GetUserRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetUserRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUserRespond) ProtoMessage() {} + +func (x *GetUserRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUserRespond.ProtoReflect.Descriptor instead. +func (*GetUserRespond) Descriptor() ([]byte, []int) { + return file_api_artistinfo_artistinfo_proto_rawDescGZIP(), []int{7} +} + +func (x *GetUserRespond) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *GetUserRespond) GetMgmtUserId() uint64 { + if x != nil { + return x.MgmtUserId + } + return 0 +} + +func (x *GetUserRespond) GetMgmtArtistId() string { + if x != nil { + return x.MgmtArtistId + } + return "" +} + +func (x *GetUserRespond) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *GetUserRespond) GetIsFdd() int64 { + if x != nil { + return x.IsFdd + } + return 0 +} + +func (x *GetUserRespond) GetIsRealName() int64 { + if x != nil { + return x.IsRealName + } + return 0 +} + +func (x *GetUserRespond) GetRuler() int64 { + if x != nil { + return x.Ruler + } + return 0 +} + +type GetUserByIdRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` +} + +func (x *GetUserByIdRequest) Reset() { + *x = GetUserByIdRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetUserByIdRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUserByIdRequest) ProtoMessage() {} + +func (x *GetUserByIdRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUserByIdRequest.ProtoReflect.Descriptor instead. +func (*GetUserByIdRequest) Descriptor() ([]byte, []int) { + return file_api_artistinfo_artistinfo_proto_rawDescGZIP(), []int{8} +} + +func (x *GetUserByIdRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +type GetUserByIdRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` + MgmtUserId uint64 `protobuf:"varint,2,opt,name=MgmtUserId,proto3" json:"MgmtUserId,omitempty"` + MgmtArtistId string `protobuf:"bytes,3,opt,name=MgmtArtistId,proto3" json:"MgmtArtistId,omitempty"` + TelNum string `protobuf:"bytes,4,opt,name=TelNum,proto3" json:"TelNum,omitempty"` + IsFdd int64 `protobuf:"varint,5,opt,name=IsFdd,proto3" json:"IsFdd,omitempty"` + IsRealName int64 `protobuf:"varint,6,opt,name=IsRealName,proto3" json:"IsRealName,omitempty"` + Ruler int64 `protobuf:"varint,7,opt,name=ruler,proto3" json:"ruler,omitempty"` + InvitedCode string `protobuf:"bytes,8,opt,name=InvitedCode,proto3" json:"InvitedCode,omitempty"` + CustomerId string `protobuf:"bytes,9,opt,name=CustomerId,proto3" json:"CustomerId,omitempty"` +} + +func (x *GetUserByIdRespond) Reset() { + *x = GetUserByIdRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetUserByIdRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUserByIdRespond) ProtoMessage() {} + +func (x *GetUserByIdRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUserByIdRespond.ProtoReflect.Descriptor instead. +func (*GetUserByIdRespond) Descriptor() ([]byte, []int) { + return file_api_artistinfo_artistinfo_proto_rawDescGZIP(), []int{9} +} + +func (x *GetUserByIdRespond) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *GetUserByIdRespond) GetMgmtUserId() uint64 { + if x != nil { + return x.MgmtUserId + } + return 0 +} + +func (x *GetUserByIdRespond) GetMgmtArtistId() string { + if x != nil { + return x.MgmtArtistId + } + return "" +} + +func (x *GetUserByIdRespond) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *GetUserByIdRespond) GetIsFdd() int64 { + if x != nil { + return x.IsFdd + } + return 0 +} + +func (x *GetUserByIdRespond) GetIsRealName() int64 { + if x != nil { + return x.IsRealName + } + return 0 +} + +func (x *GetUserByIdRespond) GetRuler() int64 { + if x != nil { + return x.Ruler + } + return 0 +} + +func (x *GetUserByIdRespond) GetInvitedCode() string { + if x != nil { + return x.InvitedCode + } + return "" +} + +func (x *GetUserByIdRespond) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +type GetUserByIdData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TelNum string `protobuf:"bytes,1,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` + CertificateNum string `protobuf:"bytes,2,opt,name=CertificateNum,json=certificateNum,proto3" json:"CertificateNum,omitempty"` + CertificateImg string `protobuf:"bytes,3,opt,name=CertificateImg,json=certificateImg,proto3" json:"CertificateImg,omitempty"` + JoinAssoTime string `protobuf:"bytes,4,opt,name=JoinAssoTime,json=joinAssoTime,proto3" json:"JoinAssoTime,omitempty"` + RealName string `protobuf:"bytes,5,opt,name=RealName,json=realName,proto3" json:"RealName,omitempty"` + PenName string `protobuf:"bytes,6,opt,name=PenName,json=penName,proto3" json:"PenName,omitempty"` + StageName string `protobuf:"bytes,7,opt,name=StageName,json=stageName,proto3" json:"StageName,omitempty"` + Sex int32 `protobuf:"varint,8,opt,name=Sex,json=sex,proto3" json:"Sex,omitempty"` + IdCard string `protobuf:"bytes,9,opt,name=IdCard,json=idCard,proto3" json:"IdCard,omitempty"` + IdCardFront string `protobuf:"bytes,10,opt,name=IdCardFront,json=idCardFront,proto3" json:"IdCardFront,omitempty"` + IdCardBack string `protobuf:"bytes,11,opt,name=IdCardBack,json=idCardBack,proto3" json:"IdCardBack,omitempty"` + Age int32 `protobuf:"varint,12,opt,name=Age,json=age,proto3" json:"Age,omitempty"` + Ruler int64 `protobuf:"varint,13,opt,name=Ruler,json=ruler,proto3" json:"Ruler,omitempty"` + ConAddress []string `protobuf:"bytes,14,rep,name=ConAddress,json=conAddress,proto3" json:"ConAddress,omitempty"` + Photo string `protobuf:"bytes,15,opt,name=Photo,json=photo,proto3" json:"Photo,omitempty"` + Video string `protobuf:"bytes,16,opt,name=Video,json=video,proto3" json:"Video,omitempty"` + FddState int64 `protobuf:"varint,17,opt,name=FddState,json=fddState,proto3" json:"FddState,omitempty"` + CustomerId string `protobuf:"bytes,18,opt,name=CustomerId,json=customerId,proto3" json:"CustomerId,omitempty"` + InvitedCode string `protobuf:"bytes,19,opt,name=InvitedCode,json=invitedCode,proto3" json:"InvitedCode,omitempty"` + InvitedName string `protobuf:"bytes,20,opt,name=InvitedName,json=invitedName,proto3" json:"InvitedName,omitempty"` + WxAccount string `protobuf:"bytes,21,opt,name=WxAccount,json=wxAccount,proto3" json:"WxAccount,omitempty"` + QrCodeImg string `protobuf:"bytes,22,opt,name=QrCodeImg,json=qrCode,proto3" json:"QrCodeImg,omitempty"` + QrCodeImgDownload string `protobuf:"bytes,23,opt,name=QrCodeImgDownload,json=qrCodeDownload,proto3" json:"QrCodeImgDownload,omitempty"` + HtmlType string `protobuf:"bytes,24,opt,name=HtmlType,json=htmlType,proto3" json:"HtmlType,omitempty"` + EnvType string `protobuf:"bytes,25,opt,name=EnvType,json=envType,proto3" json:"EnvType,omitempty"` +} + +func (x *GetUserByIdData) Reset() { + *x = GetUserByIdData{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetUserByIdData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUserByIdData) ProtoMessage() {} + +func (x *GetUserByIdData) ProtoReflect() protoreflect.Message { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUserByIdData.ProtoReflect.Descriptor instead. +func (*GetUserByIdData) Descriptor() ([]byte, []int) { + return file_api_artistinfo_artistinfo_proto_rawDescGZIP(), []int{10} +} + +func (x *GetUserByIdData) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *GetUserByIdData) GetCertificateNum() string { + if x != nil { + return x.CertificateNum + } + return "" +} + +func (x *GetUserByIdData) GetCertificateImg() string { + if x != nil { + return x.CertificateImg + } + return "" +} + +func (x *GetUserByIdData) GetJoinAssoTime() string { + if x != nil { + return x.JoinAssoTime + } + return "" +} + +func (x *GetUserByIdData) GetRealName() string { + if x != nil { + return x.RealName + } + return "" +} + +func (x *GetUserByIdData) GetPenName() string { + if x != nil { + return x.PenName + } + return "" +} + +func (x *GetUserByIdData) GetStageName() string { + if x != nil { + return x.StageName + } + return "" +} + +func (x *GetUserByIdData) GetSex() int32 { + if x != nil { + return x.Sex + } + return 0 +} + +func (x *GetUserByIdData) GetIdCard() string { + if x != nil { + return x.IdCard + } + return "" +} + +func (x *GetUserByIdData) GetIdCardFront() string { + if x != nil { + return x.IdCardFront + } + return "" +} + +func (x *GetUserByIdData) GetIdCardBack() string { + if x != nil { + return x.IdCardBack + } + return "" +} + +func (x *GetUserByIdData) GetAge() int32 { + if x != nil { + return x.Age + } + return 0 +} + +func (x *GetUserByIdData) GetRuler() int64 { + if x != nil { + return x.Ruler + } + return 0 +} + +func (x *GetUserByIdData) GetConAddress() []string { + if x != nil { + return x.ConAddress + } + return nil +} + +func (x *GetUserByIdData) GetPhoto() string { + if x != nil { + return x.Photo + } + return "" +} + +func (x *GetUserByIdData) GetVideo() string { + if x != nil { + return x.Video + } + return "" +} + +func (x *GetUserByIdData) GetFddState() int64 { + if x != nil { + return x.FddState + } + return 0 +} + +func (x *GetUserByIdData) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +func (x *GetUserByIdData) GetInvitedCode() string { + if x != nil { + return x.InvitedCode + } + return "" +} + +func (x *GetUserByIdData) GetInvitedName() string { + if x != nil { + return x.InvitedName + } + return "" +} + +func (x *GetUserByIdData) GetWxAccount() string { + if x != nil { + return x.WxAccount + } + return "" +} + +func (x *GetUserByIdData) GetQrCodeImg() string { + if x != nil { + return x.QrCodeImg + } + return "" +} + +func (x *GetUserByIdData) GetQrCodeImgDownload() string { + if x != nil { + return x.QrCodeImgDownload + } + return "" +} + +func (x *GetUserByIdData) GetHtmlType() string { + if x != nil { + return x.HtmlType + } + return "" +} + +func (x *GetUserByIdData) GetEnvType() string { + if x != nil { + return x.EnvType + } + return "" +} + +type CreateUserRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` + TelNum string `protobuf:"bytes,2,opt,name=TelNum,proto3" json:"TelNum,omitempty"` +} + +func (x *CreateUserRequest) Reset() { + *x = CreateUserRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateUserRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateUserRequest) ProtoMessage() {} + +func (x *CreateUserRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateUserRequest.ProtoReflect.Descriptor instead. +func (*CreateUserRequest) Descriptor() ([]byte, []int) { + return file_api_artistinfo_artistinfo_proto_rawDescGZIP(), []int{11} +} + +func (x *CreateUserRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *CreateUserRequest) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +type CreateUserRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CreateUserRespond) Reset() { + *x = CreateUserRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateUserRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateUserRespond) ProtoMessage() {} + +func (x *CreateUserRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateUserRespond.ProtoReflect.Descriptor instead. +func (*CreateUserRespond) Descriptor() ([]byte, []int) { + return file_api_artistinfo_artistinfo_proto_rawDescGZIP(), []int{12} +} + +type CreateUserInfoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TelNum string `protobuf:"bytes,1,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` + CertificateNum string `protobuf:"bytes,2,opt,name=CertificateNum,json=certificateNum,proto3" json:"CertificateNum,omitempty"` + CertificateImg string `protobuf:"bytes,3,opt,name=CertificateImg,json=certificateImg,proto3" json:"CertificateImg,omitempty"` + JoinAssoTime string `protobuf:"bytes,4,opt,name=JoinAssoTime,json=joinAssoTime,proto3" json:"JoinAssoTime,omitempty"` + RealName string `protobuf:"bytes,5,opt,name=RealName,json=realName,proto3" json:"RealName,omitempty"` + PenName string `protobuf:"bytes,6,opt,name=PenName,json=penName,proto3" json:"PenName,omitempty"` + StageName string `protobuf:"bytes,7,opt,name=StageName,json=stageName,proto3" json:"StageName,omitempty"` + Sex int32 `protobuf:"varint,8,opt,name=Sex,json=sex,proto3" json:"Sex,omitempty"` + IdCard string `protobuf:"bytes,9,opt,name=IdCard,json=idCard,proto3" json:"IdCard,omitempty"` + IdCardFront string `protobuf:"bytes,10,opt,name=IdCardFront,json=idCardFront,proto3" json:"IdCardFront,omitempty"` + IdCardBack string `protobuf:"bytes,11,opt,name=IdCardBack,json=idCardBack,proto3" json:"IdCardBack,omitempty"` + Age int32 `protobuf:"varint,12,opt,name=Age,json=age,proto3" json:"Age,omitempty"` + Ruler int64 `protobuf:"varint,13,opt,name=Ruler,json=ruler,proto3" json:"Ruler,omitempty"` + ConAddress []string `protobuf:"bytes,14,rep,name=ConAddress,json=conAddress,proto3" json:"ConAddress,omitempty"` + Photo string `protobuf:"bytes,15,opt,name=Photo,json=photo,proto3" json:"Photo,omitempty"` + Video string `protobuf:"bytes,16,opt,name=Video,json=video,proto3" json:"Video,omitempty"` + FddState int64 `protobuf:"varint,17,opt,name=FddState,json=fddState,proto3" json:"FddState,omitempty"` + CustomerId string `protobuf:"bytes,18,opt,name=CustomerId,json=customerId,proto3" json:"CustomerId,omitempty"` + InvitedCode string `protobuf:"bytes,19,opt,name=InvitedCode,json=invitedCode,proto3" json:"InvitedCode,omitempty"` + InvitedName string `protobuf:"bytes,20,opt,name=InvitedName,json=invitedName,proto3" json:"InvitedName,omitempty"` + WxAccount string `protobuf:"bytes,21,opt,name=WxAccount,json=wxAccount,proto3" json:"WxAccount,omitempty"` + QrCodeImg string `protobuf:"bytes,22,opt,name=QrCodeImg,json=qrCode,proto3" json:"QrCodeImg,omitempty"` + QrCodeImgDownload string `protobuf:"bytes,23,opt,name=QrCodeImgDownload,json=qrCodeDownload,proto3" json:"QrCodeImgDownload,omitempty"` + HtmlType string `protobuf:"bytes,24,opt,name=HtmlType,json=htmlType,proto3" json:"HtmlType,omitempty"` + EnvType string `protobuf:"bytes,25,opt,name=EnvType,json=envType,proto3" json:"EnvType,omitempty"` +} + +func (x *CreateUserInfoRequest) Reset() { + *x = CreateUserInfoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateUserInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateUserInfoRequest) ProtoMessage() {} + +func (x *CreateUserInfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateUserInfoRequest.ProtoReflect.Descriptor instead. +func (*CreateUserInfoRequest) Descriptor() ([]byte, []int) { + return file_api_artistinfo_artistinfo_proto_rawDescGZIP(), []int{13} +} + +func (x *CreateUserInfoRequest) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *CreateUserInfoRequest) GetCertificateNum() string { + if x != nil { + return x.CertificateNum + } + return "" +} + +func (x *CreateUserInfoRequest) GetCertificateImg() string { + if x != nil { + return x.CertificateImg + } + return "" +} + +func (x *CreateUserInfoRequest) GetJoinAssoTime() string { + if x != nil { + return x.JoinAssoTime + } + return "" +} + +func (x *CreateUserInfoRequest) GetRealName() string { + if x != nil { + return x.RealName + } + return "" +} + +func (x *CreateUserInfoRequest) GetPenName() string { + if x != nil { + return x.PenName + } + return "" +} + +func (x *CreateUserInfoRequest) GetStageName() string { + if x != nil { + return x.StageName + } + return "" +} + +func (x *CreateUserInfoRequest) GetSex() int32 { + if x != nil { + return x.Sex + } + return 0 +} + +func (x *CreateUserInfoRequest) GetIdCard() string { + if x != nil { + return x.IdCard + } + return "" +} + +func (x *CreateUserInfoRequest) GetIdCardFront() string { + if x != nil { + return x.IdCardFront + } + return "" +} + +func (x *CreateUserInfoRequest) GetIdCardBack() string { + if x != nil { + return x.IdCardBack + } + return "" +} + +func (x *CreateUserInfoRequest) GetAge() int32 { + if x != nil { + return x.Age + } + return 0 +} + +func (x *CreateUserInfoRequest) GetRuler() int64 { + if x != nil { + return x.Ruler + } + return 0 +} + +func (x *CreateUserInfoRequest) GetConAddress() []string { + if x != nil { + return x.ConAddress + } + return nil +} + +func (x *CreateUserInfoRequest) GetPhoto() string { + if x != nil { + return x.Photo + } + return "" +} + +func (x *CreateUserInfoRequest) GetVideo() string { + if x != nil { + return x.Video + } + return "" +} + +func (x *CreateUserInfoRequest) GetFddState() int64 { + if x != nil { + return x.FddState + } + return 0 +} + +func (x *CreateUserInfoRequest) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +func (x *CreateUserInfoRequest) GetInvitedCode() string { + if x != nil { + return x.InvitedCode + } + return "" +} + +func (x *CreateUserInfoRequest) GetInvitedName() string { + if x != nil { + return x.InvitedName + } + return "" +} + +func (x *CreateUserInfoRequest) GetWxAccount() string { + if x != nil { + return x.WxAccount + } + return "" +} + +func (x *CreateUserInfoRequest) GetQrCodeImg() string { + if x != nil { + return x.QrCodeImg + } + return "" +} + +func (x *CreateUserInfoRequest) GetQrCodeImgDownload() string { + if x != nil { + return x.QrCodeImgDownload + } + return "" +} + +func (x *CreateUserInfoRequest) GetHtmlType() string { + if x != nil { + return x.HtmlType + } + return "" +} + +func (x *CreateUserInfoRequest) GetEnvType() string { + if x != nil { + return x.EnvType + } + return "" +} + +type CreateUserInfoRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CreateUserInfoRespond) Reset() { + *x = CreateUserInfoRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateUserInfoRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateUserInfoRespond) ProtoMessage() {} + +func (x *CreateUserInfoRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateUserInfoRespond.ProtoReflect.Descriptor instead. +func (*CreateUserInfoRespond) Descriptor() ([]byte, []int) { + return file_api_artistinfo_artistinfo_proto_rawDescGZIP(), []int{14} +} + +type UpdateRealNameRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` +} + +func (x *UpdateRealNameRequest) Reset() { + *x = UpdateRealNameRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateRealNameRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateRealNameRequest) ProtoMessage() {} + +func (x *UpdateRealNameRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateRealNameRequest.ProtoReflect.Descriptor instead. +func (*UpdateRealNameRequest) Descriptor() ([]byte, []int) { + return file_api_artistinfo_artistinfo_proto_rawDescGZIP(), []int{15} +} + +func (x *UpdateRealNameRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +type UpdateRealNameRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UpdateRealNameRespond) Reset() { + *x = UpdateRealNameRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateRealNameRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateRealNameRespond) ProtoMessage() {} + +func (x *UpdateRealNameRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateRealNameRespond.ProtoReflect.Descriptor instead. +func (*UpdateRealNameRespond) Descriptor() ([]byte, []int) { + return file_api_artistinfo_artistinfo_proto_rawDescGZIP(), []int{16} +} + +type FinishVerifyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` +} + +func (x *FinishVerifyRequest) Reset() { + *x = FinishVerifyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FinishVerifyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FinishVerifyRequest) ProtoMessage() {} + +func (x *FinishVerifyRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FinishVerifyRequest.ProtoReflect.Descriptor instead. +func (*FinishVerifyRequest) Descriptor() ([]byte, []int) { + return file_api_artistinfo_artistinfo_proto_rawDescGZIP(), []int{17} +} + +func (x *FinishVerifyRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +type FinishVerifyRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *FinishVerifyRespond) Reset() { + *x = FinishVerifyRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FinishVerifyRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FinishVerifyRespond) ProtoMessage() {} + +func (x *FinishVerifyRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FinishVerifyRespond.ProtoReflect.Descriptor instead. +func (*FinishVerifyRespond) Descriptor() ([]byte, []int) { + return file_api_artistinfo_artistinfo_proto_rawDescGZIP(), []int{18} +} + +type CheckUserLockRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` +} + +func (x *CheckUserLockRequest) Reset() { + *x = CheckUserLockRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CheckUserLockRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckUserLockRequest) ProtoMessage() {} + +func (x *CheckUserLockRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CheckUserLockRequest.ProtoReflect.Descriptor instead. +func (*CheckUserLockRequest) Descriptor() ([]byte, []int) { + return file_api_artistinfo_artistinfo_proto_rawDescGZIP(), []int{19} +} + +func (x *CheckUserLockRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +type CheckUserLockRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CheckUserLockRespond) Reset() { + *x = CheckUserLockRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CheckUserLockRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckUserLockRespond) ProtoMessage() {} + +func (x *CheckUserLockRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_artistinfo_artistinfo_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CheckUserLockRespond.ProtoReflect.Descriptor instead. +func (*CheckUserLockRespond) Descriptor() ([]byte, []int) { + return file_api_artistinfo_artistinfo_proto_rawDescGZIP(), []int{20} +} + +var File_api_artistinfo_artistinfo_proto protoreflect.FileDescriptor + +var file_api_artistinfo_artistinfo_proto_rawDesc = []byte{ + 0x0a, 0x1f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, + 0x2f, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x12, 0x0a, + 0x10, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x22, 0x12, 0x0a, 0x10, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x63, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, + 0x64, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x15, 0x0a, 0x13, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x64, 0x22, 0x81, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, + 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0a, 0x4d, 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x4d, + 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x4d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x22, 0x15, 0x0a, 0x13, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x28, + 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x22, 0xc8, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, + 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0a, 0x4d, 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x4d, + 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x4d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x73, 0x46, 0x64, 0x64, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x49, 0x73, 0x46, 0x64, 0x64, 0x12, 0x1e, 0x0a, + 0x0a, 0x49, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x0a, 0x49, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x72, 0x75, + 0x6c, 0x65, 0x72, 0x22, 0x24, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, + 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x64, 0x22, 0x8e, 0x02, 0x0a, 0x12, 0x47, 0x65, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, + 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x64, + 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x4d, 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x22, 0x0a, 0x0c, 0x4d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x4d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, + 0x49, 0x73, 0x46, 0x64, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x49, 0x73, 0x46, + 0x64, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x49, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x49, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x22, 0xeb, 0x05, 0x0a, 0x0f, 0x47, + 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, + 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x26, + 0x0a, 0x0e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x67, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x49, 0x6d, 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x4a, 0x6f, 0x69, 0x6e, 0x41, 0x73, + 0x73, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x6f, + 0x69, 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, + 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, + 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x65, 0x6e, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, + 0x0a, 0x03, 0x53, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x73, 0x65, 0x78, + 0x12, 0x16, 0x0a, 0x06, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x64, 0x43, 0x61, + 0x72, 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, + 0x64, 0x43, 0x61, 0x72, 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x64, + 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x41, 0x67, + 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x52, 0x75, 0x6c, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x72, 0x75, 0x6c, + 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x69, 0x64, 0x65, + 0x6f, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x1a, + 0x0a, 0x08, 0x46, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x08, 0x66, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x57, 0x78, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x77, 0x78, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x09, + 0x51, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6d, 0x67, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x71, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x29, 0x0a, 0x11, 0x51, 0x72, 0x43, 0x6f, 0x64, + 0x65, 0x49, 0x6d, 0x67, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x17, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x71, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x48, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x18, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x45, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x22, 0x3b, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, + 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, + 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x54, + 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x22, 0x13, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0xf1, 0x05, 0x0a, 0x15, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x49, 0x6d, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x67, 0x12, 0x22, 0x0a, 0x0c, + 0x4a, 0x6f, 0x69, 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x6f, 0x69, 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x50, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, + 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x67, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x53, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x12, 0x20, + 0x0a, 0x0b, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, + 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, + 0x12, 0x10, 0x0a, 0x03, 0x41, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x61, + 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, + 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x68, 0x6f, 0x74, + 0x6f, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x14, + 0x0a, 0x05, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x69, 0x64, 0x65, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x12, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x18, + 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x57, 0x78, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x77, 0x78, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x09, 0x51, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6d, 0x67, 0x18, + 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x71, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x29, 0x0a, + 0x11, 0x51, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6d, 0x67, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x71, 0x72, 0x43, 0x6f, 0x64, 0x65, + 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x48, 0x74, 0x6d, 0x6c, + 0x54, 0x79, 0x70, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x74, 0x6d, 0x6c, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x22, 0x17, + 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x27, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x64, + 0x22, 0x17, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, + 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x25, 0x0a, 0x13, 0x46, 0x69, 0x6e, + 0x69, 0x73, 0x68, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x64, + 0x22, 0x15, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x26, 0x0a, 0x14, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, + 0x16, 0x0a, 0x14, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x32, 0xc2, 0x06, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49, 0x0a, 0x09, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x50, 0x69, 0x63, 0x12, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, + 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, + 0x00, 0x12, 0x52, 0x0a, 0x0c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x43, 0x61, 0x72, + 0x64, 0x12, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x07, 0x47, 0x65, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x12, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4f, + 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x12, 0x1e, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, + 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, + 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, + 0x4c, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1d, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x58, 0x0a, + 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x58, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x61, + 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, + 0x00, 0x12, 0x52, 0x0a, 0x0c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x56, 0x65, 0x72, 0x69, 0x66, + 0x79, 0x12, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x46, + 0x69, 0x6e, 0x69, 0x73, 0x68, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, + 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x0d, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, + 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x20, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4c, + 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x42, 0x0f, 0x5a, 0x0d, + 0x2e, 0x2f, 0x3b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_api_artistinfo_artistinfo_proto_rawDescOnce sync.Once + file_api_artistinfo_artistinfo_proto_rawDescData = file_api_artistinfo_artistinfo_proto_rawDesc +) + +func file_api_artistinfo_artistinfo_proto_rawDescGZIP() []byte { + file_api_artistinfo_artistinfo_proto_rawDescOnce.Do(func() { + file_api_artistinfo_artistinfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_artistinfo_artistinfo_proto_rawDescData) + }) + return file_api_artistinfo_artistinfo_proto_rawDescData +} + +var file_api_artistinfo_artistinfo_proto_msgTypes = make([]protoimpl.MessageInfo, 21) +var file_api_artistinfo_artistinfo_proto_goTypes = []interface{}{ + (*UploadPicRequest)(nil), // 0: artistinfo.UploadPicRequest + (*UploadPicRespond)(nil), // 1: artistinfo.UploadPicRespond + (*UploadIdCardRequest)(nil), // 2: artistinfo.UploadIdCardRequest + (*UploadIdCardRespond)(nil), // 3: artistinfo.UploadIdCardRespond + (*RegisterUserRequest)(nil), // 4: artistinfo.RegisterUserRequest + (*RegisterUserRespond)(nil), // 5: artistinfo.RegisterUserRespond + (*GetUserRequest)(nil), // 6: artistinfo.GetUserRequest + (*GetUserRespond)(nil), // 7: artistinfo.GetUserRespond + (*GetUserByIdRequest)(nil), // 8: artistinfo.GetUserByIdRequest + (*GetUserByIdRespond)(nil), // 9: artistinfo.GetUserByIdRespond + (*GetUserByIdData)(nil), // 10: artistinfo.GetUserByIdData + (*CreateUserRequest)(nil), // 11: artistinfo.CreateUserRequest + (*CreateUserRespond)(nil), // 12: artistinfo.CreateUserRespond + (*CreateUserInfoRequest)(nil), // 13: artistinfo.CreateUserInfoRequest + (*CreateUserInfoRespond)(nil), // 14: artistinfo.CreateUserInfoRespond + (*UpdateRealNameRequest)(nil), // 15: artistinfo.UpdateRealNameRequest + (*UpdateRealNameRespond)(nil), // 16: artistinfo.UpdateRealNameRespond + (*FinishVerifyRequest)(nil), // 17: artistinfo.FinishVerifyRequest + (*FinishVerifyRespond)(nil), // 18: artistinfo.FinishVerifyRespond + (*CheckUserLockRequest)(nil), // 19: artistinfo.CheckUserLockRequest + (*CheckUserLockRespond)(nil), // 20: artistinfo.CheckUserLockRespond +} +var file_api_artistinfo_artistinfo_proto_depIdxs = []int32{ + 0, // 0: artistinfo.ArtistInfo.UploadPic:input_type -> artistinfo.UploadPicRequest + 2, // 1: artistinfo.ArtistInfo.UploadIdCard:input_type -> artistinfo.UploadIdCardRequest + 4, // 2: artistinfo.ArtistInfo.RegisterUser:input_type -> artistinfo.RegisterUserRequest + 6, // 3: artistinfo.ArtistInfo.GetUser:input_type -> artistinfo.GetUserRequest + 8, // 4: artistinfo.ArtistInfo.GetUserById:input_type -> artistinfo.GetUserByIdRequest + 11, // 5: artistinfo.ArtistInfo.CreateUser:input_type -> artistinfo.CreateUserRequest + 13, // 6: artistinfo.ArtistInfo.CreateUserInfo:input_type -> artistinfo.CreateUserInfoRequest + 15, // 7: artistinfo.ArtistInfo.UpdateRealName:input_type -> artistinfo.UpdateRealNameRequest + 17, // 8: artistinfo.ArtistInfo.FinishVerify:input_type -> artistinfo.FinishVerifyRequest + 19, // 9: artistinfo.ArtistInfo.CheckUserLock:input_type -> artistinfo.CheckUserLockRequest + 1, // 10: artistinfo.ArtistInfo.UploadPic:output_type -> artistinfo.UploadPicRespond + 3, // 11: artistinfo.ArtistInfo.UploadIdCard:output_type -> artistinfo.UploadIdCardRespond + 5, // 12: artistinfo.ArtistInfo.RegisterUser:output_type -> artistinfo.RegisterUserRespond + 7, // 13: artistinfo.ArtistInfo.GetUser:output_type -> artistinfo.GetUserRespond + 9, // 14: artistinfo.ArtistInfo.GetUserById:output_type -> artistinfo.GetUserByIdRespond + 12, // 15: artistinfo.ArtistInfo.CreateUser:output_type -> artistinfo.CreateUserRespond + 14, // 16: artistinfo.ArtistInfo.CreateUserInfo:output_type -> artistinfo.CreateUserInfoRespond + 16, // 17: artistinfo.ArtistInfo.UpdateRealName:output_type -> artistinfo.UpdateRealNameRespond + 18, // 18: artistinfo.ArtistInfo.FinishVerify:output_type -> artistinfo.FinishVerifyRespond + 20, // 19: artistinfo.ArtistInfo.CheckUserLock:output_type -> artistinfo.CheckUserLockRespond + 10, // [10:20] is the sub-list for method output_type + 0, // [0:10] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_api_artistinfo_artistinfo_proto_init() } +func file_api_artistinfo_artistinfo_proto_init() { + if File_api_artistinfo_artistinfo_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_api_artistinfo_artistinfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UploadPicRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artistinfo_artistinfo_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UploadPicRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artistinfo_artistinfo_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UploadIdCardRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artistinfo_artistinfo_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UploadIdCardRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artistinfo_artistinfo_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RegisterUserRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artistinfo_artistinfo_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RegisterUserRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artistinfo_artistinfo_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUserRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artistinfo_artistinfo_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUserRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artistinfo_artistinfo_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUserByIdRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artistinfo_artistinfo_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUserByIdRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artistinfo_artistinfo_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUserByIdData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artistinfo_artistinfo_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateUserRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artistinfo_artistinfo_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateUserRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artistinfo_artistinfo_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateUserInfoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artistinfo_artistinfo_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateUserInfoRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artistinfo_artistinfo_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateRealNameRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artistinfo_artistinfo_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateRealNameRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artistinfo_artistinfo_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FinishVerifyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artistinfo_artistinfo_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FinishVerifyRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artistinfo_artistinfo_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CheckUserLockRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artistinfo_artistinfo_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CheckUserLockRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_api_artistinfo_artistinfo_proto_rawDesc, + NumEnums: 0, + NumMessages: 21, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_api_artistinfo_artistinfo_proto_goTypes, + DependencyIndexes: file_api_artistinfo_artistinfo_proto_depIdxs, + MessageInfos: file_api_artistinfo_artistinfo_proto_msgTypes, + }.Build() + File_api_artistinfo_artistinfo_proto = out.File + file_api_artistinfo_artistinfo_proto_rawDesc = nil + file_api_artistinfo_artistinfo_proto_goTypes = nil + file_api_artistinfo_artistinfo_proto_depIdxs = nil +} diff --git a/pb/artistinfo/artistinfo.proto b/pb/artistinfo/artistinfo.proto new file mode 100644 index 0000000..a60484b --- /dev/null +++ b/pb/artistinfo/artistinfo.proto @@ -0,0 +1,174 @@ +syntax = "proto3"; +package artistinfo; +option go_package = "./;artistinfo"; +// protoc --proto_path=. --go_out=./api/artistinfo --go-triple_out=./api/artistinfo ./api/artistinfo/artistinfo.proto +service ArtistInfo { + rpc UploadPic (UploadPicRequest) returns (UploadPicRespond) {} + rpc UploadIdCard (UploadIdCardRequest) returns (UploadIdCardRespond) {} + rpc RegisterUser (RegisterUserRequest) returns (RegisterUserRespond){} + rpc GetUser(GetUserRequest) returns (GetUserRespond){} + rpc GetUserById(GetUserByIdRequest) returns (GetUserByIdRespond){} + rpc CreateUser (CreateUserRequest) returns (CreateUserRespond){} + rpc CreateUserInfo (CreateUserInfoRequest) returns (CreateUserInfoRespond){} + rpc UpdateRealName (UpdateRealNameRequest) returns (UpdateRealNameRespond){} + rpc FinishVerify (FinishVerifyRequest) returns (FinishVerifyRespond){} + rpc CheckUserLock (CheckUserLockRequest) returns (CheckUserLockRespond) {} + +} +message UploadPicRequest { + +} + +message UploadPicRespond { + +} + +message UploadIdCardRequest { + +} + +message UploadIdCardRespond { + +} + + +message RegisterUserRequest { + uint64 Id =1; + uint64 MgmtUserId =2; + string MgmtArtistId = 3; + string TelNum = 4; +} + +message RegisterUserRespond { + +} + + + +message GetUserRequest { + string TelNum = 1; +} + +message GetUserRespond { + uint64 Id =1; + uint64 MgmtUserId =2; + string MgmtArtistId = 3; + string TelNum = 4; + int64 IsFdd = 5; + int64 IsRealName =6; + int64 ruler = 7; +} + +message GetUserByIdRequest { + uint64 Id = 1; +} + +message GetUserByIdRespond{ + uint64 Id =1; + uint64 MgmtUserId =2; + string MgmtArtistId = 3; + string TelNum = 4; + int64 IsFdd = 5; + int64 IsRealName =6; + int64 ruler = 7; + string InvitedCode = 8; + string CustomerId = 9; +} +message GetUserByIdData { + string TelNum =1 [json_name ="telNum"]; + string CertificateNum =2 [json_name ="certificateNum" ]; + string CertificateImg =3 [json_name ="certificateImg" ]; + string JoinAssoTime =4 [json_name= "joinAssoTime"]; + string RealName =5 [json_name ="realName" ]; + string PenName =6 [json_name ="penName" ]; + string StageName =7 [json_name ="stageName" ]; + int32 Sex =8 [json_name ="sex" ]; + string IdCard =9 [json_name ="idCard" ]; + string IdCardFront =10 [json_name ="idCardFront" ]; + string IdCardBack =11 [json_name ="idCardBack" ]; + int32 Age =12 [json_name ="age" ]; + int64 Ruler =13 [json_name ="ruler" ]; + repeated string ConAddress =14 [json_name ="conAddress" ]; + string Photo =15 [json_name ="photo" ]; + string Video =16 [json_name ="video" ]; + int64 FddState =17 [json_name ="fddState" ]; + string CustomerId =18 [json_name ="customerId" ]; + string InvitedCode =19 [json_name ="invitedCode" ]; + string InvitedName =20 [json_name ="invitedName" ]; + string WxAccount =21 [json_name ="wxAccount" ]; + string QrCodeImg =22 [json_name ="qrCode" ]; + string QrCodeImgDownload =23 [json_name ="qrCodeDownload" ]; + string HtmlType =24 [json_name ="htmlType" ]; + string EnvType =25 [json_name ="envType" ]; +} + + + +message CreateUserRequest { + uint64 Id =1; + string TelNum = 2; +} + +message CreateUserRespond { + +} +message CreateUserInfoRequest { + string TelNum =1 [json_name ="telNum"]; + string CertificateNum =2 [json_name ="certificateNum" ]; + string CertificateImg =3 [json_name ="certificateImg" ]; + string JoinAssoTime =4 [json_name= "joinAssoTime"]; + string RealName =5 [json_name ="realName" ]; + string PenName =6 [json_name ="penName" ]; + string StageName =7 [json_name ="stageName" ]; + int32 Sex =8 [json_name ="sex" ]; + string IdCard =9 [json_name ="idCard" ]; + string IdCardFront =10 [json_name ="idCardFront" ]; + string IdCardBack =11 [json_name ="idCardBack" ]; + int32 Age =12 [json_name ="age" ]; + int64 Ruler =13 [json_name ="ruler" ]; + repeated string ConAddress =14 [json_name ="conAddress" ]; + string Photo =15 [json_name ="photo" ]; + string Video =16 [json_name ="video" ]; + int64 FddState =17 [json_name ="fddState" ]; + string CustomerId =18 [json_name ="customerId" ]; + string InvitedCode =19 [json_name ="invitedCode" ]; + string InvitedName =20 [json_name ="invitedName" ]; + string WxAccount =21 [json_name ="wxAccount" ]; + string QrCodeImg =22 [json_name ="qrCode" ]; + string QrCodeImgDownload =23 [json_name ="qrCodeDownload" ]; + string HtmlType =24 [json_name ="htmlType" ]; + string EnvType =25 [json_name ="envType" ]; +} + +message CreateUserInfoRespond { + +} + + + +message UpdateRealNameRequest { + uint64 Id =1; +} + +message UpdateRealNameRespond { + +} + + + +message FinishVerifyRequest { + uint64 Id =1; +} + +message FinishVerifyRespond { + +} + + +message CheckUserLockRequest { + uint64 ID = 1 [json_name = "id"]; + } + + message CheckUserLockRespond { + + } diff --git a/pb/artistinfo/artistinfo_triple.pb.go b/pb/artistinfo/artistinfo_triple.pb.go new file mode 100644 index 0000000..e7f7191 --- /dev/null +++ b/pb/artistinfo/artistinfo_triple.pb.go @@ -0,0 +1,552 @@ +// Code generated by protoc-gen-go-triple. DO NOT EDIT. +// versions: +// - protoc-gen-go-triple v1.0.5 +// - protoc v3.9.0 +// source: api/artistinfo/artistinfo.proto + +package artistinfo + +import ( + context "context" + protocol "dubbo.apache.org/dubbo-go/v3/protocol" + dubbo3 "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3" + invocation "dubbo.apache.org/dubbo-go/v3/protocol/invocation" + grpc_go "github.com/dubbogo/grpc-go" + codes "github.com/dubbogo/grpc-go/codes" + metadata "github.com/dubbogo/grpc-go/metadata" + status "github.com/dubbogo/grpc-go/status" + common "github.com/dubbogo/triple/pkg/common" + constant "github.com/dubbogo/triple/pkg/common/constant" + triple "github.com/dubbogo/triple/pkg/triple" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc_go.SupportPackageIsVersion7 + +// ArtistInfoClient is the client API for ArtistInfo 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 ArtistInfoClient interface { + UploadPic(ctx context.Context, in *UploadPicRequest, opts ...grpc_go.CallOption) (*UploadPicRespond, common.ErrorWithAttachment) + UploadIdCard(ctx context.Context, in *UploadIdCardRequest, opts ...grpc_go.CallOption) (*UploadIdCardRespond, common.ErrorWithAttachment) + RegisterUser(ctx context.Context, in *RegisterUserRequest, opts ...grpc_go.CallOption) (*RegisterUserRespond, common.ErrorWithAttachment) + GetUser(ctx context.Context, in *GetUserRequest, opts ...grpc_go.CallOption) (*GetUserRespond, common.ErrorWithAttachment) + GetUserById(ctx context.Context, in *GetUserByIdRequest, opts ...grpc_go.CallOption) (*GetUserByIdRespond, common.ErrorWithAttachment) + CreateUser(ctx context.Context, in *CreateUserRequest, opts ...grpc_go.CallOption) (*CreateUserRespond, common.ErrorWithAttachment) + CreateUserInfo(ctx context.Context, in *CreateUserInfoRequest, opts ...grpc_go.CallOption) (*CreateUserInfoRespond, common.ErrorWithAttachment) + UpdateRealName(ctx context.Context, in *UpdateRealNameRequest, opts ...grpc_go.CallOption) (*UpdateRealNameRespond, common.ErrorWithAttachment) + FinishVerify(ctx context.Context, in *FinishVerifyRequest, opts ...grpc_go.CallOption) (*FinishVerifyRespond, common.ErrorWithAttachment) + CheckUserLock(ctx context.Context, in *CheckUserLockRequest, opts ...grpc_go.CallOption) (*CheckUserLockRespond, common.ErrorWithAttachment) +} + +type artistInfoClient struct { + cc *triple.TripleConn +} + +type ArtistInfoClientImpl struct { + UploadPic func(ctx context.Context, in *UploadPicRequest) (*UploadPicRespond, error) + UploadIdCard func(ctx context.Context, in *UploadIdCardRequest) (*UploadIdCardRespond, error) + RegisterUser func(ctx context.Context, in *RegisterUserRequest) (*RegisterUserRespond, error) + GetUser func(ctx context.Context, in *GetUserRequest) (*GetUserRespond, error) + GetUserById func(ctx context.Context, in *GetUserByIdRequest) (*GetUserByIdRespond, error) + CreateUser func(ctx context.Context, in *CreateUserRequest) (*CreateUserRespond, error) + CreateUserInfo func(ctx context.Context, in *CreateUserInfoRequest) (*CreateUserInfoRespond, error) + UpdateRealName func(ctx context.Context, in *UpdateRealNameRequest) (*UpdateRealNameRespond, error) + FinishVerify func(ctx context.Context, in *FinishVerifyRequest) (*FinishVerifyRespond, error) + CheckUserLock func(ctx context.Context, in *CheckUserLockRequest) (*CheckUserLockRespond, error) +} + +func (c *ArtistInfoClientImpl) GetDubboStub(cc *triple.TripleConn) ArtistInfoClient { + return NewArtistInfoClient(cc) +} + +func (c *ArtistInfoClientImpl) XXX_InterfaceName() string { + return "artistinfo.ArtistInfo" +} + +func NewArtistInfoClient(cc *triple.TripleConn) ArtistInfoClient { + return &artistInfoClient{cc} +} + +func (c *artistInfoClient) UploadPic(ctx context.Context, in *UploadPicRequest, opts ...grpc_go.CallOption) (*UploadPicRespond, common.ErrorWithAttachment) { + out := new(UploadPicRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UploadPic", in, out) +} + +func (c *artistInfoClient) UploadIdCard(ctx context.Context, in *UploadIdCardRequest, opts ...grpc_go.CallOption) (*UploadIdCardRespond, common.ErrorWithAttachment) { + out := new(UploadIdCardRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UploadIdCard", in, out) +} + +func (c *artistInfoClient) RegisterUser(ctx context.Context, in *RegisterUserRequest, opts ...grpc_go.CallOption) (*RegisterUserRespond, common.ErrorWithAttachment) { + out := new(RegisterUserRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/RegisterUser", in, out) +} + +func (c *artistInfoClient) GetUser(ctx context.Context, in *GetUserRequest, opts ...grpc_go.CallOption) (*GetUserRespond, common.ErrorWithAttachment) { + out := new(GetUserRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetUser", in, out) +} + +func (c *artistInfoClient) GetUserById(ctx context.Context, in *GetUserByIdRequest, opts ...grpc_go.CallOption) (*GetUserByIdRespond, common.ErrorWithAttachment) { + out := new(GetUserByIdRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetUserById", in, out) +} + +func (c *artistInfoClient) CreateUser(ctx context.Context, in *CreateUserRequest, opts ...grpc_go.CallOption) (*CreateUserRespond, common.ErrorWithAttachment) { + out := new(CreateUserRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateUser", in, out) +} + +func (c *artistInfoClient) CreateUserInfo(ctx context.Context, in *CreateUserInfoRequest, opts ...grpc_go.CallOption) (*CreateUserInfoRespond, common.ErrorWithAttachment) { + out := new(CreateUserInfoRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateUserInfo", in, out) +} + +func (c *artistInfoClient) UpdateRealName(ctx context.Context, in *UpdateRealNameRequest, opts ...grpc_go.CallOption) (*UpdateRealNameRespond, common.ErrorWithAttachment) { + out := new(UpdateRealNameRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateRealName", in, out) +} + +func (c *artistInfoClient) FinishVerify(ctx context.Context, in *FinishVerifyRequest, opts ...grpc_go.CallOption) (*FinishVerifyRespond, common.ErrorWithAttachment) { + out := new(FinishVerifyRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/FinishVerify", in, out) +} + +func (c *artistInfoClient) CheckUserLock(ctx context.Context, in *CheckUserLockRequest, opts ...grpc_go.CallOption) (*CheckUserLockRespond, common.ErrorWithAttachment) { + out := new(CheckUserLockRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CheckUserLock", in, out) +} + +// ArtistInfoServer is the server API for ArtistInfo service. +// All implementations must embed UnimplementedArtistInfoServer +// for forward compatibility +type ArtistInfoServer interface { + UploadPic(context.Context, *UploadPicRequest) (*UploadPicRespond, error) + UploadIdCard(context.Context, *UploadIdCardRequest) (*UploadIdCardRespond, error) + RegisterUser(context.Context, *RegisterUserRequest) (*RegisterUserRespond, error) + GetUser(context.Context, *GetUserRequest) (*GetUserRespond, error) + GetUserById(context.Context, *GetUserByIdRequest) (*GetUserByIdRespond, error) + CreateUser(context.Context, *CreateUserRequest) (*CreateUserRespond, error) + CreateUserInfo(context.Context, *CreateUserInfoRequest) (*CreateUserInfoRespond, error) + UpdateRealName(context.Context, *UpdateRealNameRequest) (*UpdateRealNameRespond, error) + FinishVerify(context.Context, *FinishVerifyRequest) (*FinishVerifyRespond, error) + CheckUserLock(context.Context, *CheckUserLockRequest) (*CheckUserLockRespond, error) + mustEmbedUnimplementedArtistInfoServer() +} + +// UnimplementedArtistInfoServer must be embedded to have forward compatible implementations. +type UnimplementedArtistInfoServer struct { + proxyImpl protocol.Invoker +} + +func (UnimplementedArtistInfoServer) UploadPic(context.Context, *UploadPicRequest) (*UploadPicRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method UploadPic not implemented") +} +func (UnimplementedArtistInfoServer) UploadIdCard(context.Context, *UploadIdCardRequest) (*UploadIdCardRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method UploadIdCard not implemented") +} +func (UnimplementedArtistInfoServer) RegisterUser(context.Context, *RegisterUserRequest) (*RegisterUserRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method RegisterUser not implemented") +} +func (UnimplementedArtistInfoServer) GetUser(context.Context, *GetUserRequest) (*GetUserRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetUser not implemented") +} +func (UnimplementedArtistInfoServer) GetUserById(context.Context, *GetUserByIdRequest) (*GetUserByIdRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetUserById not implemented") +} +func (UnimplementedArtistInfoServer) CreateUser(context.Context, *CreateUserRequest) (*CreateUserRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateUser not implemented") +} +func (UnimplementedArtistInfoServer) CreateUserInfo(context.Context, *CreateUserInfoRequest) (*CreateUserInfoRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateUserInfo not implemented") +} +func (UnimplementedArtistInfoServer) UpdateRealName(context.Context, *UpdateRealNameRequest) (*UpdateRealNameRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateRealName not implemented") +} +func (UnimplementedArtistInfoServer) FinishVerify(context.Context, *FinishVerifyRequest) (*FinishVerifyRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method FinishVerify not implemented") +} +func (UnimplementedArtistInfoServer) CheckUserLock(context.Context, *CheckUserLockRequest) (*CheckUserLockRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method CheckUserLock not implemented") +} +func (s *UnimplementedArtistInfoServer) XXX_SetProxyImpl(impl protocol.Invoker) { + s.proxyImpl = impl +} + +func (s *UnimplementedArtistInfoServer) XXX_GetProxyImpl() protocol.Invoker { + return s.proxyImpl +} + +func (s *UnimplementedArtistInfoServer) XXX_ServiceDesc() *grpc_go.ServiceDesc { + return &ArtistInfo_ServiceDesc +} +func (s *UnimplementedArtistInfoServer) XXX_InterfaceName() string { + return "artistinfo.ArtistInfo" +} + +func (UnimplementedArtistInfoServer) mustEmbedUnimplementedArtistInfoServer() {} + +// UnsafeArtistInfoServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ArtistInfoServer will +// result in compilation errors. +type UnsafeArtistInfoServer interface { + mustEmbedUnimplementedArtistInfoServer() +} + +func RegisterArtistInfoServer(s grpc_go.ServiceRegistrar, srv ArtistInfoServer) { + s.RegisterService(&ArtistInfo_ServiceDesc, srv) +} + +func _ArtistInfo_UploadPic_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UploadPicRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("UploadPic", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ArtistInfo_UploadIdCard_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UploadIdCardRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("UploadIdCard", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ArtistInfo_RegisterUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(RegisterUserRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("RegisterUser", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ArtistInfo_GetUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetUserRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetUser", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ArtistInfo_GetUserById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetUserByIdRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetUserById", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ArtistInfo_CreateUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateUserRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("CreateUser", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ArtistInfo_CreateUserInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateUserInfoRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("CreateUserInfo", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ArtistInfo_UpdateRealName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateRealNameRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("UpdateRealName", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ArtistInfo_FinishVerify_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(FinishVerifyRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("FinishVerify", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ArtistInfo_CheckUserLock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CheckUserLockRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("CheckUserLock", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +// ArtistInfo_ServiceDesc is the grpc_go.ServiceDesc for ArtistInfo service. +// It's only intended for direct use with grpc_go.RegisterService, +// and not to be introspected or modified (even as a copy) +var ArtistInfo_ServiceDesc = grpc_go.ServiceDesc{ + ServiceName: "artistinfo.ArtistInfo", + HandlerType: (*ArtistInfoServer)(nil), + Methods: []grpc_go.MethodDesc{ + { + MethodName: "UploadPic", + Handler: _ArtistInfo_UploadPic_Handler, + }, + { + MethodName: "UploadIdCard", + Handler: _ArtistInfo_UploadIdCard_Handler, + }, + { + MethodName: "RegisterUser", + Handler: _ArtistInfo_RegisterUser_Handler, + }, + { + MethodName: "GetUser", + Handler: _ArtistInfo_GetUser_Handler, + }, + { + MethodName: "GetUserById", + Handler: _ArtistInfo_GetUserById_Handler, + }, + { + MethodName: "CreateUser", + Handler: _ArtistInfo_CreateUser_Handler, + }, + { + MethodName: "CreateUserInfo", + Handler: _ArtistInfo_CreateUserInfo_Handler, + }, + { + MethodName: "UpdateRealName", + Handler: _ArtistInfo_UpdateRealName_Handler, + }, + { + MethodName: "FinishVerify", + Handler: _ArtistInfo_FinishVerify_Handler, + }, + { + MethodName: "CheckUserLock", + Handler: _ArtistInfo_CheckUserLock_Handler, + }, + }, + Streams: []grpc_go.StreamDesc{}, + Metadata: "api/artistinfo/artistinfo.proto", +} diff --git a/pb/artwork/artwork.pb.go b/pb/artwork/artwork.pb.go new file mode 100644 index 0000000..de72511 --- /dev/null +++ b/pb/artwork/artwork.pb.go @@ -0,0 +1,1625 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.9.0 +// source: api/artwork/artwork.proto + +package artwork + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type ListInterfaceRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Total int64 `protobuf:"varint,1,opt,name=Total,json=total,proto3" json:"Total,omitempty"` + // repeated []byte Data = 2 [json_name = "data"]; + Data []byte `protobuf:"bytes,2,opt,name=Data,json=data,proto3" json:"Data,omitempty"` + Msg string `protobuf:"bytes,3,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` +} + +func (x *ListInterfaceRespond) Reset() { + *x = ListInterfaceRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artwork_artwork_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListInterfaceRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListInterfaceRespond) ProtoMessage() {} + +func (x *ListInterfaceRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_artwork_artwork_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListInterfaceRespond.ProtoReflect.Descriptor instead. +func (*ListInterfaceRespond) Descriptor() ([]byte, []int) { + return file_api_artwork_artwork_proto_rawDescGZIP(), []int{0} +} + +func (x *ListInterfaceRespond) GetTotal() int64 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *ListInterfaceRespond) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +func (x *ListInterfaceRespond) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type ArtworkListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BatchId int64 `protobuf:"varint,1,opt,name=BatchId,json=batchId,proto3" json:"BatchId,omitempty"` + ArtistId int64 `protobuf:"varint,2,opt,name=ArtistId,json=artistId,proto3" json:"ArtistId,omitempty"` + Name string `protobuf:"bytes,3,opt,name=Name,json=name,proto3" json:"Name,omitempty"` + ArtistName string `protobuf:"bytes,4,opt,name=ArtistName,json=artistName,proto3" json:"ArtistName,omitempty"` + InvitedName string `protobuf:"bytes,5,opt,name=InvitedName,json=invitedName,proto3" json:"InvitedName,omitempty"` + IsImport int64 `protobuf:"varint,6,opt,name=IsImport,json=isImport,proto3" json:"IsImport,omitempty"` + State int64 `protobuf:"varint,7,opt,name=State,json=state,proto3" json:"State,omitempty"` + Page int64 `protobuf:"varint,8,opt,name=Page,json=page,proto3" json:"Page,omitempty"` + Num int64 `protobuf:"varint,9,opt,name=Num,json=num,proto3" json:"Num,omitempty"` +} + +func (x *ArtworkListRequest) Reset() { + *x = ArtworkListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artwork_artwork_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ArtworkListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtworkListRequest) ProtoMessage() {} + +func (x *ArtworkListRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_artwork_artwork_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ArtworkListRequest.ProtoReflect.Descriptor instead. +func (*ArtworkListRequest) Descriptor() ([]byte, []int) { + return file_api_artwork_artwork_proto_rawDescGZIP(), []int{1} +} + +func (x *ArtworkListRequest) GetBatchId() int64 { + if x != nil { + return x.BatchId + } + return 0 +} + +func (x *ArtworkListRequest) GetArtistId() int64 { + if x != nil { + return x.ArtistId + } + return 0 +} + +func (x *ArtworkListRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ArtworkListRequest) GetArtistName() string { + if x != nil { + return x.ArtistName + } + return "" +} + +func (x *ArtworkListRequest) GetInvitedName() string { + if x != nil { + return x.InvitedName + } + return "" +} + +func (x *ArtworkListRequest) GetIsImport() int64 { + if x != nil { + return x.IsImport + } + return 0 +} + +func (x *ArtworkListRequest) GetState() int64 { + if x != nil { + return x.State + } + return 0 +} + +func (x *ArtworkListRequest) GetPage() int64 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ArtworkListRequest) GetNum() int64 { + if x != nil { + return x.Num + } + return 0 +} + +type ArtworkAddRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + ArtistId uint64 `protobuf:"varint,2,opt,name=ArtistId,json=artistId,proto3" json:"ArtistId,omitempty"` + Name string `protobuf:"bytes,3,opt,name=Name,json=name,proto3" json:"Name,omitempty"` + ModelYear string `protobuf:"bytes,4,opt,name=ModelYear,json=modelYear,proto3" json:"ModelYear,omitempty"` + Photo string `protobuf:"bytes,5,opt,name=Photo,json=photo,proto3" json:"Photo,omitempty"` + ArtistPhoto string `protobuf:"bytes,6,opt,name=ArtistPhoto,json=artistPhoto,proto3" json:"ArtistPhoto,omitempty"` + Width uint64 `protobuf:"varint,7,opt,name=Width,json=width,proto3" json:"Width,omitempty"` + CreateAddress []string `protobuf:"bytes,8,rep,name=CreateAddress,json=createAddress,proto3" json:"CreateAddress,omitempty"` + Height uint64 `protobuf:"varint,9,opt,name=Height,json=height,proto3" json:"Height,omitempty"` + Ruler uint64 `protobuf:"varint,10,opt,name=Ruler,json=ruler,proto3" json:"Ruler,omitempty"` + Introduct string `protobuf:"bytes,11,opt,name=Introduct,json=introduct,proto3" json:"Introduct,omitempty"` + AgeOfCreation string `protobuf:"bytes,12,opt,name=AgeOfCreation,json=ageOfCreation,proto3" json:"AgeOfCreation,omitempty"` + CreateAt string `protobuf:"bytes,13,opt,name=CreateAt,json=createAt,proto3" json:"CreateAt,omitempty"` + NetworkTrace bool `protobuf:"varint,14,opt,name=NetworkTrace,json=networkTrace,proto3" json:"NetworkTrace,omitempty"` + Url string `protobuf:"bytes,15,opt,name=Url,json=url,proto3" json:"Url,omitempty"` + State uint64 `protobuf:"varint,16,opt,name=State,json=state,proto3" json:"State,omitempty"` +} + +func (x *ArtworkAddRequest) Reset() { + *x = ArtworkAddRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artwork_artwork_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ArtworkAddRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtworkAddRequest) ProtoMessage() {} + +func (x *ArtworkAddRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_artwork_artwork_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ArtworkAddRequest.ProtoReflect.Descriptor instead. +func (*ArtworkAddRequest) Descriptor() ([]byte, []int) { + return file_api_artwork_artwork_proto_rawDescGZIP(), []int{2} +} + +func (x *ArtworkAddRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *ArtworkAddRequest) GetArtistId() uint64 { + if x != nil { + return x.ArtistId + } + return 0 +} + +func (x *ArtworkAddRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ArtworkAddRequest) GetModelYear() string { + if x != nil { + return x.ModelYear + } + return "" +} + +func (x *ArtworkAddRequest) GetPhoto() string { + if x != nil { + return x.Photo + } + return "" +} + +func (x *ArtworkAddRequest) GetArtistPhoto() string { + if x != nil { + return x.ArtistPhoto + } + return "" +} + +func (x *ArtworkAddRequest) GetWidth() uint64 { + if x != nil { + return x.Width + } + return 0 +} + +func (x *ArtworkAddRequest) GetCreateAddress() []string { + if x != nil { + return x.CreateAddress + } + return nil +} + +func (x *ArtworkAddRequest) GetHeight() uint64 { + if x != nil { + return x.Height + } + return 0 +} + +func (x *ArtworkAddRequest) GetRuler() uint64 { + if x != nil { + return x.Ruler + } + return 0 +} + +func (x *ArtworkAddRequest) GetIntroduct() string { + if x != nil { + return x.Introduct + } + return "" +} + +func (x *ArtworkAddRequest) GetAgeOfCreation() string { + if x != nil { + return x.AgeOfCreation + } + return "" +} + +func (x *ArtworkAddRequest) GetCreateAt() string { + if x != nil { + return x.CreateAt + } + return "" +} + +func (x *ArtworkAddRequest) GetNetworkTrace() bool { + if x != nil { + return x.NetworkTrace + } + return false +} + +func (x *ArtworkAddRequest) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *ArtworkAddRequest) GetState() uint64 { + if x != nil { + return x.State + } + return 0 +} + +type ArtworkAddRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ArtworkAddRespond) Reset() { + *x = ArtworkAddRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artwork_artwork_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ArtworkAddRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtworkAddRespond) ProtoMessage() {} + +func (x *ArtworkAddRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_artwork_artwork_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ArtworkAddRespond.ProtoReflect.Descriptor instead. +func (*ArtworkAddRespond) Descriptor() ([]byte, []int) { + return file_api_artwork_artwork_proto_rawDescGZIP(), []int{3} +} + +type CheckUserLockRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` +} + +func (x *CheckUserLockRequest) Reset() { + *x = CheckUserLockRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artwork_artwork_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CheckUserLockRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckUserLockRequest) ProtoMessage() {} + +func (x *CheckUserLockRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_artwork_artwork_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CheckUserLockRequest.ProtoReflect.Descriptor instead. +func (*CheckUserLockRequest) Descriptor() ([]byte, []int) { + return file_api_artwork_artwork_proto_rawDescGZIP(), []int{4} +} + +func (x *CheckUserLockRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +type CheckUserLockRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CheckUserLockRespond) Reset() { + *x = CheckUserLockRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artwork_artwork_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CheckUserLockRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckUserLockRespond) ProtoMessage() {} + +func (x *CheckUserLockRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_artwork_artwork_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CheckUserLockRespond.ProtoReflect.Descriptor instead. +func (*CheckUserLockRespond) Descriptor() ([]byte, []int) { + return file_api_artwork_artwork_proto_rawDescGZIP(), []int{5} +} + +type UpdateArtworkRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + ArtistId uint64 `protobuf:"varint,2,opt,name=ArtistId,json=artistId,proto3" json:"ArtistId,omitempty"` + Name string `protobuf:"bytes,3,opt,name=Name,json=name,proto3" json:"Name,omitempty"` + ModelYear string `protobuf:"bytes,4,opt,name=ModelYear,json=modelYear,proto3" json:"ModelYear,omitempty"` + Photo string `protobuf:"bytes,5,opt,name=Photo,json=photo,proto3" json:"Photo,omitempty"` + ArtistPhoto string `protobuf:"bytes,6,opt,name=ArtistPhoto,json=artistPhoto,proto3" json:"ArtistPhoto,omitempty"` + Width uint64 `protobuf:"varint,7,opt,name=Width,json=width,proto3" json:"Width,omitempty"` + CreateAddress []string `protobuf:"bytes,8,rep,name=CreateAddress,json=createAddress,proto3" json:"CreateAddress,omitempty"` + Height uint64 `protobuf:"varint,9,opt,name=Height,json=height,proto3" json:"Height,omitempty"` + Ruler uint64 `protobuf:"varint,10,opt,name=Ruler,json=ruler,proto3" json:"Ruler,omitempty"` + Introduct string `protobuf:"bytes,11,opt,name=Introduct,json=introduct,proto3" json:"Introduct,omitempty"` + AgeOfCreation string `protobuf:"bytes,12,opt,name=AgeOfCreation,json=ageOfCreation,proto3" json:"AgeOfCreation,omitempty"` + CreateAt string `protobuf:"bytes,13,opt,name=CreateAt,json=createAt,proto3" json:"CreateAt,omitempty"` + NetworkTrace bool `protobuf:"varint,14,opt,name=NetworkTrace,json=networkTrace,proto3" json:"NetworkTrace,omitempty"` + Url string `protobuf:"bytes,15,opt,name=Url,json=url,proto3" json:"Url,omitempty"` + State uint64 `protobuf:"varint,16,opt,name=State,json=state,proto3" json:"State,omitempty"` +} + +func (x *UpdateArtworkRequest) Reset() { + *x = UpdateArtworkRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artwork_artwork_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateArtworkRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateArtworkRequest) ProtoMessage() {} + +func (x *UpdateArtworkRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_artwork_artwork_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateArtworkRequest.ProtoReflect.Descriptor instead. +func (*UpdateArtworkRequest) Descriptor() ([]byte, []int) { + return file_api_artwork_artwork_proto_rawDescGZIP(), []int{6} +} + +func (x *UpdateArtworkRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *UpdateArtworkRequest) GetArtistId() uint64 { + if x != nil { + return x.ArtistId + } + return 0 +} + +func (x *UpdateArtworkRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *UpdateArtworkRequest) GetModelYear() string { + if x != nil { + return x.ModelYear + } + return "" +} + +func (x *UpdateArtworkRequest) GetPhoto() string { + if x != nil { + return x.Photo + } + return "" +} + +func (x *UpdateArtworkRequest) GetArtistPhoto() string { + if x != nil { + return x.ArtistPhoto + } + return "" +} + +func (x *UpdateArtworkRequest) GetWidth() uint64 { + if x != nil { + return x.Width + } + return 0 +} + +func (x *UpdateArtworkRequest) GetCreateAddress() []string { + if x != nil { + return x.CreateAddress + } + return nil +} + +func (x *UpdateArtworkRequest) GetHeight() uint64 { + if x != nil { + return x.Height + } + return 0 +} + +func (x *UpdateArtworkRequest) GetRuler() uint64 { + if x != nil { + return x.Ruler + } + return 0 +} + +func (x *UpdateArtworkRequest) GetIntroduct() string { + if x != nil { + return x.Introduct + } + return "" +} + +func (x *UpdateArtworkRequest) GetAgeOfCreation() string { + if x != nil { + return x.AgeOfCreation + } + return "" +} + +func (x *UpdateArtworkRequest) GetCreateAt() string { + if x != nil { + return x.CreateAt + } + return "" +} + +func (x *UpdateArtworkRequest) GetNetworkTrace() bool { + if x != nil { + return x.NetworkTrace + } + return false +} + +func (x *UpdateArtworkRequest) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *UpdateArtworkRequest) GetState() uint64 { + if x != nil { + return x.State + } + return 0 +} + +type UpdateArtworkRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UpdateArtworkRespond) Reset() { + *x = UpdateArtworkRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artwork_artwork_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateArtworkRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateArtworkRespond) ProtoMessage() {} + +func (x *UpdateArtworkRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_artwork_artwork_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateArtworkRespond.ProtoReflect.Descriptor instead. +func (*UpdateArtworkRespond) Descriptor() ([]byte, []int) { + return file_api_artwork_artwork_proto_rawDescGZIP(), []int{7} +} + +type GetArtworkListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` +} + +func (x *GetArtworkListRequest) Reset() { + *x = GetArtworkListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artwork_artwork_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetArtworkListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetArtworkListRequest) ProtoMessage() {} + +func (x *GetArtworkListRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_artwork_artwork_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetArtworkListRequest.ProtoReflect.Descriptor instead. +func (*GetArtworkListRequest) Descriptor() ([]byte, []int) { + return file_api_artwork_artwork_proto_rawDescGZIP(), []int{8} +} + +func (x *GetArtworkListRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +type GetArtworkListRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []*UpdateArtworkRequest `protobuf:"bytes,1,rep,name=Data,json=data,proto3" json:"Data,omitempty"` +} + +func (x *GetArtworkListRespond) Reset() { + *x = GetArtworkListRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artwork_artwork_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetArtworkListRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetArtworkListRespond) ProtoMessage() {} + +func (x *GetArtworkListRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_artwork_artwork_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetArtworkListRespond.ProtoReflect.Descriptor instead. +func (*GetArtworkListRespond) Descriptor() ([]byte, []int) { + return file_api_artwork_artwork_proto_rawDescGZIP(), []int{9} +} + +func (x *GetArtworkListRespond) GetData() []*UpdateArtworkRequest { + if x != nil { + return x.Data + } + return nil +} + +type GetArtworkRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` +} + +func (x *GetArtworkRequest) Reset() { + *x = GetArtworkRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artwork_artwork_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetArtworkRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetArtworkRequest) ProtoMessage() {} + +func (x *GetArtworkRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_artwork_artwork_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetArtworkRequest.ProtoReflect.Descriptor instead. +func (*GetArtworkRequest) Descriptor() ([]byte, []int) { + return file_api_artwork_artwork_proto_rawDescGZIP(), []int{10} +} + +func (x *GetArtworkRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +type GetArtworkRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + ArtistId uint64 `protobuf:"varint,2,opt,name=ArtistId,json=artistId,proto3" json:"ArtistId,omitempty"` + Name string `protobuf:"bytes,3,opt,name=Name,json=name,proto3" json:"Name,omitempty"` + ModelYear string `protobuf:"bytes,4,opt,name=ModelYear,json=modelYear,proto3" json:"ModelYear,omitempty"` + Photo string `protobuf:"bytes,5,opt,name=Photo,json=photo,proto3" json:"Photo,omitempty"` + ArtistPhoto string `protobuf:"bytes,6,opt,name=ArtistPhoto,json=artistPhoto,proto3" json:"ArtistPhoto,omitempty"` + Width uint64 `protobuf:"varint,7,opt,name=Width,json=width,proto3" json:"Width,omitempty"` + CreateAddress []string `protobuf:"bytes,8,rep,name=CreateAddress,json=createAddress,proto3" json:"CreateAddress,omitempty"` + Height uint64 `protobuf:"varint,9,opt,name=Height,json=height,proto3" json:"Height,omitempty"` + Ruler uint64 `protobuf:"varint,10,opt,name=Ruler,json=ruler,proto3" json:"Ruler,omitempty"` + Introduct string `protobuf:"bytes,11,opt,name=Introduct,json=introduct,proto3" json:"Introduct,omitempty"` + AgeOfCreation string `protobuf:"bytes,12,opt,name=AgeOfCreation,json=ageOfCreation,proto3" json:"AgeOfCreation,omitempty"` + CreateAt string `protobuf:"bytes,13,opt,name=CreateAt,json=createAt,proto3" json:"CreateAt,omitempty"` + NetworkTrace bool `protobuf:"varint,14,opt,name=NetworkTrace,json=networkTrace,proto3" json:"NetworkTrace,omitempty"` + Url string `protobuf:"bytes,15,opt,name=Url,json=url,proto3" json:"Url,omitempty"` + State uint64 `protobuf:"varint,16,opt,name=State,json=state,proto3" json:"State,omitempty"` +} + +func (x *GetArtworkRespond) Reset() { + *x = GetArtworkRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artwork_artwork_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetArtworkRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetArtworkRespond) ProtoMessage() {} + +func (x *GetArtworkRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_artwork_artwork_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetArtworkRespond.ProtoReflect.Descriptor instead. +func (*GetArtworkRespond) Descriptor() ([]byte, []int) { + return file_api_artwork_artwork_proto_rawDescGZIP(), []int{11} +} + +func (x *GetArtworkRespond) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *GetArtworkRespond) GetArtistId() uint64 { + if x != nil { + return x.ArtistId + } + return 0 +} + +func (x *GetArtworkRespond) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *GetArtworkRespond) GetModelYear() string { + if x != nil { + return x.ModelYear + } + return "" +} + +func (x *GetArtworkRespond) GetPhoto() string { + if x != nil { + return x.Photo + } + return "" +} + +func (x *GetArtworkRespond) GetArtistPhoto() string { + if x != nil { + return x.ArtistPhoto + } + return "" +} + +func (x *GetArtworkRespond) GetWidth() uint64 { + if x != nil { + return x.Width + } + return 0 +} + +func (x *GetArtworkRespond) GetCreateAddress() []string { + if x != nil { + return x.CreateAddress + } + return nil +} + +func (x *GetArtworkRespond) GetHeight() uint64 { + if x != nil { + return x.Height + } + return 0 +} + +func (x *GetArtworkRespond) GetRuler() uint64 { + if x != nil { + return x.Ruler + } + return 0 +} + +func (x *GetArtworkRespond) GetIntroduct() string { + if x != nil { + return x.Introduct + } + return "" +} + +func (x *GetArtworkRespond) GetAgeOfCreation() string { + if x != nil { + return x.AgeOfCreation + } + return "" +} + +func (x *GetArtworkRespond) GetCreateAt() string { + if x != nil { + return x.CreateAt + } + return "" +} + +func (x *GetArtworkRespond) GetNetworkTrace() bool { + if x != nil { + return x.NetworkTrace + } + return false +} + +func (x *GetArtworkRespond) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *GetArtworkRespond) GetState() uint64 { + if x != nil { + return x.State + } + return 0 +} + +type DelArtworkRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=Id,json=id,proto3" json:"Id,omitempty"` + ArtistId uint64 `protobuf:"varint,2,opt,name=ArtistId,json=artistId,proto3" json:"ArtistId,omitempty"` +} + +func (x *DelArtworkRequest) Reset() { + *x = DelArtworkRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artwork_artwork_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DelArtworkRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DelArtworkRequest) ProtoMessage() {} + +func (x *DelArtworkRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_artwork_artwork_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DelArtworkRequest.ProtoReflect.Descriptor instead. +func (*DelArtworkRequest) Descriptor() ([]byte, []int) { + return file_api_artwork_artwork_proto_rawDescGZIP(), []int{12} +} + +func (x *DelArtworkRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *DelArtworkRequest) GetArtistId() uint64 { + if x != nil { + return x.ArtistId + } + return 0 +} + +type DelArtworkRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *DelArtworkRespond) Reset() { + *x = DelArtworkRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artwork_artwork_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DelArtworkRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DelArtworkRespond) ProtoMessage() {} + +func (x *DelArtworkRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_artwork_artwork_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DelArtworkRespond.ProtoReflect.Descriptor instead. +func (*DelArtworkRespond) Descriptor() ([]byte, []int) { + return file_api_artwork_artwork_proto_rawDescGZIP(), []int{13} +} + +type UploadArtworkRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` +} + +func (x *UploadArtworkRequest) Reset() { + *x = UploadArtworkRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artwork_artwork_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadArtworkRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadArtworkRequest) ProtoMessage() {} + +func (x *UploadArtworkRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_artwork_artwork_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UploadArtworkRequest.ProtoReflect.Descriptor instead. +func (*UploadArtworkRequest) Descriptor() ([]byte, []int) { + return file_api_artwork_artwork_proto_rawDescGZIP(), []int{14} +} + +func (x *UploadArtworkRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +type UploadArtworkRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UploadArtworkRespond) Reset() { + *x = UploadArtworkRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_artwork_artwork_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadArtworkRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadArtworkRespond) ProtoMessage() {} + +func (x *UploadArtworkRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_artwork_artwork_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UploadArtworkRespond.ProtoReflect.Descriptor instead. +func (*UploadArtworkRespond) Descriptor() ([]byte, []int) { + return file_api_artwork_artwork_proto_rawDescGZIP(), []int{15} +} + +var File_api_artwork_artwork_proto protoreflect.FileDescriptor + +var file_api_artwork_artwork_proto_rawDesc = []byte{ + 0x0a, 0x19, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x72, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x41, 0x72, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x22, 0x52, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, + 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xf8, 0x01, 0x0a, 0x12, 0x41, 0x72, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x18, 0x0a, 0x07, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x07, 0x62, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x49, + 0x73, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, + 0x73, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, + 0x6e, 0x75, 0x6d, 0x22, 0xbf, 0x03, 0x0a, 0x11, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, + 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x59, 0x65, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x59, 0x65, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x68, 0x6f, 0x74, 0x6f, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x0a, + 0x0b, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x12, + 0x14, 0x0a, 0x05, 0x57, 0x69, 0x64, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, + 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x48, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x68, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x6e, 0x74, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, + 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x41, 0x67, 0x65, 0x4f, 0x66, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x61, 0x67, 0x65, 0x4f, 0x66, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, + 0x08, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x55, 0x72, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, + 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x13, 0x0a, 0x11, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x26, 0x0a, 0x14, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, + 0x69, 0x64, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4c, + 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0xc2, 0x03, 0x0a, 0x14, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x59, 0x65, 0x61, 0x72, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x59, 0x65, 0x61, + 0x72, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x57, 0x69, 0x64, + 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, + 0x24, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x72, 0x75, + 0x6c, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x41, 0x67, 0x65, 0x4f, 0x66, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x67, 0x65, 0x4f, 0x66, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x41, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x41, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x72, + 0x61, 0x63, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, + 0x16, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x27, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x72, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, + 0x22, 0x4a, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x31, 0x0a, 0x04, 0x44, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x23, 0x0a, 0x11, + 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, + 0x64, 0x22, 0xbf, 0x03, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x59, 0x65, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x59, 0x65, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x41, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x0a, + 0x05, 0x57, 0x69, 0x64, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x77, 0x69, + 0x64, 0x74, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x48, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x41, 0x67, 0x65, 0x4f, 0x66, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x67, + 0x65, 0x4f, 0x66, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x55, + 0x72, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, + 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x22, 0x3f, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x49, 0x64, 0x22, 0x13, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x41, 0x72, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x26, 0x0a, 0x14, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, + 0x64, 0x22, 0x16, 0x0a, 0x14, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x32, 0xa8, 0x04, 0x0a, 0x07, 0x41, 0x72, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x46, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x41, 0x64, 0x64, 0x12, 0x1a, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x41, 0x72, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1a, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4f, 0x0a, + 0x0d, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x1d, + 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, + 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, + 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, + 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4f, + 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, + 0x1d, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, + 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, + 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, + 0x52, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x1e, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x47, 0x65, 0x74, 0x41, + 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1e, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x47, 0x65, 0x74, 0x41, + 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x64, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x12, 0x1a, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x47, 0x65, 0x74, 0x41, + 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, + 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x0a, 0x44, + 0x65, 0x6c, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1a, 0x2e, 0x41, 0x72, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, + 0x44, 0x65, 0x6c, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x64, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0d, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x72, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1d, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x64, 0x22, 0x00, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x61, 0x72, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_api_artwork_artwork_proto_rawDescOnce sync.Once + file_api_artwork_artwork_proto_rawDescData = file_api_artwork_artwork_proto_rawDesc +) + +func file_api_artwork_artwork_proto_rawDescGZIP() []byte { + file_api_artwork_artwork_proto_rawDescOnce.Do(func() { + file_api_artwork_artwork_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_artwork_artwork_proto_rawDescData) + }) + return file_api_artwork_artwork_proto_rawDescData +} + +var file_api_artwork_artwork_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_api_artwork_artwork_proto_goTypes = []interface{}{ + (*ListInterfaceRespond)(nil), // 0: Artwork.ListInterfaceRespond + (*ArtworkListRequest)(nil), // 1: Artwork.ArtworkListRequest + (*ArtworkAddRequest)(nil), // 2: Artwork.ArtworkAddRequest + (*ArtworkAddRespond)(nil), // 3: Artwork.ArtworkAddRespond + (*CheckUserLockRequest)(nil), // 4: Artwork.CheckUserLockRequest + (*CheckUserLockRespond)(nil), // 5: Artwork.CheckUserLockRespond + (*UpdateArtworkRequest)(nil), // 6: Artwork.UpdateArtworkRequest + (*UpdateArtworkRespond)(nil), // 7: Artwork.UpdateArtworkRespond + (*GetArtworkListRequest)(nil), // 8: Artwork.GetArtworkListRequest + (*GetArtworkListRespond)(nil), // 9: Artwork.GetArtworkListRespond + (*GetArtworkRequest)(nil), // 10: Artwork.GetArtworkRequest + (*GetArtworkRespond)(nil), // 11: Artwork.GetArtworkRespond + (*DelArtworkRequest)(nil), // 12: Artwork.DelArtworkRequest + (*DelArtworkRespond)(nil), // 13: Artwork.DelArtworkRespond + (*UploadArtworkRequest)(nil), // 14: Artwork.UploadArtworkRequest + (*UploadArtworkRespond)(nil), // 15: Artwork.UploadArtworkRespond +} +var file_api_artwork_artwork_proto_depIdxs = []int32{ + 6, // 0: Artwork.GetArtworkListRespond.Data:type_name -> Artwork.UpdateArtworkRequest + 2, // 1: Artwork.Artwork.ArtworkAdd:input_type -> Artwork.ArtworkAddRequest + 4, // 2: Artwork.Artwork.CheckUserLock:input_type -> Artwork.CheckUserLockRequest + 6, // 3: Artwork.Artwork.UpdateArtwork:input_type -> Artwork.UpdateArtworkRequest + 8, // 4: Artwork.Artwork.GetArtworkList:input_type -> Artwork.GetArtworkListRequest + 10, // 5: Artwork.Artwork.GetArtwork:input_type -> Artwork.GetArtworkRequest + 12, // 6: Artwork.Artwork.DelArtwork:input_type -> Artwork.DelArtworkRequest + 14, // 7: Artwork.Artwork.UploadArtwork:input_type -> Artwork.UploadArtworkRequest + 3, // 8: Artwork.Artwork.ArtworkAdd:output_type -> Artwork.ArtworkAddRespond + 5, // 9: Artwork.Artwork.CheckUserLock:output_type -> Artwork.CheckUserLockRespond + 7, // 10: Artwork.Artwork.UpdateArtwork:output_type -> Artwork.UpdateArtworkRespond + 9, // 11: Artwork.Artwork.GetArtworkList:output_type -> Artwork.GetArtworkListRespond + 11, // 12: Artwork.Artwork.GetArtwork:output_type -> Artwork.GetArtworkRespond + 13, // 13: Artwork.Artwork.DelArtwork:output_type -> Artwork.DelArtworkRespond + 15, // 14: Artwork.Artwork.UploadArtwork:output_type -> Artwork.UploadArtworkRespond + 8, // [8:15] is the sub-list for method output_type + 1, // [1:8] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_api_artwork_artwork_proto_init() } +func file_api_artwork_artwork_proto_init() { + if File_api_artwork_artwork_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_api_artwork_artwork_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListInterfaceRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artwork_artwork_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ArtworkListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artwork_artwork_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ArtworkAddRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artwork_artwork_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ArtworkAddRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artwork_artwork_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CheckUserLockRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artwork_artwork_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CheckUserLockRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artwork_artwork_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateArtworkRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artwork_artwork_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateArtworkRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artwork_artwork_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetArtworkListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artwork_artwork_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetArtworkListRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artwork_artwork_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetArtworkRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artwork_artwork_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetArtworkRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artwork_artwork_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DelArtworkRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artwork_artwork_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DelArtworkRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artwork_artwork_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UploadArtworkRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_artwork_artwork_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UploadArtworkRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_api_artwork_artwork_proto_rawDesc, + NumEnums: 0, + NumMessages: 16, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_api_artwork_artwork_proto_goTypes, + DependencyIndexes: file_api_artwork_artwork_proto_depIdxs, + MessageInfos: file_api_artwork_artwork_proto_msgTypes, + }.Build() + File_api_artwork_artwork_proto = out.File + file_api_artwork_artwork_proto_rawDesc = nil + file_api_artwork_artwork_proto_goTypes = nil + file_api_artwork_artwork_proto_depIdxs = nil +} diff --git a/pb/artwork/artwork.proto b/pb/artwork/artwork.proto new file mode 100644 index 0000000..be9a93a --- /dev/null +++ b/pb/artwork/artwork.proto @@ -0,0 +1,139 @@ +syntax = "proto3"; +package Artwork; +option go_package = "./;artwork"; +//$ protoc --proto_path=. --go_out=./api/artwork --go-triple_out=./api/artwork ./api/artwork/artwork.proto +service Artwork { + rpc ArtworkAdd (ArtworkAddRequest) returns (ArtworkAddRespond) {} + rpc CheckUserLock (CheckUserLockRequest) returns (CheckUserLockRespond) {} + rpc UpdateArtwork (UpdateArtworkRequest) returns (UpdateArtworkRespond) {} + rpc GetArtworkList (GetArtworkListRequest) returns (GetArtworkListRespond) {} + rpc GetArtwork (GetArtworkRequest) returns (GetArtworkRespond) {} + rpc DelArtwork (DelArtworkRequest) returns (DelArtworkRespond) {} + rpc UploadArtwork (UploadArtworkRequest) returns (UploadArtworkRespond) {} +} + +message ListInterfaceRespond { + int64 Total = 1 [json_name = "total"]; + // repeated []byte Data = 2 [json_name = "data"]; + bytes Data = 2 [json_name = "data"]; + string Msg = 3 [json_name = "msg"]; +} + +message ArtworkListRequest { + int64 BatchId = 1 [json_name = "batchId"]; + int64 ArtistId = 2 [json_name = "artistId"]; + string Name = 3 [json_name = "name"]; + string ArtistName = 4 [json_name = "artistName"]; + string InvitedName = 5 [json_name = "invitedName"]; + int64 IsImport = 6 [json_name ="isImport"]; + int64 State = 7 [json_name = "state"]; + int64 Page = 8 [json_name = "page"]; + int64 Num = 9 [json_name = "num"]; +} + +message ArtworkAddRequest { + uint64 ID = 1 [json_name = "id"]; + uint64 ArtistId = 2 [json_name = "artistId"]; + string Name = 3 [json_name = "name"]; + string ModelYear = 4 [json_name = "modelYear"]; + string Photo = 5 [json_name = "photo"]; + string ArtistPhoto = 6 [json_name = "artistPhoto"]; + uint64 Width = 7 [json_name = "width"]; + repeated string CreateAddress = 8 [json_name = "createAddress"]; + uint64 Height = 9 [json_name = "height"]; + uint64 Ruler = 10 [json_name = "ruler"]; + string Introduct = 11 [json_name = "introduct"]; + string AgeOfCreation = 12 [json_name = "ageOfCreation"]; + string CreateAt = 13 [json_name = "createAt"]; + bool NetworkTrace = 14 [json_name = "networkTrace"]; + string Url = 15 [json_name = "url"]; + uint64 State = 16 [json_name = "state"]; +} + +message ArtworkAddRespond { + +} + +message CheckUserLockRequest { + uint64 ID = 1 [json_name = "id"]; + } + + message CheckUserLockRespond { + + } + + + message UpdateArtworkRequest { + uint64 ID = 1 [json_name = "id"]; + uint64 ArtistId = 2 [json_name = "artistId"]; + string Name = 3 [json_name = "name"]; + string ModelYear = 4 [json_name = "modelYear"]; + string Photo = 5 [json_name = "photo"]; + string ArtistPhoto = 6 [json_name = "artistPhoto"]; + uint64 Width = 7 [json_name = "width"]; + repeated string CreateAddress = 8 [json_name = "createAddress"]; + uint64 Height = 9 [json_name = "height"]; + uint64 Ruler = 10 [json_name = "ruler"]; + string Introduct = 11 [json_name = "introduct"]; + string AgeOfCreation = 12 [json_name = "ageOfCreation"]; + string CreateAt = 13 [json_name = "createAt"]; + bool NetworkTrace = 14 [json_name = "networkTrace"]; + string Url = 15 [json_name = "url"]; + uint64 State = 16 [json_name = "state"]; + } + + message UpdateArtworkRespond { + + } + + + message GetArtworkListRequest { + uint64 ID = 1 [json_name = "id"]; + } + + message GetArtworkListRespond { + repeated UpdateArtworkRequest Data = 1 [json_name = "data"]; + } + message GetArtworkRequest { + uint64 ID = 1 [json_name = "id"]; + } + + message GetArtworkRespond { + uint64 ID = 1 [json_name = "id"]; + uint64 ArtistId = 2 [json_name = "artistId"]; + string Name = 3 [json_name = "name"]; + string ModelYear = 4 [json_name = "modelYear"]; + string Photo = 5 [json_name = "photo"]; + string ArtistPhoto = 6 [json_name = "artistPhoto"]; + uint64 Width = 7 [json_name = "width"]; + repeated string CreateAddress = 8 [json_name = "createAddress"]; + uint64 Height = 9 [json_name = "height"]; + uint64 Ruler = 10 [json_name = "ruler"]; + string Introduct = 11 [json_name = "introduct"]; + string AgeOfCreation = 12 [json_name = "ageOfCreation"]; + string CreateAt = 13 [json_name = "createAt"]; + bool NetworkTrace = 14 [json_name = "networkTrace"]; + string Url = 15 [json_name = "url"]; + uint64 State = 16 [json_name = "state"]; + } + + + message DelArtworkRequest { + uint64 Id = 1 [json_name = "id"]; + uint64 ArtistId =2[json_name = "artistId"]; + } + + message DelArtworkRespond { + + } + + + + message UploadArtworkRequest { + uint64 ID = 1 [json_name = "id"]; + } + + message UploadArtworkRespond { + + + } \ No newline at end of file diff --git a/pb/artwork/artwork_triple.pb.go b/pb/artwork/artwork_triple.pb.go new file mode 100644 index 0000000..0210d1a --- /dev/null +++ b/pb/artwork/artwork_triple.pb.go @@ -0,0 +1,417 @@ +// Code generated by protoc-gen-go-triple. DO NOT EDIT. +// versions: +// - protoc-gen-go-triple v1.0.5 +// - protoc v3.9.0 +// source: api/artwork/artwork.proto + +package artwork + +import ( + context "context" + protocol "dubbo.apache.org/dubbo-go/v3/protocol" + dubbo3 "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3" + invocation "dubbo.apache.org/dubbo-go/v3/protocol/invocation" + grpc_go "github.com/dubbogo/grpc-go" + codes "github.com/dubbogo/grpc-go/codes" + metadata "github.com/dubbogo/grpc-go/metadata" + status "github.com/dubbogo/grpc-go/status" + common "github.com/dubbogo/triple/pkg/common" + constant "github.com/dubbogo/triple/pkg/common/constant" + triple "github.com/dubbogo/triple/pkg/triple" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc_go.SupportPackageIsVersion7 + +// ArtworkClient is the client API for Artwork 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 ArtworkClient interface { + ArtworkAdd(ctx context.Context, in *ArtworkAddRequest, opts ...grpc_go.CallOption) (*ArtworkAddRespond, common.ErrorWithAttachment) + CheckUserLock(ctx context.Context, in *CheckUserLockRequest, opts ...grpc_go.CallOption) (*CheckUserLockRespond, common.ErrorWithAttachment) + UpdateArtwork(ctx context.Context, in *UpdateArtworkRequest, opts ...grpc_go.CallOption) (*UpdateArtworkRespond, common.ErrorWithAttachment) + GetArtworkList(ctx context.Context, in *GetArtworkListRequest, opts ...grpc_go.CallOption) (*GetArtworkListRespond, common.ErrorWithAttachment) + GetArtwork(ctx context.Context, in *GetArtworkRequest, opts ...grpc_go.CallOption) (*GetArtworkRespond, common.ErrorWithAttachment) + DelArtwork(ctx context.Context, in *DelArtworkRequest, opts ...grpc_go.CallOption) (*DelArtworkRespond, common.ErrorWithAttachment) + UploadArtwork(ctx context.Context, in *UploadArtworkRequest, opts ...grpc_go.CallOption) (*UploadArtworkRespond, common.ErrorWithAttachment) +} + +type artworkClient struct { + cc *triple.TripleConn +} + +type ArtworkClientImpl struct { + ArtworkAdd func(ctx context.Context, in *ArtworkAddRequest) (*ArtworkAddRespond, error) + CheckUserLock func(ctx context.Context, in *CheckUserLockRequest) (*CheckUserLockRespond, error) + UpdateArtwork func(ctx context.Context, in *UpdateArtworkRequest) (*UpdateArtworkRespond, error) + GetArtworkList func(ctx context.Context, in *GetArtworkListRequest) (*GetArtworkListRespond, error) + GetArtwork func(ctx context.Context, in *GetArtworkRequest) (*GetArtworkRespond, error) + DelArtwork func(ctx context.Context, in *DelArtworkRequest) (*DelArtworkRespond, error) + UploadArtwork func(ctx context.Context, in *UploadArtworkRequest) (*UploadArtworkRespond, error) +} + +func (c *ArtworkClientImpl) GetDubboStub(cc *triple.TripleConn) ArtworkClient { + return NewArtworkClient(cc) +} + +func (c *ArtworkClientImpl) XXX_InterfaceName() string { + return "Artwork.Artwork" +} + +func NewArtworkClient(cc *triple.TripleConn) ArtworkClient { + return &artworkClient{cc} +} + +func (c *artworkClient) ArtworkAdd(ctx context.Context, in *ArtworkAddRequest, opts ...grpc_go.CallOption) (*ArtworkAddRespond, common.ErrorWithAttachment) { + out := new(ArtworkAddRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ArtworkAdd", in, out) +} + +func (c *artworkClient) CheckUserLock(ctx context.Context, in *CheckUserLockRequest, opts ...grpc_go.CallOption) (*CheckUserLockRespond, common.ErrorWithAttachment) { + out := new(CheckUserLockRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CheckUserLock", in, out) +} + +func (c *artworkClient) UpdateArtwork(ctx context.Context, in *UpdateArtworkRequest, opts ...grpc_go.CallOption) (*UpdateArtworkRespond, common.ErrorWithAttachment) { + out := new(UpdateArtworkRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateArtwork", in, out) +} + +func (c *artworkClient) GetArtworkList(ctx context.Context, in *GetArtworkListRequest, opts ...grpc_go.CallOption) (*GetArtworkListRespond, common.ErrorWithAttachment) { + out := new(GetArtworkListRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetArtworkList", in, out) +} + +func (c *artworkClient) GetArtwork(ctx context.Context, in *GetArtworkRequest, opts ...grpc_go.CallOption) (*GetArtworkRespond, common.ErrorWithAttachment) { + out := new(GetArtworkRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetArtwork", in, out) +} + +func (c *artworkClient) DelArtwork(ctx context.Context, in *DelArtworkRequest, opts ...grpc_go.CallOption) (*DelArtworkRespond, common.ErrorWithAttachment) { + out := new(DelArtworkRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DelArtwork", in, out) +} + +func (c *artworkClient) UploadArtwork(ctx context.Context, in *UploadArtworkRequest, opts ...grpc_go.CallOption) (*UploadArtworkRespond, common.ErrorWithAttachment) { + out := new(UploadArtworkRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UploadArtwork", in, out) +} + +// ArtworkServer is the server API for Artwork service. +// All implementations must embed UnimplementedArtworkServer +// for forward compatibility +type ArtworkServer interface { + ArtworkAdd(context.Context, *ArtworkAddRequest) (*ArtworkAddRespond, error) + CheckUserLock(context.Context, *CheckUserLockRequest) (*CheckUserLockRespond, error) + UpdateArtwork(context.Context, *UpdateArtworkRequest) (*UpdateArtworkRespond, error) + GetArtworkList(context.Context, *GetArtworkListRequest) (*GetArtworkListRespond, error) + GetArtwork(context.Context, *GetArtworkRequest) (*GetArtworkRespond, error) + DelArtwork(context.Context, *DelArtworkRequest) (*DelArtworkRespond, error) + UploadArtwork(context.Context, *UploadArtworkRequest) (*UploadArtworkRespond, error) + mustEmbedUnimplementedArtworkServer() +} + +// UnimplementedArtworkServer must be embedded to have forward compatible implementations. +type UnimplementedArtworkServer struct { + proxyImpl protocol.Invoker +} + +func (UnimplementedArtworkServer) ArtworkAdd(context.Context, *ArtworkAddRequest) (*ArtworkAddRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method ArtworkAdd not implemented") +} +func (UnimplementedArtworkServer) CheckUserLock(context.Context, *CheckUserLockRequest) (*CheckUserLockRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method CheckUserLock not implemented") +} +func (UnimplementedArtworkServer) UpdateArtwork(context.Context, *UpdateArtworkRequest) (*UpdateArtworkRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateArtwork not implemented") +} +func (UnimplementedArtworkServer) GetArtworkList(context.Context, *GetArtworkListRequest) (*GetArtworkListRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetArtworkList not implemented") +} +func (UnimplementedArtworkServer) GetArtwork(context.Context, *GetArtworkRequest) (*GetArtworkRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetArtwork not implemented") +} +func (UnimplementedArtworkServer) DelArtwork(context.Context, *DelArtworkRequest) (*DelArtworkRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method DelArtwork not implemented") +} +func (UnimplementedArtworkServer) UploadArtwork(context.Context, *UploadArtworkRequest) (*UploadArtworkRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method UploadArtwork not implemented") +} +func (s *UnimplementedArtworkServer) XXX_SetProxyImpl(impl protocol.Invoker) { + s.proxyImpl = impl +} + +func (s *UnimplementedArtworkServer) XXX_GetProxyImpl() protocol.Invoker { + return s.proxyImpl +} + +func (s *UnimplementedArtworkServer) XXX_ServiceDesc() *grpc_go.ServiceDesc { + return &Artwork_ServiceDesc +} +func (s *UnimplementedArtworkServer) XXX_InterfaceName() string { + return "Artwork.Artwork" +} + +func (UnimplementedArtworkServer) mustEmbedUnimplementedArtworkServer() {} + +// UnsafeArtworkServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ArtworkServer will +// result in compilation errors. +type UnsafeArtworkServer interface { + mustEmbedUnimplementedArtworkServer() +} + +func RegisterArtworkServer(s grpc_go.ServiceRegistrar, srv ArtworkServer) { + s.RegisterService(&Artwork_ServiceDesc, srv) +} + +func _Artwork_ArtworkAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ArtworkAddRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("ArtworkAdd", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Artwork_CheckUserLock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CheckUserLockRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("CheckUserLock", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Artwork_UpdateArtwork_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateArtworkRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("UpdateArtwork", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Artwork_GetArtworkList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetArtworkListRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetArtworkList", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Artwork_GetArtwork_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetArtworkRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetArtwork", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Artwork_DelArtwork_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(DelArtworkRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("DelArtwork", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Artwork_UploadArtwork_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UploadArtworkRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("UploadArtwork", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +// Artwork_ServiceDesc is the grpc_go.ServiceDesc for Artwork service. +// It's only intended for direct use with grpc_go.RegisterService, +// and not to be introspected or modified (even as a copy) +var Artwork_ServiceDesc = grpc_go.ServiceDesc{ + ServiceName: "Artwork.Artwork", + HandlerType: (*ArtworkServer)(nil), + Methods: []grpc_go.MethodDesc{ + { + MethodName: "ArtworkAdd", + Handler: _Artwork_ArtworkAdd_Handler, + }, + { + MethodName: "CheckUserLock", + Handler: _Artwork_CheckUserLock_Handler, + }, + { + MethodName: "UpdateArtwork", + Handler: _Artwork_UpdateArtwork_Handler, + }, + { + MethodName: "GetArtworkList", + Handler: _Artwork_GetArtworkList_Handler, + }, + { + MethodName: "GetArtwork", + Handler: _Artwork_GetArtwork_Handler, + }, + { + MethodName: "DelArtwork", + Handler: _Artwork_DelArtwork_Handler, + }, + { + MethodName: "UploadArtwork", + Handler: _Artwork_UploadArtwork_Handler, + }, + }, + Streams: []grpc_go.StreamDesc{}, + Metadata: "api/artwork/artwork.proto", +} diff --git a/pb/contract/contract.pb.go b/pb/contract/contract.pb.go new file mode 100644 index 0000000..0a05a4e --- /dev/null +++ b/pb/contract/contract.pb.go @@ -0,0 +1,1517 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.9.0 +// source: api/contract/contract.proto + +package contract + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type FinishContractRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TransactionId string `protobuf:"bytes,1,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId,omitempty"` +} + +func (x *FinishContractRequest) Reset() { + *x = FinishContractRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FinishContractRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FinishContractRequest) ProtoMessage() {} + +func (x *FinishContractRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FinishContractRequest.ProtoReflect.Descriptor instead. +func (*FinishContractRequest) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{0} +} + +func (x *FinishContractRequest) GetTransactionId() string { + if x != nil { + return x.TransactionId + } + return "" +} + +type FinishContractRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *FinishContractRespond) Reset() { + *x = FinishContractRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FinishContractRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FinishContractRespond) ProtoMessage() {} + +func (x *FinishContractRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FinishContractRespond.ProtoReflect.Descriptor instead. +func (*FinishContractRespond) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{1} +} + +type FinishVerifyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ContractId int64 `protobuf:"varint,1,opt,name=ContractId,json=contractId,proto3" json:"ContractId,omitempty"` + HtmlType string `protobuf:"bytes,2,opt,name=HtmlType,json=htmlType,proto3" json:"HtmlType,omitempty"` + EnvType string `protobuf:"bytes,3,opt,name=EnvType,json=envType,proto3" json:"EnvType,omitempty"` +} + +func (x *FinishVerifyRequest) Reset() { + *x = FinishVerifyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FinishVerifyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FinishVerifyRequest) ProtoMessage() {} + +func (x *FinishVerifyRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FinishVerifyRequest.ProtoReflect.Descriptor instead. +func (*FinishVerifyRequest) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{2} +} + +func (x *FinishVerifyRequest) GetContractId() int64 { + if x != nil { + return x.ContractId + } + return 0 +} + +func (x *FinishVerifyRequest) GetHtmlType() string { + if x != nil { + return x.HtmlType + } + return "" +} + +func (x *FinishVerifyRequest) GetEnvType() string { + if x != nil { + return x.EnvType + } + return "" +} + +type FinishVerifyRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *FinishVerifyRespond) Reset() { + *x = FinishVerifyRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FinishVerifyRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FinishVerifyRespond) ProtoMessage() {} + +func (x *FinishVerifyRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FinishVerifyRespond.ProtoReflect.Descriptor instead. +func (*FinishVerifyRespond) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{3} +} + +type ContractListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Num int64 `protobuf:"varint,1,opt,name=Num,json=num,proto3" json:"Num,omitempty"` + Page int64 `protobuf:"varint,2,opt,name=Page,json=page,proto3" json:"Page,omitempty"` + State int64 `protobuf:"varint,3,opt,name=State,json=state,proto3" json:"State,omitempty"` + ID int64 `protobuf:"varint,4,opt,name=ID,json=id,proto3" json:"ID,omitempty"` +} + +func (x *ContractListRequest) Reset() { + *x = ContractListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContractListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContractListRequest) ProtoMessage() {} + +func (x *ContractListRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContractListRequest.ProtoReflect.Descriptor instead. +func (*ContractListRequest) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{4} +} + +func (x *ContractListRequest) GetNum() int64 { + if x != nil { + return x.Num + } + return 0 +} + +func (x *ContractListRequest) GetPage() int64 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ContractListRequest) GetState() int64 { + if x != nil { + return x.State + } + return 0 +} + +func (x *ContractListRequest) GetID() int64 { + if x != nil { + return x.ID + } + return 0 +} + +type ContractListRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []*ContractData `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data,omitempty"` +} + +func (x *ContractListRespond) Reset() { + *x = ContractListRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContractListRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContractListRespond) ProtoMessage() {} + +func (x *ContractListRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContractListRespond.ProtoReflect.Descriptor instead. +func (*ContractListRespond) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{5} +} + +func (x *ContractListRespond) GetData() []*ContractData { + if x != nil { + return x.Data + } + return nil +} + +type ContractData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + UserId int64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` + CardId string `protobuf:"bytes,3,opt,name=CardId,json=cardId,proto3" json:"CardId,omitempty"` + MgmtUserId string `protobuf:"bytes,4,opt,name=MgmtUserId,json=mgmtUserId,proto3" json:"MgmtUserId,omitempty"` + ArtworkId string `protobuf:"bytes,5,opt,name=ArtworkId,json=artworkId,proto3" json:"ArtworkId,omitempty"` + ContractId string `protobuf:"bytes,6,opt,name=ContractId,json=contractId,proto3" json:"ContractId,omitempty"` + TransactionId string `protobuf:"bytes,7,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId,omitempty"` + Type int64 `protobuf:"varint,8,opt,name=Type,json=type,proto3" json:"Type,omitempty"` + BatchId int64 `protobuf:"varint,9,opt,name=BatchId,json=batchId,proto3" json:"BatchId,omitempty"` + BatchName string `protobuf:"bytes,10,opt,name=BatchName,json=batchName,proto3" json:"BatchName,omitempty"` + ViewUrl string `protobuf:"bytes,11,opt,name=ViewUrl,json=viewUrl,proto3" json:"ViewUrl,omitempty"` + DownloadUrl string `protobuf:"bytes,12,opt,name=DownloadUrl,json=downloadUrl,proto3" json:"DownloadUrl,omitempty"` + State int64 `protobuf:"varint,13,opt,name=State,json=state,proto3" json:"State,omitempty"` + UpdateTime string `protobuf:"bytes,14,opt,name=UpdateTime,json=updateTime,proto3" json:"UpdateTime,omitempty"` + CreateTime string `protobuf:"bytes,15,opt,name=CreateTime,json=createTime,proto3" json:"CreateTime,omitempty"` + ExpirationTime string `protobuf:"bytes,16,opt,name=ExpirationTime,json=expirationTime,proto3" json:"ExpirationTime,omitempty"` + SignTime string `protobuf:"bytes,17,opt,name=SignTime,json=signTime,proto3" json:"SignTime,omitempty"` +} + +func (x *ContractData) Reset() { + *x = ContractData{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContractData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContractData) ProtoMessage() {} + +func (x *ContractData) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContractData.ProtoReflect.Descriptor instead. +func (*ContractData) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{6} +} + +func (x *ContractData) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *ContractData) GetUserId() int64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *ContractData) GetCardId() string { + if x != nil { + return x.CardId + } + return "" +} + +func (x *ContractData) GetMgmtUserId() string { + if x != nil { + return x.MgmtUserId + } + return "" +} + +func (x *ContractData) GetArtworkId() string { + if x != nil { + return x.ArtworkId + } + return "" +} + +func (x *ContractData) GetContractId() string { + if x != nil { + return x.ContractId + } + return "" +} + +func (x *ContractData) GetTransactionId() string { + if x != nil { + return x.TransactionId + } + return "" +} + +func (x *ContractData) GetType() int64 { + if x != nil { + return x.Type + } + return 0 +} + +func (x *ContractData) GetBatchId() int64 { + if x != nil { + return x.BatchId + } + return 0 +} + +func (x *ContractData) GetBatchName() string { + if x != nil { + return x.BatchName + } + return "" +} + +func (x *ContractData) GetViewUrl() string { + if x != nil { + return x.ViewUrl + } + return "" +} + +func (x *ContractData) GetDownloadUrl() string { + if x != nil { + return x.DownloadUrl + } + return "" +} + +func (x *ContractData) GetState() int64 { + if x != nil { + return x.State + } + return 0 +} + +func (x *ContractData) GetUpdateTime() string { + if x != nil { + return x.UpdateTime + } + return "" +} + +func (x *ContractData) GetCreateTime() string { + if x != nil { + return x.CreateTime + } + return "" +} + +func (x *ContractData) GetExpirationTime() string { + if x != nil { + return x.ExpirationTime + } + return "" +} + +func (x *ContractData) GetSignTime() string { + if x != nil { + return x.SignTime + } + return "" +} + +type ContractTxListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Num int64 `protobuf:"varint,1,opt,name=Num,json=num,proto3" json:"Num,omitempty"` + Page int64 `protobuf:"varint,2,opt,name=Page,json=page,proto3" json:"Page,omitempty"` + State int64 `protobuf:"varint,3,opt,name=State,json=state,proto3" json:"State,omitempty"` + ID int64 `protobuf:"varint,4,opt,name=ID,json=id,proto3" json:"ID,omitempty"` +} + +func (x *ContractTxListRequest) Reset() { + *x = ContractTxListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContractTxListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContractTxListRequest) ProtoMessage() {} + +func (x *ContractTxListRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContractTxListRequest.ProtoReflect.Descriptor instead. +func (*ContractTxListRequest) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{7} +} + +func (x *ContractTxListRequest) GetNum() int64 { + if x != nil { + return x.Num + } + return 0 +} + +func (x *ContractTxListRequest) GetPage() int64 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ContractTxListRequest) GetState() int64 { + if x != nil { + return x.State + } + return 0 +} + +func (x *ContractTxListRequest) GetID() int64 { + if x != nil { + return x.ID + } + return 0 +} + +type ContractTxListRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []*ContractData `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data,omitempty"` +} + +func (x *ContractTxListRespond) Reset() { + *x = ContractTxListRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContractTxListRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContractTxListRespond) ProtoMessage() {} + +func (x *ContractTxListRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContractTxListRespond.ProtoReflect.Descriptor instead. +func (*ContractTxListRespond) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{8} +} + +func (x *ContractTxListRespond) GetData() []*ContractData { + if x != nil { + return x.Data + } + return nil +} + +type SignContractRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ContractId int64 `protobuf:"varint,1,opt,name=ContractId,json=contractId,proto3" json:"ContractId,omitempty"` + HtmlType string `protobuf:"bytes,2,opt,name=HtmlType,json=htmlType,proto3" json:"HtmlType,omitempty"` + EnvType string `protobuf:"bytes,3,opt,name=EnvType,json=envType,proto3" json:"EnvType,omitempty"` +} + +func (x *SignContractRequest) Reset() { + *x = SignContractRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SignContractRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SignContractRequest) ProtoMessage() {} + +func (x *SignContractRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SignContractRequest.ProtoReflect.Descriptor instead. +func (*SignContractRequest) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{9} +} + +func (x *SignContractRequest) GetContractId() int64 { + if x != nil { + return x.ContractId + } + return 0 +} + +func (x *SignContractRequest) GetHtmlType() string { + if x != nil { + return x.HtmlType + } + return "" +} + +func (x *SignContractRequest) GetEnvType() string { + if x != nil { + return x.EnvType + } + return "" +} + +type SignContractRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *SignContractRespond) Reset() { + *x = SignContractRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SignContractRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SignContractRespond) ProtoMessage() {} + +func (x *SignContractRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SignContractRespond.ProtoReflect.Descriptor instead. +func (*SignContractRespond) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{10} +} + +type GetContractRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int64 `protobuf:"varint,1,opt,name=Id,json=id,proto3" json:"Id,omitempty"` +} + +func (x *GetContractRequest) Reset() { + *x = GetContractRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetContractRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetContractRequest) ProtoMessage() {} + +func (x *GetContractRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetContractRequest.ProtoReflect.Descriptor instead. +func (*GetContractRequest) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{11} +} + +func (x *GetContractRequest) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +type UpdateContractRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + UserId int64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` + CardId string `protobuf:"bytes,3,opt,name=CardId,json=cardId,proto3" json:"CardId,omitempty"` + MgmtUserId string `protobuf:"bytes,4,opt,name=MgmtUserId,json=mgmtUserId,proto3" json:"MgmtUserId,omitempty"` + ArtworkId string `protobuf:"bytes,5,opt,name=ArtworkId,json=artworkId,proto3" json:"ArtworkId,omitempty"` + ContractId string `protobuf:"bytes,6,opt,name=ContractId,json=contractId,proto3" json:"ContractId,omitempty"` + TransactionId string `protobuf:"bytes,7,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId,omitempty"` + Type int64 `protobuf:"varint,8,opt,name=Type,json=type,proto3" json:"Type,omitempty"` + BatchId int64 `protobuf:"varint,9,opt,name=BatchId,json=batchId,proto3" json:"BatchId,omitempty"` + BatchName string `protobuf:"bytes,10,opt,name=BatchName,json=batchName,proto3" json:"BatchName,omitempty"` + ViewUrl string `protobuf:"bytes,11,opt,name=ViewUrl,json=viewUrl,proto3" json:"ViewUrl,omitempty"` + DownloadUrl string `protobuf:"bytes,12,opt,name=DownloadUrl,json=downloadUrl,proto3" json:"DownloadUrl,omitempty"` + State int64 `protobuf:"varint,13,opt,name=State,json=state,proto3" json:"State,omitempty"` + UpdateTime string `protobuf:"bytes,14,opt,name=UpdateTime,json=updateTime,proto3" json:"UpdateTime,omitempty"` + CreateTime string `protobuf:"bytes,15,opt,name=CreateTime,json=createTime,proto3" json:"CreateTime,omitempty"` + ExpirationTime string `protobuf:"bytes,16,opt,name=ExpirationTime,json=expirationTime,proto3" json:"ExpirationTime,omitempty"` + SignTime string `protobuf:"bytes,17,opt,name=SignTime,json=signTime,proto3" json:"SignTime,omitempty"` +} + +func (x *UpdateContractRequest) Reset() { + *x = UpdateContractRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateContractRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateContractRequest) ProtoMessage() {} + +func (x *UpdateContractRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateContractRequest.ProtoReflect.Descriptor instead. +func (*UpdateContractRequest) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{12} +} + +func (x *UpdateContractRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *UpdateContractRequest) GetUserId() int64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *UpdateContractRequest) GetCardId() string { + if x != nil { + return x.CardId + } + return "" +} + +func (x *UpdateContractRequest) GetMgmtUserId() string { + if x != nil { + return x.MgmtUserId + } + return "" +} + +func (x *UpdateContractRequest) GetArtworkId() string { + if x != nil { + return x.ArtworkId + } + return "" +} + +func (x *UpdateContractRequest) GetContractId() string { + if x != nil { + return x.ContractId + } + return "" +} + +func (x *UpdateContractRequest) GetTransactionId() string { + if x != nil { + return x.TransactionId + } + return "" +} + +func (x *UpdateContractRequest) GetType() int64 { + if x != nil { + return x.Type + } + return 0 +} + +func (x *UpdateContractRequest) GetBatchId() int64 { + if x != nil { + return x.BatchId + } + return 0 +} + +func (x *UpdateContractRequest) GetBatchName() string { + if x != nil { + return x.BatchName + } + return "" +} + +func (x *UpdateContractRequest) GetViewUrl() string { + if x != nil { + return x.ViewUrl + } + return "" +} + +func (x *UpdateContractRequest) GetDownloadUrl() string { + if x != nil { + return x.DownloadUrl + } + return "" +} + +func (x *UpdateContractRequest) GetState() int64 { + if x != nil { + return x.State + } + return 0 +} + +func (x *UpdateContractRequest) GetUpdateTime() string { + if x != nil { + return x.UpdateTime + } + return "" +} + +func (x *UpdateContractRequest) GetCreateTime() string { + if x != nil { + return x.CreateTime + } + return "" +} + +func (x *UpdateContractRequest) GetExpirationTime() string { + if x != nil { + return x.ExpirationTime + } + return "" +} + +func (x *UpdateContractRequest) GetSignTime() string { + if x != nil { + return x.SignTime + } + return "" +} + +type UpdateContractRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UpdateContractRespond) Reset() { + *x = UpdateContractRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateContractRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateContractRespond) ProtoMessage() {} + +func (x *UpdateContractRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateContractRespond.ProtoReflect.Descriptor instead. +func (*UpdateContractRespond) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{13} +} + +type UpdateContractTxRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID int64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + TransactionId string `protobuf:"bytes,2,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId,omitempty"` +} + +func (x *UpdateContractTxRequest) Reset() { + *x = UpdateContractTxRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateContractTxRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateContractTxRequest) ProtoMessage() {} + +func (x *UpdateContractTxRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateContractTxRequest.ProtoReflect.Descriptor instead. +func (*UpdateContractTxRequest) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{14} +} + +func (x *UpdateContractTxRequest) GetID() int64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *UpdateContractTxRequest) GetTransactionId() string { + if x != nil { + return x.TransactionId + } + return "" +} + +type UpdateContractTxRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UpdateContractTxRespond) Reset() { + *x = UpdateContractTxRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateContractTxRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateContractTxRespond) ProtoMessage() {} + +func (x *UpdateContractTxRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateContractTxRespond.ProtoReflect.Descriptor instead. +func (*UpdateContractTxRespond) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{15} +} + +var File_api_contract_contract_proto protoreflect.FileDescriptor + +var file_api_contract_contract_proto_rawDesc = []byte{ + 0x0a, 0x1b, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x22, 0x3d, 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x69, 0x73, + 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, + 0x6b, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x48, 0x74, 0x6d, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x74, 0x6d, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x22, 0x15, 0x0a, 0x13, + 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x64, 0x22, 0x61, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, + 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, + 0x50, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x41, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x2a, 0x0a, + 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0xf4, 0x03, 0x0a, 0x0c, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x67, + 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x6d, 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x72, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, + 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x69, + 0x65, 0x77, 0x55, 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x69, 0x65, + 0x77, 0x55, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, + 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, + 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, + 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, + 0x22, 0x63, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x50, + 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x43, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x2a, + 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0x6b, 0x0a, 0x13, 0x53, 0x69, + 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x48, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x45, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x24, + 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x02, 0x69, 0x64, 0x22, 0xfd, 0x03, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, + 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1e, + 0x0a, 0x0a, 0x4d, 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, + 0x0a, 0x09, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, + 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, + 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x56, 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x76, 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, + 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, + 0x54, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, + 0x54, 0x69, 0x6d, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x4f, 0x0a, + 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, + 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x19, + 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x32, 0x9f, 0x05, 0x0a, 0x08, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x54, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0c, + 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x56, 0x65, + 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x56, 0x65, 0x72, + 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0c, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0b, + 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1c, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, + 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0c, 0x53, 0x69, 0x67, + 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1d, 0x2e, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, + 0x5a, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x54, 0x78, 0x12, 0x21, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x42, 0x0d, 0x5a, 0x0b, 0x2e, + 0x2f, 0x3b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_api_contract_contract_proto_rawDescOnce sync.Once + file_api_contract_contract_proto_rawDescData = file_api_contract_contract_proto_rawDesc +) + +func file_api_contract_contract_proto_rawDescGZIP() []byte { + file_api_contract_contract_proto_rawDescOnce.Do(func() { + file_api_contract_contract_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_contract_contract_proto_rawDescData) + }) + return file_api_contract_contract_proto_rawDescData +} + +var file_api_contract_contract_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_api_contract_contract_proto_goTypes = []interface{}{ + (*FinishContractRequest)(nil), // 0: Contract.FinishContractRequest + (*FinishContractRespond)(nil), // 1: Contract.FinishContractRespond + (*FinishVerifyRequest)(nil), // 2: Contract.FinishVerifyRequest + (*FinishVerifyRespond)(nil), // 3: Contract.FinishVerifyRespond + (*ContractListRequest)(nil), // 4: Contract.ContractListRequest + (*ContractListRespond)(nil), // 5: Contract.ContractListRespond + (*ContractData)(nil), // 6: Contract.ContractData + (*ContractTxListRequest)(nil), // 7: Contract.ContractTxListRequest + (*ContractTxListRespond)(nil), // 8: Contract.ContractTxListRespond + (*SignContractRequest)(nil), // 9: Contract.SignContractRequest + (*SignContractRespond)(nil), // 10: Contract.SignContractRespond + (*GetContractRequest)(nil), // 11: Contract.GetContractRequest + (*UpdateContractRequest)(nil), // 12: Contract.UpdateContractRequest + (*UpdateContractRespond)(nil), // 13: Contract.UpdateContractRespond + (*UpdateContractTxRequest)(nil), // 14: Contract.UpdateContractTxRequest + (*UpdateContractTxRespond)(nil), // 15: Contract.UpdateContractTxRespond +} +var file_api_contract_contract_proto_depIdxs = []int32{ + 6, // 0: Contract.ContractListRespond.Data:type_name -> Contract.ContractData + 6, // 1: Contract.ContractTxListRespond.Data:type_name -> Contract.ContractData + 0, // 2: Contract.Contract.FinishContract:input_type -> Contract.FinishContractRequest + 2, // 3: Contract.Contract.FinishVerify:input_type -> Contract.FinishVerifyRequest + 4, // 4: Contract.Contract.ContractList:input_type -> Contract.ContractListRequest + 11, // 5: Contract.Contract.GetContract:input_type -> Contract.GetContractRequest + 7, // 6: Contract.Contract.ContractTxList:input_type -> Contract.ContractTxListRequest + 9, // 7: Contract.Contract.SignContract:input_type -> Contract.SignContractRequest + 12, // 8: Contract.Contract.UpdateContract:input_type -> Contract.UpdateContractRequest + 14, // 9: Contract.Contract.UpdateContractTx:input_type -> Contract.UpdateContractTxRequest + 1, // 10: Contract.Contract.FinishContract:output_type -> Contract.FinishContractRespond + 3, // 11: Contract.Contract.FinishVerify:output_type -> Contract.FinishVerifyRespond + 5, // 12: Contract.Contract.ContractList:output_type -> Contract.ContractListRespond + 6, // 13: Contract.Contract.GetContract:output_type -> Contract.ContractData + 8, // 14: Contract.Contract.ContractTxList:output_type -> Contract.ContractTxListRespond + 10, // 15: Contract.Contract.SignContract:output_type -> Contract.SignContractRespond + 13, // 16: Contract.Contract.UpdateContract:output_type -> Contract.UpdateContractRespond + 15, // 17: Contract.Contract.UpdateContractTx:output_type -> Contract.UpdateContractTxRespond + 10, // [10:18] is the sub-list for method output_type + 2, // [2:10] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_api_contract_contract_proto_init() } +func file_api_contract_contract_proto_init() { + if File_api_contract_contract_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_api_contract_contract_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FinishContractRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FinishContractRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FinishVerifyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FinishVerifyRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContractListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContractListRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContractData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContractTxListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContractTxListRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SignContractRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SignContractRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetContractRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateContractRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateContractRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateContractTxRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateContractTxRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_api_contract_contract_proto_rawDesc, + NumEnums: 0, + NumMessages: 16, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_api_contract_contract_proto_goTypes, + DependencyIndexes: file_api_contract_contract_proto_depIdxs, + MessageInfos: file_api_contract_contract_proto_msgTypes, + }.Build() + File_api_contract_contract_proto = out.File + file_api_contract_contract_proto_rawDesc = nil + file_api_contract_contract_proto_goTypes = nil + file_api_contract_contract_proto_depIdxs = nil +} diff --git a/pb/contract/contract.proto b/pb/contract/contract.proto new file mode 100644 index 0000000..c651cdc --- /dev/null +++ b/pb/contract/contract.proto @@ -0,0 +1,124 @@ +syntax = "proto3"; +package Contract; +option go_package = "./;contract"; +//$ protoc --proto_path=. --go_out=./api/contract --go-triple_out=./api/contract ./api/contract/contract.proto +service Contract { + rpc FinishContract (FinishContractRequest) returns (FinishContractRespond) {} + rpc FinishVerify (FinishVerifyRequest) returns (FinishVerifyRespond) {} + rpc ContractList (ContractListRequest) returns (ContractListRespond) {} + rpc GetContract (GetContractRequest) returns (ContractData) {} + rpc ContractTxList (ContractTxListRequest) returns (ContractTxListRespond) {} + rpc SignContract (SignContractRequest) returns (SignContractRespond) {} + rpc UpdateContract(UpdateContractRequest) returns (UpdateContractRespond) {} + rpc UpdateContractTx(UpdateContractTxRequest) returns (UpdateContractTxRespond) {} +} + + + +message FinishContractRequest { + string TransactionId = 1 [json_name="transactionId"]; + +} + +message FinishContractRespond { + +} + +message FinishVerifyRequest { + int64 ContractId = 1 [json_name="contractId"]; + string HtmlType = 2 [json_name="htmlType"]; + string EnvType = 3 [json_name= "envType"]; +} + +message FinishVerifyRespond { + +} + + +message ContractListRequest { + int64 Num = 1 [json_name="num"]; + int64 Page = 2 [json_name="page"]; + int64 State = 3 [json_name="state"]; + int64 ID =4 [json_name = "id"]; +} + +message ContractListRespond { + repeated ContractData Data =1; +} + +message ContractData{ + uint64 ID = 1[json_name="id"]; + int64 UserId = 2[json_name="userId"]; + string CardId = 3[json_name="cardId"]; + string MgmtUserId = 4[json_name="mgmtUserId"]; + string ArtworkId = 5[json_name="artworkId"]; + string ContractId = 6[json_name="contractId"]; + string TransactionId = 7[json_name="transactionId"]; + int64 Type = 8[json_name="type"]; + int64 BatchId = 9[json_name="batchId"]; + string BatchName = 10[json_name="batchName"]; + string ViewUrl = 11[json_name="viewUrl"]; + string DownloadUrl = 12[json_name="downloadUrl"]; + int64 State = 13[json_name="state"]; + string UpdateTime = 14 [json_name="updateTime"]; + string CreateTime = 15[json_name="createTime"]; + string ExpirationTime = 16 [json_name="expirationTime"]; + string SignTime = 17 [json_name="signTime"]; +} + + +message ContractTxListRequest { + int64 Num = 1 [json_name="num"]; + int64 Page = 2 [json_name="page"]; + int64 State = 3 [json_name="state"]; + int64 ID =4 [json_name = "id"]; +} + +message ContractTxListRespond { + repeated ContractData Data =1; +} +message SignContractRequest { + int64 ContractId = 1 [json_name="contractId"]; + string HtmlType = 2 [json_name="htmlType"]; + string EnvType = 3 [json_name= "envType"]; +} + +message SignContractRespond { + +} + +message GetContractRequest { + int64 Id = 1 [json_name="id"]; +} + + +message UpdateContractRequest { + uint64 ID = 1[json_name="id"]; + int64 UserId = 2[json_name="userId"]; + string CardId = 3[json_name="cardId"]; + string MgmtUserId = 4[json_name="mgmtUserId"]; + string ArtworkId = 5[json_name="artworkId"]; + string ContractId = 6[json_name="contractId"]; + string TransactionId = 7[json_name="transactionId"]; + int64 Type = 8[json_name="type"]; + int64 BatchId = 9[json_name="batchId"]; + string BatchName = 10[json_name="batchName"]; + string ViewUrl = 11[json_name="viewUrl"]; + string DownloadUrl = 12[json_name="downloadUrl"]; + int64 State = 13[json_name="state"]; + string UpdateTime = 14 [json_name="updateTime"]; + string CreateTime = 15[json_name="createTime"]; + string ExpirationTime = 16 [json_name="expirationTime"]; + string SignTime = 17 [json_name="signTime"]; +} +message UpdateContractRespond{ + +} + +message UpdateContractTxRequest { + int64 ID = 1[json_name="id"]; + string TransactionId = 2[json_name="transactionId"]; +} +message UpdateContractTxRespond{ + +} \ No newline at end of file diff --git a/pb/contract/contract_triple.pb.go b/pb/contract/contract_triple.pb.go new file mode 100644 index 0000000..88f7c12 --- /dev/null +++ b/pb/contract/contract_triple.pb.go @@ -0,0 +1,462 @@ +// Code generated by protoc-gen-go-triple. DO NOT EDIT. +// versions: +// - protoc-gen-go-triple v1.0.5 +// - protoc v3.9.0 +// source: api/contract/contract.proto + +package contract + +import ( + context "context" + protocol "dubbo.apache.org/dubbo-go/v3/protocol" + dubbo3 "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3" + invocation "dubbo.apache.org/dubbo-go/v3/protocol/invocation" + grpc_go "github.com/dubbogo/grpc-go" + codes "github.com/dubbogo/grpc-go/codes" + metadata "github.com/dubbogo/grpc-go/metadata" + status "github.com/dubbogo/grpc-go/status" + common "github.com/dubbogo/triple/pkg/common" + constant "github.com/dubbogo/triple/pkg/common/constant" + triple "github.com/dubbogo/triple/pkg/triple" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc_go.SupportPackageIsVersion7 + +// ContractClient is the client API for Contract 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 ContractClient interface { + FinishContract(ctx context.Context, in *FinishContractRequest, opts ...grpc_go.CallOption) (*FinishContractRespond, common.ErrorWithAttachment) + FinishVerify(ctx context.Context, in *FinishVerifyRequest, opts ...grpc_go.CallOption) (*FinishVerifyRespond, common.ErrorWithAttachment) + ContractList(ctx context.Context, in *ContractListRequest, opts ...grpc_go.CallOption) (*ContractListRespond, common.ErrorWithAttachment) + GetContract(ctx context.Context, in *GetContractRequest, opts ...grpc_go.CallOption) (*ContractData, common.ErrorWithAttachment) + ContractTxList(ctx context.Context, in *ContractTxListRequest, opts ...grpc_go.CallOption) (*ContractTxListRespond, common.ErrorWithAttachment) + SignContract(ctx context.Context, in *SignContractRequest, opts ...grpc_go.CallOption) (*SignContractRespond, common.ErrorWithAttachment) + UpdateContract(ctx context.Context, in *UpdateContractRequest, opts ...grpc_go.CallOption) (*UpdateContractRespond, common.ErrorWithAttachment) + UpdateContractTx(ctx context.Context, in *UpdateContractTxRequest, opts ...grpc_go.CallOption) (*UpdateContractTxRespond, common.ErrorWithAttachment) +} + +type contractClient struct { + cc *triple.TripleConn +} + +type ContractClientImpl struct { + FinishContract func(ctx context.Context, in *FinishContractRequest) (*FinishContractRespond, error) + FinishVerify func(ctx context.Context, in *FinishVerifyRequest) (*FinishVerifyRespond, error) + ContractList func(ctx context.Context, in *ContractListRequest) (*ContractListRespond, error) + GetContract func(ctx context.Context, in *GetContractRequest) (*ContractData, error) + ContractTxList func(ctx context.Context, in *ContractTxListRequest) (*ContractTxListRespond, error) + SignContract func(ctx context.Context, in *SignContractRequest) (*SignContractRespond, error) + UpdateContract func(ctx context.Context, in *UpdateContractRequest) (*UpdateContractRespond, error) + UpdateContractTx func(ctx context.Context, in *UpdateContractTxRequest) (*UpdateContractTxRespond, error) +} + +func (c *ContractClientImpl) GetDubboStub(cc *triple.TripleConn) ContractClient { + return NewContractClient(cc) +} + +func (c *ContractClientImpl) XXX_InterfaceName() string { + return "Contract.Contract" +} + +func NewContractClient(cc *triple.TripleConn) ContractClient { + return &contractClient{cc} +} + +func (c *contractClient) FinishContract(ctx context.Context, in *FinishContractRequest, opts ...grpc_go.CallOption) (*FinishContractRespond, common.ErrorWithAttachment) { + out := new(FinishContractRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/FinishContract", in, out) +} + +func (c *contractClient) FinishVerify(ctx context.Context, in *FinishVerifyRequest, opts ...grpc_go.CallOption) (*FinishVerifyRespond, common.ErrorWithAttachment) { + out := new(FinishVerifyRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/FinishVerify", in, out) +} + +func (c *contractClient) ContractList(ctx context.Context, in *ContractListRequest, opts ...grpc_go.CallOption) (*ContractListRespond, common.ErrorWithAttachment) { + out := new(ContractListRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ContractList", in, out) +} + +func (c *contractClient) GetContract(ctx context.Context, in *GetContractRequest, opts ...grpc_go.CallOption) (*ContractData, common.ErrorWithAttachment) { + out := new(ContractData) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetContract", in, out) +} + +func (c *contractClient) ContractTxList(ctx context.Context, in *ContractTxListRequest, opts ...grpc_go.CallOption) (*ContractTxListRespond, common.ErrorWithAttachment) { + out := new(ContractTxListRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ContractTxList", in, out) +} + +func (c *contractClient) SignContract(ctx context.Context, in *SignContractRequest, opts ...grpc_go.CallOption) (*SignContractRespond, common.ErrorWithAttachment) { + out := new(SignContractRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SignContract", in, out) +} + +func (c *contractClient) UpdateContract(ctx context.Context, in *UpdateContractRequest, opts ...grpc_go.CallOption) (*UpdateContractRespond, common.ErrorWithAttachment) { + out := new(UpdateContractRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateContract", in, out) +} + +func (c *contractClient) UpdateContractTx(ctx context.Context, in *UpdateContractTxRequest, opts ...grpc_go.CallOption) (*UpdateContractTxRespond, common.ErrorWithAttachment) { + out := new(UpdateContractTxRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateContractTx", in, out) +} + +// ContractServer is the server API for Contract service. +// All implementations must embed UnimplementedContractServer +// for forward compatibility +type ContractServer interface { + FinishContract(context.Context, *FinishContractRequest) (*FinishContractRespond, error) + FinishVerify(context.Context, *FinishVerifyRequest) (*FinishVerifyRespond, error) + ContractList(context.Context, *ContractListRequest) (*ContractListRespond, error) + GetContract(context.Context, *GetContractRequest) (*ContractData, error) + ContractTxList(context.Context, *ContractTxListRequest) (*ContractTxListRespond, error) + SignContract(context.Context, *SignContractRequest) (*SignContractRespond, error) + UpdateContract(context.Context, *UpdateContractRequest) (*UpdateContractRespond, error) + UpdateContractTx(context.Context, *UpdateContractTxRequest) (*UpdateContractTxRespond, error) + mustEmbedUnimplementedContractServer() +} + +// UnimplementedContractServer must be embedded to have forward compatible implementations. +type UnimplementedContractServer struct { + proxyImpl protocol.Invoker +} + +func (UnimplementedContractServer) FinishContract(context.Context, *FinishContractRequest) (*FinishContractRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method FinishContract not implemented") +} +func (UnimplementedContractServer) FinishVerify(context.Context, *FinishVerifyRequest) (*FinishVerifyRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method FinishVerify not implemented") +} +func (UnimplementedContractServer) ContractList(context.Context, *ContractListRequest) (*ContractListRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method ContractList not implemented") +} +func (UnimplementedContractServer) GetContract(context.Context, *GetContractRequest) (*ContractData, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetContract not implemented") +} +func (UnimplementedContractServer) ContractTxList(context.Context, *ContractTxListRequest) (*ContractTxListRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method ContractTxList not implemented") +} +func (UnimplementedContractServer) SignContract(context.Context, *SignContractRequest) (*SignContractRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method SignContract not implemented") +} +func (UnimplementedContractServer) UpdateContract(context.Context, *UpdateContractRequest) (*UpdateContractRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateContract not implemented") +} +func (UnimplementedContractServer) UpdateContractTx(context.Context, *UpdateContractTxRequest) (*UpdateContractTxRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateContractTx not implemented") +} +func (s *UnimplementedContractServer) XXX_SetProxyImpl(impl protocol.Invoker) { + s.proxyImpl = impl +} + +func (s *UnimplementedContractServer) XXX_GetProxyImpl() protocol.Invoker { + return s.proxyImpl +} + +func (s *UnimplementedContractServer) XXX_ServiceDesc() *grpc_go.ServiceDesc { + return &Contract_ServiceDesc +} +func (s *UnimplementedContractServer) XXX_InterfaceName() string { + return "Contract.Contract" +} + +func (UnimplementedContractServer) mustEmbedUnimplementedContractServer() {} + +// UnsafeContractServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ContractServer will +// result in compilation errors. +type UnsafeContractServer interface { + mustEmbedUnimplementedContractServer() +} + +func RegisterContractServer(s grpc_go.ServiceRegistrar, srv ContractServer) { + s.RegisterService(&Contract_ServiceDesc, srv) +} + +func _Contract_FinishContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(FinishContractRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("FinishContract", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Contract_FinishVerify_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(FinishVerifyRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("FinishVerify", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Contract_ContractList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ContractListRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("ContractList", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Contract_GetContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetContractRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetContract", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Contract_ContractTxList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ContractTxListRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("ContractTxList", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Contract_SignContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(SignContractRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("SignContract", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Contract_UpdateContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateContractRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("UpdateContract", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Contract_UpdateContractTx_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateContractTxRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("UpdateContractTx", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +// Contract_ServiceDesc is the grpc_go.ServiceDesc for Contract service. +// It's only intended for direct use with grpc_go.RegisterService, +// and not to be introspected or modified (even as a copy) +var Contract_ServiceDesc = grpc_go.ServiceDesc{ + ServiceName: "Contract.Contract", + HandlerType: (*ContractServer)(nil), + Methods: []grpc_go.MethodDesc{ + { + MethodName: "FinishContract", + Handler: _Contract_FinishContract_Handler, + }, + { + MethodName: "FinishVerify", + Handler: _Contract_FinishVerify_Handler, + }, + { + MethodName: "ContractList", + Handler: _Contract_ContractList_Handler, + }, + { + MethodName: "GetContract", + Handler: _Contract_GetContract_Handler, + }, + { + MethodName: "ContractTxList", + Handler: _Contract_ContractTxList_Handler, + }, + { + MethodName: "SignContract", + Handler: _Contract_SignContract_Handler, + }, + { + MethodName: "UpdateContract", + Handler: _Contract_UpdateContract_Handler, + }, + { + MethodName: "UpdateContractTx", + Handler: _Contract_UpdateContractTx_Handler, + }, + }, + Streams: []grpc_go.StreamDesc{}, + Metadata: "api/contract/contract.proto", +} diff --git a/pb/supplyinfo/supplyinfo.pb.go b/pb/supplyinfo/supplyinfo.pb.go new file mode 100644 index 0000000..9f2e69a --- /dev/null +++ b/pb/supplyinfo/supplyinfo.pb.go @@ -0,0 +1,2841 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.9.0 +// source: api/supplyinfo/supplyinfo.proto + +package supplyinfo + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type GetSupplyInfoListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ArtistId uint64 `protobuf:"varint,1,opt,name=ArtistId,json=artistId,proto3" json:"ArtistId,omitempty"` + Types uint64 `protobuf:"varint,2,opt,name=Types,json=types,proto3" json:"Types,omitempty"` +} + +func (x *GetSupplyInfoListRequest) Reset() { + *x = GetSupplyInfoListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetSupplyInfoListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSupplyInfoListRequest) ProtoMessage() {} + +func (x *GetSupplyInfoListRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSupplyInfoListRequest.ProtoReflect.Descriptor instead. +func (*GetSupplyInfoListRequest) Descriptor() ([]byte, []int) { + return file_api_supplyinfo_supplyinfo_proto_rawDescGZIP(), []int{0} +} + +func (x *GetSupplyInfoListRequest) GetArtistId() uint64 { + if x != nil { + return x.ArtistId + } + return 0 +} + +func (x *GetSupplyInfoListRequest) GetTypes() uint64 { + if x != nil { + return x.Types + } + return 0 +} + +type GetSupplyInfoListRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []*GetSupplyInfoData `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data,omitempty"` +} + +func (x *GetSupplyInfoListRespond) Reset() { + *x = GetSupplyInfoListRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetSupplyInfoListRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSupplyInfoListRespond) ProtoMessage() {} + +func (x *GetSupplyInfoListRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSupplyInfoListRespond.ProtoReflect.Descriptor instead. +func (*GetSupplyInfoListRespond) Descriptor() ([]byte, []int) { + return file_api_supplyinfo_supplyinfo_proto_rawDescGZIP(), []int{1} +} + +func (x *GetSupplyInfoListRespond) GetData() []*GetSupplyInfoData { + if x != nil { + return x.Data + } + return nil +} + +type GetSupplyInfoData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + ArtworkId string `protobuf:"bytes,2,opt,name=ArtworkId,json=artworkId,proto3" json:"ArtworkId,omitempty"` + ArtistId string `protobuf:"bytes,3,opt,name=ArtistId,json=artistId,proto3" json:"ArtistId,omitempty"` + UserId uint64 `protobuf:"varint,4,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` + Name string `protobuf:"bytes,5,opt,name=Name,json=name,proto3" json:"Name,omitempty"` + ModelYear string `protobuf:"bytes,6,opt,name=ModelYear,json=modelYear,proto3" json:"ModelYear,omitempty"` + Photo string `protobuf:"bytes,7,opt,name=Photo,json=photo,proto3" json:"Photo,omitempty"` + ArtistPhoto string `protobuf:"bytes,8,opt,name=ArtistPhoto,json=artistPhoto,proto3" json:"ArtistPhoto,omitempty"` + Width uint64 `protobuf:"varint,9,opt,name=Width,json=width,proto3" json:"Width,omitempty"` + Height uint64 `protobuf:"varint,10,opt,name=Height,json=height,proto3" json:"Height,omitempty"` + Ruler uint64 `protobuf:"varint,11,opt,name=Ruler,json=ruler,proto3" json:"Ruler,omitempty"` + ExhibitInfo string `protobuf:"bytes,12,opt,name=ExhibitInfo,json=exhibitInfo,proto3" json:"ExhibitInfo,omitempty"` + ExhibitPic1 string `protobuf:"bytes,13,opt,name=ExhibitPic1,json=exhibitPic1,proto3" json:"ExhibitPic1,omitempty"` + ExhibitPic2 string `protobuf:"bytes,14,opt,name=ExhibitPic2,json=exhibitPic2,proto3" json:"ExhibitPic2,omitempty"` + CreateTime string `protobuf:"bytes,15,opt,name=CreateTime,json=createTime,proto3" json:"CreateTime,omitempty"` + Introduct string `protobuf:"bytes,16,opt,name=Introduct,json=introduct,proto3" json:"Introduct,omitempty"` + NetworkTrace bool `protobuf:"varint,17,opt,name=NetworkTrace,json=networkTrace,proto3" json:"NetworkTrace,omitempty"` + CreateAddress string `protobuf:"bytes,18,opt,name=CreateAddress,json=createAddress,proto3" json:"CreateAddress,omitempty"` + Url string `protobuf:"bytes,19,opt,name=Url,json=url,proto3" json:"Url,omitempty"` + Types string `protobuf:"bytes,20,opt,name=Types,json=types,proto3" json:"Types,omitempty"` + Remark string `protobuf:"bytes,21,opt,name=Remark,json=remark,proto3" json:"Remark,omitempty"` + Remark2 string `protobuf:"bytes,22,opt,name=Remark2,json=remark2,proto3" json:"Remark2,omitempty"` + Enable bool `protobuf:"varint,23,opt,name=Enable,json=enable,proto3" json:"Enable,omitempty"` +} + +func (x *GetSupplyInfoData) Reset() { + *x = GetSupplyInfoData{} + if protoimpl.UnsafeEnabled { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetSupplyInfoData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSupplyInfoData) ProtoMessage() {} + +func (x *GetSupplyInfoData) ProtoReflect() protoreflect.Message { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSupplyInfoData.ProtoReflect.Descriptor instead. +func (*GetSupplyInfoData) Descriptor() ([]byte, []int) { + return file_api_supplyinfo_supplyinfo_proto_rawDescGZIP(), []int{2} +} + +func (x *GetSupplyInfoData) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *GetSupplyInfoData) GetArtworkId() string { + if x != nil { + return x.ArtworkId + } + return "" +} + +func (x *GetSupplyInfoData) GetArtistId() string { + if x != nil { + return x.ArtistId + } + return "" +} + +func (x *GetSupplyInfoData) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *GetSupplyInfoData) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *GetSupplyInfoData) GetModelYear() string { + if x != nil { + return x.ModelYear + } + return "" +} + +func (x *GetSupplyInfoData) GetPhoto() string { + if x != nil { + return x.Photo + } + return "" +} + +func (x *GetSupplyInfoData) GetArtistPhoto() string { + if x != nil { + return x.ArtistPhoto + } + return "" +} + +func (x *GetSupplyInfoData) GetWidth() uint64 { + if x != nil { + return x.Width + } + return 0 +} + +func (x *GetSupplyInfoData) GetHeight() uint64 { + if x != nil { + return x.Height + } + return 0 +} + +func (x *GetSupplyInfoData) GetRuler() uint64 { + if x != nil { + return x.Ruler + } + return 0 +} + +func (x *GetSupplyInfoData) GetExhibitInfo() string { + if x != nil { + return x.ExhibitInfo + } + return "" +} + +func (x *GetSupplyInfoData) GetExhibitPic1() string { + if x != nil { + return x.ExhibitPic1 + } + return "" +} + +func (x *GetSupplyInfoData) GetExhibitPic2() string { + if x != nil { + return x.ExhibitPic2 + } + return "" +} + +func (x *GetSupplyInfoData) GetCreateTime() string { + if x != nil { + return x.CreateTime + } + return "" +} + +func (x *GetSupplyInfoData) GetIntroduct() string { + if x != nil { + return x.Introduct + } + return "" +} + +func (x *GetSupplyInfoData) GetNetworkTrace() bool { + if x != nil { + return x.NetworkTrace + } + return false +} + +func (x *GetSupplyInfoData) GetCreateAddress() string { + if x != nil { + return x.CreateAddress + } + return "" +} + +func (x *GetSupplyInfoData) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *GetSupplyInfoData) GetTypes() string { + if x != nil { + return x.Types + } + return "" +} + +func (x *GetSupplyInfoData) GetRemark() string { + if x != nil { + return x.Remark + } + return "" +} + +func (x *GetSupplyInfoData) GetRemark2() string { + if x != nil { + return x.Remark2 + } + return "" +} + +func (x *GetSupplyInfoData) GetEnable() bool { + if x != nil { + return x.Enable + } + return false +} + +type GetSupplyInfoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=Id,json=artistId,proto3" json:"Id,omitempty"` +} + +func (x *GetSupplyInfoRequest) Reset() { + *x = GetSupplyInfoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetSupplyInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSupplyInfoRequest) ProtoMessage() {} + +func (x *GetSupplyInfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSupplyInfoRequest.ProtoReflect.Descriptor instead. +func (*GetSupplyInfoRequest) Descriptor() ([]byte, []int) { + return file_api_supplyinfo_supplyinfo_proto_rawDescGZIP(), []int{3} +} + +func (x *GetSupplyInfoRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +type UpdateSupplyInfoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + ArtworkId string `protobuf:"bytes,2,opt,name=ArtworkId,json=artworkId,proto3" json:"ArtworkId,omitempty"` + ArtistId string `protobuf:"bytes,3,opt,name=ArtistId,json=artistId,proto3" json:"ArtistId,omitempty"` + UserId uint64 `protobuf:"varint,4,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` + Name string `protobuf:"bytes,5,opt,name=Name,json=name,proto3" json:"Name,omitempty"` + ModelYear string `protobuf:"bytes,6,opt,name=ModelYear,json=modelYear,proto3" json:"ModelYear,omitempty"` + Photo string `protobuf:"bytes,7,opt,name=Photo,json=photo,proto3" json:"Photo,omitempty"` + ArtistPhoto string `protobuf:"bytes,8,opt,name=ArtistPhoto,json=artistPhoto,proto3" json:"ArtistPhoto,omitempty"` + Width uint64 `protobuf:"varint,9,opt,name=Width,json=width,proto3" json:"Width,omitempty"` + Height uint64 `protobuf:"varint,10,opt,name=Height,json=height,proto3" json:"Height,omitempty"` + Ruler uint64 `protobuf:"varint,11,opt,name=Ruler,json=ruler,proto3" json:"Ruler,omitempty"` + ExhibitInfo string `protobuf:"bytes,12,opt,name=ExhibitInfo,json=exhibitInfo,proto3" json:"ExhibitInfo,omitempty"` + ExhibitPic1 string `protobuf:"bytes,13,opt,name=ExhibitPic1,json=exhibitPic1,proto3" json:"ExhibitPic1,omitempty"` + ExhibitPic2 string `protobuf:"bytes,14,opt,name=ExhibitPic2,json=exhibitPic2,proto3" json:"ExhibitPic2,omitempty"` + CreateTime string `protobuf:"bytes,15,opt,name=CreateTime,json=createTime,proto3" json:"CreateTime,omitempty"` + Introduct string `protobuf:"bytes,16,opt,name=Introduct,json=introduct,proto3" json:"Introduct,omitempty"` + NetworkTrace bool `protobuf:"varint,17,opt,name=NetworkTrace,json=networkTrace,proto3" json:"NetworkTrace,omitempty"` + CreateAddress string `protobuf:"bytes,18,opt,name=CreateAddress,json=createAddress,proto3" json:"CreateAddress,omitempty"` + Url string `protobuf:"bytes,19,opt,name=Url,json=url,proto3" json:"Url,omitempty"` + Types string `protobuf:"bytes,20,opt,name=Types,json=types,proto3" json:"Types,omitempty"` + Remark string `protobuf:"bytes,21,opt,name=Remark,json=remark,proto3" json:"Remark,omitempty"` + Remark2 string `protobuf:"bytes,22,opt,name=Remark2,json=remark2,proto3" json:"Remark2,omitempty"` + Enable bool `protobuf:"varint,23,opt,name=Enable,json=enable,proto3" json:"Enable,omitempty"` +} + +func (x *UpdateSupplyInfoRequest) Reset() { + *x = UpdateSupplyInfoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateSupplyInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateSupplyInfoRequest) ProtoMessage() {} + +func (x *UpdateSupplyInfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateSupplyInfoRequest.ProtoReflect.Descriptor instead. +func (*UpdateSupplyInfoRequest) Descriptor() ([]byte, []int) { + return file_api_supplyinfo_supplyinfo_proto_rawDescGZIP(), []int{4} +} + +func (x *UpdateSupplyInfoRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *UpdateSupplyInfoRequest) GetArtworkId() string { + if x != nil { + return x.ArtworkId + } + return "" +} + +func (x *UpdateSupplyInfoRequest) GetArtistId() string { + if x != nil { + return x.ArtistId + } + return "" +} + +func (x *UpdateSupplyInfoRequest) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *UpdateSupplyInfoRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *UpdateSupplyInfoRequest) GetModelYear() string { + if x != nil { + return x.ModelYear + } + return "" +} + +func (x *UpdateSupplyInfoRequest) GetPhoto() string { + if x != nil { + return x.Photo + } + return "" +} + +func (x *UpdateSupplyInfoRequest) GetArtistPhoto() string { + if x != nil { + return x.ArtistPhoto + } + return "" +} + +func (x *UpdateSupplyInfoRequest) GetWidth() uint64 { + if x != nil { + return x.Width + } + return 0 +} + +func (x *UpdateSupplyInfoRequest) GetHeight() uint64 { + if x != nil { + return x.Height + } + return 0 +} + +func (x *UpdateSupplyInfoRequest) GetRuler() uint64 { + if x != nil { + return x.Ruler + } + return 0 +} + +func (x *UpdateSupplyInfoRequest) GetExhibitInfo() string { + if x != nil { + return x.ExhibitInfo + } + return "" +} + +func (x *UpdateSupplyInfoRequest) GetExhibitPic1() string { + if x != nil { + return x.ExhibitPic1 + } + return "" +} + +func (x *UpdateSupplyInfoRequest) GetExhibitPic2() string { + if x != nil { + return x.ExhibitPic2 + } + return "" +} + +func (x *UpdateSupplyInfoRequest) GetCreateTime() string { + if x != nil { + return x.CreateTime + } + return "" +} + +func (x *UpdateSupplyInfoRequest) GetIntroduct() string { + if x != nil { + return x.Introduct + } + return "" +} + +func (x *UpdateSupplyInfoRequest) GetNetworkTrace() bool { + if x != nil { + return x.NetworkTrace + } + return false +} + +func (x *UpdateSupplyInfoRequest) GetCreateAddress() string { + if x != nil { + return x.CreateAddress + } + return "" +} + +func (x *UpdateSupplyInfoRequest) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *UpdateSupplyInfoRequest) GetTypes() string { + if x != nil { + return x.Types + } + return "" +} + +func (x *UpdateSupplyInfoRequest) GetRemark() string { + if x != nil { + return x.Remark + } + return "" +} + +func (x *UpdateSupplyInfoRequest) GetRemark2() string { + if x != nil { + return x.Remark2 + } + return "" +} + +func (x *UpdateSupplyInfoRequest) GetEnable() bool { + if x != nil { + return x.Enable + } + return false +} + +type UpdateSupplyInfoRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UpdateSupplyInfoRespond) Reset() { + *x = UpdateSupplyInfoRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateSupplyInfoRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateSupplyInfoRespond) ProtoMessage() {} + +func (x *UpdateSupplyInfoRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateSupplyInfoRespond.ProtoReflect.Descriptor instead. +func (*UpdateSupplyInfoRespond) Descriptor() ([]byte, []int) { + return file_api_supplyinfo_supplyinfo_proto_rawDescGZIP(), []int{5} +} + +type GetVideoListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID string `protobuf:"bytes,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + UserId uint64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` + Url string `protobuf:"bytes,3,opt,name=Url,json=url,proto3" json:"Url,omitempty"` + Types string `protobuf:"bytes,4,opt,name=Types,json=types,proto3" json:"Types,omitempty"` +} + +func (x *GetVideoListRequest) Reset() { + *x = GetVideoListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetVideoListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetVideoListRequest) ProtoMessage() {} + +func (x *GetVideoListRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetVideoListRequest.ProtoReflect.Descriptor instead. +func (*GetVideoListRequest) Descriptor() ([]byte, []int) { + return file_api_supplyinfo_supplyinfo_proto_rawDescGZIP(), []int{6} +} + +func (x *GetVideoListRequest) GetID() string { + if x != nil { + return x.ID + } + return "" +} + +func (x *GetVideoListRequest) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *GetVideoListRequest) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *GetVideoListRequest) GetTypes() string { + if x != nil { + return x.Types + } + return "" +} + +type GetVideoListRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []*GetVideoListData `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data,omitempty"` +} + +func (x *GetVideoListRespond) Reset() { + *x = GetVideoListRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetVideoListRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetVideoListRespond) ProtoMessage() {} + +func (x *GetVideoListRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetVideoListRespond.ProtoReflect.Descriptor instead. +func (*GetVideoListRespond) Descriptor() ([]byte, []int) { + return file_api_supplyinfo_supplyinfo_proto_rawDescGZIP(), []int{7} +} + +func (x *GetVideoListRespond) GetData() []*GetVideoListData { + if x != nil { + return x.Data + } + return nil +} + +type GetVideoListData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + UserId uint64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` + Url string `protobuf:"bytes,3,opt,name=Url,json=url,proto3" json:"Url,omitempty"` + Types string `protobuf:"bytes,4,opt,name=Types,json=types,proto3" json:"Types,omitempty"` + Remark string `protobuf:"bytes,5,opt,name=Remark,json=remark,proto3" json:"Remark,omitempty"` + Remark2 string `protobuf:"bytes,6,opt,name=Remark2,json=remark2,proto3" json:"Remark2,omitempty"` + Enable bool `protobuf:"varint,7,opt,name=Enable,json=enable,proto3" json:"Enable,omitempty"` +} + +func (x *GetVideoListData) Reset() { + *x = GetVideoListData{} + if protoimpl.UnsafeEnabled { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetVideoListData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetVideoListData) ProtoMessage() {} + +func (x *GetVideoListData) ProtoReflect() protoreflect.Message { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetVideoListData.ProtoReflect.Descriptor instead. +func (*GetVideoListData) Descriptor() ([]byte, []int) { + return file_api_supplyinfo_supplyinfo_proto_rawDescGZIP(), []int{8} +} + +func (x *GetVideoListData) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *GetVideoListData) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *GetVideoListData) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *GetVideoListData) GetTypes() string { + if x != nil { + return x.Types + } + return "" +} + +func (x *GetVideoListData) GetRemark() string { + if x != nil { + return x.Remark + } + return "" +} + +func (x *GetVideoListData) GetRemark2() string { + if x != nil { + return x.Remark2 + } + return "" +} + +func (x *GetVideoListData) GetEnable() bool { + if x != nil { + return x.Enable + } + return false +} + +type GetVideoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID string `protobuf:"bytes,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + UserId uint64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` + Url string `protobuf:"bytes,3,opt,name=Url,json=url,proto3" json:"Url,omitempty"` + Types string `protobuf:"bytes,4,opt,name=Types,json=types,proto3" json:"Types,omitempty"` +} + +func (x *GetVideoRequest) Reset() { + *x = GetVideoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetVideoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetVideoRequest) ProtoMessage() {} + +func (x *GetVideoRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetVideoRequest.ProtoReflect.Descriptor instead. +func (*GetVideoRequest) Descriptor() ([]byte, []int) { + return file_api_supplyinfo_supplyinfo_proto_rawDescGZIP(), []int{9} +} + +func (x *GetVideoRequest) GetID() string { + if x != nil { + return x.ID + } + return "" +} + +func (x *GetVideoRequest) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *GetVideoRequest) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *GetVideoRequest) GetTypes() string { + if x != nil { + return x.Types + } + return "" +} + +type UpdateVideoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID string `protobuf:"bytes,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + UserId uint64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` + Url string `protobuf:"bytes,3,opt,name=Url,json=url,proto3" json:"Url,omitempty"` + Types string `protobuf:"bytes,4,opt,name=Types,json=types,proto3" json:"Types,omitempty"` +} + +func (x *UpdateVideoRequest) Reset() { + *x = UpdateVideoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateVideoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateVideoRequest) ProtoMessage() {} + +func (x *UpdateVideoRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateVideoRequest.ProtoReflect.Descriptor instead. +func (*UpdateVideoRequest) Descriptor() ([]byte, []int) { + return file_api_supplyinfo_supplyinfo_proto_rawDescGZIP(), []int{10} +} + +func (x *UpdateVideoRequest) GetID() string { + if x != nil { + return x.ID + } + return "" +} + +func (x *UpdateVideoRequest) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *UpdateVideoRequest) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *UpdateVideoRequest) GetTypes() string { + if x != nil { + return x.Types + } + return "" +} + +type UpdateVideoRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UpdateVideoRespond) Reset() { + *x = UpdateVideoRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateVideoRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateVideoRespond) ProtoMessage() {} + +func (x *UpdateVideoRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateVideoRespond.ProtoReflect.Descriptor instead. +func (*UpdateVideoRespond) Descriptor() ([]byte, []int) { + return file_api_supplyinfo_supplyinfo_proto_rawDescGZIP(), []int{11} +} + +type GetExamListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID string `protobuf:"bytes,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + UserId uint64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` + Url string `protobuf:"bytes,3,opt,name=Url,json=url,proto3" json:"Url,omitempty"` + Types string `protobuf:"bytes,4,opt,name=Types,json=types,proto3" json:"Types,omitempty"` +} + +func (x *GetExamListRequest) Reset() { + *x = GetExamListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetExamListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetExamListRequest) ProtoMessage() {} + +func (x *GetExamListRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetExamListRequest.ProtoReflect.Descriptor instead. +func (*GetExamListRequest) Descriptor() ([]byte, []int) { + return file_api_supplyinfo_supplyinfo_proto_rawDescGZIP(), []int{12} +} + +func (x *GetExamListRequest) GetID() string { + if x != nil { + return x.ID + } + return "" +} + +func (x *GetExamListRequest) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *GetExamListRequest) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *GetExamListRequest) GetTypes() string { + if x != nil { + return x.Types + } + return "" +} + +type GetExamListRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []*GetExamListData `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data,omitempty"` +} + +func (x *GetExamListRespond) Reset() { + *x = GetExamListRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetExamListRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetExamListRespond) ProtoMessage() {} + +func (x *GetExamListRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetExamListRespond.ProtoReflect.Descriptor instead. +func (*GetExamListRespond) Descriptor() ([]byte, []int) { + return file_api_supplyinfo_supplyinfo_proto_rawDescGZIP(), []int{13} +} + +func (x *GetExamListRespond) GetData() []*GetExamListData { + if x != nil { + return x.Data + } + return nil +} + +type GetExamListData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + UserId uint64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` + Title string `protobuf:"bytes,3,opt,name=Title,json=title,proto3" json:"Title,omitempty"` + Class string `protobuf:"bytes,4,opt,name=Class,json=class,proto3" json:"Class,omitempty"` + TitleScore uint64 `protobuf:"varint,5,opt,name=TitleScore,json=titleScore,proto3" json:"TitleScore,omitempty"` + Score string `protobuf:"bytes,6,opt,name=Score,json=score,proto3" json:"Score,omitempty"` + Types string `protobuf:"bytes,7,opt,name=Types,json=types,proto3" json:"Types,omitempty"` + Remark string `protobuf:"bytes,8,opt,name=Remark,json=remark,proto3" json:"Remark,omitempty"` + Remark2 string `protobuf:"bytes,9,opt,name=Remark2,json=remark2,proto3" json:"Remark2,omitempty"` + Enable bool `protobuf:"varint,10,opt,name=Enable,json=enable,proto3" json:"Enable,omitempty"` +} + +func (x *GetExamListData) Reset() { + *x = GetExamListData{} + if protoimpl.UnsafeEnabled { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetExamListData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetExamListData) ProtoMessage() {} + +func (x *GetExamListData) ProtoReflect() protoreflect.Message { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetExamListData.ProtoReflect.Descriptor instead. +func (*GetExamListData) Descriptor() ([]byte, []int) { + return file_api_supplyinfo_supplyinfo_proto_rawDescGZIP(), []int{14} +} + +func (x *GetExamListData) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *GetExamListData) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *GetExamListData) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *GetExamListData) GetClass() string { + if x != nil { + return x.Class + } + return "" +} + +func (x *GetExamListData) GetTitleScore() uint64 { + if x != nil { + return x.TitleScore + } + return 0 +} + +func (x *GetExamListData) GetScore() string { + if x != nil { + return x.Score + } + return "" +} + +func (x *GetExamListData) GetTypes() string { + if x != nil { + return x.Types + } + return "" +} + +func (x *GetExamListData) GetRemark() string { + if x != nil { + return x.Remark + } + return "" +} + +func (x *GetExamListData) GetRemark2() string { + if x != nil { + return x.Remark2 + } + return "" +} + +func (x *GetExamListData) GetEnable() bool { + if x != nil { + return x.Enable + } + return false +} + +type GetExamRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + UserId uint64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` + Title string `protobuf:"bytes,3,opt,name=Title,json=title,proto3" json:"Title,omitempty"` + Class string `protobuf:"bytes,4,opt,name=Class,json=class,proto3" json:"Class,omitempty"` + TitleScore uint64 `protobuf:"varint,5,opt,name=TitleScore,json=titleScore,proto3" json:"TitleScore,omitempty"` + Score string `protobuf:"bytes,6,opt,name=Score,json=score,proto3" json:"Score,omitempty"` + Types string `protobuf:"bytes,7,opt,name=Types,json=types,proto3" json:"Types,omitempty"` + Remark string `protobuf:"bytes,8,opt,name=Remark,json=remark,proto3" json:"Remark,omitempty"` + Remark2 string `protobuf:"bytes,9,opt,name=Remark2,json=remark2,proto3" json:"Remark2,omitempty"` + Enable bool `protobuf:"varint,10,opt,name=Enable,json=enable,proto3" json:"Enable,omitempty"` +} + +func (x *GetExamRequest) Reset() { + *x = GetExamRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetExamRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetExamRequest) ProtoMessage() {} + +func (x *GetExamRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetExamRequest.ProtoReflect.Descriptor instead. +func (*GetExamRequest) Descriptor() ([]byte, []int) { + return file_api_supplyinfo_supplyinfo_proto_rawDescGZIP(), []int{15} +} + +func (x *GetExamRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *GetExamRequest) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *GetExamRequest) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *GetExamRequest) GetClass() string { + if x != nil { + return x.Class + } + return "" +} + +func (x *GetExamRequest) GetTitleScore() uint64 { + if x != nil { + return x.TitleScore + } + return 0 +} + +func (x *GetExamRequest) GetScore() string { + if x != nil { + return x.Score + } + return "" +} + +func (x *GetExamRequest) GetTypes() string { + if x != nil { + return x.Types + } + return "" +} + +func (x *GetExamRequest) GetRemark() string { + if x != nil { + return x.Remark + } + return "" +} + +func (x *GetExamRequest) GetRemark2() string { + if x != nil { + return x.Remark2 + } + return "" +} + +func (x *GetExamRequest) GetEnable() bool { + if x != nil { + return x.Enable + } + return false +} + +type UpdateExamRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + UserId uint64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` + Title string `protobuf:"bytes,3,opt,name=Title,json=title,proto3" json:"Title,omitempty"` + Class string `protobuf:"bytes,4,opt,name=Class,json=class,proto3" json:"Class,omitempty"` + TitleScore uint64 `protobuf:"varint,5,opt,name=TitleScore,json=titleScore,proto3" json:"TitleScore,omitempty"` + Score string `protobuf:"bytes,6,opt,name=Score,json=score,proto3" json:"Score,omitempty"` + Types string `protobuf:"bytes,7,opt,name=Types,json=types,proto3" json:"Types,omitempty"` + Remark string `protobuf:"bytes,8,opt,name=Remark,json=remark,proto3" json:"Remark,omitempty"` + Remark2 string `protobuf:"bytes,9,opt,name=Remark2,json=remark2,proto3" json:"Remark2,omitempty"` + Enable bool `protobuf:"varint,10,opt,name=Enable,json=enable,proto3" json:"Enable,omitempty"` +} + +func (x *UpdateExamRequest) Reset() { + *x = UpdateExamRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateExamRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateExamRequest) ProtoMessage() {} + +func (x *UpdateExamRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateExamRequest.ProtoReflect.Descriptor instead. +func (*UpdateExamRequest) Descriptor() ([]byte, []int) { + return file_api_supplyinfo_supplyinfo_proto_rawDescGZIP(), []int{16} +} + +func (x *UpdateExamRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *UpdateExamRequest) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *UpdateExamRequest) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *UpdateExamRequest) GetClass() string { + if x != nil { + return x.Class + } + return "" +} + +func (x *UpdateExamRequest) GetTitleScore() uint64 { + if x != nil { + return x.TitleScore + } + return 0 +} + +func (x *UpdateExamRequest) GetScore() string { + if x != nil { + return x.Score + } + return "" +} + +func (x *UpdateExamRequest) GetTypes() string { + if x != nil { + return x.Types + } + return "" +} + +func (x *UpdateExamRequest) GetRemark() string { + if x != nil { + return x.Remark + } + return "" +} + +func (x *UpdateExamRequest) GetRemark2() string { + if x != nil { + return x.Remark2 + } + return "" +} + +func (x *UpdateExamRequest) GetEnable() bool { + if x != nil { + return x.Enable + } + return false +} + +type UpdateExamRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Percent int32 `protobuf:"varint,1,opt,name=Percent,json=percent,proto3" json:"Percent,omitempty"` +} + +func (x *UpdateExamRespond) Reset() { + *x = UpdateExamRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateExamRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateExamRespond) ProtoMessage() {} + +func (x *UpdateExamRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateExamRespond.ProtoReflect.Descriptor instead. +func (*UpdateExamRespond) Descriptor() ([]byte, []int) { + return file_api_supplyinfo_supplyinfo_proto_rawDescGZIP(), []int{17} +} + +func (x *UpdateExamRespond) GetPercent() int32 { + if x != nil { + return x.Percent + } + return 0 +} + +type GetArtistInfoListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID string `protobuf:"bytes,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + UserId uint64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` + Url string `protobuf:"bytes,3,opt,name=Url,json=url,proto3" json:"Url,omitempty"` + Types string `protobuf:"bytes,4,opt,name=Types,json=types,proto3" json:"Types,omitempty"` +} + +func (x *GetArtistInfoListRequest) Reset() { + *x = GetArtistInfoListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetArtistInfoListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetArtistInfoListRequest) ProtoMessage() {} + +func (x *GetArtistInfoListRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetArtistInfoListRequest.ProtoReflect.Descriptor instead. +func (*GetArtistInfoListRequest) Descriptor() ([]byte, []int) { + return file_api_supplyinfo_supplyinfo_proto_rawDescGZIP(), []int{18} +} + +func (x *GetArtistInfoListRequest) GetID() string { + if x != nil { + return x.ID + } + return "" +} + +func (x *GetArtistInfoListRequest) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *GetArtistInfoListRequest) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *GetArtistInfoListRequest) GetTypes() string { + if x != nil { + return x.Types + } + return "" +} + +type GetArtistInfoListRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []*GetArtistInfoListData `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data,omitempty"` +} + +func (x *GetArtistInfoListRespond) Reset() { + *x = GetArtistInfoListRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetArtistInfoListRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetArtistInfoListRespond) ProtoMessage() {} + +func (x *GetArtistInfoListRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetArtistInfoListRespond.ProtoReflect.Descriptor instead. +func (*GetArtistInfoListRespond) Descriptor() ([]byte, []int) { + return file_api_supplyinfo_supplyinfo_proto_rawDescGZIP(), []int{19} +} + +func (x *GetArtistInfoListRespond) GetData() []*GetArtistInfoListData { + if x != nil { + return x.Data + } + return nil +} + +type GetArtistInfoListData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + UserId uint64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` + ArtistId string `protobuf:"bytes,3,opt,name=ArtistId,json=artistId,proto3" json:"ArtistId,omitempty"` + BankAccount string `protobuf:"bytes,4,opt,name=BankAccount,json=bankAccount,proto3" json:"BankAccount,omitempty"` + BankName string `protobuf:"bytes,5,opt,name=BankName,json=bankName,proto3" json:"BankName,omitempty"` + Introduct string `protobuf:"bytes,6,opt,name=Introduct,json=introduct,proto3" json:"Introduct,omitempty"` + CountryArtLevel string `protobuf:"bytes,7,opt,name=CountryArtLevel,json=countryArtLevel,proto3" json:"CountryArtLevel,omitempty"` + ArtistCertPic string `protobuf:"bytes,8,opt,name=ArtistCertPic,json=artistCertPic,proto3" json:"ArtistCertPic,omitempty"` + Remark string `protobuf:"bytes,9,opt,name=Remark,json=remark,proto3" json:"Remark,omitempty"` + Remark2 string `protobuf:"bytes,10,opt,name=Remark2,json=remark2,proto3" json:"Remark2,omitempty"` + State uint64 `protobuf:"varint,11,opt,name=State,json=state,proto3" json:"State,omitempty"` +} + +func (x *GetArtistInfoListData) Reset() { + *x = GetArtistInfoListData{} + if protoimpl.UnsafeEnabled { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetArtistInfoListData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetArtistInfoListData) ProtoMessage() {} + +func (x *GetArtistInfoListData) ProtoReflect() protoreflect.Message { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetArtistInfoListData.ProtoReflect.Descriptor instead. +func (*GetArtistInfoListData) Descriptor() ([]byte, []int) { + return file_api_supplyinfo_supplyinfo_proto_rawDescGZIP(), []int{20} +} + +func (x *GetArtistInfoListData) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *GetArtistInfoListData) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *GetArtistInfoListData) GetArtistId() string { + if x != nil { + return x.ArtistId + } + return "" +} + +func (x *GetArtistInfoListData) GetBankAccount() string { + if x != nil { + return x.BankAccount + } + return "" +} + +func (x *GetArtistInfoListData) GetBankName() string { + if x != nil { + return x.BankName + } + return "" +} + +func (x *GetArtistInfoListData) GetIntroduct() string { + if x != nil { + return x.Introduct + } + return "" +} + +func (x *GetArtistInfoListData) GetCountryArtLevel() string { + if x != nil { + return x.CountryArtLevel + } + return "" +} + +func (x *GetArtistInfoListData) GetArtistCertPic() string { + if x != nil { + return x.ArtistCertPic + } + return "" +} + +func (x *GetArtistInfoListData) GetRemark() string { + if x != nil { + return x.Remark + } + return "" +} + +func (x *GetArtistInfoListData) GetRemark2() string { + if x != nil { + return x.Remark2 + } + return "" +} + +func (x *GetArtistInfoListData) GetState() uint64 { + if x != nil { + return x.State + } + return 0 +} + +type GetArtistInfoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + UserId uint64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` + ArtistId string `protobuf:"bytes,3,opt,name=ArtistId,json=artistId,proto3" json:"ArtistId,omitempty"` + BankAccount string `protobuf:"bytes,4,opt,name=BankAccount,json=bankAccount,proto3" json:"BankAccount,omitempty"` + BankName string `protobuf:"bytes,5,opt,name=BankName,json=bankName,proto3" json:"BankName,omitempty"` + Introduct string `protobuf:"bytes,6,opt,name=Introduct,json=introduct,proto3" json:"Introduct,omitempty"` + CountryArtLevel string `protobuf:"bytes,7,opt,name=CountryArtLevel,json=countryArtLevel,proto3" json:"CountryArtLevel,omitempty"` + ArtistCertPic string `protobuf:"bytes,8,opt,name=ArtistCertPic,json=artistCertPic,proto3" json:"ArtistCertPic,omitempty"` + Remark string `protobuf:"bytes,9,opt,name=Remark,json=remark,proto3" json:"Remark,omitempty"` + Remark2 string `protobuf:"bytes,10,opt,name=Remark2,json=remark2,proto3" json:"Remark2,omitempty"` + State uint64 `protobuf:"varint,11,opt,name=State,json=state,proto3" json:"State,omitempty"` +} + +func (x *GetArtistInfoRequest) Reset() { + *x = GetArtistInfoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetArtistInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetArtistInfoRequest) ProtoMessage() {} + +func (x *GetArtistInfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetArtistInfoRequest.ProtoReflect.Descriptor instead. +func (*GetArtistInfoRequest) Descriptor() ([]byte, []int) { + return file_api_supplyinfo_supplyinfo_proto_rawDescGZIP(), []int{21} +} + +func (x *GetArtistInfoRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *GetArtistInfoRequest) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *GetArtistInfoRequest) GetArtistId() string { + if x != nil { + return x.ArtistId + } + return "" +} + +func (x *GetArtistInfoRequest) GetBankAccount() string { + if x != nil { + return x.BankAccount + } + return "" +} + +func (x *GetArtistInfoRequest) GetBankName() string { + if x != nil { + return x.BankName + } + return "" +} + +func (x *GetArtistInfoRequest) GetIntroduct() string { + if x != nil { + return x.Introduct + } + return "" +} + +func (x *GetArtistInfoRequest) GetCountryArtLevel() string { + if x != nil { + return x.CountryArtLevel + } + return "" +} + +func (x *GetArtistInfoRequest) GetArtistCertPic() string { + if x != nil { + return x.ArtistCertPic + } + return "" +} + +func (x *GetArtistInfoRequest) GetRemark() string { + if x != nil { + return x.Remark + } + return "" +} + +func (x *GetArtistInfoRequest) GetRemark2() string { + if x != nil { + return x.Remark2 + } + return "" +} + +func (x *GetArtistInfoRequest) GetState() uint64 { + if x != nil { + return x.State + } + return 0 +} + +type UpdateArtistInfoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + UserId uint64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` + ArtistId string `protobuf:"bytes,3,opt,name=ArtistId,json=artistId,proto3" json:"ArtistId,omitempty"` + BankAccount string `protobuf:"bytes,4,opt,name=BankAccount,json=bankAccount,proto3" json:"BankAccount,omitempty"` + BankName string `protobuf:"bytes,5,opt,name=BankName,json=bankName,proto3" json:"BankName,omitempty"` + Introduct string `protobuf:"bytes,6,opt,name=Introduct,json=introduct,proto3" json:"Introduct,omitempty"` + CountryArtLevel string `protobuf:"bytes,7,opt,name=CountryArtLevel,json=countryArtLevel,proto3" json:"CountryArtLevel,omitempty"` + ArtistCertPic string `protobuf:"bytes,8,opt,name=ArtistCertPic,json=artistCertPic,proto3" json:"ArtistCertPic,omitempty"` + Remark string `protobuf:"bytes,9,opt,name=Remark,json=remark,proto3" json:"Remark,omitempty"` + Remark2 string `protobuf:"bytes,10,opt,name=Remark2,json=remark2,proto3" json:"Remark2,omitempty"` + State uint64 `protobuf:"varint,11,opt,name=State,json=state,proto3" json:"State,omitempty"` +} + +func (x *UpdateArtistInfoRequest) Reset() { + *x = UpdateArtistInfoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateArtistInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateArtistInfoRequest) ProtoMessage() {} + +func (x *UpdateArtistInfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateArtistInfoRequest.ProtoReflect.Descriptor instead. +func (*UpdateArtistInfoRequest) Descriptor() ([]byte, []int) { + return file_api_supplyinfo_supplyinfo_proto_rawDescGZIP(), []int{22} +} + +func (x *UpdateArtistInfoRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *UpdateArtistInfoRequest) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *UpdateArtistInfoRequest) GetArtistId() string { + if x != nil { + return x.ArtistId + } + return "" +} + +func (x *UpdateArtistInfoRequest) GetBankAccount() string { + if x != nil { + return x.BankAccount + } + return "" +} + +func (x *UpdateArtistInfoRequest) GetBankName() string { + if x != nil { + return x.BankName + } + return "" +} + +func (x *UpdateArtistInfoRequest) GetIntroduct() string { + if x != nil { + return x.Introduct + } + return "" +} + +func (x *UpdateArtistInfoRequest) GetCountryArtLevel() string { + if x != nil { + return x.CountryArtLevel + } + return "" +} + +func (x *UpdateArtistInfoRequest) GetArtistCertPic() string { + if x != nil { + return x.ArtistCertPic + } + return "" +} + +func (x *UpdateArtistInfoRequest) GetRemark() string { + if x != nil { + return x.Remark + } + return "" +} + +func (x *UpdateArtistInfoRequest) GetRemark2() string { + if x != nil { + return x.Remark2 + } + return "" +} + +func (x *UpdateArtistInfoRequest) GetState() uint64 { + if x != nil { + return x.State + } + return 0 +} + +type UpdateArtistInfoRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UpdateArtistInfoRespond) Reset() { + *x = UpdateArtistInfoRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateArtistInfoRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateArtistInfoRespond) ProtoMessage() {} + +func (x *UpdateArtistInfoRespond) ProtoReflect() protoreflect.Message { + mi := &file_api_supplyinfo_supplyinfo_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateArtistInfoRespond.ProtoReflect.Descriptor instead. +func (*UpdateArtistInfoRespond) Descriptor() ([]byte, []int) { + return file_api_supplyinfo_supplyinfo_proto_rawDescGZIP(), []int{23} +} + +var File_api_supplyinfo_supplyinfo_proto protoreflect.FileDescriptor + +var file_api_supplyinfo_supplyinfo_proto_rawDesc = []byte{ + 0x0a, 0x1f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x66, 0x6f, + 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x0a, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x4c, 0x0a, + 0x18, 0x47, 0x65, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, 0x4d, 0x0a, 0x18, 0x47, + 0x65, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x31, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0x83, 0x05, 0x0a, 0x11, 0x47, + 0x65, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x59, + 0x65, 0x61, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x59, 0x65, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, + 0x57, 0x69, 0x64, 0x74, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x77, 0x69, 0x64, + 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x75, + 0x6c, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x72, + 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x50, 0x69, 0x63, + 0x31, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, + 0x50, 0x69, 0x63, 0x31, 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x50, + 0x69, 0x63, 0x32, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x68, 0x69, 0x62, + 0x69, 0x74, 0x50, 0x69, 0x63, 0x32, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, + 0x72, 0x61, 0x63, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, + 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, + 0x12, 0x14, 0x0a, 0x05, 0x54, 0x79, 0x70, 0x65, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, + 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x18, + 0x0a, 0x07, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x32, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x22, 0x2c, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x22, 0x89, + 0x05, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x72, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, + 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x59, 0x65, 0x61, 0x72, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x59, 0x65, 0x61, 0x72, 0x12, 0x14, + 0x0a, 0x05, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, + 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, + 0x6f, 0x74, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x57, 0x69, 0x64, 0x74, 0x68, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, + 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x68, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x78, + 0x68, 0x69, 0x62, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, + 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x50, 0x69, 0x63, 0x31, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x50, 0x69, 0x63, 0x31, 0x12, 0x20, + 0x0a, 0x0b, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x50, 0x69, 0x63, 0x32, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x50, 0x69, 0x63, 0x32, + 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x22, + 0x0a, 0x0c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x72, 0x61, + 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, + 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x6d, 0x61, + 0x72, 0x6b, 0x32, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x6d, 0x61, 0x72, + 0x6b, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x17, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x65, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x56, 0x69, 0x64, 0x65, + 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, + 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x79, 0x70, 0x65, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, 0x47, 0x0a, 0x13, + 0x47, 0x65, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x64, 0x12, 0x30, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, + 0x65, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0xac, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x56, 0x69, 0x64, + 0x65, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, + 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, + 0x72, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x32, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x32, 0x12, 0x16, 0x0a, 0x06, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x22, 0x61, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, + 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, 0x64, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, + 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, + 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, 0x14, 0x0a, + 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x64, 0x22, 0x64, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x45, 0x78, 0x61, 0x6d, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, 0x45, 0x0a, 0x12, 0x47, 0x65, 0x74, + 0x45, 0x78, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, + 0x2f, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x78, + 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, + 0x22, 0xfb, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x45, 0x78, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, + 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, + 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x69, 0x74, 0x6c, + 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x74, 0x69, + 0x74, 0x6c, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x54, 0x79, 0x70, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x18, 0x0a, 0x07, + 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, + 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xfa, + 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x45, 0x78, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, + 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x53, 0x63, + 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x6d, + 0x61, 0x72, 0x6b, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x6d, 0x61, + 0x72, 0x6b, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xfd, 0x01, 0x0a, 0x11, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, + 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x53, 0x63, + 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x6d, + 0x61, 0x72, 0x6b, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x6d, 0x61, + 0x72, 0x6b, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x2d, 0x0a, 0x11, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, + 0x12, 0x18, 0x0a, 0x07, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x22, 0x6a, 0x0a, 0x18, 0x47, 0x65, + 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x10, + 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, + 0x12, 0x14, 0x0a, 0x05, 0x54, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, 0x51, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x64, 0x12, 0x35, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, + 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0xcf, 0x02, 0x0a, 0x15, 0x47, 0x65, + 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x41, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x61, 0x6e, 0x6b, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x61, + 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x61, 0x6e, + 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x6e, + 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x72, + 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x72, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x24, 0x0a, + 0x0d, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x65, 0x72, 0x74, 0x50, 0x69, 0x63, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x65, 0x72, 0x74, + 0x50, 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x52, + 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, + 0x6d, 0x61, 0x72, 0x6b, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xce, 0x02, 0x0a, 0x14, + 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x61, 0x6e, 0x6b, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, + 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x61, + 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, + 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x41, + 0x72, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x72, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x24, + 0x0a, 0x0d, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x65, 0x72, 0x74, 0x50, 0x69, 0x63, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x65, 0x72, + 0x74, 0x50, 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x18, 0x0a, 0x07, + 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, + 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xd1, 0x02, 0x0a, + 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, + 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x62, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x42, 0x61, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x6e, + 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, + 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x72, 0x79, 0x41, 0x72, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x72, 0x74, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x65, 0x72, 0x74, + 0x50, 0x69, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x43, 0x65, 0x72, 0x74, 0x50, 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, + 0x72, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, + 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x22, 0x19, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x32, 0x91, 0x08, 0x0a, 0x0a, + 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x61, 0x0a, 0x11, 0x47, 0x65, + 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x24, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, + 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x52, 0x0a, + 0x0d, 0x47, 0x65, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, + 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x53, + 0x75, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1d, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, + 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x22, + 0x00, 0x12, 0x5e, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6c, + 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x53, 0x75, 0x70, + 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, + 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, + 0x00, 0x12, 0x52, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x1f, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, + 0x65, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x66, 0x6f, 0x2e, + 0x47, 0x65, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x56, 0x69, 0x64, 0x65, + 0x6f, 0x12, 0x1b, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, + 0x65, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, + 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x56, + 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x22, 0x00, 0x12, 0x4f, + 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x1e, 0x2e, + 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, + 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, + 0x4f, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x45, 0x78, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1e, + 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x45, + 0x78, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, + 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x45, + 0x78, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, + 0x12, 0x44, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x45, 0x78, 0x61, 0x6d, 0x12, 0x1a, 0x2e, 0x53, 0x75, + 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x78, 0x61, 0x6d, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x78, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, + 0x44, 0x61, 0x74, 0x61, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x45, 0x78, 0x61, 0x6d, 0x12, 0x1d, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x66, 0x6f, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x64, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x2e, 0x53, 0x75, 0x70, 0x70, + 0x6c, 0x79, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x24, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, + 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6c, + 0x79, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x53, 0x75, 0x70, + 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x22, 0x00, 0x12, + 0x5e, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x66, 0x6f, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6c, + 0x79, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x42, + 0x0f, 0x5a, 0x0d, 0x2e, 0x2f, 0x3b, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x66, 0x6f, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_api_supplyinfo_supplyinfo_proto_rawDescOnce sync.Once + file_api_supplyinfo_supplyinfo_proto_rawDescData = file_api_supplyinfo_supplyinfo_proto_rawDesc +) + +func file_api_supplyinfo_supplyinfo_proto_rawDescGZIP() []byte { + file_api_supplyinfo_supplyinfo_proto_rawDescOnce.Do(func() { + file_api_supplyinfo_supplyinfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_supplyinfo_supplyinfo_proto_rawDescData) + }) + return file_api_supplyinfo_supplyinfo_proto_rawDescData +} + +var file_api_supplyinfo_supplyinfo_proto_msgTypes = make([]protoimpl.MessageInfo, 24) +var file_api_supplyinfo_supplyinfo_proto_goTypes = []interface{}{ + (*GetSupplyInfoListRequest)(nil), // 0: Supplyinfo.GetSupplyInfoListRequest + (*GetSupplyInfoListRespond)(nil), // 1: Supplyinfo.GetSupplyInfoListRespond + (*GetSupplyInfoData)(nil), // 2: Supplyinfo.GetSupplyInfoData + (*GetSupplyInfoRequest)(nil), // 3: Supplyinfo.GetSupplyInfoRequest + (*UpdateSupplyInfoRequest)(nil), // 4: Supplyinfo.UpdateSupplyInfoRequest + (*UpdateSupplyInfoRespond)(nil), // 5: Supplyinfo.UpdateSupplyInfoRespond + (*GetVideoListRequest)(nil), // 6: Supplyinfo.GetVideoListRequest + (*GetVideoListRespond)(nil), // 7: Supplyinfo.GetVideoListRespond + (*GetVideoListData)(nil), // 8: Supplyinfo.GetVideoListData + (*GetVideoRequest)(nil), // 9: Supplyinfo.GetVideoRequest + (*UpdateVideoRequest)(nil), // 10: Supplyinfo.UpdateVideoRequest + (*UpdateVideoRespond)(nil), // 11: Supplyinfo.UpdateVideoRespond + (*GetExamListRequest)(nil), // 12: Supplyinfo.GetExamListRequest + (*GetExamListRespond)(nil), // 13: Supplyinfo.GetExamListRespond + (*GetExamListData)(nil), // 14: Supplyinfo.GetExamListData + (*GetExamRequest)(nil), // 15: Supplyinfo.GetExamRequest + (*UpdateExamRequest)(nil), // 16: Supplyinfo.UpdateExamRequest + (*UpdateExamRespond)(nil), // 17: Supplyinfo.UpdateExamRespond + (*GetArtistInfoListRequest)(nil), // 18: Supplyinfo.GetArtistInfoListRequest + (*GetArtistInfoListRespond)(nil), // 19: Supplyinfo.GetArtistInfoListRespond + (*GetArtistInfoListData)(nil), // 20: Supplyinfo.GetArtistInfoListData + (*GetArtistInfoRequest)(nil), // 21: Supplyinfo.GetArtistInfoRequest + (*UpdateArtistInfoRequest)(nil), // 22: Supplyinfo.UpdateArtistInfoRequest + (*UpdateArtistInfoRespond)(nil), // 23: Supplyinfo.UpdateArtistInfoRespond +} +var file_api_supplyinfo_supplyinfo_proto_depIdxs = []int32{ + 2, // 0: Supplyinfo.GetSupplyInfoListRespond.Data:type_name -> Supplyinfo.GetSupplyInfoData + 8, // 1: Supplyinfo.GetVideoListRespond.Data:type_name -> Supplyinfo.GetVideoListData + 14, // 2: Supplyinfo.GetExamListRespond.Data:type_name -> Supplyinfo.GetExamListData + 20, // 3: Supplyinfo.GetArtistInfoListRespond.Data:type_name -> Supplyinfo.GetArtistInfoListData + 0, // 4: Supplyinfo.SupplyInfo.GetSupplyInfoList:input_type -> Supplyinfo.GetSupplyInfoListRequest + 3, // 5: Supplyinfo.SupplyInfo.GetSupplyInfo:input_type -> Supplyinfo.GetSupplyInfoRequest + 4, // 6: Supplyinfo.SupplyInfo.UpdateSupplyInfo:input_type -> Supplyinfo.UpdateSupplyInfoRequest + 6, // 7: Supplyinfo.SupplyInfo.GetVideoList:input_type -> Supplyinfo.GetVideoListRequest + 9, // 8: Supplyinfo.SupplyInfo.GetVideo:input_type -> Supplyinfo.GetVideoRequest + 10, // 9: Supplyinfo.SupplyInfo.UpdateVideo:input_type -> Supplyinfo.UpdateVideoRequest + 12, // 10: Supplyinfo.SupplyInfo.GetExamList:input_type -> Supplyinfo.GetExamListRequest + 15, // 11: Supplyinfo.SupplyInfo.GetExam:input_type -> Supplyinfo.GetExamRequest + 16, // 12: Supplyinfo.SupplyInfo.UpdateExam:input_type -> Supplyinfo.UpdateExamRequest + 18, // 13: Supplyinfo.SupplyInfo.GetArtistInfoList:input_type -> Supplyinfo.GetArtistInfoListRequest + 21, // 14: Supplyinfo.SupplyInfo.GetArtistInfo:input_type -> Supplyinfo.GetArtistInfoRequest + 22, // 15: Supplyinfo.SupplyInfo.UpdateArtistInfo:input_type -> Supplyinfo.UpdateArtistInfoRequest + 1, // 16: Supplyinfo.SupplyInfo.GetSupplyInfoList:output_type -> Supplyinfo.GetSupplyInfoListRespond + 2, // 17: Supplyinfo.SupplyInfo.GetSupplyInfo:output_type -> Supplyinfo.GetSupplyInfoData + 5, // 18: Supplyinfo.SupplyInfo.UpdateSupplyInfo:output_type -> Supplyinfo.UpdateSupplyInfoRespond + 7, // 19: Supplyinfo.SupplyInfo.GetVideoList:output_type -> Supplyinfo.GetVideoListRespond + 8, // 20: Supplyinfo.SupplyInfo.GetVideo:output_type -> Supplyinfo.GetVideoListData + 11, // 21: Supplyinfo.SupplyInfo.UpdateVideo:output_type -> Supplyinfo.UpdateVideoRespond + 13, // 22: Supplyinfo.SupplyInfo.GetExamList:output_type -> Supplyinfo.GetExamListRespond + 14, // 23: Supplyinfo.SupplyInfo.GetExam:output_type -> Supplyinfo.GetExamListData + 17, // 24: Supplyinfo.SupplyInfo.UpdateExam:output_type -> Supplyinfo.UpdateExamRespond + 19, // 25: Supplyinfo.SupplyInfo.GetArtistInfoList:output_type -> Supplyinfo.GetArtistInfoListRespond + 20, // 26: Supplyinfo.SupplyInfo.GetArtistInfo:output_type -> Supplyinfo.GetArtistInfoListData + 23, // 27: Supplyinfo.SupplyInfo.UpdateArtistInfo:output_type -> Supplyinfo.UpdateArtistInfoRespond + 16, // [16:28] is the sub-list for method output_type + 4, // [4:16] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_api_supplyinfo_supplyinfo_proto_init() } +func file_api_supplyinfo_supplyinfo_proto_init() { + if File_api_supplyinfo_supplyinfo_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_api_supplyinfo_supplyinfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetSupplyInfoListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_supplyinfo_supplyinfo_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetSupplyInfoListRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_supplyinfo_supplyinfo_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetSupplyInfoData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_supplyinfo_supplyinfo_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetSupplyInfoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_supplyinfo_supplyinfo_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateSupplyInfoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_supplyinfo_supplyinfo_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateSupplyInfoRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_supplyinfo_supplyinfo_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetVideoListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_supplyinfo_supplyinfo_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetVideoListRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_supplyinfo_supplyinfo_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetVideoListData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_supplyinfo_supplyinfo_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetVideoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_supplyinfo_supplyinfo_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateVideoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_supplyinfo_supplyinfo_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateVideoRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_supplyinfo_supplyinfo_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetExamListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_supplyinfo_supplyinfo_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetExamListRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_supplyinfo_supplyinfo_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetExamListData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_supplyinfo_supplyinfo_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetExamRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_supplyinfo_supplyinfo_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateExamRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_supplyinfo_supplyinfo_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateExamRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_supplyinfo_supplyinfo_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetArtistInfoListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_supplyinfo_supplyinfo_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetArtistInfoListRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_supplyinfo_supplyinfo_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetArtistInfoListData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_supplyinfo_supplyinfo_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetArtistInfoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_supplyinfo_supplyinfo_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateArtistInfoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_supplyinfo_supplyinfo_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateArtistInfoRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_api_supplyinfo_supplyinfo_proto_rawDesc, + NumEnums: 0, + NumMessages: 24, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_api_supplyinfo_supplyinfo_proto_goTypes, + DependencyIndexes: file_api_supplyinfo_supplyinfo_proto_depIdxs, + MessageInfos: file_api_supplyinfo_supplyinfo_proto_msgTypes, + }.Build() + File_api_supplyinfo_supplyinfo_proto = out.File + file_api_supplyinfo_supplyinfo_proto_rawDesc = nil + file_api_supplyinfo_supplyinfo_proto_goTypes = nil + file_api_supplyinfo_supplyinfo_proto_depIdxs = nil +} diff --git a/pb/supplyinfo/supplyinfo.proto b/pb/supplyinfo/supplyinfo.proto new file mode 100644 index 0000000..4c16c1b --- /dev/null +++ b/pb/supplyinfo/supplyinfo.proto @@ -0,0 +1,256 @@ +syntax = "proto3"; +package Supplyinfo; +option go_package = "./;supplyinfo"; +//$ protoc --proto_path=. --go_out=./api/supplyinfo --go-triple_out=./api/supplyinfo ./api/supplyinfo/supplyinfo.proto +service SupplyInfo { + rpc GetSupplyInfoList (GetSupplyInfoListRequest) returns (GetSupplyInfoListRespond) {} + rpc GetSupplyInfo (GetSupplyInfoRequest) returns (GetSupplyInfoData) {} + rpc UpdateSupplyInfo (UpdateSupplyInfoRequest) returns (UpdateSupplyInfoRespond) {} + rpc GetVideoList(GetVideoListRequest) returns (GetVideoListRespond){} + rpc GetVideo(GetVideoRequest) returns (GetVideoListData){} + rpc UpdateVideo(UpdateVideoRequest) returns (UpdateVideoRespond){} + rpc GetExamList(GetExamListRequest) returns (GetExamListRespond){} + rpc GetExam(GetExamRequest) returns (GetExamListData){} + rpc UpdateExam(UpdateExamRequest) returns (UpdateExamRespond){} + rpc GetArtistInfoList(GetArtistInfoListRequest) returns (GetArtistInfoListRespond){} + rpc GetArtistInfo(GetArtistInfoRequest) returns (GetArtistInfoListData){} + rpc UpdateArtistInfo(UpdateArtistInfoRequest) returns (UpdateArtistInfoRespond){} +} + + + +message GetSupplyInfoListRequest { + uint64 ArtistId = 1 [json_name="artistId"]; + uint64 Types = 2 [json_name="types"]; +} + +message GetSupplyInfoListRespond { + repeated GetSupplyInfoData Data = 1; +} + + +message GetSupplyInfoData{ + uint64 ID = 1 [json_name="id"]; + string ArtworkId = 2 [json_name="artworkId"]; + string ArtistId = 3 [json_name="artistId"]; + uint64 UserId = 4 [json_name="userId"]; + string Name = 5 [json_name="name"]; + string ModelYear = 6 [json_name="modelYear"]; + string Photo = 7 [json_name="photo"]; + string ArtistPhoto = 8 [json_name="artistPhoto"]; + uint64 Width = 9 [json_name="width"]; + uint64 Height = 10 [json_name="height"]; + uint64 Ruler = 11 [json_name="ruler"]; + string ExhibitInfo = 12 [json_name="exhibitInfo"]; + string ExhibitPic1 = 13 [json_name="exhibitPic1"]; + string ExhibitPic2 = 14 [json_name="exhibitPic2"]; + string CreateTime = 15 [json_name="createTime"]; + string Introduct = 16 [json_name="introduct"]; + bool NetworkTrace = 17 [json_name="networkTrace"]; + string CreateAddress = 18 [json_name="createAddress"]; + string Url = 19 [json_name="url"]; + string Types = 20 [json_name="types"]; + string Remark = 21 [json_name="remark"]; + string Remark2 = 22 [json_name="remark2"]; + bool Enable = 23 [json_name="enable"]; +} + + + + +message GetSupplyInfoRequest { + uint64 Id = 1 [json_name="artistId"]; +} + + +message UpdateSupplyInfoRequest{ + uint64 ID = 1 [json_name="id"]; + string ArtworkId = 2 [json_name="artworkId"]; + string ArtistId = 3 [json_name="artistId"]; + uint64 UserId = 4 [json_name="userId"]; + string Name = 5 [json_name="name"]; + string ModelYear = 6 [json_name="modelYear"]; + string Photo = 7 [json_name="photo"]; + string ArtistPhoto = 8 [json_name="artistPhoto"]; + uint64 Width = 9 [json_name="width"]; + uint64 Height = 10 [json_name="height"]; + uint64 Ruler = 11 [json_name="ruler"]; + string ExhibitInfo = 12 [json_name="exhibitInfo"]; + string ExhibitPic1 = 13 [json_name="exhibitPic1"]; + string ExhibitPic2 = 14 [json_name="exhibitPic2"]; + string CreateTime = 15 [json_name="createTime"]; + string Introduct = 16 [json_name="introduct"]; + bool NetworkTrace = 17 [json_name="networkTrace"]; + string CreateAddress = 18 [json_name="createAddress"]; + string Url = 19 [json_name="url"]; + string Types = 20 [json_name="types"]; + string Remark = 21 [json_name="remark"]; + string Remark2 = 22 [json_name="remark2"]; + bool Enable = 23 [json_name="enable"]; +} + +message UpdateSupplyInfoRespond { + +} + + + + + +message GetVideoListRequest { + string ID =1 [json_name="id"]; + uint64 UserId =2 [json_name="userId"]; + string Url =3 [json_name="url"]; + string Types =4 [json_name="types"]; +} + +message GetVideoListRespond { + repeated GetVideoListData Data = 1; +} +message GetVideoListData{ + uint64 ID = 1 [json_name="id"]; + uint64 UserId = 2 [json_name="userId"]; + string Url = 3 [json_name="url"]; + string Types = 4 [json_name="types"]; + string Remark = 5 [json_name="remark"]; + string Remark2 = 6 [json_name="remark2"]; + bool Enable = 7 [json_name="enable"]; +} +message GetVideoRequest { + string ID =1 [json_name="id"]; + uint64 UserId =2 [json_name="userId"]; + string Url =3 [json_name="url"]; + string Types =4 [json_name="types"]; +} + +message UpdateVideoRequest { + string ID =1 [json_name="id"]; + uint64 UserId =2 [json_name="userId"]; + string Url =3 [json_name="url"]; + string Types =4 [json_name="types"]; +} + + +message UpdateVideoRespond{ + +} + + + + + + + + + +message GetExamListRequest { + string ID =1 [json_name="id"]; + uint64 UserId =2 [json_name="userId"]; + string Url =3 [json_name="url"]; + string Types =4 [json_name="types"]; +} + +message GetExamListRespond { + repeated GetExamListData Data = 1; +} +message GetExamListData{ + uint64 ID = 1 [json_name="id"]; + uint64 UserId = 2 [json_name="userId"]; + string Title = 3 [json_name="title"]; + string Class = 4 [json_name="class"]; + uint64 TitleScore = 5 [json_name="titleScore"]; + string Score= 6 [json_name="score"]; + string Types= 7 [json_name="types"]; + string Remark = 8 [json_name="remark"]; + string Remark2 = 9 [json_name="remark2"]; + bool Enable = 10 [json_name="enable"]; +} +message GetExamRequest { + uint64 ID = 1 [json_name="id"]; + uint64 UserId = 2 [json_name="userId"]; + string Title = 3 [json_name="title"]; + string Class = 4 [json_name="class"]; + uint64 TitleScore = 5 [json_name="titleScore"]; + string Score= 6 [json_name="score"]; + string Types= 7 [json_name="types"]; + string Remark = 8 [json_name="remark"]; + string Remark2 = 9 [json_name="remark2"]; + bool Enable = 10 [json_name="enable"]; +} + +message UpdateExamRequest { + uint64 ID = 1 [json_name="id"]; + uint64 UserId = 2 [json_name="userId"]; + string Title = 3 [json_name="title"]; + string Class = 4 [json_name="class"]; + uint64 TitleScore = 5 [json_name="titleScore"]; + string Score= 6 [json_name="score"]; + string Types= 7 [json_name="types"]; + string Remark = 8 [json_name="remark"]; + string Remark2 = 9 [json_name="remark2"]; + bool Enable = 10 [json_name="enable"]; +} + + +message UpdateExamRespond{ + int32 Percent = 1 [ json_name="percent"]; +} +message GetArtistInfoListRequest { + string ID =1 [json_name="id"]; + uint64 UserId =2 [json_name="userId"]; + string Url =3 [json_name="url"]; + string Types =4 [json_name="types"]; +} + +message GetArtistInfoListRespond { + repeated GetArtistInfoListData Data = 1; +} +message GetArtistInfoListData{ + uint64 ID = 1 [json_name="id"]; + uint64 UserId = 2 [json_name="userId"]; + string ArtistId = 3 [json_name = "artistId"]; + string BankAccount = 4 [json_name="bankAccount"]; + string BankName = 5 [json_name="bankName"]; + string Introduct = 6 [json_name="introduct"]; + string CountryArtLevel = 7 [json_name="countryArtLevel"]; + string ArtistCertPic = 8 [json_name="artistCertPic"]; + string Remark = 9 [json_name="remark"]; + string Remark2 = 10 [json_name="remark2"]; + uint64 State = 11 [json_name="state"]; + + + + +} +message GetArtistInfoRequest { + uint64 ID = 1 [json_name="id"]; + uint64 UserId = 2 [json_name="userId"]; + string ArtistId = 3 [json_name = "artistId"]; + string BankAccount = 4 [json_name="bankAccount"]; + string BankName = 5 [json_name="bankName"]; + string Introduct = 6 [json_name="introduct"]; + string CountryArtLevel = 7 [json_name="countryArtLevel"]; + string ArtistCertPic = 8 [json_name="artistCertPic"]; + string Remark = 9 [json_name="remark"]; + string Remark2 = 10 [json_name="remark2"]; + uint64 State = 11 [json_name="state"]; +} + +message UpdateArtistInfoRequest { + uint64 ID = 1 [json_name="id"]; + uint64 UserId = 2 [json_name="userId"]; + string ArtistId = 3 [json_name = "artistId"]; + string BankAccount = 4 [json_name="bankAccount"]; + string BankName = 5 [json_name="bankName"]; + string Introduct = 6 [json_name="introduct"]; + string CountryArtLevel = 7 [json_name="countryArtLevel"]; + string ArtistCertPic = 8 [json_name="artistCertPic"]; + string Remark = 9 [json_name="remark"]; + string Remark2 = 10 [json_name="remark2"]; + uint64 State = 11 [json_name="state"]; +} + + +message UpdateArtistInfoRespond{ + +} \ No newline at end of file diff --git a/pb/supplyinfo/supplyinfo_triple.pb.go b/pb/supplyinfo/supplyinfo_triple.pb.go new file mode 100644 index 0000000..49f179a --- /dev/null +++ b/pb/supplyinfo/supplyinfo_triple.pb.go @@ -0,0 +1,642 @@ +// Code generated by protoc-gen-go-triple. DO NOT EDIT. +// versions: +// - protoc-gen-go-triple v1.0.5 +// - protoc v3.9.0 +// source: api/supplyinfo/supplyinfo.proto + +package supplyinfo + +import ( + context "context" + protocol "dubbo.apache.org/dubbo-go/v3/protocol" + dubbo3 "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3" + invocation "dubbo.apache.org/dubbo-go/v3/protocol/invocation" + grpc_go "github.com/dubbogo/grpc-go" + codes "github.com/dubbogo/grpc-go/codes" + metadata "github.com/dubbogo/grpc-go/metadata" + status "github.com/dubbogo/grpc-go/status" + common "github.com/dubbogo/triple/pkg/common" + constant "github.com/dubbogo/triple/pkg/common/constant" + triple "github.com/dubbogo/triple/pkg/triple" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc_go.SupportPackageIsVersion7 + +// SupplyInfoClient is the client API for SupplyInfo 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 SupplyInfoClient interface { + GetSupplyInfoList(ctx context.Context, in *GetSupplyInfoListRequest, opts ...grpc_go.CallOption) (*GetSupplyInfoListRespond, common.ErrorWithAttachment) + GetSupplyInfo(ctx context.Context, in *GetSupplyInfoRequest, opts ...grpc_go.CallOption) (*GetSupplyInfoData, common.ErrorWithAttachment) + UpdateSupplyInfo(ctx context.Context, in *UpdateSupplyInfoRequest, opts ...grpc_go.CallOption) (*UpdateSupplyInfoRespond, common.ErrorWithAttachment) + GetVideoList(ctx context.Context, in *GetVideoListRequest, opts ...grpc_go.CallOption) (*GetVideoListRespond, common.ErrorWithAttachment) + GetVideo(ctx context.Context, in *GetVideoRequest, opts ...grpc_go.CallOption) (*GetVideoListData, common.ErrorWithAttachment) + UpdateVideo(ctx context.Context, in *UpdateVideoRequest, opts ...grpc_go.CallOption) (*UpdateVideoRespond, common.ErrorWithAttachment) + GetExamList(ctx context.Context, in *GetExamListRequest, opts ...grpc_go.CallOption) (*GetExamListRespond, common.ErrorWithAttachment) + GetExam(ctx context.Context, in *GetExamRequest, opts ...grpc_go.CallOption) (*GetExamListData, common.ErrorWithAttachment) + UpdateExam(ctx context.Context, in *UpdateExamRequest, opts ...grpc_go.CallOption) (*UpdateExamRespond, common.ErrorWithAttachment) + GetArtistInfoList(ctx context.Context, in *GetArtistInfoListRequest, opts ...grpc_go.CallOption) (*GetArtistInfoListRespond, common.ErrorWithAttachment) + GetArtistInfo(ctx context.Context, in *GetArtistInfoRequest, opts ...grpc_go.CallOption) (*GetArtistInfoListData, common.ErrorWithAttachment) + UpdateArtistInfo(ctx context.Context, in *UpdateArtistInfoRequest, opts ...grpc_go.CallOption) (*UpdateArtistInfoRespond, common.ErrorWithAttachment) +} + +type supplyInfoClient struct { + cc *triple.TripleConn +} + +type SupplyInfoClientImpl struct { + GetSupplyInfoList func(ctx context.Context, in *GetSupplyInfoListRequest) (*GetSupplyInfoListRespond, error) + GetSupplyInfo func(ctx context.Context, in *GetSupplyInfoRequest) (*GetSupplyInfoData, error) + UpdateSupplyInfo func(ctx context.Context, in *UpdateSupplyInfoRequest) (*UpdateSupplyInfoRespond, error) + GetVideoList func(ctx context.Context, in *GetVideoListRequest) (*GetVideoListRespond, error) + GetVideo func(ctx context.Context, in *GetVideoRequest) (*GetVideoListData, error) + UpdateVideo func(ctx context.Context, in *UpdateVideoRequest) (*UpdateVideoRespond, error) + GetExamList func(ctx context.Context, in *GetExamListRequest) (*GetExamListRespond, error) + GetExam func(ctx context.Context, in *GetExamRequest) (*GetExamListData, error) + UpdateExam func(ctx context.Context, in *UpdateExamRequest) (*UpdateExamRespond, error) + GetArtistInfoList func(ctx context.Context, in *GetArtistInfoListRequest) (*GetArtistInfoListRespond, error) + GetArtistInfo func(ctx context.Context, in *GetArtistInfoRequest) (*GetArtistInfoListData, error) + UpdateArtistInfo func(ctx context.Context, in *UpdateArtistInfoRequest) (*UpdateArtistInfoRespond, error) +} + +func (c *SupplyInfoClientImpl) GetDubboStub(cc *triple.TripleConn) SupplyInfoClient { + return NewSupplyInfoClient(cc) +} + +func (c *SupplyInfoClientImpl) XXX_InterfaceName() string { + return "Supplyinfo.SupplyInfo" +} + +func NewSupplyInfoClient(cc *triple.TripleConn) SupplyInfoClient { + return &supplyInfoClient{cc} +} + +func (c *supplyInfoClient) GetSupplyInfoList(ctx context.Context, in *GetSupplyInfoListRequest, opts ...grpc_go.CallOption) (*GetSupplyInfoListRespond, common.ErrorWithAttachment) { + out := new(GetSupplyInfoListRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetSupplyInfoList", in, out) +} + +func (c *supplyInfoClient) GetSupplyInfo(ctx context.Context, in *GetSupplyInfoRequest, opts ...grpc_go.CallOption) (*GetSupplyInfoData, common.ErrorWithAttachment) { + out := new(GetSupplyInfoData) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetSupplyInfo", in, out) +} + +func (c *supplyInfoClient) UpdateSupplyInfo(ctx context.Context, in *UpdateSupplyInfoRequest, opts ...grpc_go.CallOption) (*UpdateSupplyInfoRespond, common.ErrorWithAttachment) { + out := new(UpdateSupplyInfoRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateSupplyInfo", in, out) +} + +func (c *supplyInfoClient) GetVideoList(ctx context.Context, in *GetVideoListRequest, opts ...grpc_go.CallOption) (*GetVideoListRespond, common.ErrorWithAttachment) { + out := new(GetVideoListRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetVideoList", in, out) +} + +func (c *supplyInfoClient) GetVideo(ctx context.Context, in *GetVideoRequest, opts ...grpc_go.CallOption) (*GetVideoListData, common.ErrorWithAttachment) { + out := new(GetVideoListData) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetVideo", in, out) +} + +func (c *supplyInfoClient) UpdateVideo(ctx context.Context, in *UpdateVideoRequest, opts ...grpc_go.CallOption) (*UpdateVideoRespond, common.ErrorWithAttachment) { + out := new(UpdateVideoRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateVideo", in, out) +} + +func (c *supplyInfoClient) GetExamList(ctx context.Context, in *GetExamListRequest, opts ...grpc_go.CallOption) (*GetExamListRespond, common.ErrorWithAttachment) { + out := new(GetExamListRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetExamList", in, out) +} + +func (c *supplyInfoClient) GetExam(ctx context.Context, in *GetExamRequest, opts ...grpc_go.CallOption) (*GetExamListData, common.ErrorWithAttachment) { + out := new(GetExamListData) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetExam", in, out) +} + +func (c *supplyInfoClient) UpdateExam(ctx context.Context, in *UpdateExamRequest, opts ...grpc_go.CallOption) (*UpdateExamRespond, common.ErrorWithAttachment) { + out := new(UpdateExamRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateExam", in, out) +} + +func (c *supplyInfoClient) GetArtistInfoList(ctx context.Context, in *GetArtistInfoListRequest, opts ...grpc_go.CallOption) (*GetArtistInfoListRespond, common.ErrorWithAttachment) { + out := new(GetArtistInfoListRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetArtistInfoList", in, out) +} + +func (c *supplyInfoClient) GetArtistInfo(ctx context.Context, in *GetArtistInfoRequest, opts ...grpc_go.CallOption) (*GetArtistInfoListData, common.ErrorWithAttachment) { + out := new(GetArtistInfoListData) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetArtistInfo", in, out) +} + +func (c *supplyInfoClient) UpdateArtistInfo(ctx context.Context, in *UpdateArtistInfoRequest, opts ...grpc_go.CallOption) (*UpdateArtistInfoRespond, common.ErrorWithAttachment) { + out := new(UpdateArtistInfoRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateArtistInfo", in, out) +} + +// SupplyInfoServer is the server API for SupplyInfo service. +// All implementations must embed UnimplementedSupplyInfoServer +// for forward compatibility +type SupplyInfoServer interface { + GetSupplyInfoList(context.Context, *GetSupplyInfoListRequest) (*GetSupplyInfoListRespond, error) + GetSupplyInfo(context.Context, *GetSupplyInfoRequest) (*GetSupplyInfoData, error) + UpdateSupplyInfo(context.Context, *UpdateSupplyInfoRequest) (*UpdateSupplyInfoRespond, error) + GetVideoList(context.Context, *GetVideoListRequest) (*GetVideoListRespond, error) + GetVideo(context.Context, *GetVideoRequest) (*GetVideoListData, error) + UpdateVideo(context.Context, *UpdateVideoRequest) (*UpdateVideoRespond, error) + GetExamList(context.Context, *GetExamListRequest) (*GetExamListRespond, error) + GetExam(context.Context, *GetExamRequest) (*GetExamListData, error) + UpdateExam(context.Context, *UpdateExamRequest) (*UpdateExamRespond, error) + GetArtistInfoList(context.Context, *GetArtistInfoListRequest) (*GetArtistInfoListRespond, error) + GetArtistInfo(context.Context, *GetArtistInfoRequest) (*GetArtistInfoListData, error) + UpdateArtistInfo(context.Context, *UpdateArtistInfoRequest) (*UpdateArtistInfoRespond, error) + mustEmbedUnimplementedSupplyInfoServer() +} + +// UnimplementedSupplyInfoServer must be embedded to have forward compatible implementations. +type UnimplementedSupplyInfoServer struct { + proxyImpl protocol.Invoker +} + +func (UnimplementedSupplyInfoServer) GetSupplyInfoList(context.Context, *GetSupplyInfoListRequest) (*GetSupplyInfoListRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetSupplyInfoList not implemented") +} +func (UnimplementedSupplyInfoServer) GetSupplyInfo(context.Context, *GetSupplyInfoRequest) (*GetSupplyInfoData, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetSupplyInfo not implemented") +} +func (UnimplementedSupplyInfoServer) UpdateSupplyInfo(context.Context, *UpdateSupplyInfoRequest) (*UpdateSupplyInfoRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateSupplyInfo not implemented") +} +func (UnimplementedSupplyInfoServer) GetVideoList(context.Context, *GetVideoListRequest) (*GetVideoListRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetVideoList not implemented") +} +func (UnimplementedSupplyInfoServer) GetVideo(context.Context, *GetVideoRequest) (*GetVideoListData, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetVideo not implemented") +} +func (UnimplementedSupplyInfoServer) UpdateVideo(context.Context, *UpdateVideoRequest) (*UpdateVideoRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateVideo not implemented") +} +func (UnimplementedSupplyInfoServer) GetExamList(context.Context, *GetExamListRequest) (*GetExamListRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetExamList not implemented") +} +func (UnimplementedSupplyInfoServer) GetExam(context.Context, *GetExamRequest) (*GetExamListData, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetExam not implemented") +} +func (UnimplementedSupplyInfoServer) UpdateExam(context.Context, *UpdateExamRequest) (*UpdateExamRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateExam not implemented") +} +func (UnimplementedSupplyInfoServer) GetArtistInfoList(context.Context, *GetArtistInfoListRequest) (*GetArtistInfoListRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetArtistInfoList not implemented") +} +func (UnimplementedSupplyInfoServer) GetArtistInfo(context.Context, *GetArtistInfoRequest) (*GetArtistInfoListData, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetArtistInfo not implemented") +} +func (UnimplementedSupplyInfoServer) UpdateArtistInfo(context.Context, *UpdateArtistInfoRequest) (*UpdateArtistInfoRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateArtistInfo not implemented") +} +func (s *UnimplementedSupplyInfoServer) XXX_SetProxyImpl(impl protocol.Invoker) { + s.proxyImpl = impl +} + +func (s *UnimplementedSupplyInfoServer) XXX_GetProxyImpl() protocol.Invoker { + return s.proxyImpl +} + +func (s *UnimplementedSupplyInfoServer) XXX_ServiceDesc() *grpc_go.ServiceDesc { + return &SupplyInfo_ServiceDesc +} +func (s *UnimplementedSupplyInfoServer) XXX_InterfaceName() string { + return "Supplyinfo.SupplyInfo" +} + +func (UnimplementedSupplyInfoServer) mustEmbedUnimplementedSupplyInfoServer() {} + +// UnsafeSupplyInfoServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to SupplyInfoServer will +// result in compilation errors. +type UnsafeSupplyInfoServer interface { + mustEmbedUnimplementedSupplyInfoServer() +} + +func RegisterSupplyInfoServer(s grpc_go.ServiceRegistrar, srv SupplyInfoServer) { + s.RegisterService(&SupplyInfo_ServiceDesc, srv) +} + +func _SupplyInfo_GetSupplyInfoList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetSupplyInfoListRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetSupplyInfoList", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _SupplyInfo_GetSupplyInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetSupplyInfoRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetSupplyInfo", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _SupplyInfo_UpdateSupplyInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateSupplyInfoRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("UpdateSupplyInfo", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _SupplyInfo_GetVideoList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetVideoListRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetVideoList", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _SupplyInfo_GetVideo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetVideoRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetVideo", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _SupplyInfo_UpdateVideo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateVideoRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("UpdateVideo", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _SupplyInfo_GetExamList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetExamListRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetExamList", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _SupplyInfo_GetExam_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetExamRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetExam", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _SupplyInfo_UpdateExam_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateExamRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("UpdateExam", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _SupplyInfo_GetArtistInfoList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetArtistInfoListRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetArtistInfoList", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _SupplyInfo_GetArtistInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetArtistInfoRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetArtistInfo", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _SupplyInfo_UpdateArtistInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateArtistInfoRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("UpdateArtistInfo", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +// SupplyInfo_ServiceDesc is the grpc_go.ServiceDesc for SupplyInfo service. +// It's only intended for direct use with grpc_go.RegisterService, +// and not to be introspected or modified (even as a copy) +var SupplyInfo_ServiceDesc = grpc_go.ServiceDesc{ + ServiceName: "Supplyinfo.SupplyInfo", + HandlerType: (*SupplyInfoServer)(nil), + Methods: []grpc_go.MethodDesc{ + { + MethodName: "GetSupplyInfoList", + Handler: _SupplyInfo_GetSupplyInfoList_Handler, + }, + { + MethodName: "GetSupplyInfo", + Handler: _SupplyInfo_GetSupplyInfo_Handler, + }, + { + MethodName: "UpdateSupplyInfo", + Handler: _SupplyInfo_UpdateSupplyInfo_Handler, + }, + { + MethodName: "GetVideoList", + Handler: _SupplyInfo_GetVideoList_Handler, + }, + { + MethodName: "GetVideo", + Handler: _SupplyInfo_GetVideo_Handler, + }, + { + MethodName: "UpdateVideo", + Handler: _SupplyInfo_UpdateVideo_Handler, + }, + { + MethodName: "GetExamList", + Handler: _SupplyInfo_GetExamList_Handler, + }, + { + MethodName: "GetExam", + Handler: _SupplyInfo_GetExam_Handler, + }, + { + MethodName: "UpdateExam", + Handler: _SupplyInfo_UpdateExam_Handler, + }, + { + MethodName: "GetArtistInfoList", + Handler: _SupplyInfo_GetArtistInfoList_Handler, + }, + { + MethodName: "GetArtistInfo", + Handler: _SupplyInfo_GetArtistInfo_Handler, + }, + { + MethodName: "UpdateArtistInfo", + Handler: _SupplyInfo_UpdateArtistInfo_Handler, + }, + }, + Streams: []grpc_go.StreamDesc{}, + Metadata: "api/supplyinfo/supplyinfo.proto", +} diff --git a/pkg/cache/redis.go b/pkg/cache/redis.go new file mode 100644 index 0000000..45d80b2 --- /dev/null +++ b/pkg/cache/redis.go @@ -0,0 +1,51 @@ +package cache + +import ( + "strconv" + + "dubbo.apache.org/dubbo-go/v3/common/logger" + "github.com/go-redis/redis" + "gopkg.in/ini.v1" +) + +// RedisClient Redis缓存客户端单例 +var ( + RedisClient *redis.Client + RedisDB int + RedisAddr string + RedisPw string + //RedisDbName string +) + +// InitRedis 在中间件中初始化redis链接 防止循环导包,所以放在这里 +func InitRedis(confPath string) { + //从本地读取环境变量 + file, err := ini.Load(confPath) + if err != nil { + panic(err) + } + LoadRedisData(file) + connRedis() +} + +// connRedis 在中间件中初始化redis链接 +func connRedis() { + RedisClient = redis.NewClient(&redis.Options{ + Addr: RedisAddr, + Password: RedisPw, + DB: RedisDB, + }) + _, err := RedisClient.Ping().Result() + if err != nil { + logger.Errorf("connRedis err", err) + panic(err) + } +} + +func LoadRedisData(file *ini.File) { + dbStr := file.Section("redis").Key("RedisDb").String() + RedisDB, _ = strconv.Atoi(dbStr) + RedisAddr = file.Section("redis").Key("RedisAddr").String() + RedisPw = file.Section("redis").Key("RedisPW").String() + //RedisDbName = file.Section("redis").Key("RedisDbName").String() +} diff --git a/pkg/db/init.go b/pkg/db/init.go new file mode 100644 index 0000000..e5305c6 --- /dev/null +++ b/pkg/db/init.go @@ -0,0 +1,106 @@ +package model + +import ( + "fmt" + "os" + "strings" + "time" + + "github.com/fonchain-artistserver/cmd/model" + "github.com/fonchain-artistserver/pkg/m" + "github.com/gin-gonic/gin" + "gopkg.in/ini.v1" + "gorm.io/driver/mysql" + "gorm.io/gorm" + "gorm.io/gorm/logger" + "gorm.io/gorm/schema" +) + +var DB *gorm.DB + +var ( + Db string + DbHost string + DbPort string + DbUser string + DbPassWord string + DbLogName string +) + +func Init(confPath string) { + //从本地读取环境变量 + file, err := ini.Load(confPath) + if err != nil { + fmt.Println(m.ERROR_SERVER, err) + } + //加载数据库配置 + LoadMysqlData(file) + + //MySQL数据库 + path := strings.Join([]string{DbUser, ":", DbPassWord, "@tcp(", DbHost, ":", DbPort, ")/", DbLogName, "?charset=utf8&parseTime=true"}, "") + //连接数据库 + Database(path) + migration() //迁移表 如果需要就打开使用 +} + +func LoadMysqlData(file *ini.File) { + Db = file.Section("mysql").Key("Db").String() + DbHost = file.Section("mysql").Key("DbHost").String() + DbPort = file.Section("mysql").Key("DbPort").String() + DbUser = file.Section("mysql").Key("DbUser").String() + DbPassWord = file.Section("mysql").Key("DbPassWord").String() + DbLogName = file.Section("mysql").Key("DbName").String() +} + +func Database(conn string) { + var ormLogger logger.Interface + if gin.Mode() == "debug" { + ormLogger = logger.Default.LogMode(logger.Info) + } else { + ormLogger = logger.Default + } + db, err := gorm.Open(mysql.New(mysql.Config{ + DSN: conn, // DSN data source name + DefaultStringSize: 256, // string 类型字段的默认长度 + DisableDatetimePrecision: true, // 禁用 datetime 精度,MySQL 5.6 之前的数据库不支持 + DontSupportRenameIndex: true, // 重命名索引时采用删除并新建的方式,MySQL 5.7 之前的数据库和 MariaDB 不支持重命名索引 + DontSupportRenameColumn: true, // 用 `change` 重命名列,MySQL 8 之前的数据库和 MariaDB 不支持重命名列 + SkipInitializeWithVersion: false, // 根据版本自动配置 + }), &gorm.Config{ + Logger: ormLogger, + NamingStrategy: schema.NamingStrategy{ + SingularTable: true, + }, + }) + sqlDB, _ := db.DB() + sqlDB.SetMaxIdleConns(20) //设置连接池,空闲 + sqlDB.SetMaxOpenConns(100) //打开 + sqlDB.SetConnMaxLifetime(time.Second * 30) + DB = db + if err != nil { + panic(err) + } +} + +func migration() { + //自迁移模式 + err := DB.AutoMigrate(&model.User{}, + &model.Bank{}, + &model.RealName{}, + &model.Artwork{}, + &model.Contract{}, + &model.SupplyInfo{}, + &model.ExhVideo{}, + &model.ExhExam{}, + &model.Invite{}, + &model.ArtistInfo{}, + &model.UserInvited{}, + &model.ArtworkState{}, + &model.ArtworkBatch{}, + ) + if err != nil { + fmt.Println("register table fail") + os.Exit(0) + } + fmt.Println("register table success") +} diff --git a/pkg/m/artistinfo.go b/pkg/m/artistinfo.go new file mode 100644 index 0000000..809b2ec --- /dev/null +++ b/pkg/m/artistinfo.go @@ -0,0 +1,17 @@ +package m + +//HTTP +const ( + CertPath = "./key/artist.fontree.cn.crt" + PrivPath = "./key/artist.fontree.cn.key" + Enabled = "false" + // ReturnUrl = "http://artist.fontree.cn" + ReturnUrl = "192.168.10.7" +) + +const ( + URL = "https://cdn.fontree.cn" + AK = "e102c02f0a7843d29a8abe561a17913e" + SK = "a6042bb43d4747259a7da72133cc5ce6" + Bucket = "dci-file" +) diff --git a/pkg/m/msg.go b/pkg/m/msg.go new file mode 100644 index 0000000..3d23e27 --- /dev/null +++ b/pkg/m/msg.go @@ -0,0 +1,77 @@ +package m + +import "github.com/fonchain_enterprise/utils/aes" + +var Encryption aes.Encryption +var JWTSecret = []byte("asdfqwer1234") + +const ( + SERVER_CONFIG = "../conf/conf.ini" + SERVER_DUBBOGO_CONFIG = "dubbogo.yaml" + MODE_ENV = "MODE_ENV" +) + +const ( + TokenTime = 12 +) +const ( + SUCCESS = "success" + FAILED = "failed" +) + +const ( + ERRORPWD = "账号或密码错误" + ERRORCODE = "验证码错误" + ERROT_SAME_TEL = "新手机号与旧手机号相同" + ERRORCONFIG = "配置文件读取错误,请检查文件路径:" + ACCOUNT_EXIST = "账号已存在" + ERROR_SERVER = "服务器错误" + ERROR_STRUCT = "结构体错误" + WARNING_WAITING = "稍等重试" + + ERROR_DELETE = "删除错误" + ERROR_UPDATE = "更新异常" + ERROR_CREATE_ARTIST_INVALID = "创建画家参数错误" + CREATE_SUCCESS = "创建成功" + CREATE_ERROR = "创建失败" + UPDATE_SUCCESS = "更新成功" + ERROR_UID = "uid创建错误" + ERROR_CREATE_PROFILE_DAO = "创建画家信息表错误" + ERROR_CREATE_EXT_DATA = "创建画家扩充数据错误" + ERROR_ARTIST_NAME_EMPTY = "画家名字为空" + ERROR_CAA_NAME_NOT_EMPTY = "证书和名字都不能为空" + ERROR_CAA_NUM_EMPTY = "证书编号为空" + ERROR_CAA_NUM_INVALID = "证书不匹配" + ERROR_CAA_NO_DATA = "证书未查询到数据" + ERROR_ALREADY_AUTH = "此身份证已实名认证" + ERROR_MARSHAL = "数据序列化错误" + ERROR_UNMARSHAL = "数据反序列化错误" + + ERROR_AFFECT_ROWS_ZERO = "影响行为0" + ERROR_AFFECT_ROWS = "影响行不一致" + ERROR_SELECT = "查询异常" + SAVE_ERROR = "数据库保存或者更新数据错误" + + UPDATE_FAILED = "更新失败" + ERROR_UPDATE_MEAID_INVALID = "更新图像参数不合法" + ERROR_Index_INVALID = "更新指数参数不合法" + ERROR_UPDATE_MEDIA_DAO = "更新图像错误" + ARTIST_NOT_EXISTS = "画家不存在" + ERROR_DATA_NOT_EXISTS = "数据不存在" + ERROR_UPDATE_ARTIST = "数据不存在" + ERROR_INVALID_CARDID = "身份证号不合法" + INVITE_CODE_INVALID = "邀请码无效" + ERROR_ISLOCK = "用户已被锁定" + + ERROR_UPDATE_HONOR_INVALID = "更新荣誉参数不合法" + ERROR_HONOR_TYPE = "荣誉类型不合法" + ERROR_HONOR_CREATE = "荣誉信息创建错误" + + ERROR_DEL_ARTIST_INVALID = "删除画家参数错误" + ERROR_DEL_ARTIST_DAO = "删除画家DAO错误" + ERROR_DEL_ARTIST_FAILED = "删除画家失败" + DEL_SUCCESS = "删除成功" + + ERROR_BATCH_INSERT = "批量插入失败" + CREATE_BATCH_SUCCESS = "批量插入成功" +) diff --git a/pkg/util/file.go b/pkg/util/file.go new file mode 100644 index 0000000..a704d1e --- /dev/null +++ b/pkg/util/file.go @@ -0,0 +1,28 @@ +package util + +import ( + "fmt" + "os" +) + +func CreateArtistInfo(id int64) { + if _, err := os.Stat("static/artist/" + fmt.Sprintf("%d", id) + "/"); err != nil { + if !os.IsExist(err) { + os.MkdirAll("static/artist/"+fmt.Sprintf("%d", id)+"/", os.ModePerm) + } + } + if _, err := os.Stat("static/artist/" + fmt.Sprintf("%d", id) + "/info/"); err != nil { + if !os.IsExist(err) { + os.MkdirAll("static/artist/"+fmt.Sprintf("%d", id)+"/info", os.ModePerm) + } + } +} + +func CreateArtworkInfo(id int64) { + if _, err := os.Stat("static/artwork/" + fmt.Sprintf("%d", id) + "/"); err != nil { + if !os.IsExist(err) { + os.MkdirAll("static/artwork/"+fmt.Sprintf("%d", id)+"/", os.ModePerm) + } + } + +} diff --git a/pkg/util/qrcode.go b/pkg/util/qrcode.go new file mode 100644 index 0000000..85d0537 --- /dev/null +++ b/pkg/util/qrcode.go @@ -0,0 +1,130 @@ +package util + +import ( + "fmt" + "image" + "image/color" + "image/draw" + "image/png" + "io/ioutil" + "log" + "os" + + "github.com/fonchain/utils/utils" + "github.com/golang/freetype" + "github.com/nfnt/resize" + "golang.org/x/image/font" +) + +func CreateQrCode(invitedCode, userName string) error { + QrCodePath, err := utils.GenQRCode("https://artist.fontree.cn/login?invitedCode=" + invitedCode) + if err != nil { + return err + } + + tmp, err := os.Open(QrCodePath) + if err != nil { + return err + + } + defer tmp.Close() + + src, err := os.Open("./qrcodebg.png") + if err != nil { + log.Println(err) + return err + } + defer src.Close() + + img, err := png.Decode(src) + if err != nil { + log.Println(err) + return err + } + + outimage, _ := addLabel(img, userName+"邀请您注册画家宝用户", 210, 300, color.RGBA{255, 255, 255, 255}, 55, "font1716.ttf") + outimage, _ = addLabel(outimage, "(使用此二维码后,"+userName+"将成为你的邀请人)", 210, 400, color.RGBA{255, 255, 255, 255}, 38, "font1716.ttf") + outimage, _ = addLabel(outimage, "邀请码:"+invitedCode, 260, 1340, color.RGBA{69, 137, 239, 255}, 70, "font1716.ttf") + QrCode2Path := "static/qrcode/" + invitedCode + "-2.png" + f, err := os.Create(QrCode2Path) + if err != nil { + log.Println(err) + return err + } + defer f.Close() + + newImg := image.NewNRGBA(image.Rect(0, 0, 1125, 2436)) + // fe, err := os.Open("./" + artistPhoto.SmallPic + "_small.jpg") + qrImg, err := png.Decode(tmp) + if err != nil { + fmt.Println(err.Error()) + return err + } + + qrImg = resize.Resize(uint(700), uint(700), qrImg, resize.Lanczos3) + draw.Draw(newImg, newImg.Bounds(), outimage, outimage.Bounds().Min.Sub(image.Pt(0, 0)), draw.Over) + draw.Draw(newImg, newImg.Bounds(), qrImg, qrImg.Bounds().Min.Sub(image.Pt(210, 570)), draw.Over) + err = png.Encode(f, newImg) + if err != nil { + return err + } + tmp.Close() + + tmps, err := os.OpenFile(QrCodePath, os.O_RDWR|os.O_CREATE, 0777) + if err != nil { + return err + } + defer tmps.Close() + + _, err = UploadToBos(tmps, fmt.Sprintf("artistmgmt/static/qrcode/%v.png", invitedCode)) + if err != nil { + return err + } + // fmt.Println(urlss) + tmp2, err := os.Open(QrCode2Path) + if err != nil { + return err + } + defer tmp2.Close() + + str, err := UploadToBos(tmp2, fmt.Sprintf("artistmgmt/static/qrcode/%v-2.png", invitedCode)) + if err != nil { + return err + } + fmt.Println(str, "===============") + return nil +} + +func addLabel(img image.Image, label string, x, y int, fontColor color.Color, size float64, fontPath string) (image.Image, error) { + bound := img.Bounds() + // 创建一个新的图片 + rgba := image.NewRGBA(image.Rect(0, 0, bound.Dx(), bound.Dy())) + // 读取字体 + fontBytes, err := ioutil.ReadFile(fontPath) + if err != nil { + return rgba, err + } + myFont, err := freetype.ParseFont(fontBytes) + if err != nil { + return rgba, err + } + + draw.Draw(rgba, rgba.Bounds(), img, bound.Min, draw.Src) + c := freetype.NewContext() + c.SetDPI(72) + c.SetFont(myFont) + c.SetFontSize(size) + c.SetClip(rgba.Bounds()) + c.SetDst(rgba) + uni := image.NewUniform(fontColor) + c.SetSrc(uni) + c.SetHinting(font.HintingNone) + + // 在指定的位置显示 + pt := freetype.Pt(x, y+int(c.PointToFixed(size)>>6)) + if _, err := c.DrawString(label, pt); err != nil { + return rgba, err + } + + return rgba, nil +} diff --git a/pkg/util/utils.go b/pkg/util/utils.go new file mode 100644 index 0000000..5abc9ed --- /dev/null +++ b/pkg/util/utils.go @@ -0,0 +1,167 @@ +package util + +import ( + "bytes" + "fmt" + "io" + "io/ioutil" + "mime/multipart" + "net/http" + "reflect" + "strconv" + "strings" + "time" + + "github.com/fonchain-artistserver/pkg/m" + "github.com/fonchain/utils/objstorage" +) + +// IdCardTurnAge 身份证号读取年龄 +func IdCardTurnAge(idCard string) int { + var mapmou = map[string]int{"January": 1, "february": 2, "March": 3, "April": 4, "May": 5, "June": 6, "July": 7, "August": 8, "September": 9, "October": 10, "November": 11, "December": 12} + // idCard := "34052419800101001X" //身份证 + now := time.Now() + now_year := now.Year() // 年 + now_mo := mapmou[now.Month().String()] // 月 + now_day := now.Day() // 日 + fmt.Println(now_year, now_mo, now_day) + idcard_year, _ := strconv.Atoi(Substr(idCard, 6, 4)) // 年 + idcard_mo, _ := strconv.Atoi(Substr(idCard, 10, 2)) // 月 + idcard_day, _ := strconv.Atoi(Substr(idCard, 12, 2)) // 日 + fmt.Println(idcard_year, idcard_mo, idcard_day) + fmt.Println("idCard:" + idCard) + age := now_year - idcard_year // 如果计算虚岁需这样:age := now_year - idcard_year+1 + if now_year < idcard_year { + age = 0 + } else { + if now_mo < idcard_mo { + age = age - 1 + } else { + if now_day < idcard_day { + age = age - 1 + } + } + } + fmt.Println("age:", age) + return age +} + +func Substr(str string, start, length int) string { + + rs := []rune(str) + rl := len(rs) + end := 0 + if start < 0 { + start = rl - 1 + start + } + end = start + length + if start > end { + start, end = end, start + } + if start < 0 { + start = 0 + } + if start > rl { + start = rl + } + if end < 0 { + end = 0 + } + if end > rl { + end = rl + } + return string(rs[start:end]) +} + +// 封装上传图片到bos然后返回状态和图片的url,单张 +func UploadToBos(file multipart.File, objName string) (string, error) { + BOSClient, err := objstorage.NewBOS(m.AK, m.SK, objstorage.BOS_BJ) + if err != nil { + fmt.Println(err) + } + b := new(strings.Builder) + io.Copy(b, file) + _, err = BOSClient.PutObjectFromBytes(m.Bucket, objName, []byte(b.String())) + if err != nil { + return "", err + } + url := m.URL + "/" + objName + + return url, nil +} + +type CopyOption struct { + Src interface{} + Dst interface{} + WhiteFields string + BlackFields string +} + +// 反射 +func CopyStructSuper(copyOpt CopyOption) { + st := reflect.TypeOf(copyOpt.Src) + sv := reflect.ValueOf(copyOpt.Src) + dt := reflect.TypeOf(copyOpt.Dst) + dv := reflect.ValueOf(copyOpt.Dst) + if st.Kind() == reflect.Ptr { //处理指针 + st = st.Elem() + sv = sv.Elem() + } + if dt.Kind() == reflect.Ptr { //处理指针 + dt = dt.Elem() + } + if st.Kind() != reflect.Struct || dt.Kind() != reflect.Struct { //如果不是struct类型,直接返回dst + return + } + + dv = reflect.ValueOf(dv.Interface()) + + // 遍历TypeOf 类型 + for i := 0; i < dt.NumField(); i++ { //通过索引来取得它的所有字段,同时来决定循环的次数 + f := dt.Field(i) //通过这个i作为它的索引,从0开始来取得它的字段 + dVal := dv.Elem().Field(i) + sVal := sv.FieldByName(f.Name) + if copyOpt.WhiteFields != "" { + if !strings.Contains(copyOpt.WhiteFields, fmt.Sprintf(",%s,", f.Name)) { + continue + } + } + + if copyOpt.BlackFields != "" { + if strings.Contains(copyOpt.BlackFields, fmt.Sprintf(",%s,", f.Name)) { + continue + } + } + //src数据有效,且dst字段能赋值,类型一致 + if sVal.IsValid() && dVal.CanSet() && f.Type.Kind() == sVal.Type().Kind() { + dVal.Set(sVal) + } + } +} + +func Post(url, data string) (string, error) { + reader := bytes.NewReader([]byte(data)) + + request, err := http.NewRequest("POST", url, reader) + if err != nil { + return "", err + } + defer request.Body.Close() //程序在使用完回复后必须关闭回复的主体 + request.Header.Set("Content-Type", "application/json;charset=UTF-8") + //必须设定该参数,POST参数才能正常提交,意思是以json串提交数据 + + client := http.Client{} + resp, err := client.Do(request) //Do 方法发送请求,返回 HTTP 回复 + if err != nil { + return "", err + } + + respBytes, err := ioutil.ReadAll(resp.Body) + if err != nil { + return "", err + } + + //byte数组直接转成string,优化内存 + // str := (*string)(unsafe.Pointer(&respBytes)) + return string(respBytes), nil +}