diff --git a/api/aryshare/ayrshare.pb.go b/api/aryshare/ayrshare.pb.go new file mode 100644 index 0000000..fd015ab --- /dev/null +++ b/api/aryshare/ayrshare.pb.go @@ -0,0 +1,3258 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.1 +// protoc v3.21.1 +// source: pb/ayrshare.proto + +package aryshare + +import ( + _ "github.com/mwitkow/go-proto-validators" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + _ "google.golang.org/protobuf/types/descriptorpb" + 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) +) + +// Instagram 用户标签(带坐标) +type UserTag struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username"` + X float64 `protobuf:"fixed64,2,opt,name=x,proto3" json:"x"` // Required for images, cannot be used with Reels + Y float64 `protobuf:"fixed64,3,opt,name=y,proto3" json:"y"` // Required for images, cannot be used with Reels +} + +func (x *UserTag) Reset() { + *x = UserTag{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserTag) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserTag) ProtoMessage() {} + +func (x *UserTag) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 UserTag.ProtoReflect.Descriptor instead. +func (*UserTag) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{0} +} + +func (x *UserTag) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *UserTag) GetX() float64 { + if x != nil { + return x.X + } + return 0 +} + +func (x *UserTag) GetY() float64 { + if x != nil { + return x.Y + } + return 0 +} + +// Instagram 特定发布选项 +type InstagramOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ShareReelsFeed bool `protobuf:"varint,1,opt,name=shareReelsFeed,proto3" json:"shareReelsFeed"` // Whether Reel can appear in both Feed and Reels tabs + AudioName string `protobuf:"bytes,2,opt,name=audioName,proto3" json:"audioName"` // Name of the audio music for Reels + ThumbNail string `protobuf:"bytes,3,opt,name=thumbNail,proto3" json:"thumbNail"` // URL of the Reel cover image (thumbnail) + ThumbNailOffset int32 `protobuf:"varint,4,opt,name=thumbNailOffset,proto3" json:"thumbNailOffset"` // Offset in milliseconds of the thumbnail frame + Stories bool `protobuf:"varint,5,opt,name=stories,proto3" json:"stories"` // Whether to post as Instagram Story + AltText []string `protobuf:"bytes,6,rep,name=altText,proto3" json:"altText"` // Array of alternative text for images (up to 1000 chars per image) + LocationId string `protobuf:"bytes,7,opt,name=locationId,proto3" json:"locationId"` // Facebook Page ID or Page name + UserTags []*UserTag `protobuf:"bytes,8,rep,name=userTags,proto3" json:"userTags"` // Array of user tags with username and coordinates + Collaborators []string `protobuf:"bytes,9,rep,name=collaborators,proto3" json:"collaborators"` // Array of Instagram usernames (up to 3) + AutoResize bool `protobuf:"varint,10,opt,name=autoResize,proto3" json:"autoResize"` // Auto resize images to 1080x1080px (Max Pack required) + DisableComments bool `protobuf:"varint,11,opt,name=disableComments,proto3" json:"disableComments"` // Disable comments on the published post +} + +func (x *InstagramOptions) Reset() { + *x = InstagramOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InstagramOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstagramOptions) ProtoMessage() {} + +func (x *InstagramOptions) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 InstagramOptions.ProtoReflect.Descriptor instead. +func (*InstagramOptions) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{1} +} + +func (x *InstagramOptions) GetShareReelsFeed() bool { + if x != nil { + return x.ShareReelsFeed + } + return false +} + +func (x *InstagramOptions) GetAudioName() string { + if x != nil { + return x.AudioName + } + return "" +} + +func (x *InstagramOptions) GetThumbNail() string { + if x != nil { + return x.ThumbNail + } + return "" +} + +func (x *InstagramOptions) GetThumbNailOffset() int32 { + if x != nil { + return x.ThumbNailOffset + } + return 0 +} + +func (x *InstagramOptions) GetStories() bool { + if x != nil { + return x.Stories + } + return false +} + +func (x *InstagramOptions) GetAltText() []string { + if x != nil { + return x.AltText + } + return nil +} + +func (x *InstagramOptions) GetLocationId() string { + if x != nil { + return x.LocationId + } + return "" +} + +func (x *InstagramOptions) GetUserTags() []*UserTag { + if x != nil { + return x.UserTags + } + return nil +} + +func (x *InstagramOptions) GetCollaborators() []string { + if x != nil { + return x.Collaborators + } + return nil +} + +func (x *InstagramOptions) GetAutoResize() bool { + if x != nil { + return x.AutoResize + } + return false +} + +func (x *InstagramOptions) GetDisableComments() bool { + if x != nil { + return x.DisableComments + } + return false +} + +// TikTok 特定发布选项 +type TikTokOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AutoAddMusic bool `protobuf:"varint,1,opt,name=autoAddMusic,proto3" json:"autoAddMusic"` // Whether to automatically add recommended music (image only) + DisableComments bool `protobuf:"varint,2,opt,name=disableComments,proto3" json:"disableComments"` // Whether to disable comments on the published post + DisableDuet bool `protobuf:"varint,3,opt,name=disableDuet,proto3" json:"disableDuet"` // Disable duets on the published video (video only) + DisableStitch bool `protobuf:"varint,4,opt,name=disableStitch,proto3" json:"disableStitch"` // Disable stitch on the published video (video only) + Draft bool `protobuf:"varint,5,opt,name=draft,proto3" json:"draft"` // Whether to create a draft post + IsAIGenerated bool `protobuf:"varint,6,opt,name=isAIGenerated,proto3" json:"isAIGenerated"` // Whether to enable AI-generated content toggle (video only) + IsBrandedContent bool `protobuf:"varint,7,opt,name=isBrandedContent,proto3" json:"isBrandedContent"` // Whether to enable Branded Content toggle + IsBrandOrganic bool `protobuf:"varint,8,opt,name=isBrandOrganic,proto3" json:"isBrandOrganic"` // Whether to enable Brand Organic Content toggle + ImageCoverIndex int32 `protobuf:"varint,9,opt,name=imageCoverIndex,proto3" json:"imageCoverIndex"` // Index of mediaUrls to be used as cover (image only, default 0) + Title string `protobuf:"bytes,10,opt,name=title,proto3" json:"title"` // Title of the post (image only) + ThumbNailOffset int32 `protobuf:"varint,11,opt,name=thumbNailOffset,proto3" json:"thumbNailOffset"` // Frame to use for video cover in milliseconds (video only) + ThumbNail string `protobuf:"bytes,12,opt,name=thumbNail,proto3" json:"thumbNail"` // URL of thumbnail image for video (video only) + Visibility string `protobuf:"bytes,13,opt,name=visibility,proto3" json:"visibility"` // How the post is shared: "public", "private", "followers", "friends" (image only, default "public") +} + +func (x *TikTokOptions) Reset() { + *x = TikTokOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TikTokOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TikTokOptions) ProtoMessage() {} + +func (x *TikTokOptions) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 TikTokOptions.ProtoReflect.Descriptor instead. +func (*TikTokOptions) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{2} +} + +func (x *TikTokOptions) GetAutoAddMusic() bool { + if x != nil { + return x.AutoAddMusic + } + return false +} + +func (x *TikTokOptions) GetDisableComments() bool { + if x != nil { + return x.DisableComments + } + return false +} + +func (x *TikTokOptions) GetDisableDuet() bool { + if x != nil { + return x.DisableDuet + } + return false +} + +func (x *TikTokOptions) GetDisableStitch() bool { + if x != nil { + return x.DisableStitch + } + return false +} + +func (x *TikTokOptions) GetDraft() bool { + if x != nil { + return x.Draft + } + return false +} + +func (x *TikTokOptions) GetIsAIGenerated() bool { + if x != nil { + return x.IsAIGenerated + } + return false +} + +func (x *TikTokOptions) GetIsBrandedContent() bool { + if x != nil { + return x.IsBrandedContent + } + return false +} + +func (x *TikTokOptions) GetIsBrandOrganic() bool { + if x != nil { + return x.IsBrandOrganic + } + return false +} + +func (x *TikTokOptions) GetImageCoverIndex() int32 { + if x != nil { + return x.ImageCoverIndex + } + return 0 +} + +func (x *TikTokOptions) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *TikTokOptions) GetThumbNailOffset() int32 { + if x != nil { + return x.ThumbNailOffset + } + return 0 +} + +func (x *TikTokOptions) GetThumbNail() string { + if x != nil { + return x.ThumbNail + } + return "" +} + +func (x *TikTokOptions) GetVisibility() string { + if x != nil { + return x.Visibility + } + return "" +} + +// 发布帖子到社交媒体平台 +type PostRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Post string `protobuf:"bytes,1,opt,name=post,proto3" json:"post"` + Platforms []string `protobuf:"bytes,2,rep,name=platforms,proto3" json:"platforms"` + MediaUrls []string `protobuf:"bytes,3,rep,name=mediaUrls,proto3" json:"mediaUrls"` + IsVideo bool `protobuf:"varint,4,opt,name=isVideo,proto3" json:"isVideo"` + ScheduleDate string `protobuf:"bytes,5,opt,name=scheduleDate,proto3" json:"scheduleDate"` + ValidateScheduled bool `protobuf:"varint,6,opt,name=validateScheduled,proto3" json:"validateScheduled"` + ShortenLinks bool `protobuf:"varint,7,opt,name=shortenLinks,proto3" json:"shortenLinks"` + DisableComments bool `protobuf:"varint,8,opt,name=disableComments,proto3" json:"disableComments"` + InstagramOptions *InstagramOptions `protobuf:"bytes,9,opt,name=instagramOptions,proto3" json:"instagramOptions"` + TikTokOptions *TikTokOptions `protobuf:"bytes,10,opt,name=tikTokOptions,proto3" json:"tikTokOptions"` + ProfileKey string `protobuf:"bytes,11,opt,name=profileKey,proto3" json:"profileKey"` +} + +func (x *PostRequest) Reset() { + *x = PostRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostRequest) ProtoMessage() {} + +func (x *PostRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 PostRequest.ProtoReflect.Descriptor instead. +func (*PostRequest) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{3} +} + +func (x *PostRequest) GetPost() string { + if x != nil { + return x.Post + } + return "" +} + +func (x *PostRequest) GetPlatforms() []string { + if x != nil { + return x.Platforms + } + return nil +} + +func (x *PostRequest) GetMediaUrls() []string { + if x != nil { + return x.MediaUrls + } + return nil +} + +func (x *PostRequest) GetIsVideo() bool { + if x != nil { + return x.IsVideo + } + return false +} + +func (x *PostRequest) GetScheduleDate() string { + if x != nil { + return x.ScheduleDate + } + return "" +} + +func (x *PostRequest) GetValidateScheduled() bool { + if x != nil { + return x.ValidateScheduled + } + return false +} + +func (x *PostRequest) GetShortenLinks() bool { + if x != nil { + return x.ShortenLinks + } + return false +} + +func (x *PostRequest) GetDisableComments() bool { + if x != nil { + return x.DisableComments + } + return false +} + +func (x *PostRequest) GetInstagramOptions() *InstagramOptions { + if x != nil { + return x.InstagramOptions + } + return nil +} + +func (x *PostRequest) GetTikTokOptions() *TikTokOptions { + if x != nil { + return x.TikTokOptions + } + return nil +} + +func (x *PostRequest) GetProfileKey() string { + if x != nil { + return x.ProfileKey + } + return "" +} + +// 单个平台的帖子ID响应 +type PostId struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id"` + Cid string `protobuf:"bytes,3,opt,name=cid,proto3" json:"cid"` + PostUrl string `protobuf:"bytes,4,opt,name=postUrl,proto3" json:"postUrl"` + Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform"` + Type string `protobuf:"bytes,6,opt,name=type,proto3" json:"type"` + Owner string `protobuf:"bytes,7,opt,name=owner,proto3" json:"owner"` + MediaId string `protobuf:"bytes,8,opt,name=mediaId,proto3" json:"mediaId"` + Ended string `protobuf:"bytes,9,opt,name=ended,proto3" json:"ended"` + IdShare string `protobuf:"bytes,10,opt,name=idShare,proto3" json:"idShare"` + IsVideo bool `protobuf:"varint,11,opt,name=isVideo,proto3" json:"isVideo"` + UsedQuota int32 `protobuf:"varint,12,opt,name=usedQuota,proto3" json:"usedQuota"` +} + +func (x *PostId) Reset() { + *x = PostId{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostId) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostId) ProtoMessage() {} + +func (x *PostId) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 PostId.ProtoReflect.Descriptor instead. +func (*PostId) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{4} +} + +func (x *PostId) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *PostId) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *PostId) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +func (x *PostId) GetPostUrl() string { + if x != nil { + return x.PostUrl + } + return "" +} + +func (x *PostId) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *PostId) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *PostId) GetOwner() string { + if x != nil { + return x.Owner + } + return "" +} + +func (x *PostId) GetMediaId() string { + if x != nil { + return x.MediaId + } + return "" +} + +func (x *PostId) GetEnded() string { + if x != nil { + return x.Ended + } + return "" +} + +func (x *PostId) GetIdShare() string { + if x != nil { + return x.IdShare + } + return "" +} + +func (x *PostId) GetIsVideo() bool { + if x != nil { + return x.IsVideo + } + return false +} + +func (x *PostId) GetUsedQuota() int32 { + if x != nil { + return x.UsedQuota + } + return 0 +} + +// 帖子项(使用 profile key 时的响应格式) +type PostItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + Errors []string `protobuf:"bytes,2,rep,name=errors,proto3" json:"errors"` + PostIds []*PostId `protobuf:"bytes,3,rep,name=postIds,proto3" json:"postIds"` + Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id"` + RefId string `protobuf:"bytes,5,opt,name=refId,proto3" json:"refId"` + ProfileTitle string `protobuf:"bytes,6,opt,name=profileTitle,proto3" json:"profileTitle"` + Post string `protobuf:"bytes,7,opt,name=post,proto3" json:"post"` + TikTokId string `protobuf:"bytes,8,opt,name=tikTokId,proto3" json:"tikTokId"` // TikTok 特定的 ID +} + +func (x *PostItem) Reset() { + *x = PostItem{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostItem) ProtoMessage() {} + +func (x *PostItem) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 PostItem.ProtoReflect.Descriptor instead. +func (*PostItem) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{5} +} + +func (x *PostItem) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *PostItem) GetErrors() []string { + if x != nil { + return x.Errors + } + return nil +} + +func (x *PostItem) GetPostIds() []*PostId { + if x != nil { + return x.PostIds + } + return nil +} + +func (x *PostItem) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *PostItem) GetRefId() string { + if x != nil { + return x.RefId + } + return "" +} + +func (x *PostItem) GetProfileTitle() string { + if x != nil { + return x.ProfileTitle + } + return "" +} + +func (x *PostItem) GetPost() string { + if x != nil { + return x.Post + } + return "" +} + +func (x *PostItem) GetTikTokId() string { + if x != nil { + return x.TikTokId + } + return "" +} + +// 发布帖子响应 +type PostResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + Posts []*PostItem `protobuf:"bytes,2,rep,name=posts,proto3" json:"posts"` + // 兼容旧版本响应格式(不使用 profile key 时) + Errors []string `protobuf:"bytes,3,rep,name=errors,proto3" json:"errors"` + PostIds []*PostId `protobuf:"bytes,4,rep,name=postIds,proto3" json:"postIds"` + Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id"` + IsValidated bool `protobuf:"varint,6,opt,name=isValidated,json=validate,proto3" json:"isValidated"` // validateScheduled 请求的验证结果 +} + +func (x *PostResponse) Reset() { + *x = PostResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostResponse) ProtoMessage() {} + +func (x *PostResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 PostResponse.ProtoReflect.Descriptor instead. +func (*PostResponse) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{6} +} + +func (x *PostResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *PostResponse) GetPosts() []*PostItem { + if x != nil { + return x.Posts + } + return nil +} + +func (x *PostResponse) GetErrors() []string { + if x != nil { + return x.Errors + } + return nil +} + +func (x *PostResponse) GetPostIds() []*PostId { + if x != nil { + return x.PostIds + } + return nil +} + +func (x *PostResponse) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *PostResponse) GetIsValidated() bool { + if x != nil { + return x.IsValidated + } + return false +} + +// 获取帖子请求 +type GetPostRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` + ProfileKey string `protobuf:"bytes,2,opt,name=profileKey,proto3" json:"profileKey"` +} + +func (x *GetPostRequest) Reset() { + *x = GetPostRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPostRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPostRequest) ProtoMessage() {} + +func (x *GetPostRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 GetPostRequest.ProtoReflect.Descriptor instead. +func (*GetPostRequest) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{7} +} + +func (x *GetPostRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *GetPostRequest) GetProfileKey() string { + if x != nil { + return x.ProfileKey + } + return "" +} + +// 获取帖子响应 +type GetPostResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Created string `protobuf:"bytes,1,opt,name=created,proto3" json:"created"` + Errors []string `protobuf:"bytes,2,rep,name=errors,proto3" json:"errors"` + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id"` + MediaUrls []string `protobuf:"bytes,4,rep,name=mediaUrls,proto3" json:"mediaUrls"` + Platforms []string `protobuf:"bytes,5,rep,name=platforms,proto3" json:"platforms"` + Post string `protobuf:"bytes,6,opt,name=post,proto3" json:"post"` + PostIds []*PostId `protobuf:"bytes,7,rep,name=postIds,proto3" json:"postIds"` + ProfileTitle string `protobuf:"bytes,8,opt,name=profileTitle,proto3" json:"profileTitle"` + RefId string `protobuf:"bytes,9,opt,name=refId,proto3" json:"refId"` + ScheduleDate string `protobuf:"bytes,10,opt,name=scheduleDate,proto3" json:"scheduleDate"` + ShortenLinks bool `protobuf:"varint,11,opt,name=shortenLinks,proto3" json:"shortenLinks"` + Status string `protobuf:"bytes,12,opt,name=status,proto3" json:"status"` + Type string `protobuf:"bytes,13,opt,name=type,proto3" json:"type"` +} + +func (x *GetPostResponse) Reset() { + *x = GetPostResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPostResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPostResponse) ProtoMessage() {} + +func (x *GetPostResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 GetPostResponse.ProtoReflect.Descriptor instead. +func (*GetPostResponse) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{8} +} + +func (x *GetPostResponse) GetCreated() string { + if x != nil { + return x.Created + } + return "" +} + +func (x *GetPostResponse) GetErrors() []string { + if x != nil { + return x.Errors + } + return nil +} + +func (x *GetPostResponse) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *GetPostResponse) GetMediaUrls() []string { + if x != nil { + return x.MediaUrls + } + return nil +} + +func (x *GetPostResponse) GetPlatforms() []string { + if x != nil { + return x.Platforms + } + return nil +} + +func (x *GetPostResponse) GetPost() string { + if x != nil { + return x.Post + } + return "" +} + +func (x *GetPostResponse) GetPostIds() []*PostId { + if x != nil { + return x.PostIds + } + return nil +} + +func (x *GetPostResponse) GetProfileTitle() string { + if x != nil { + return x.ProfileTitle + } + return "" +} + +func (x *GetPostResponse) GetRefId() string { + if x != nil { + return x.RefId + } + return "" +} + +func (x *GetPostResponse) GetScheduleDate() string { + if x != nil { + return x.ScheduleDate + } + return "" +} + +func (x *GetPostResponse) GetShortenLinks() bool { + if x != nil { + return x.ShortenLinks + } + return false +} + +func (x *GetPostResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *GetPostResponse) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +// 获取用户详情请求 +type GetUserRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProfileKey string `protobuf:"bytes,1,opt,name=profileKey,proto3" json:"profileKey"` + InstagramDetails bool `protobuf:"varint,2,opt,name=instagramDetails,proto3" json:"instagramDetails"` +} + +func (x *GetUserRequest) Reset() { + *x = GetUserRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[9] + 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_pb_ayrshare_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 GetUserRequest.ProtoReflect.Descriptor instead. +func (*GetUserRequest) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{9} +} + +func (x *GetUserRequest) GetProfileKey() string { + if x != nil { + return x.ProfileKey + } + return "" +} + +func (x *GetUserRequest) GetInstagramDetails() bool { + if x != nil { + return x.InstagramDetails + } + return false +} + +// 时间戳 +type Timestamp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Seconds int64 `protobuf:"varint,1,opt,name=seconds,json=_seconds,proto3" json:"seconds"` + Nanoseconds int64 `protobuf:"varint,2,opt,name=nanoseconds,json=_nanoseconds,proto3" json:"nanoseconds"` + Utc string `protobuf:"bytes,3,opt,name=utc,proto3" json:"utc"` +} + +func (x *Timestamp) Reset() { + *x = Timestamp{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Timestamp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Timestamp) ProtoMessage() {} + +func (x *Timestamp) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 Timestamp.ProtoReflect.Descriptor instead. +func (*Timestamp) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{10} +} + +func (x *Timestamp) GetSeconds() int64 { + if x != nil { + return x.Seconds + } + return 0 +} + +func (x *Timestamp) GetNanoseconds() int64 { + if x != nil { + return x.Nanoseconds + } + return 0 +} + +func (x *Timestamp) GetUtc() string { + if x != nil { + return x.Utc + } + return "" +} + +// Twitter 使用情况 +type TwitterUsage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MonthlyUsage int32 `protobuf:"varint,1,opt,name=monthlyUsage,proto3" json:"monthlyUsage"` + MonthlyLimit int32 `protobuf:"varint,2,opt,name=monthlyLimit,proto3" json:"monthlyLimit"` + MonthlyReset string `protobuf:"bytes,3,opt,name=monthlyReset,proto3" json:"monthlyReset"` +} + +func (x *TwitterUsage) Reset() { + *x = TwitterUsage{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TwitterUsage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TwitterUsage) ProtoMessage() {} + +func (x *TwitterUsage) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 TwitterUsage.ProtoReflect.Descriptor instead. +func (*TwitterUsage) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{11} +} + +func (x *TwitterUsage) GetMonthlyUsage() int32 { + if x != nil { + return x.MonthlyUsage + } + return 0 +} + +func (x *TwitterUsage) GetMonthlyLimit() int32 { + if x != nil { + return x.MonthlyLimit + } + return 0 +} + +func (x *TwitterUsage) GetMonthlyReset() string { + if x != nil { + return x.MonthlyReset + } + return "" +} + +// 社交媒体账户显示名称和详情 +type DisplayName struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Created string `protobuf:"bytes,1,opt,name=created,proto3" json:"created"` + DisplayName string `protobuf:"bytes,2,opt,name=displayName,proto3" json:"displayName"` + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id"` + Platform string `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform"` + ProfileUrl string `protobuf:"bytes,5,opt,name=profileUrl,proto3" json:"profileUrl"` + UserImage string `protobuf:"bytes,6,opt,name=userImage,proto3" json:"userImage"` + Username string `protobuf:"bytes,7,opt,name=username,proto3" json:"username"` + Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description"` + MessagingActive bool `protobuf:"varint,9,opt,name=messagingActive,proto3" json:"messagingActive"` + PageName string `protobuf:"bytes,10,opt,name=pageName,proto3" json:"pageName"` + UserId string `protobuf:"bytes,11,opt,name=userId,proto3" json:"userId"` + MapsUrl string `protobuf:"bytes,12,opt,name=mapsUrl,proto3" json:"mapsUrl"` + PlaceId string `protobuf:"bytes,13,opt,name=placeId,proto3" json:"placeId"` + ReviewUrl string `protobuf:"bytes,14,opt,name=reviewUrl,proto3" json:"reviewUrl"` + IgId string `protobuf:"bytes,15,opt,name=igId,proto3" json:"igId"` + Type string `protobuf:"bytes,16,opt,name=type,proto3" json:"type"` + UsedQuota int32 `protobuf:"varint,17,opt,name=usedQuota,proto3" json:"usedQuota"` + RefreshDaysRemaining int32 `protobuf:"varint,18,opt,name=refreshDaysRemaining,proto3" json:"refreshDaysRemaining"` + RefreshRequired string `protobuf:"bytes,19,opt,name=refreshRequired,proto3" json:"refreshRequired"` + IsEligibleForGeoRestrictions bool `protobuf:"varint,20,opt,name=isEligibleForGeoRestrictions,proto3" json:"isEligibleForGeoRestrictions"` + IsVerified bool `protobuf:"varint,21,opt,name=isVerified,proto3" json:"isVerified"` + SubscriptionType string `protobuf:"bytes,22,opt,name=subscriptionType,proto3" json:"subscriptionType"` + TwitterUsage *TwitterUsage `protobuf:"bytes,23,opt,name=twitterUsage,proto3" json:"twitterUsage"` + VerifiedType string `protobuf:"bytes,24,opt,name=verifiedType,proto3" json:"verifiedType"` +} + +func (x *DisplayName) Reset() { + *x = DisplayName{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisplayName) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisplayName) ProtoMessage() {} + +func (x *DisplayName) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 DisplayName.ProtoReflect.Descriptor instead. +func (*DisplayName) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{12} +} + +func (x *DisplayName) GetCreated() string { + if x != nil { + return x.Created + } + return "" +} + +func (x *DisplayName) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *DisplayName) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *DisplayName) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *DisplayName) GetProfileUrl() string { + if x != nil { + return x.ProfileUrl + } + return "" +} + +func (x *DisplayName) GetUserImage() string { + if x != nil { + return x.UserImage + } + return "" +} + +func (x *DisplayName) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *DisplayName) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *DisplayName) GetMessagingActive() bool { + if x != nil { + return x.MessagingActive + } + return false +} + +func (x *DisplayName) GetPageName() string { + if x != nil { + return x.PageName + } + return "" +} + +func (x *DisplayName) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *DisplayName) GetMapsUrl() string { + if x != nil { + return x.MapsUrl + } + return "" +} + +func (x *DisplayName) GetPlaceId() string { + if x != nil { + return x.PlaceId + } + return "" +} + +func (x *DisplayName) GetReviewUrl() string { + if x != nil { + return x.ReviewUrl + } + return "" +} + +func (x *DisplayName) GetIgId() string { + if x != nil { + return x.IgId + } + return "" +} + +func (x *DisplayName) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *DisplayName) GetUsedQuota() int32 { + if x != nil { + return x.UsedQuota + } + return 0 +} + +func (x *DisplayName) GetRefreshDaysRemaining() int32 { + if x != nil { + return x.RefreshDaysRemaining + } + return 0 +} + +func (x *DisplayName) GetRefreshRequired() string { + if x != nil { + return x.RefreshRequired + } + return "" +} + +func (x *DisplayName) GetIsEligibleForGeoRestrictions() bool { + if x != nil { + return x.IsEligibleForGeoRestrictions + } + return false +} + +func (x *DisplayName) GetIsVerified() bool { + if x != nil { + return x.IsVerified + } + return false +} + +func (x *DisplayName) GetSubscriptionType() string { + if x != nil { + return x.SubscriptionType + } + return "" +} + +func (x *DisplayName) GetTwitterUsage() *TwitterUsage { + if x != nil { + return x.TwitterUsage + } + return nil +} + +func (x *DisplayName) GetVerifiedType() string { + if x != nil { + return x.VerifiedType + } + return "" +} + +// 获取用户详情响应 +type GetUserResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ActiveSocialAccounts []string `protobuf:"bytes,1,rep,name=activeSocialAccounts,proto3" json:"activeSocialAccounts"` + Created *Timestamp `protobuf:"bytes,2,opt,name=created,proto3" json:"created"` + DisplayNames []*DisplayName `protobuf:"bytes,3,rep,name=displayNames,proto3" json:"displayNames"` + Email string `protobuf:"bytes,4,opt,name=email,proto3" json:"email"` + LastApiCall string `protobuf:"bytes,5,opt,name=lastApiCall,proto3" json:"lastApiCall"` + MessagingConversationMonthlyCount int32 `protobuf:"varint,6,opt,name=messagingConversationMonthlyCount,proto3" json:"messagingConversationMonthlyCount"` + MessagingEnabled bool `protobuf:"varint,7,opt,name=messagingEnabled,proto3" json:"messagingEnabled"` + MonthlyApiCalls int32 `protobuf:"varint,8,opt,name=monthlyApiCalls,proto3" json:"monthlyApiCalls"` + MonthlyPostCount int32 `protobuf:"varint,9,opt,name=monthlyPostCount,proto3" json:"monthlyPostCount"` + MonthlyPostQuota int32 `protobuf:"varint,10,opt,name=monthlyPostQuota,proto3" json:"monthlyPostQuota"` + MonthlyApiCallsQuota int32 `protobuf:"varint,11,opt,name=monthlyApiCallsQuota,proto3" json:"monthlyApiCallsQuota"` + RefId string `protobuf:"bytes,12,opt,name=refId,proto3" json:"refId"` + Title string `protobuf:"bytes,13,opt,name=title,proto3" json:"title"` + LastUpdated string `protobuf:"bytes,14,opt,name=lastUpdated,proto3" json:"lastUpdated"` + NextUpdate string `protobuf:"bytes,15,opt,name=nextUpdate,proto3" json:"nextUpdate"` +} + +func (x *GetUserResponse) Reset() { + *x = GetUserResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetUserResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUserResponse) ProtoMessage() {} + +func (x *GetUserResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 GetUserResponse.ProtoReflect.Descriptor instead. +func (*GetUserResponse) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{13} +} + +func (x *GetUserResponse) GetActiveSocialAccounts() []string { + if x != nil { + return x.ActiveSocialAccounts + } + return nil +} + +func (x *GetUserResponse) GetCreated() *Timestamp { + if x != nil { + return x.Created + } + return nil +} + +func (x *GetUserResponse) GetDisplayNames() []*DisplayName { + if x != nil { + return x.DisplayNames + } + return nil +} + +func (x *GetUserResponse) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *GetUserResponse) GetLastApiCall() string { + if x != nil { + return x.LastApiCall + } + return "" +} + +func (x *GetUserResponse) GetMessagingConversationMonthlyCount() int32 { + if x != nil { + return x.MessagingConversationMonthlyCount + } + return 0 +} + +func (x *GetUserResponse) GetMessagingEnabled() bool { + if x != nil { + return x.MessagingEnabled + } + return false +} + +func (x *GetUserResponse) GetMonthlyApiCalls() int32 { + if x != nil { + return x.MonthlyApiCalls + } + return 0 +} + +func (x *GetUserResponse) GetMonthlyPostCount() int32 { + if x != nil { + return x.MonthlyPostCount + } + return 0 +} + +func (x *GetUserResponse) GetMonthlyPostQuota() int32 { + if x != nil { + return x.MonthlyPostQuota + } + return 0 +} + +func (x *GetUserResponse) GetMonthlyApiCallsQuota() int32 { + if x != nil { + return x.MonthlyApiCallsQuota + } + return 0 +} + +func (x *GetUserResponse) GetRefId() string { + if x != nil { + return x.RefId + } + return "" +} + +func (x *GetUserResponse) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *GetUserResponse) GetLastUpdated() string { + if x != nil { + return x.LastUpdated + } + return "" +} + +func (x *GetUserResponse) GetNextUpdate() string { + if x != nil { + return x.NextUpdate + } + return "" +} + +// 创建用户配置请求 +type CreateProfileRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title"` + MessagingActive bool `protobuf:"varint,2,opt,name=messagingActive,proto3" json:"messagingActive"` + HideTopHeader bool `protobuf:"varint,3,opt,name=hideTopHeader,proto3" json:"hideTopHeader"` + TopHeader string `protobuf:"bytes,4,opt,name=topHeader,proto3" json:"topHeader"` + DisableSocial []string `protobuf:"bytes,5,rep,name=disableSocial,proto3" json:"disableSocial"` + Team bool `protobuf:"varint,6,opt,name=team,proto3" json:"team"` + Email string `protobuf:"bytes,7,opt,name=email,proto3" json:"email"` + SubHeader string `protobuf:"bytes,8,opt,name=subHeader,proto3" json:"subHeader"` + Tags []string `protobuf:"bytes,9,rep,name=tags,proto3" json:"tags"` +} + +func (x *CreateProfileRequest) Reset() { + *x = CreateProfileRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateProfileRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateProfileRequest) ProtoMessage() {} + +func (x *CreateProfileRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 CreateProfileRequest.ProtoReflect.Descriptor instead. +func (*CreateProfileRequest) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{14} +} + +func (x *CreateProfileRequest) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *CreateProfileRequest) GetMessagingActive() bool { + if x != nil { + return x.MessagingActive + } + return false +} + +func (x *CreateProfileRequest) GetHideTopHeader() bool { + if x != nil { + return x.HideTopHeader + } + return false +} + +func (x *CreateProfileRequest) GetTopHeader() string { + if x != nil { + return x.TopHeader + } + return "" +} + +func (x *CreateProfileRequest) GetDisableSocial() []string { + if x != nil { + return x.DisableSocial + } + return nil +} + +func (x *CreateProfileRequest) GetTeam() bool { + if x != nil { + return x.Team + } + return false +} + +func (x *CreateProfileRequest) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *CreateProfileRequest) GetSubHeader() string { + if x != nil { + return x.SubHeader + } + return "" +} + +func (x *CreateProfileRequest) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +// 创建用户配置响应 +type CreateProfileResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` + RefId string `protobuf:"bytes,3,opt,name=refId,proto3" json:"refId"` + ProfileKey string `protobuf:"bytes,4,opt,name=profileKey,proto3" json:"profileKey"` + MessagingActive bool `protobuf:"varint,5,opt,name=messagingActive,proto3" json:"messagingActive"` +} + +func (x *CreateProfileResponse) Reset() { + *x = CreateProfileResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateProfileResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateProfileResponse) ProtoMessage() {} + +func (x *CreateProfileResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 CreateProfileResponse.ProtoReflect.Descriptor instead. +func (*CreateProfileResponse) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{15} +} + +func (x *CreateProfileResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *CreateProfileResponse) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *CreateProfileResponse) GetRefId() string { + if x != nil { + return x.RefId + } + return "" +} + +func (x *CreateProfileResponse) GetProfileKey() string { + if x != nil { + return x.ProfileKey + } + return "" +} + +func (x *CreateProfileResponse) GetMessagingActive() bool { + if x != nil { + return x.MessagingActive + } + return false +} + +// 获取用户配置列表请求 +type GetProfilesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title"` + RefId string `protobuf:"bytes,2,opt,name=refId,proto3" json:"refId"` + HasActiveSocialAccounts bool `protobuf:"varint,3,opt,name=hasActiveSocialAccounts,proto3" json:"hasActiveSocialAccounts"` + IncludesActiveSocialAccounts []string `protobuf:"bytes,4,rep,name=includesActiveSocialAccounts,proto3" json:"includesActiveSocialAccounts"` + // Types that are assignable to ActionLog: + // + // *GetProfilesRequest_ActionLogBool + // *GetProfilesRequest_ActionLogInt + ActionLog isGetProfilesRequest_ActionLog `protobuf_oneof:"actionLog"` + Limit int32 `protobuf:"varint,7,opt,name=limit,proto3" json:"limit"` + Cursor string `protobuf:"bytes,8,opt,name=cursor,proto3" json:"cursor"` +} + +func (x *GetProfilesRequest) Reset() { + *x = GetProfilesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetProfilesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetProfilesRequest) ProtoMessage() {} + +func (x *GetProfilesRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 GetProfilesRequest.ProtoReflect.Descriptor instead. +func (*GetProfilesRequest) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{16} +} + +func (x *GetProfilesRequest) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *GetProfilesRequest) GetRefId() string { + if x != nil { + return x.RefId + } + return "" +} + +func (x *GetProfilesRequest) GetHasActiveSocialAccounts() bool { + if x != nil { + return x.HasActiveSocialAccounts + } + return false +} + +func (x *GetProfilesRequest) GetIncludesActiveSocialAccounts() []string { + if x != nil { + return x.IncludesActiveSocialAccounts + } + return nil +} + +func (m *GetProfilesRequest) GetActionLog() isGetProfilesRequest_ActionLog { + if m != nil { + return m.ActionLog + } + return nil +} + +func (x *GetProfilesRequest) GetActionLogBool() bool { + if x, ok := x.GetActionLog().(*GetProfilesRequest_ActionLogBool); ok { + return x.ActionLogBool + } + return false +} + +func (x *GetProfilesRequest) GetActionLogInt() int32 { + if x, ok := x.GetActionLog().(*GetProfilesRequest_ActionLogInt); ok { + return x.ActionLogInt + } + return 0 +} + +func (x *GetProfilesRequest) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *GetProfilesRequest) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +type isGetProfilesRequest_ActionLog interface { + isGetProfilesRequest_ActionLog() +} + +type GetProfilesRequest_ActionLogBool struct { + ActionLogBool bool `protobuf:"varint,5,opt,name=actionLogBool,proto3,oneof"` +} + +type GetProfilesRequest_ActionLogInt struct { + ActionLogInt int32 `protobuf:"varint,6,opt,name=actionLogInt,proto3,oneof"` +} + +func (*GetProfilesRequest_ActionLogBool) isGetProfilesRequest_ActionLog() {} + +func (*GetProfilesRequest_ActionLogInt) isGetProfilesRequest_ActionLog() {} + +// 用户配置项 +type ProfileItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` + DisplayTitle string `protobuf:"bytes,3,opt,name=displayTitle,proto3" json:"displayTitle"` + Created *Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created"` + CreatedUTC string `protobuf:"bytes,5,opt,name=createdUTC,proto3" json:"createdUTC"` + RefId string `protobuf:"bytes,6,opt,name=refId,proto3" json:"refId"` + ActiveSocialAccounts []string `protobuf:"bytes,7,rep,name=activeSocialAccounts,proto3" json:"activeSocialAccounts"` + Suspended bool `protobuf:"varint,8,opt,name=suspended,proto3" json:"suspended"` +} + +func (x *ProfileItem) Reset() { + *x = ProfileItem{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProfileItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProfileItem) ProtoMessage() {} + +func (x *ProfileItem) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 ProfileItem.ProtoReflect.Descriptor instead. +func (*ProfileItem) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{17} +} + +func (x *ProfileItem) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ProfileItem) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *ProfileItem) GetDisplayTitle() string { + if x != nil { + return x.DisplayTitle + } + return "" +} + +func (x *ProfileItem) GetCreated() *Timestamp { + if x != nil { + return x.Created + } + return nil +} + +func (x *ProfileItem) GetCreatedUTC() string { + if x != nil { + return x.CreatedUTC + } + return "" +} + +func (x *ProfileItem) GetRefId() string { + if x != nil { + return x.RefId + } + return "" +} + +func (x *ProfileItem) GetActiveSocialAccounts() []string { + if x != nil { + return x.ActiveSocialAccounts + } + return nil +} + +func (x *ProfileItem) GetSuspended() bool { + if x != nil { + return x.Suspended + } + return false +} + +// 分页信息 +type Pagination struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + HasMore bool `protobuf:"varint,1,opt,name=hasMore,proto3" json:"hasMore"` + NextCursor string `protobuf:"bytes,2,opt,name=nextCursor,proto3" json:"nextCursor"` + Limit int32 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit"` +} + +func (x *Pagination) Reset() { + *x = Pagination{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Pagination) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Pagination) ProtoMessage() {} + +func (x *Pagination) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 Pagination.ProtoReflect.Descriptor instead. +func (*Pagination) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{18} +} + +func (x *Pagination) GetHasMore() bool { + if x != nil { + return x.HasMore + } + return false +} + +func (x *Pagination) GetNextCursor() string { + if x != nil { + return x.NextCursor + } + return "" +} + +func (x *Pagination) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +// 获取用户配置列表响应 +type GetProfilesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Profiles []*ProfileItem `protobuf:"bytes,1,rep,name=profiles,proto3" json:"profiles"` + Count int32 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` + LastUpdated string `protobuf:"bytes,3,opt,name=lastUpdated,proto3" json:"lastUpdated"` + NextUpdate string `protobuf:"bytes,4,opt,name=nextUpdate,proto3" json:"nextUpdate"` + Pagination *Pagination `protobuf:"bytes,5,opt,name=pagination,proto3" json:"pagination"` +} + +func (x *GetProfilesResponse) Reset() { + *x = GetProfilesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetProfilesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetProfilesResponse) ProtoMessage() {} + +func (x *GetProfilesResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 GetProfilesResponse.ProtoReflect.Descriptor instead. +func (*GetProfilesResponse) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{19} +} + +func (x *GetProfilesResponse) GetProfiles() []*ProfileItem { + if x != nil { + return x.Profiles + } + return nil +} + +func (x *GetProfilesResponse) GetCount() int32 { + if x != nil { + return x.Count + } + return 0 +} + +func (x *GetProfilesResponse) GetLastUpdated() string { + if x != nil { + return x.LastUpdated + } + return "" +} + +func (x *GetProfilesResponse) GetNextUpdate() string { + if x != nil { + return x.NextUpdate + } + return "" +} + +func (x *GetProfilesResponse) GetPagination() *Pagination { + if x != nil { + return x.Pagination + } + return nil +} + +// 邮件配置对象 +type Email struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + To string `protobuf:"bytes,1,opt,name=to,proto3" json:"to"` + Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject"` + Body string `protobuf:"bytes,3,opt,name=body,proto3" json:"body"` +} + +func (x *Email) Reset() { + *x = Email{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Email) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Email) ProtoMessage() {} + +func (x *Email) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 Email.ProtoReflect.Descriptor instead. +func (*Email) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{20} +} + +func (x *Email) GetTo() string { + if x != nil { + return x.To + } + return "" +} + +func (x *Email) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *Email) GetBody() string { + if x != nil { + return x.Body + } + return "" +} + +// 生成JWT请求 +type GenerateJWTRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain"` + PrivateKey string `protobuf:"bytes,2,opt,name=privateKey,proto3" json:"privateKey"` + ProfileKey string `protobuf:"bytes,3,opt,name=profileKey,proto3" json:"profileKey"` + Logout bool `protobuf:"varint,4,opt,name=logout,proto3" json:"logout"` + Redirect string `protobuf:"bytes,5,opt,name=redirect,proto3" json:"redirect"` + AllowedSocial []string `protobuf:"bytes,6,rep,name=allowedSocial,proto3" json:"allowedSocial"` + Verify bool `protobuf:"varint,7,opt,name=verify,proto3" json:"verify"` + Base64 bool `protobuf:"varint,8,opt,name=base64,proto3" json:"base64"` + ExpiresIn int32 `protobuf:"varint,9,opt,name=expiresIn,proto3" json:"expiresIn"` + Email *Email `protobuf:"bytes,10,opt,name=email,proto3" json:"email"` +} + +func (x *GenerateJWTRequest) Reset() { + *x = GenerateJWTRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GenerateJWTRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateJWTRequest) ProtoMessage() {} + +func (x *GenerateJWTRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 GenerateJWTRequest.ProtoReflect.Descriptor instead. +func (*GenerateJWTRequest) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{21} +} + +func (x *GenerateJWTRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *GenerateJWTRequest) GetPrivateKey() string { + if x != nil { + return x.PrivateKey + } + return "" +} + +func (x *GenerateJWTRequest) GetProfileKey() string { + if x != nil { + return x.ProfileKey + } + return "" +} + +func (x *GenerateJWTRequest) GetLogout() bool { + if x != nil { + return x.Logout + } + return false +} + +func (x *GenerateJWTRequest) GetRedirect() string { + if x != nil { + return x.Redirect + } + return "" +} + +func (x *GenerateJWTRequest) GetAllowedSocial() []string { + if x != nil { + return x.AllowedSocial + } + return nil +} + +func (x *GenerateJWTRequest) GetVerify() bool { + if x != nil { + return x.Verify + } + return false +} + +func (x *GenerateJWTRequest) GetBase64() bool { + if x != nil { + return x.Base64 + } + return false +} + +func (x *GenerateJWTRequest) GetExpiresIn() int32 { + if x != nil { + return x.ExpiresIn + } + return 0 +} + +func (x *GenerateJWTRequest) GetEmail() *Email { + if x != nil { + return x.Email + } + return nil +} + +// 生成JWT响应 +type GenerateJWTResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` + Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token"` + Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url"` + EmailSent bool `protobuf:"varint,5,opt,name=emailSent,proto3" json:"emailSent"` + ExpiresIn string `protobuf:"bytes,6,opt,name=expiresIn,proto3" json:"expiresIn"` +} + +func (x *GenerateJWTResponse) Reset() { + *x = GenerateJWTResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GenerateJWTResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateJWTResponse) ProtoMessage() {} + +func (x *GenerateJWTResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 GenerateJWTResponse.ProtoReflect.Descriptor instead. +func (*GenerateJWTResponse) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{22} +} + +func (x *GenerateJWTResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *GenerateJWTResponse) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *GenerateJWTResponse) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +func (x *GenerateJWTResponse) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *GenerateJWTResponse) GetEmailSent() bool { + if x != nil { + return x.EmailSent + } + return false +} + +func (x *GenerateJWTResponse) GetExpiresIn() string { + if x != nil { + return x.ExpiresIn + } + return "" +} + +var File_pb_ayrshare_proto protoreflect.FileDescriptor + +var file_pb_ayrshare_proto_rawDesc = []byte{ + 0x0a, 0x11, 0x70, 0x62, 0x2f, 0x61, 0x79, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x1a, 0x13, 0x70, + 0x62, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x12, 0x70, 0x62, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x41, 0x0a, 0x07, 0x55, 0x73, 0x65, 0x72, 0x54, 0x61, + 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0c, 0x0a, + 0x01, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x79, 0x22, 0x93, 0x03, 0x0a, 0x10, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, + 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x65, 0x6c, 0x73, 0x46, 0x65, 0x65, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x65, + 0x6c, 0x73, 0x46, 0x65, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x6f, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x4e, 0x61, 0x69, + 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x4e, 0x61, + 0x69, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x4e, 0x61, 0x69, 0x6c, 0x4f, + 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x74, 0x68, 0x75, + 0x6d, 0x62, 0x4e, 0x61, 0x69, 0x6c, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, + 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x6c, 0x74, 0x54, 0x65, 0x78, + 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x61, 0x6c, 0x74, 0x54, 0x65, 0x78, 0x74, + 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x2d, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x55, 0x73, + 0x65, 0x72, 0x54, 0x61, 0x67, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x12, + 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, + 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x52, + 0x65, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, + 0xdd, 0x03, 0x0a, 0x0d, 0x54, 0x69, 0x6b, 0x54, 0x6f, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x41, 0x64, 0x64, 0x4d, 0x75, 0x73, 0x69, + 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x41, 0x64, 0x64, + 0x4d, 0x75, 0x73, 0x69, 0x63, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, + 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x75, 0x65, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x75, 0x65, + 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x69, 0x74, + 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x72, 0x61, 0x66, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x64, 0x72, 0x61, 0x66, 0x74, 0x12, 0x24, 0x0a, + 0x0d, 0x69, 0x73, 0x41, 0x49, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x41, 0x49, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x69, 0x73, 0x42, 0x72, 0x61, 0x6e, 0x64, 0x65, 0x64, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, + 0x73, 0x42, 0x72, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, + 0x26, 0x0a, 0x0e, 0x69, 0x73, 0x42, 0x72, 0x61, 0x6e, 0x64, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x42, 0x72, 0x61, 0x6e, 0x64, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x63, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x43, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, + 0x4e, 0x61, 0x69, 0x6c, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x4e, 0x61, 0x69, 0x6c, 0x4f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x4e, 0x61, 0x69, 0x6c, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x4e, 0x61, 0x69, 0x6c, 0x12, + 0x1e, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x22, + 0x89, 0x04, 0x0a, 0x0b, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x32, 0x0a, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe2, + 0xdf, 0x1f, 0x1a, 0x2a, 0x16, 0x70, 0x6f, 0x73, 0x74, 0xe5, 0x86, 0x85, 0xe5, 0xae, 0xb9, 0xe4, + 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x04, 0x70, + 0x6f, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x29, 0xe2, 0xdf, 0x1f, 0x25, 0x2a, 0x21, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0xe5, 0xb9, 0xb3, 0xe5, 0x8f, 0xb0, 0xe5, 0x88, 0x97, + 0xe8, 0xa1, 0xa8, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x60, + 0x01, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x12, 0x1c, 0x0a, 0x09, + 0x6d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x72, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x72, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x56, + 0x69, 0x64, 0x65, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x44, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x65, + 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x46, 0x0a, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, + 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x67, + 0x72, 0x61, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x0a, 0x0d, + 0x74, 0x69, 0x6b, 0x54, 0x6f, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, + 0x69, 0x6b, 0x54, 0x6f, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0d, 0x74, 0x69, + 0x6b, 0x54, 0x6f, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x70, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x22, 0xa4, 0x02, 0x0a, 0x06, + 0x50, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, + 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, + 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, + 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6e, + 0x64, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6e, 0x64, 0x65, 0x64, + 0x12, 0x18, 0x0a, 0x07, 0x69, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x69, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x56, + 0x69, 0x64, 0x65, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x64, 0x51, 0x75, 0x6f, 0x74, + 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x75, 0x73, 0x65, 0x64, 0x51, 0x75, 0x6f, + 0x74, 0x61, 0x22, 0xe0, 0x01, 0x0a, 0x08, 0x50, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, + 0x2a, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x74, + 0x49, 0x64, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, + 0x65, 0x66, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x66, 0x49, + 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x69, 0x74, 0x6c, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x69, 0x6b, + 0x54, 0x6f, 0x6b, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x69, 0x6b, + 0x54, 0x6f, 0x6b, 0x49, 0x64, 0x22, 0xc3, 0x01, 0x0a, 0x0c, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, + 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, + 0x6d, 0x52, 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, + 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x6f, 0x73, + 0x74, 0x49, 0x64, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x73, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0b, + 0x69, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x22, 0x5e, 0x0a, 0x0e, 0x47, + 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, 0xe2, 0xdf, 0x1f, 0x18, 0x2a, + 0x14, 0xe5, 0xb8, 0x96, 0xe5, 0xad, 0x90, 0x49, 0x44, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, + 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x22, 0xfd, 0x02, 0x0a, 0x0f, + 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x72, 0x6c, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x72, 0x6c, 0x73, 0x12, + 0x1c, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x73, + 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x6f, + 0x73, 0x74, 0x49, 0x64, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x73, 0x12, 0x22, 0x0a, + 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x69, 0x74, 0x6c, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x5c, 0x0a, 0x0e, 0x47, + 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, + 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x2a, 0x0a, + 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, + 0x61, 0x6d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x5b, 0x0a, 0x09, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, + 0x73, 0x12, 0x21, 0x0a, 0x0b, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x74, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x75, 0x74, 0x63, 0x22, 0x7a, 0x0a, 0x0c, 0x54, 0x77, 0x69, 0x74, 0x74, 0x65, + 0x72, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, + 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x6f, + 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x6f, + 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x22, + 0x0a, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x52, 0x65, 0x73, + 0x65, 0x74, 0x22, 0xb5, 0x06, 0x0a, 0x0b, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, + 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, + 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, + 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x70, 0x73, 0x55, 0x72, 0x6c, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x73, 0x55, 0x72, 0x6c, 0x12, 0x18, + 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x76, 0x69, + 0x65, 0x77, 0x55, 0x72, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x76, + 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x67, 0x49, 0x64, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x67, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x75, 0x73, 0x65, 0x64, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x75, 0x73, 0x65, 0x64, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x14, + 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x44, 0x61, 0x79, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, + 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x72, 0x65, 0x66, 0x72, + 0x65, 0x73, 0x68, 0x44, 0x61, 0x79, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, + 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x66, 0x72, 0x65, + 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x42, 0x0a, 0x1c, 0x69, 0x73, + 0x45, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x47, 0x65, 0x6f, 0x52, 0x65, + 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x1c, 0x69, 0x73, 0x45, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x47, + 0x65, 0x6f, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, + 0x0a, 0x0a, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x2a, + 0x0a, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x74, 0x77, + 0x69, 0x74, 0x74, 0x65, 0x72, 0x55, 0x73, 0x61, 0x67, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, 0x77, 0x69, 0x74, + 0x74, 0x65, 0x72, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x74, 0x77, 0x69, 0x74, 0x74, 0x65, + 0x72, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x65, + 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x22, 0x85, 0x05, 0x0a, 0x0f, 0x47, + 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, + 0x0a, 0x14, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x12, 0x2d, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x12, 0x39, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0c, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, + 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, + 0x69, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x41, 0x70, 0x69, 0x43, 0x61, 0x6c, + 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x41, 0x70, 0x69, + 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x4c, 0x0a, 0x21, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, + 0x67, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x6e, + 0x74, 0x68, 0x6c, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x21, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x28, + 0x0a, 0x0f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x41, 0x70, 0x69, 0x43, 0x61, 0x6c, 0x6c, + 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, + 0x41, 0x70, 0x69, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x6f, 0x6e, 0x74, + 0x68, 0x6c, 0x79, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x10, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x6f, 0x73, 0x74, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, + 0x6f, 0x73, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, + 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x6f, 0x73, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, + 0x12, 0x32, 0x0a, 0x14, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x41, 0x70, 0x69, 0x43, 0x61, + 0x6c, 0x6c, 0x73, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, + 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x41, 0x70, 0x69, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x51, + 0x75, 0x6f, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, + 0x74, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x22, 0xb7, 0x02, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x05, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x19, 0xe2, 0xdf, 0x1f, 0x15, + 0x2a, 0x11, 0x74, 0x69, 0x74, 0x6c, 0x65, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, + 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x0f, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, + 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x68, 0x69, 0x64, 0x65, 0x54, 0x6f, + 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x68, + 0x69, 0x64, 0x65, 0x54, 0x6f, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, + 0x74, 0x6f, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x74, 0x6f, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, + 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, + 0x74, 0x65, 0x61, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, + 0x62, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, + 0x75, 0x62, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, + 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0xa5, 0x01, 0x0a, + 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, + 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, + 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x22, 0xc7, 0x02, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x17, 0x68, 0x61, 0x73, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x68, 0x61, 0x73, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x12, 0x42, 0x0a, 0x1c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x1c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, + 0x6f, 0x67, 0x42, 0x6f, 0x6f, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0d, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x24, 0x0a, + 0x0c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, + 0x49, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, + 0x73, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, + 0x72, 0x42, 0x0b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x22, 0x96, + 0x02, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x22, 0x0a, 0x0c, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x69, 0x74, 0x6c, 0x65, + 0x12, 0x2d, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, + 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x54, 0x43, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x54, 0x43, 0x12, + 0x14, 0x0a, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x72, 0x65, 0x66, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x14, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x14, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, + 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x73, + 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x75, + 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x22, 0x5c, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x61, 0x73, 0x4d, 0x6f, 0x72, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x68, 0x61, 0x73, 0x4d, 0x6f, 0x72, 0x65, 0x12, + 0x1e, 0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, + 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xd6, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, + 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, + 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x73, + 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, + 0x78, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, + 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x45, + 0x0a, 0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x97, 0x03, 0x0a, 0x12, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x4a, 0x57, 0x54, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x06, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0xe2, 0xdf, + 0x1f, 0x16, 0x2a, 0x12, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, + 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x12, 0x3e, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe2, 0xdf, 0x1f, 0x1a, 0x2a, 0x16, 0x70, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, + 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, + 0x12, 0x3e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe2, 0xdf, 0x1f, 0x1a, 0x2a, 0x16, 0x70, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, + 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, + 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x06, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x6c, + 0x6f, 0x77, 0x65, 0x64, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x65, + 0x72, 0x69, 0x66, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x76, 0x65, 0x72, 0x69, + 0x66, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x06, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x12, 0x25, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, + 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, + 0xa7, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x57, 0x54, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, + 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1c, 0x0a, + 0x09, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x53, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x09, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x53, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x32, 0xab, 0x03, 0x0a, 0x08, 0x41, 0x79, + 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x15, + 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, + 0x07, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, + 0x74, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, + 0x07, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x18, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, + 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1e, + 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, + 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x4a, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x1c, + 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, + 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0b, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x57, 0x54, 0x12, 0x1c, 0x2e, 0x61, 0x72, 0x79, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x57, + 0x54, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x57, 0x54, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x61, 0x72, 0x79, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_pb_ayrshare_proto_rawDescOnce sync.Once + file_pb_ayrshare_proto_rawDescData = file_pb_ayrshare_proto_rawDesc +) + +func file_pb_ayrshare_proto_rawDescGZIP() []byte { + file_pb_ayrshare_proto_rawDescOnce.Do(func() { + file_pb_ayrshare_proto_rawDescData = protoimpl.X.CompressGZIP(file_pb_ayrshare_proto_rawDescData) + }) + return file_pb_ayrshare_proto_rawDescData +} + +var file_pb_ayrshare_proto_msgTypes = make([]protoimpl.MessageInfo, 23) +var file_pb_ayrshare_proto_goTypes = []interface{}{ + (*UserTag)(nil), // 0: aryshare.UserTag + (*InstagramOptions)(nil), // 1: aryshare.InstagramOptions + (*TikTokOptions)(nil), // 2: aryshare.TikTokOptions + (*PostRequest)(nil), // 3: aryshare.PostRequest + (*PostId)(nil), // 4: aryshare.PostId + (*PostItem)(nil), // 5: aryshare.PostItem + (*PostResponse)(nil), // 6: aryshare.PostResponse + (*GetPostRequest)(nil), // 7: aryshare.GetPostRequest + (*GetPostResponse)(nil), // 8: aryshare.GetPostResponse + (*GetUserRequest)(nil), // 9: aryshare.GetUserRequest + (*Timestamp)(nil), // 10: aryshare.Timestamp + (*TwitterUsage)(nil), // 11: aryshare.TwitterUsage + (*DisplayName)(nil), // 12: aryshare.DisplayName + (*GetUserResponse)(nil), // 13: aryshare.GetUserResponse + (*CreateProfileRequest)(nil), // 14: aryshare.CreateProfileRequest + (*CreateProfileResponse)(nil), // 15: aryshare.CreateProfileResponse + (*GetProfilesRequest)(nil), // 16: aryshare.GetProfilesRequest + (*ProfileItem)(nil), // 17: aryshare.ProfileItem + (*Pagination)(nil), // 18: aryshare.Pagination + (*GetProfilesResponse)(nil), // 19: aryshare.GetProfilesResponse + (*Email)(nil), // 20: aryshare.Email + (*GenerateJWTRequest)(nil), // 21: aryshare.GenerateJWTRequest + (*GenerateJWTResponse)(nil), // 22: aryshare.GenerateJWTResponse +} +var file_pb_ayrshare_proto_depIdxs = []int32{ + 0, // 0: aryshare.InstagramOptions.userTags:type_name -> aryshare.UserTag + 1, // 1: aryshare.PostRequest.instagramOptions:type_name -> aryshare.InstagramOptions + 2, // 2: aryshare.PostRequest.tikTokOptions:type_name -> aryshare.TikTokOptions + 4, // 3: aryshare.PostItem.postIds:type_name -> aryshare.PostId + 5, // 4: aryshare.PostResponse.posts:type_name -> aryshare.PostItem + 4, // 5: aryshare.PostResponse.postIds:type_name -> aryshare.PostId + 4, // 6: aryshare.GetPostResponse.postIds:type_name -> aryshare.PostId + 11, // 7: aryshare.DisplayName.twitterUsage:type_name -> aryshare.TwitterUsage + 10, // 8: aryshare.GetUserResponse.created:type_name -> aryshare.Timestamp + 12, // 9: aryshare.GetUserResponse.displayNames:type_name -> aryshare.DisplayName + 10, // 10: aryshare.ProfileItem.created:type_name -> aryshare.Timestamp + 17, // 11: aryshare.GetProfilesResponse.profiles:type_name -> aryshare.ProfileItem + 18, // 12: aryshare.GetProfilesResponse.pagination:type_name -> aryshare.Pagination + 20, // 13: aryshare.GenerateJWTRequest.email:type_name -> aryshare.Email + 3, // 14: aryshare.Ayrshare.Post:input_type -> aryshare.PostRequest + 7, // 15: aryshare.Ayrshare.GetPost:input_type -> aryshare.GetPostRequest + 9, // 16: aryshare.Ayrshare.GetUser:input_type -> aryshare.GetUserRequest + 14, // 17: aryshare.Ayrshare.CreateProfile:input_type -> aryshare.CreateProfileRequest + 16, // 18: aryshare.Ayrshare.GetProfiles:input_type -> aryshare.GetProfilesRequest + 21, // 19: aryshare.Ayrshare.GenerateJWT:input_type -> aryshare.GenerateJWTRequest + 6, // 20: aryshare.Ayrshare.Post:output_type -> aryshare.PostResponse + 8, // 21: aryshare.Ayrshare.GetPost:output_type -> aryshare.GetPostResponse + 13, // 22: aryshare.Ayrshare.GetUser:output_type -> aryshare.GetUserResponse + 15, // 23: aryshare.Ayrshare.CreateProfile:output_type -> aryshare.CreateProfileResponse + 19, // 24: aryshare.Ayrshare.GetProfiles:output_type -> aryshare.GetProfilesResponse + 22, // 25: aryshare.Ayrshare.GenerateJWT:output_type -> aryshare.GenerateJWTResponse + 20, // [20:26] is the sub-list for method output_type + 14, // [14:20] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name +} + +func init() { file_pb_ayrshare_proto_init() } +func file_pb_ayrshare_proto_init() { + if File_pb_ayrshare_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_pb_ayrshare_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserTag); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InstagramOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TikTokOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostId); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPostRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPostResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[9].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_pb_ayrshare_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Timestamp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TwitterUsage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisplayName); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUserResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateProfileRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateProfileResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetProfilesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProfileItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Pagination); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetProfilesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Email); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenerateJWTRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenerateJWTResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_pb_ayrshare_proto_msgTypes[16].OneofWrappers = []interface{}{ + (*GetProfilesRequest_ActionLogBool)(nil), + (*GetProfilesRequest_ActionLogInt)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_pb_ayrshare_proto_rawDesc, + NumEnums: 0, + NumMessages: 23, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_pb_ayrshare_proto_goTypes, + DependencyIndexes: file_pb_ayrshare_proto_depIdxs, + MessageInfos: file_pb_ayrshare_proto_msgTypes, + }.Build() + File_pb_ayrshare_proto = out.File + file_pb_ayrshare_proto_rawDesc = nil + file_pb_ayrshare_proto_goTypes = nil + file_pb_ayrshare_proto_depIdxs = nil +} diff --git a/api/aryshare/ayrshare.validator.pb.go b/api/aryshare/ayrshare.validator.pb.go new file mode 100644 index 0000000..6cc7e5a --- /dev/null +++ b/api/aryshare/ayrshare.validator.pb.go @@ -0,0 +1,194 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: pb/ayrshare.proto + +package aryshare + +import ( + fmt "fmt" + math "math" + + proto "github.com/golang/protobuf/proto" + _ "github.com/mwitkow/go-proto-validators" + github_com_mwitkow_go_proto_validators "github.com/mwitkow/go-proto-validators" + _ "google.golang.org/protobuf/types/descriptorpb" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +func (this *UserTag) Validate() error { + return nil +} +func (this *InstagramOptions) Validate() error { + for _, item := range this.UserTags { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("UserTags", err) + } + } + } + return nil +} +func (this *TikTokOptions) Validate() error { + return nil +} +func (this *PostRequest) Validate() error { + if this.Post == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Post", fmt.Errorf(`post内容不能为空`)) + } + if len(this.Platforms) < 1 { + return github_com_mwitkow_go_proto_validators.FieldError("Platforms", fmt.Errorf(`platforms平台列表不能为空`)) + } + if this.InstagramOptions != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.InstagramOptions); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("InstagramOptions", err) + } + } + if this.TikTokOptions != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.TikTokOptions); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("TikTokOptions", err) + } + } + return nil +} +func (this *PostId) Validate() error { + return nil +} +func (this *PostItem) Validate() error { + for _, item := range this.PostIds { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("PostIds", err) + } + } + } + return nil +} +func (this *PostResponse) Validate() error { + for _, item := range this.Posts { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Posts", err) + } + } + } + for _, item := range this.PostIds { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("PostIds", err) + } + } + } + return nil +} +func (this *GetPostRequest) Validate() error { + if this.Id == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Id", fmt.Errorf(`帖子ID不能为空`)) + } + return nil +} +func (this *GetPostResponse) Validate() error { + for _, item := range this.PostIds { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("PostIds", err) + } + } + } + return nil +} +func (this *GetUserRequest) Validate() error { + return nil +} +func (this *Timestamp) Validate() error { + return nil +} +func (this *TwitterUsage) Validate() error { + return nil +} +func (this *DisplayName) Validate() error { + if this.TwitterUsage != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.TwitterUsage); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("TwitterUsage", err) + } + } + return nil +} +func (this *GetUserResponse) Validate() error { + if this.Created != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Created); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Created", err) + } + } + for _, item := range this.DisplayNames { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("DisplayNames", err) + } + } + } + return nil +} +func (this *CreateProfileRequest) Validate() error { + if this.Title == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Title", fmt.Errorf(`title不能为空`)) + } + return nil +} +func (this *CreateProfileResponse) Validate() error { + return nil +} +func (this *GetProfilesRequest) Validate() error { + return nil +} +func (this *ProfileItem) Validate() error { + if this.Created != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Created); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Created", err) + } + } + return nil +} +func (this *Pagination) Validate() error { + return nil +} +func (this *GetProfilesResponse) Validate() error { + for _, item := range this.Profiles { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Profiles", err) + } + } + } + if this.Pagination != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Pagination); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Pagination", err) + } + } + return nil +} +func (this *Email) Validate() error { + return nil +} +func (this *GenerateJWTRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`domain不能为空`)) + } + if this.PrivateKey == "" { + return github_com_mwitkow_go_proto_validators.FieldError("PrivateKey", fmt.Errorf(`privateKey不能为空`)) + } + if this.ProfileKey == "" { + return github_com_mwitkow_go_proto_validators.FieldError("ProfileKey", fmt.Errorf(`profileKey不能为空`)) + } + if this.Email != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Email); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Email", err) + } + } + return nil +} +func (this *GenerateJWTResponse) Validate() error { + return nil +} diff --git a/api/aryshare/ayrshare_triple.pb.go b/api/aryshare/ayrshare_triple.pb.go new file mode 100644 index 0000000..456bf96 --- /dev/null +++ b/api/aryshare/ayrshare_triple.pb.go @@ -0,0 +1,378 @@ +// Code generated by protoc-gen-go-triple. DO NOT EDIT. +// versions: +// - protoc-gen-go-triple v1.0.8 +// - protoc v3.21.1 +// source: pb/ayrshare.proto + +package aryshare + +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 + +// AyrshareClient is the client API for Ayrshare 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 AyrshareClient interface { + // 帖子相关 api + Post(ctx context.Context, in *PostRequest, opts ...grpc_go.CallOption) (*PostResponse, common.ErrorWithAttachment) + GetPost(ctx context.Context, in *GetPostRequest, opts ...grpc_go.CallOption) (*GetPostResponse, common.ErrorWithAttachment) + // 用户相关 api + GetUser(ctx context.Context, in *GetUserRequest, opts ...grpc_go.CallOption) (*GetUserResponse, common.ErrorWithAttachment) + // 用户配置相关 api + CreateProfile(ctx context.Context, in *CreateProfileRequest, opts ...grpc_go.CallOption) (*CreateProfileResponse, common.ErrorWithAttachment) + GetProfiles(ctx context.Context, in *GetProfilesRequest, opts ...grpc_go.CallOption) (*GetProfilesResponse, common.ErrorWithAttachment) + GenerateJWT(ctx context.Context, in *GenerateJWTRequest, opts ...grpc_go.CallOption) (*GenerateJWTResponse, common.ErrorWithAttachment) +} + +type ayrshareClient struct { + cc *triple.TripleConn +} + +type AyrshareClientImpl struct { + Post func(ctx context.Context, in *PostRequest) (*PostResponse, error) + GetPost func(ctx context.Context, in *GetPostRequest) (*GetPostResponse, error) + GetUser func(ctx context.Context, in *GetUserRequest) (*GetUserResponse, error) + CreateProfile func(ctx context.Context, in *CreateProfileRequest) (*CreateProfileResponse, error) + GetProfiles func(ctx context.Context, in *GetProfilesRequest) (*GetProfilesResponse, error) + GenerateJWT func(ctx context.Context, in *GenerateJWTRequest) (*GenerateJWTResponse, error) +} + +func (c *AyrshareClientImpl) GetDubboStub(cc *triple.TripleConn) AyrshareClient { + return NewAyrshareClient(cc) +} + +func (c *AyrshareClientImpl) XXX_InterfaceName() string { + return "aryshare.Ayrshare" +} + +func NewAyrshareClient(cc *triple.TripleConn) AyrshareClient { + return &ayrshareClient{cc} +} + +func (c *ayrshareClient) Post(ctx context.Context, in *PostRequest, opts ...grpc_go.CallOption) (*PostResponse, common.ErrorWithAttachment) { + out := new(PostResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Post", in, out) +} + +func (c *ayrshareClient) GetPost(ctx context.Context, in *GetPostRequest, opts ...grpc_go.CallOption) (*GetPostResponse, common.ErrorWithAttachment) { + out := new(GetPostResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetPost", in, out) +} + +func (c *ayrshareClient) GetUser(ctx context.Context, in *GetUserRequest, opts ...grpc_go.CallOption) (*GetUserResponse, common.ErrorWithAttachment) { + out := new(GetUserResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetUser", in, out) +} + +func (c *ayrshareClient) CreateProfile(ctx context.Context, in *CreateProfileRequest, opts ...grpc_go.CallOption) (*CreateProfileResponse, common.ErrorWithAttachment) { + out := new(CreateProfileResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateProfile", in, out) +} + +func (c *ayrshareClient) GetProfiles(ctx context.Context, in *GetProfilesRequest, opts ...grpc_go.CallOption) (*GetProfilesResponse, common.ErrorWithAttachment) { + out := new(GetProfilesResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetProfiles", in, out) +} + +func (c *ayrshareClient) GenerateJWT(ctx context.Context, in *GenerateJWTRequest, opts ...grpc_go.CallOption) (*GenerateJWTResponse, common.ErrorWithAttachment) { + out := new(GenerateJWTResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GenerateJWT", in, out) +} + +// AyrshareServer is the server API for Ayrshare service. +// All implementations must embed UnimplementedAyrshareServer +// for forward compatibility +type AyrshareServer interface { + // 帖子相关 api + Post(context.Context, *PostRequest) (*PostResponse, error) + GetPost(context.Context, *GetPostRequest) (*GetPostResponse, error) + // 用户相关 api + GetUser(context.Context, *GetUserRequest) (*GetUserResponse, error) + // 用户配置相关 api + CreateProfile(context.Context, *CreateProfileRequest) (*CreateProfileResponse, error) + GetProfiles(context.Context, *GetProfilesRequest) (*GetProfilesResponse, error) + GenerateJWT(context.Context, *GenerateJWTRequest) (*GenerateJWTResponse, error) + mustEmbedUnimplementedAyrshareServer() +} + +// UnimplementedAyrshareServer must be embedded to have forward compatible implementations. +type UnimplementedAyrshareServer struct { + proxyImpl protocol.Invoker +} + +func (UnimplementedAyrshareServer) Post(context.Context, *PostRequest) (*PostResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Post not implemented") +} +func (UnimplementedAyrshareServer) GetPost(context.Context, *GetPostRequest) (*GetPostResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPost not implemented") +} +func (UnimplementedAyrshareServer) GetUser(context.Context, *GetUserRequest) (*GetUserResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetUser not implemented") +} +func (UnimplementedAyrshareServer) CreateProfile(context.Context, *CreateProfileRequest) (*CreateProfileResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateProfile not implemented") +} +func (UnimplementedAyrshareServer) GetProfiles(context.Context, *GetProfilesRequest) (*GetProfilesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetProfiles not implemented") +} +func (UnimplementedAyrshareServer) GenerateJWT(context.Context, *GenerateJWTRequest) (*GenerateJWTResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GenerateJWT not implemented") +} +func (s *UnimplementedAyrshareServer) XXX_SetProxyImpl(impl protocol.Invoker) { + s.proxyImpl = impl +} + +func (s *UnimplementedAyrshareServer) XXX_GetProxyImpl() protocol.Invoker { + return s.proxyImpl +} + +func (s *UnimplementedAyrshareServer) XXX_ServiceDesc() *grpc_go.ServiceDesc { + return &Ayrshare_ServiceDesc +} +func (s *UnimplementedAyrshareServer) XXX_InterfaceName() string { + return "aryshare.Ayrshare" +} + +func (UnimplementedAyrshareServer) mustEmbedUnimplementedAyrshareServer() {} + +// UnsafeAyrshareServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to AyrshareServer will +// result in compilation errors. +type UnsafeAyrshareServer interface { + mustEmbedUnimplementedAyrshareServer() +} + +func RegisterAyrshareServer(s grpc_go.ServiceRegistrar, srv AyrshareServer) { + s.RegisterService(&Ayrshare_ServiceDesc, srv) +} + +func _Ayrshare_Post_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(PostRequest) + 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("Post", 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 _Ayrshare_GetPost_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetPostRequest) + 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("GetPost", 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 _Ayrshare_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 _Ayrshare_CreateProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateProfileRequest) + 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("CreateProfile", 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 _Ayrshare_GetProfiles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetProfilesRequest) + 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("GetProfiles", 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 _Ayrshare_GenerateJWT_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GenerateJWTRequest) + 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("GenerateJWT", 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) +} + +// Ayrshare_ServiceDesc is the grpc_go.ServiceDesc for Ayrshare service. +// It's only intended for direct use with grpc_go.RegisterService, +// and not to be introspected or modified (even as a copy) +var Ayrshare_ServiceDesc = grpc_go.ServiceDesc{ + ServiceName: "aryshare.Ayrshare", + HandlerType: (*AyrshareServer)(nil), + Methods: []grpc_go.MethodDesc{ + { + MethodName: "Post", + Handler: _Ayrshare_Post_Handler, + }, + { + MethodName: "GetPost", + Handler: _Ayrshare_GetPost_Handler, + }, + { + MethodName: "GetUser", + Handler: _Ayrshare_GetUser_Handler, + }, + { + MethodName: "CreateProfile", + Handler: _Ayrshare_CreateProfile_Handler, + }, + { + MethodName: "GetProfiles", + Handler: _Ayrshare_GetProfiles_Handler, + }, + { + MethodName: "GenerateJWT", + Handler: _Ayrshare_GenerateJWT_Handler, + }, + }, + Streams: []grpc_go.StreamDesc{}, + Metadata: "pb/ayrshare.proto", +} diff --git a/api/cast/cast.pb.go b/api/cast/cast.pb.go index 4910d1a..00a346c 100644 --- a/api/cast/cast.pb.go +++ b/api/cast/cast.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.27.1 -// protoc v3.21.1 +// protoc-gen-go v1.36.7 +// protoc v6.32.0--rc2 // source: pb/fiee/cast.proto package cast @@ -15,6 +15,7 @@ import ( _ "google.golang.org/protobuf/types/known/wrapperspb" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -349,29 +350,26 @@ func (CategoryENUM) EnumDescriptor() ([]byte, []int) { } type MediaUserListReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ArtistVal string `protobuf:"bytes,1,opt,name=artistVal,proto3" json:"artistVal"` - ManagerVal string `protobuf:"bytes,2,opt,name=managerVal,proto3" json:"managerVal"` - PlatformUserName string `protobuf:"bytes,3,opt,name=platformUserName,proto3" json:"platformUserName"` - PlatformID PlatformIDENUM `protobuf:"varint,4,opt,name=platformID,proto3,enum=Cast.PlatformIDENUM" json:"platformID"` - Page int32 `protobuf:"varint,5,opt,name=page,proto3" json:"page"` - PageSize int32 `protobuf:"varint,6,opt,name=pageSize,proto3" json:"pageSize"` - ArtistUuid string `protobuf:"bytes,7,opt,name=artistUuid,proto3" json:"artistUuid"` - CreateStartDate string `protobuf:"bytes,8,opt,name=createStartDate,proto3" json:"createStartDate"` - CreateEndDate string `protobuf:"bytes,9,opt,name=createEndDate,proto3" json:"createEndDate"` - AuthStatus AuthStatusENUM `protobuf:"varint,10,opt,name=authStatus,proto3,enum=Cast.AuthStatusENUM" json:"authStatus"` + state protoimpl.MessageState `protogen:"open.v1"` + ArtistVal string `protobuf:"bytes,1,opt,name=artistVal,proto3" json:"artistVal"` + ManagerVal string `protobuf:"bytes,2,opt,name=managerVal,proto3" json:"managerVal"` + PlatformUserName string `protobuf:"bytes,3,opt,name=platformUserName,proto3" json:"platformUserName"` + PlatformID PlatformIDENUM `protobuf:"varint,4,opt,name=platformID,proto3,enum=Cast.PlatformIDENUM" json:"platformID"` + Page int32 `protobuf:"varint,5,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,6,opt,name=pageSize,proto3" json:"pageSize"` + ArtistUuid string `protobuf:"bytes,7,opt,name=artistUuid,proto3" json:"artistUuid"` + CreateStartDate string `protobuf:"bytes,8,opt,name=createStartDate,proto3" json:"createStartDate"` + CreateEndDate string `protobuf:"bytes,9,opt,name=createEndDate,proto3" json:"createEndDate"` + AuthStatus AuthStatusENUM `protobuf:"varint,10,opt,name=authStatus,proto3,enum=Cast.AuthStatusENUM" json:"authStatus"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MediaUserListReq) Reset() { *x = MediaUserListReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MediaUserListReq) String() string { @@ -382,7 +380,7 @@ func (*MediaUserListReq) ProtoMessage() {} func (x *MediaUserListReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -468,29 +466,26 @@ func (x *MediaUserListReq) GetAuthStatus() AuthStatusENUM { } type MediaUserInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PlatformUserName string `protobuf:"bytes,1,opt,name=platformUserName,proto3" json:"platformUserName"` - PlatformID uint32 `protobuf:"varint,2,opt,name=platformID,proto3" json:"platformID"` - ArtistName string `protobuf:"bytes,3,opt,name=artistName,proto3" json:"artistName"` - ArtistPhone string `protobuf:"bytes,4,opt,name=artistPhone,proto3" json:"artistPhone"` - ArtistUuid string `protobuf:"bytes,5,opt,name=artistUuid,proto3" json:"artistUuid"` - ManagerUserName string `protobuf:"bytes,6,opt,name=managerUserName,proto3" json:"managerUserName"` - ManagerUuid string `protobuf:"bytes,7,opt,name=managerUuid,proto3" json:"managerUuid"` - MediaAccountUuid string `protobuf:"bytes,8,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` - CreatedDate string `protobuf:"bytes,9,opt,name=createdDate,proto3" json:"createdDate"` - AuthStatus AuthStatusENUM `protobuf:"varint,10,opt,name=authStatus,proto3,enum=Cast.AuthStatusENUM" json:"authStatus"` + state protoimpl.MessageState `protogen:"open.v1"` + PlatformUserName string `protobuf:"bytes,1,opt,name=platformUserName,proto3" json:"platformUserName"` + PlatformID uint32 `protobuf:"varint,2,opt,name=platformID,proto3" json:"platformID"` + ArtistName string `protobuf:"bytes,3,opt,name=artistName,proto3" json:"artistName"` + ArtistPhone string `protobuf:"bytes,4,opt,name=artistPhone,proto3" json:"artistPhone"` + ArtistUuid string `protobuf:"bytes,5,opt,name=artistUuid,proto3" json:"artistUuid"` + ManagerUserName string `protobuf:"bytes,6,opt,name=managerUserName,proto3" json:"managerUserName"` + ManagerUuid string `protobuf:"bytes,7,opt,name=managerUuid,proto3" json:"managerUuid"` + MediaAccountUuid string `protobuf:"bytes,8,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` + CreatedDate string `protobuf:"bytes,9,opt,name=createdDate,proto3" json:"createdDate"` + AuthStatus AuthStatusENUM `protobuf:"varint,10,opt,name=authStatus,proto3,enum=Cast.AuthStatusENUM" json:"authStatus"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MediaUserInfo) Reset() { *x = MediaUserInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MediaUserInfo) String() string { @@ -501,7 +496,7 @@ func (*MediaUserInfo) ProtoMessage() {} func (x *MediaUserInfo) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -587,21 +582,18 @@ func (x *MediaUserInfo) GetAuthStatus() AuthStatusENUM { } type MediaUserListResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Data []*MediaUserInfo `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` + Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` unknownFields protoimpl.UnknownFields - - Data []*MediaUserInfo `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` - Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` + sizeCache protoimpl.SizeCache } func (x *MediaUserListResp) Reset() { *x = MediaUserListResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MediaUserListResp) String() string { @@ -612,7 +604,7 @@ func (*MediaUserListResp) ProtoMessage() {} func (x *MediaUserListResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -642,29 +634,26 @@ func (x *MediaUserListResp) GetCount() int64 { } type UpdateMediaAccountReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PlatformID PlatformIDENUM `protobuf:"varint,1,opt,name=platformID,proto3,enum=Cast.PlatformIDENUM" json:"platformID"` - PlatformUserName string `protobuf:"bytes,2,opt,name=platformUserName,proto3" json:"platformUserName"` - PlatformUserID string `protobuf:"bytes,3,opt,name=platformUserID,proto3" json:"platformUserID"` - ArtistUuid string `protobuf:"bytes,4,opt,name=artistUuid,proto3" json:"artistUuid"` - ArtistName string `protobuf:"bytes,5,opt,name=artistName,proto3" json:"artistName"` - ArtistPhone string `protobuf:"bytes,6,opt,name=artistPhone,proto3" json:"artistPhone"` - MediaAccountUuid string `protobuf:"bytes,7,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` - ManagerUuid string `protobuf:"bytes,8,opt,name=managerUuid,proto3" json:"managerUuid"` - ManagerUserName string `protobuf:"bytes,9,opt,name=managerUserName,proto3" json:"managerUserName"` - ArtistPhoneAreaCode string `protobuf:"bytes,10,opt,name=artistPhoneAreaCode,proto3" json:"artistPhoneAreaCode"` + state protoimpl.MessageState `protogen:"open.v1"` + PlatformID PlatformIDENUM `protobuf:"varint,1,opt,name=platformID,proto3,enum=Cast.PlatformIDENUM" json:"platformID"` + PlatformUserName string `protobuf:"bytes,2,opt,name=platformUserName,proto3" json:"platformUserName"` + PlatformUserID string `protobuf:"bytes,3,opt,name=platformUserID,proto3" json:"platformUserID"` + ArtistUuid string `protobuf:"bytes,4,opt,name=artistUuid,proto3" json:"artistUuid"` + ArtistName string `protobuf:"bytes,5,opt,name=artistName,proto3" json:"artistName"` + ArtistPhone string `protobuf:"bytes,6,opt,name=artistPhone,proto3" json:"artistPhone"` + MediaAccountUuid string `protobuf:"bytes,7,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` + ManagerUuid string `protobuf:"bytes,8,opt,name=managerUuid,proto3" json:"managerUuid"` + ManagerUserName string `protobuf:"bytes,9,opt,name=managerUserName,proto3" json:"managerUserName"` + ArtistPhoneAreaCode string `protobuf:"bytes,10,opt,name=artistPhoneAreaCode,proto3" json:"artistPhoneAreaCode"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UpdateMediaAccountReq) Reset() { *x = UpdateMediaAccountReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateMediaAccountReq) String() string { @@ -675,7 +664,7 @@ func (*UpdateMediaAccountReq) ProtoMessage() {} func (x *UpdateMediaAccountReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -761,20 +750,17 @@ func (x *UpdateMediaAccountReq) GetArtistPhoneAreaCode() string { } type UpdateMediaAccountResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MediaAccountUuid string `protobuf:"bytes,1,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` + state protoimpl.MessageState `protogen:"open.v1"` + MediaAccountUuid string `protobuf:"bytes,1,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UpdateMediaAccountResp) Reset() { *x = UpdateMediaAccountResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateMediaAccountResp) String() string { @@ -785,7 +771,7 @@ func (*UpdateMediaAccountResp) ProtoMessage() {} func (x *UpdateMediaAccountResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -809,20 +795,17 @@ func (x *UpdateMediaAccountResp) GetMediaAccountUuid() string { // UnbindManager type UnbindManagerReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MediaAccountUuid string `protobuf:"bytes,1,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` + state protoimpl.MessageState `protogen:"open.v1"` + MediaAccountUuid string `protobuf:"bytes,1,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UnbindManagerReq) Reset() { *x = UnbindManagerReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UnbindManagerReq) String() string { @@ -833,7 +816,7 @@ func (*UnbindManagerReq) ProtoMessage() {} func (x *UnbindManagerReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -856,20 +839,17 @@ func (x *UnbindManagerReq) GetMediaAccountUuid() string { } type UnbindManagerResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OldBindArtistUuid string `protobuf:"bytes,1,opt,name=oldBindArtistUuid,proto3" json:"oldBindArtistUuid"` + state protoimpl.MessageState `protogen:"open.v1"` + OldBindArtistUuid string `protobuf:"bytes,1,opt,name=oldBindArtistUuid,proto3" json:"oldBindArtistUuid"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UnbindManagerResp) Reset() { *x = UnbindManagerResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UnbindManagerResp) String() string { @@ -880,7 +860,7 @@ func (*UnbindManagerResp) ProtoMessage() {} func (x *UnbindManagerResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -903,22 +883,19 @@ func (x *UnbindManagerResp) GetOldBindArtistUuid() string { } type BindManagerReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MediaAccountUuid string `protobuf:"bytes,1,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` - ManagerUuid string `protobuf:"bytes,2,opt,name=managerUuid,proto3" json:"managerUuid"` - ManagerUserName string `protobuf:"bytes,3,opt,name=managerUserName,proto3" json:"managerUserName"` + state protoimpl.MessageState `protogen:"open.v1"` + MediaAccountUuid string `protobuf:"bytes,1,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` + ManagerUuid string `protobuf:"bytes,2,opt,name=managerUuid,proto3" json:"managerUuid"` + ManagerUserName string `protobuf:"bytes,3,opt,name=managerUserName,proto3" json:"managerUserName"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BindManagerReq) Reset() { *x = BindManagerReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BindManagerReq) String() string { @@ -929,7 +906,7 @@ func (*BindManagerReq) ProtoMessage() {} func (x *BindManagerReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -967,39 +944,36 @@ func (x *BindManagerReq) GetManagerUserName() string { // UpdateWorkImage type UpdateWorkImageReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title"` - Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content"` - Images []string `protobuf:"bytes,3,rep,name=images,proto3" json:"images"` - MediaAccountUuids []string `protobuf:"bytes,4,rep,name=mediaAccountUuids,proto3" json:"mediaAccountUuids"` - MediaAccountNames []string `protobuf:"bytes,5,rep,name=mediaAccountNames,proto3" json:"mediaAccountNames"` - PlatformIDs []PlatformIDENUM `protobuf:"varint,6,rep,packed,name=platformIDs,proto3,enum=Cast.PlatformIDENUM" json:"platformIDs"` - PublishConfig1 *PublishConfig `protobuf:"bytes,7,opt,name=publishConfig1,proto3" json:"publishConfig1"` - PublishConfig2 *PublishConfig `protobuf:"bytes,8,opt,name=publishConfig2,proto3" json:"publishConfig2"` - PublishConfig3 *PublishConfig `protobuf:"bytes,9,opt,name=publishConfig3,proto3" json:"publishConfig3"` - PublishConfig4 *PublishConfig `protobuf:"bytes,10,opt,name=publishConfig4,proto3" json:"publishConfig4"` - Action string `protobuf:"bytes,11,opt,name=action,proto3" json:"action"` - WorkUuid string `protobuf:"bytes,12,opt,name=workUuid,proto3" json:"workUuid"` - ArtistUuid string `protobuf:"bytes,13,opt,name=artistUuid,proto3" json:"artistUuid"` - ArtistPhone string `protobuf:"bytes,14,opt,name=artistPhone,proto3" json:"artistPhone"` - ArtistName string `protobuf:"bytes,15,opt,name=artistName,proto3" json:"artistName"` - ArtistPhoneAreaCode string `protobuf:"bytes,16,opt,name=artistPhoneAreaCode,proto3" json:"artistPhoneAreaCode"` - Source uint32 `protobuf:"varint,17,opt,name=source,proto3" json:"source"` - LineNo uint32 `protobuf:"varint,18,opt,name=lineNo,proto3" json:"lineNo"` - Remark string `protobuf:"bytes,19,opt,name=remark,proto3" json:"remark"` - Success bool `protobuf:"varint,20,opt,name=success,proto3" json:"success"` + state protoimpl.MessageState `protogen:"open.v1"` + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title"` + Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content"` + Images []string `protobuf:"bytes,3,rep,name=images,proto3" json:"images"` + MediaAccountUuids []string `protobuf:"bytes,4,rep,name=mediaAccountUuids,proto3" json:"mediaAccountUuids"` + MediaAccountNames []string `protobuf:"bytes,5,rep,name=mediaAccountNames,proto3" json:"mediaAccountNames"` + PlatformIDs []PlatformIDENUM `protobuf:"varint,6,rep,packed,name=platformIDs,proto3,enum=Cast.PlatformIDENUM" json:"platformIDs"` + PublishConfig1 *PublishConfig `protobuf:"bytes,7,opt,name=publishConfig1,proto3" json:"publishConfig1"` + PublishConfig2 *PublishConfig `protobuf:"bytes,8,opt,name=publishConfig2,proto3" json:"publishConfig2"` + PublishConfig3 *PublishConfig `protobuf:"bytes,9,opt,name=publishConfig3,proto3" json:"publishConfig3"` + PublishConfig4 *PublishConfig `protobuf:"bytes,10,opt,name=publishConfig4,proto3" json:"publishConfig4"` + Action string `protobuf:"bytes,11,opt,name=action,proto3" json:"action"` + WorkUuid string `protobuf:"bytes,12,opt,name=workUuid,proto3" json:"workUuid"` + ArtistUuid string `protobuf:"bytes,13,opt,name=artistUuid,proto3" json:"artistUuid"` + ArtistPhone string `protobuf:"bytes,14,opt,name=artistPhone,proto3" json:"artistPhone"` + ArtistName string `protobuf:"bytes,15,opt,name=artistName,proto3" json:"artistName"` + ArtistPhoneAreaCode string `protobuf:"bytes,16,opt,name=artistPhoneAreaCode,proto3" json:"artistPhoneAreaCode"` + Source uint32 `protobuf:"varint,17,opt,name=source,proto3" json:"source"` + LineNo uint32 `protobuf:"varint,18,opt,name=lineNo,proto3" json:"lineNo"` + Remark string `protobuf:"bytes,19,opt,name=remark,proto3" json:"remark"` + Success bool `protobuf:"varint,20,opt,name=success,proto3" json:"success"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UpdateWorkImageReq) Reset() { *x = UpdateWorkImageReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateWorkImageReq) String() string { @@ -1010,7 +984,7 @@ func (*UpdateWorkImageReq) ProtoMessage() {} func (x *UpdateWorkImageReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1166,20 +1140,17 @@ func (x *UpdateWorkImageReq) GetSuccess() bool { } type UpdateWorkImageResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` unknownFields protoimpl.UnknownFields - - WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` + sizeCache protoimpl.SizeCache } func (x *UpdateWorkImageResp) Reset() { *x = UpdateWorkImageResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateWorkImageResp) String() string { @@ -1190,7 +1161,7 @@ func (*UpdateWorkImageResp) ProtoMessage() {} func (x *UpdateWorkImageResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1213,25 +1184,22 @@ func (x *UpdateWorkImageResp) GetWorkUuid() string { } type PublishConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ForbidComment uint32 `protobuf:"varint,1,opt,name=forbidComment,proto3" json:"forbidComment"` + PublicType uint32 `protobuf:"varint,2,opt,name=publicType,proto3" json:"publicType"` + CanJoin uint32 `protobuf:"varint,3,opt,name=canJoin,proto3" json:"canJoin"` + CanQuote uint32 `protobuf:"varint,4,opt,name=canQuote,proto3" json:"canQuote"` + CanComment uint32 `protobuf:"varint,5,opt,name=canComment,proto3" json:"canComment"` + IsAI uint32 `protobuf:"varint,6,opt,name=isAI,proto3" json:"isAI"` unknownFields protoimpl.UnknownFields - - ForbidComment uint32 `protobuf:"varint,1,opt,name=forbidComment,proto3" json:"forbidComment"` - PublicType uint32 `protobuf:"varint,2,opt,name=publicType,proto3" json:"publicType"` - CanJoin uint32 `protobuf:"varint,3,opt,name=canJoin,proto3" json:"canJoin"` - CanQuote uint32 `protobuf:"varint,4,opt,name=canQuote,proto3" json:"canQuote"` - CanComment uint32 `protobuf:"varint,5,opt,name=canComment,proto3" json:"canComment"` - IsAI uint32 `protobuf:"varint,6,opt,name=isAI,proto3" json:"isAI"` + sizeCache protoimpl.SizeCache } func (x *PublishConfig) Reset() { *x = PublishConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PublishConfig) String() string { @@ -1242,7 +1210,7 @@ func (*PublishConfig) ProtoMessage() {} func (x *PublishConfig) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1301,40 +1269,37 @@ func (x *PublishConfig) GetIsAI() uint32 { // UpdateWorkVideo type UpdateWorkVideoReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title"` - Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content"` - VideoUrl string `protobuf:"bytes,3,opt,name=videoUrl,proto3" json:"videoUrl"` - CoverUrl string `protobuf:"bytes,4,opt,name=coverUrl,proto3" json:"coverUrl"` - MediaAccountUuids []string `protobuf:"bytes,5,rep,name=mediaAccountUuids,proto3" json:"mediaAccountUuids"` - MediaAccountNames []string `protobuf:"bytes,6,rep,name=mediaAccountNames,proto3" json:"mediaAccountNames"` - PlatformIDs []PlatformIDENUM `protobuf:"varint,7,rep,packed,name=platformIDs,proto3,enum=Cast.PlatformIDENUM" json:"platformIDs"` - PublishConfig1 *PublishConfig `protobuf:"bytes,8,opt,name=publishConfig1,proto3" json:"publishConfig1"` - PublishConfig2 *PublishConfig `protobuf:"bytes,9,opt,name=publishConfig2,proto3" json:"publishConfig2"` - PublishConfig3 *PublishConfig `protobuf:"bytes,10,opt,name=publishConfig3,proto3" json:"publishConfig3"` - PublishConfig4 *PublishConfig `protobuf:"bytes,11,opt,name=publishConfig4,proto3" json:"publishConfig4"` - Action string `protobuf:"bytes,12,opt,name=action,proto3" json:"action"` - WorkUuid string `protobuf:"bytes,13,opt,name=workUuid,proto3" json:"workUuid"` - ArtistUuid string `protobuf:"bytes,14,opt,name=artistUuid,proto3" json:"artistUuid"` - ArtistPhone string `protobuf:"bytes,15,opt,name=artistPhone,proto3" json:"artistPhone"` - ArtistName string `protobuf:"bytes,16,opt,name=artistName,proto3" json:"artistName"` - ArtistPhoneAreaCode string `protobuf:"bytes,17,opt,name=artistPhoneAreaCode,proto3" json:"artistPhoneAreaCode"` - Source uint32 `protobuf:"varint,18,opt,name=source,proto3" json:"source"` - CoverTimestampMs uint64 `protobuf:"varint,19,opt,name=coverTimestampMs,proto3" json:"coverTimestampMs"` - AutoPublish AutoPublishENUM `protobuf:"varint,20,opt,name=autoPublish,proto3,enum=Cast.AutoPublishENUM" json:"autoPublish"` - ScriptUuid string `protobuf:"bytes,21,opt,name=scriptUuid,proto3" json:"scriptUuid"` + state protoimpl.MessageState `protogen:"open.v1"` + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title"` + Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content"` + VideoUrl string `protobuf:"bytes,3,opt,name=videoUrl,proto3" json:"videoUrl"` + CoverUrl string `protobuf:"bytes,4,opt,name=coverUrl,proto3" json:"coverUrl"` + MediaAccountUuids []string `protobuf:"bytes,5,rep,name=mediaAccountUuids,proto3" json:"mediaAccountUuids"` + MediaAccountNames []string `protobuf:"bytes,6,rep,name=mediaAccountNames,proto3" json:"mediaAccountNames"` + PlatformIDs []PlatformIDENUM `protobuf:"varint,7,rep,packed,name=platformIDs,proto3,enum=Cast.PlatformIDENUM" json:"platformIDs"` + PublishConfig1 *PublishConfig `protobuf:"bytes,8,opt,name=publishConfig1,proto3" json:"publishConfig1"` + PublishConfig2 *PublishConfig `protobuf:"bytes,9,opt,name=publishConfig2,proto3" json:"publishConfig2"` + PublishConfig3 *PublishConfig `protobuf:"bytes,10,opt,name=publishConfig3,proto3" json:"publishConfig3"` + PublishConfig4 *PublishConfig `protobuf:"bytes,11,opt,name=publishConfig4,proto3" json:"publishConfig4"` + Action string `protobuf:"bytes,12,opt,name=action,proto3" json:"action"` + WorkUuid string `protobuf:"bytes,13,opt,name=workUuid,proto3" json:"workUuid"` + ArtistUuid string `protobuf:"bytes,14,opt,name=artistUuid,proto3" json:"artistUuid"` + ArtistPhone string `protobuf:"bytes,15,opt,name=artistPhone,proto3" json:"artistPhone"` + ArtistName string `protobuf:"bytes,16,opt,name=artistName,proto3" json:"artistName"` + ArtistPhoneAreaCode string `protobuf:"bytes,17,opt,name=artistPhoneAreaCode,proto3" json:"artistPhoneAreaCode"` + Source uint32 `protobuf:"varint,18,opt,name=source,proto3" json:"source"` + CoverTimestampMs uint64 `protobuf:"varint,19,opt,name=coverTimestampMs,proto3" json:"coverTimestampMs"` + AutoPublish AutoPublishENUM `protobuf:"varint,20,opt,name=autoPublish,proto3,enum=Cast.AutoPublishENUM" json:"autoPublish"` + ScriptUuid string `protobuf:"bytes,21,opt,name=scriptUuid,proto3" json:"scriptUuid"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UpdateWorkVideoReq) Reset() { *x = UpdateWorkVideoReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateWorkVideoReq) String() string { @@ -1345,7 +1310,7 @@ func (*UpdateWorkVideoReq) ProtoMessage() {} func (x *UpdateWorkVideoReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1508,20 +1473,17 @@ func (x *UpdateWorkVideoReq) GetScriptUuid() string { } type UpdateWorkVideoResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` unknownFields protoimpl.UnknownFields - - WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` + sizeCache protoimpl.SizeCache } func (x *UpdateWorkVideoResp) Reset() { *x = UpdateWorkVideoResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateWorkVideoResp) String() string { @@ -1532,7 +1494,7 @@ func (*UpdateWorkVideoResp) ProtoMessage() {} func (x *UpdateWorkVideoResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1555,22 +1517,19 @@ func (x *UpdateWorkVideoResp) GetWorkUuid() string { } type MediaInfoReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` - PlatformID PlatformIDENUM `protobuf:"varint,2,opt,name=platformID,proto3,enum=Cast.PlatformIDENUM" json:"platformID"` - PlatformUserName string `protobuf:"bytes,3,opt,name=platformUserName,proto3" json:"platformUserName"` + state protoimpl.MessageState `protogen:"open.v1"` + ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` + PlatformID PlatformIDENUM `protobuf:"varint,2,opt,name=platformID,proto3,enum=Cast.PlatformIDENUM" json:"platformID"` + PlatformUserName string `protobuf:"bytes,3,opt,name=platformUserName,proto3" json:"platformUserName"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MediaInfoReq) Reset() { *x = MediaInfoReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MediaInfoReq) String() string { @@ -1581,7 +1540,7 @@ func (*MediaInfoReq) ProtoMessage() {} func (x *MediaInfoReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1618,20 +1577,17 @@ func (x *MediaInfoReq) GetPlatformUserName() string { } type MediaInfoResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Info *MediaUserInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info"` unknownFields protoimpl.UnknownFields - - Info *MediaUserInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info"` + sizeCache protoimpl.SizeCache } func (x *MediaInfoResp) Reset() { *x = MediaInfoResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MediaInfoResp) String() string { @@ -1642,7 +1598,7 @@ func (*MediaInfoResp) ProtoMessage() {} func (x *MediaInfoResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1665,35 +1621,32 @@ func (x *MediaInfoResp) GetInfo() *MediaUserInfo { } type WorkListReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ArtistVal string `protobuf:"bytes,1,opt,name=artistVal,proto3" json:"artistVal"` - PlatformID uint32 `protobuf:"varint,2,opt,name=platformID,proto3" json:"platformID"` - WorkCategory uint32 `protobuf:"varint,3,opt,name=workCategory,proto3" json:"workCategory"` - SubmitStartTime string `protobuf:"bytes,4,opt,name=submitStartTime,proto3" json:"submitStartTime"` - SubmitEndTime string `protobuf:"bytes,5,opt,name=submitEndTime,proto3" json:"submitEndTime"` - StatusUpdateTimeStart string `protobuf:"bytes,6,opt,name=statusUpdateTimeStart,proto3" json:"statusUpdateTimeStart"` - StatusUpdateTimeEnd string `protobuf:"bytes,7,opt,name=statusUpdateTimeEnd,proto3" json:"statusUpdateTimeEnd"` - Title string `protobuf:"bytes,8,opt,name=title,proto3" json:"title"` - WorkStatus uint32 `protobuf:"varint,9,opt,name=workStatus,proto3" json:"workStatus"` - MediaAccountUuid string `protobuf:"bytes,10,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` - ManagerUserVal string `protobuf:"bytes,11,opt,name=managerUserVal,proto3" json:"managerUserVal"` - Page int32 `protobuf:"varint,12,opt,name=page,proto3" json:"page"` - PageSize int32 `protobuf:"varint,13,opt,name=pageSize,proto3" json:"pageSize"` - MediaAccountUuids []string `protobuf:"bytes,14,rep,name=mediaAccountUuids,proto3" json:"mediaAccountUuids"` - CostType int32 `protobuf:"varint,15,opt,name=costType,proto3" json:"costType"` - ScriptUuid string `protobuf:"bytes,16,opt,name=scriptUuid,proto3" json:"scriptUuid"` + state protoimpl.MessageState `protogen:"open.v1"` + ArtistVal string `protobuf:"bytes,1,opt,name=artistVal,proto3" json:"artistVal"` + PlatformID uint32 `protobuf:"varint,2,opt,name=platformID,proto3" json:"platformID"` + WorkCategory uint32 `protobuf:"varint,3,opt,name=workCategory,proto3" json:"workCategory"` + SubmitStartTime string `protobuf:"bytes,4,opt,name=submitStartTime,proto3" json:"submitStartTime"` + SubmitEndTime string `protobuf:"bytes,5,opt,name=submitEndTime,proto3" json:"submitEndTime"` + StatusUpdateTimeStart string `protobuf:"bytes,6,opt,name=statusUpdateTimeStart,proto3" json:"statusUpdateTimeStart"` + StatusUpdateTimeEnd string `protobuf:"bytes,7,opt,name=statusUpdateTimeEnd,proto3" json:"statusUpdateTimeEnd"` + Title string `protobuf:"bytes,8,opt,name=title,proto3" json:"title"` + WorkStatus uint32 `protobuf:"varint,9,opt,name=workStatus,proto3" json:"workStatus"` + MediaAccountUuid string `protobuf:"bytes,10,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` + ManagerUserVal string `protobuf:"bytes,11,opt,name=managerUserVal,proto3" json:"managerUserVal"` + Page int32 `protobuf:"varint,12,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,13,opt,name=pageSize,proto3" json:"pageSize"` + MediaAccountUuids []string `protobuf:"bytes,14,rep,name=mediaAccountUuids,proto3" json:"mediaAccountUuids"` + CostType int32 `protobuf:"varint,15,opt,name=costType,proto3" json:"costType"` + ScriptUuid string `protobuf:"bytes,16,opt,name=scriptUuid,proto3" json:"scriptUuid"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *WorkListReq) Reset() { *x = WorkListReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WorkListReq) String() string { @@ -1704,7 +1657,7 @@ func (*WorkListReq) ProtoMessage() {} func (x *WorkListReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1832,21 +1785,18 @@ func (x *WorkListReq) GetScriptUuid() string { } type WorkListResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Data []*WorkListResp_Info `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` + Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` unknownFields protoimpl.UnknownFields - - Data []*WorkListResp_Info `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` - Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` + sizeCache protoimpl.SizeCache } func (x *WorkListResp) Reset() { *x = WorkListResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WorkListResp) String() string { @@ -1857,7 +1807,7 @@ func (*WorkListResp) ProtoMessage() {} func (x *WorkListResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1887,20 +1837,17 @@ func (x *WorkListResp) GetCount() int64 { } type WorkDetailReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` unknownFields protoimpl.UnknownFields - - WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` + sizeCache protoimpl.SizeCache } func (x *WorkDetailReq) Reset() { *x = WorkDetailReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WorkDetailReq) String() string { @@ -1911,7 +1858,7 @@ func (*WorkDetailReq) ProtoMessage() {} func (x *WorkDetailReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1934,27 +1881,24 @@ func (x *WorkDetailReq) GetWorkUuid() string { } type WorkLogInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` + Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content"` + OperatorName string `protobuf:"bytes,4,opt,name=operatorName,proto3" json:"operatorName"` + OperatorID string `protobuf:"bytes,5,opt,name=operatorID,proto3" json:"operatorID"` + UpdateTime string `protobuf:"bytes,6,opt,name=updateTime,proto3" json:"updateTime"` + ExtraData string `protobuf:"bytes,7,opt,name=extraData,proto3" json:"extraData"` + WorkStatus uint32 `protobuf:"varint,8,opt,name=workStatus,proto3" json:"workStatus"` unknownFields protoimpl.UnknownFields - - WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` - Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` - Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content"` - OperatorName string `protobuf:"bytes,4,opt,name=operatorName,proto3" json:"operatorName"` - OperatorID string `protobuf:"bytes,5,opt,name=operatorID,proto3" json:"operatorID"` - UpdateTime string `protobuf:"bytes,6,opt,name=updateTime,proto3" json:"updateTime"` - ExtraData string `protobuf:"bytes,7,opt,name=extraData,proto3" json:"extraData"` - WorkStatus uint32 `protobuf:"varint,8,opt,name=workStatus,proto3" json:"workStatus"` + sizeCache protoimpl.SizeCache } func (x *WorkLogInfo) Reset() { *x = WorkLogInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WorkLogInfo) String() string { @@ -1965,7 +1909,7 @@ func (*WorkLogInfo) ProtoMessage() {} func (x *WorkLogInfo) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2037,10 +1981,7 @@ func (x *WorkLogInfo) GetWorkStatus() uint32 { } type WorkDetailResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content"` @@ -2058,19 +1999,22 @@ type WorkDetailResp struct { ApprovalID string `protobuf:"bytes,15,opt,name=approvalID,proto3" json:"approvalID"` WorkLogData []*WorkLogInfo `protobuf:"bytes,16,rep,name=WorkLogData,proto3" json:"WorkLogData"` WorkCategory uint32 `protobuf:"varint,17,opt,name=workCategory,proto3" json:"workCategory"` - MediaAccData map[string]*MediaUserInfo `protobuf:"bytes,18,rep,name=mediaAccData,proto3" json:"mediaAccData" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + MediaAccData map[string]*MediaUserInfo `protobuf:"bytes,18,rep,name=mediaAccData,proto3" json:"mediaAccData" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` CoverTimestampMs uint64 `protobuf:"varint,19,opt,name=coverTimestampMs,proto3" json:"coverTimestampMs"` ScriptUuid string `protobuf:"bytes,20,opt,name=scriptUuid,proto3" json:"scriptUuid"` ArtistUuid string `protobuf:"bytes,21,opt,name=artistUuid,proto3" json:"artistUuid"` + TiktokStatus uint32 `protobuf:"varint,22,opt,name=tiktokStatus,proto3" json:"tiktokStatus"` + InsStatus uint32 `protobuf:"varint,23,opt,name=insStatus,proto3" json:"insStatus"` + DmStatus uint32 `protobuf:"varint,24,opt,name=dmStatus,proto3" json:"dmStatus"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *WorkDetailResp) Reset() { *x = WorkDetailResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WorkDetailResp) String() string { @@ -2081,7 +2025,7 @@ func (*WorkDetailResp) ProtoMessage() {} func (x *WorkDetailResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2243,28 +2187,46 @@ func (x *WorkDetailResp) GetArtistUuid() string { return "" } -type UpdateStatusReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *WorkDetailResp) GetTiktokStatus() uint32 { + if x != nil { + return x.TiktokStatus + } + return 0 +} - WorkAction WorkActionENUM `protobuf:"varint,1,opt,name=workAction,proto3,enum=Cast.WorkActionENUM" json:"workAction"` - WorkUuid string `protobuf:"bytes,2,opt,name=workUuid,proto3" json:"workUuid"` - ApprovalID string `protobuf:"bytes,3,opt,name=approvalID,proto3" json:"approvalID"` - ConfirmRemark string `protobuf:"bytes,4,opt,name=confirmRemark,proto3" json:"confirmRemark"` - ConfirmStatus uint32 `protobuf:"varint,5,opt,name=confirmStatus,proto3" json:"confirmStatus"` - ApprovalReply string `protobuf:"bytes,6,opt,name=approvalReply,proto3" json:"approvalReply"` - AutoPublish AutoPublishENUM `protobuf:"varint,7,opt,name=autoPublish,proto3,enum=Cast.AutoPublishENUM" json:"autoPublish"` - CostType uint32 `protobuf:"varint,8,opt,name=costType,proto3" json:"costType"` +func (x *WorkDetailResp) GetInsStatus() uint32 { + if x != nil { + return x.InsStatus + } + return 0 +} + +func (x *WorkDetailResp) GetDmStatus() uint32 { + if x != nil { + return x.DmStatus + } + return 0 +} + +type UpdateStatusReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkAction WorkActionENUM `protobuf:"varint,1,opt,name=workAction,proto3,enum=Cast.WorkActionENUM" json:"workAction"` + WorkUuid string `protobuf:"bytes,2,opt,name=workUuid,proto3" json:"workUuid"` + ApprovalID string `protobuf:"bytes,3,opt,name=approvalID,proto3" json:"approvalID"` + ConfirmRemark string `protobuf:"bytes,4,opt,name=confirmRemark,proto3" json:"confirmRemark"` + ConfirmStatus uint32 `protobuf:"varint,5,opt,name=confirmStatus,proto3" json:"confirmStatus"` + ApprovalReply string `protobuf:"bytes,6,opt,name=approvalReply,proto3" json:"approvalReply"` + AutoPublish AutoPublishENUM `protobuf:"varint,7,opt,name=autoPublish,proto3,enum=Cast.AutoPublishENUM" json:"autoPublish"` + CostType uint32 `protobuf:"varint,8,opt,name=costType,proto3" json:"costType"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UpdateStatusReq) Reset() { *x = UpdateStatusReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateStatusReq) String() string { @@ -2275,7 +2237,7 @@ func (*UpdateStatusReq) ProtoMessage() {} func (x *UpdateStatusReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2347,20 +2309,17 @@ func (x *UpdateStatusReq) GetCostType() uint32 { } type MediaAccountsReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` unknownFields protoimpl.UnknownFields - - ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` + sizeCache protoimpl.SizeCache } func (x *MediaAccountsReq) Reset() { *x = MediaAccountsReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MediaAccountsReq) String() string { @@ -2371,7 +2330,7 @@ func (*MediaAccountsReq) ProtoMessage() {} func (x *MediaAccountsReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2394,20 +2353,17 @@ func (x *MediaAccountsReq) GetArtistUuid() string { } type MediaAccountsResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Data []*MediaAccountsResp_Info `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` unknownFields protoimpl.UnknownFields - - Data []*MediaAccountsResp_Info `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` + sizeCache protoimpl.SizeCache } func (x *MediaAccountsResp) Reset() { *x = MediaAccountsResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MediaAccountsResp) String() string { @@ -2418,7 +2374,7 @@ func (*MediaAccountsResp) ProtoMessage() {} func (x *MediaAccountsResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2441,22 +2397,19 @@ func (x *MediaAccountsResp) GetData() []*MediaAccountsResp_Info { } type MediaWorksReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MediaAccountUuid string `protobuf:"bytes,1,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` - Page int32 `protobuf:"varint,2,opt,name=page,proto3" json:"page"` - PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize"` + state protoimpl.MessageState `protogen:"open.v1"` + MediaAccountUuid string `protobuf:"bytes,1,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` + Page int32 `protobuf:"varint,2,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MediaWorksReq) Reset() { *x = MediaWorksReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MediaWorksReq) String() string { @@ -2467,7 +2420,7 @@ func (*MediaWorksReq) ProtoMessage() {} func (x *MediaWorksReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2504,21 +2457,18 @@ func (x *MediaWorksReq) GetPageSize() int32 { } type MediaWorksResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count"` + Data []*MediaWorksResp_Info `protobuf:"bytes,2,rep,name=data,proto3" json:"data"` unknownFields protoimpl.UnknownFields - - Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count"` - Data []*MediaWorksResp_Info `protobuf:"bytes,2,rep,name=data,proto3" json:"data"` + sizeCache protoimpl.SizeCache } func (x *MediaWorksResp) Reset() { *x = MediaWorksResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MediaWorksResp) String() string { @@ -2529,7 +2479,7 @@ func (*MediaWorksResp) ProtoMessage() {} func (x *MediaWorksResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2559,20 +2509,17 @@ func (x *MediaWorksResp) GetData() []*MediaWorksResp_Info { } type PublishReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + WorkUuids []string `protobuf:"bytes,1,rep,name=workUuids,proto3" json:"workUuids"` unknownFields protoimpl.UnknownFields - - WorkUuids []string `protobuf:"bytes,1,rep,name=workUuids,proto3" json:"workUuids"` + sizeCache protoimpl.SizeCache } func (x *PublishReq) Reset() { *x = PublishReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PublishReq) String() string { @@ -2583,7 +2530,7 @@ func (*PublishReq) ProtoMessage() {} func (x *PublishReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2606,20 +2553,17 @@ func (x *PublishReq) GetWorkUuids() []string { } type PublishResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Data []*PublishResp_Info `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` unknownFields protoimpl.UnknownFields - - Data []*PublishResp_Info `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` + sizeCache protoimpl.SizeCache } func (x *PublishResp) Reset() { *x = PublishResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PublishResp) String() string { @@ -2630,7 +2574,7 @@ func (*PublishResp) ProtoMessage() {} func (x *PublishResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2653,22 +2597,19 @@ func (x *PublishResp) GetData() []*PublishResp_Info { } type RePublishReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` - MediaAccountUuids []string `protobuf:"bytes,2,rep,name=mediaAccountUuids,proto3" json:"mediaAccountUuids"` - MediaAccountNames []string `protobuf:"bytes,3,rep,name=mediaAccountNames,proto3" json:"mediaAccountNames"` + state protoimpl.MessageState `protogen:"open.v1"` + WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` + MediaAccountUuids []string `protobuf:"bytes,2,rep,name=mediaAccountUuids,proto3" json:"mediaAccountUuids"` + MediaAccountNames []string `protobuf:"bytes,3,rep,name=mediaAccountNames,proto3" json:"mediaAccountNames"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RePublishReq) Reset() { *x = RePublishReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RePublishReq) String() string { @@ -2679,7 +2620,7 @@ func (*RePublishReq) ProtoMessage() {} func (x *RePublishReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[27] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2716,21 +2657,18 @@ func (x *RePublishReq) GetMediaAccountNames() []string { } type RePublishResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` + WorkCategory int32 `protobuf:"varint,2,opt,name=workCategory,proto3" json:"workCategory"` unknownFields protoimpl.UnknownFields - - ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` - WorkCategory int32 `protobuf:"varint,2,opt,name=workCategory,proto3" json:"workCategory"` + sizeCache protoimpl.SizeCache } func (x *RePublishResp) Reset() { *x = RePublishResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RePublishResp) String() string { @@ -2741,7 +2679,7 @@ func (*RePublishResp) ProtoMessage() {} func (x *RePublishResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[28] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2771,20 +2709,17 @@ func (x *RePublishResp) GetWorkCategory() int32 { } type DelWorkReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` unknownFields protoimpl.UnknownFields - - WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` + sizeCache protoimpl.SizeCache } func (x *DelWorkReq) Reset() { *x = DelWorkReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DelWorkReq) String() string { @@ -2795,7 +2730,7 @@ func (*DelWorkReq) ProtoMessage() {} func (x *DelWorkReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[29] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2818,20 +2753,17 @@ func (x *DelWorkReq) GetWorkUuid() string { } type WorkInfoReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` unknownFields protoimpl.UnknownFields - - WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` + sizeCache protoimpl.SizeCache } func (x *WorkInfoReq) Reset() { *x = WorkInfoReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WorkInfoReq) String() string { @@ -2842,7 +2774,7 @@ func (*WorkInfoReq) ProtoMessage() {} func (x *WorkInfoReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[30] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2865,25 +2797,22 @@ func (x *WorkInfoReq) GetWorkUuid() string { } type WorkInfoResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - WorkStatus uint32 `protobuf:"varint,1,opt,name=workStatus,proto3" json:"workStatus"` - ArtistUuid string `protobuf:"bytes,2,opt,name=artistUuid,proto3" json:"artistUuid"` - ArtistName string `protobuf:"bytes,3,opt,name=artistName,proto3" json:"artistName"` - ArtistPhone string `protobuf:"bytes,4,opt,name=artistPhone,proto3" json:"artistPhone"` - ArtistPhoneAreaCode string `protobuf:"bytes,5,opt,name=artistPhoneAreaCode,proto3" json:"artistPhoneAreaCode"` - WorkCategory uint32 `protobuf:"varint,6,opt,name=workCategory,proto3" json:"workCategory"` + state protoimpl.MessageState `protogen:"open.v1"` + WorkStatus uint32 `protobuf:"varint,1,opt,name=workStatus,proto3" json:"workStatus"` + ArtistUuid string `protobuf:"bytes,2,opt,name=artistUuid,proto3" json:"artistUuid"` + ArtistName string `protobuf:"bytes,3,opt,name=artistName,proto3" json:"artistName"` + ArtistPhone string `protobuf:"bytes,4,opt,name=artistPhone,proto3" json:"artistPhone"` + ArtistPhoneAreaCode string `protobuf:"bytes,5,opt,name=artistPhoneAreaCode,proto3" json:"artistPhoneAreaCode"` + WorkCategory uint32 `protobuf:"varint,6,opt,name=workCategory,proto3" json:"workCategory"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *WorkInfoResp) Reset() { *x = WorkInfoResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WorkInfoResp) String() string { @@ -2894,7 +2823,7 @@ func (*WorkInfoResp) ProtoMessage() {} func (x *WorkInfoResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[31] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2952,20 +2881,17 @@ func (x *WorkInfoResp) GetWorkCategory() uint32 { } type ArtistInfoReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` unknownFields protoimpl.UnknownFields - - ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` + sizeCache protoimpl.SizeCache } func (x *ArtistInfoReq) Reset() { *x = ArtistInfoReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ArtistInfoReq) String() string { @@ -2976,7 +2902,7 @@ func (*ArtistInfoReq) ProtoMessage() {} func (x *ArtistInfoReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[32] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2999,23 +2925,20 @@ func (x *ArtistInfoReq) GetArtistUuid() string { } type ArtistInfoResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TikTokEffectiveCount uint32 `protobuf:"varint,1,opt,name=TikTokEffectiveCount,proto3" json:"TikTokEffectiveCount"` - YouTubeEffectiveCount uint32 `protobuf:"varint,2,opt,name=YouTubeEffectiveCount,proto3" json:"YouTubeEffectiveCount"` - InsEffectiveCount uint32 `protobuf:"varint,3,opt,name=InsEffectiveCount,proto3" json:"InsEffectiveCount"` - DMEffectiveCount uint32 `protobuf:"varint,4,opt,name=DMEffectiveCount,proto3" json:"DMEffectiveCount"` + state protoimpl.MessageState `protogen:"open.v1"` + TikTokEffectiveCount uint32 `protobuf:"varint,1,opt,name=TikTokEffectiveCount,proto3" json:"TikTokEffectiveCount"` + YouTubeEffectiveCount uint32 `protobuf:"varint,2,opt,name=YouTubeEffectiveCount,proto3" json:"YouTubeEffectiveCount"` + InsEffectiveCount uint32 `protobuf:"varint,3,opt,name=InsEffectiveCount,proto3" json:"InsEffectiveCount"` + DMEffectiveCount uint32 `protobuf:"varint,4,opt,name=DMEffectiveCount,proto3" json:"DMEffectiveCount"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ArtistInfoResp) Reset() { *x = ArtistInfoResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ArtistInfoResp) String() string { @@ -3026,7 +2949,7 @@ func (*ArtistInfoResp) ProtoMessage() {} func (x *ArtistInfoResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[33] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3070,20 +2993,17 @@ func (x *ArtistInfoResp) GetDMEffectiveCount() uint32 { } type ImportWorkBatchReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ImageWorks []*UpdateWorkImageReq `protobuf:"bytes,1,rep,name=imageWorks,proto3" json:"imageWorks"` unknownFields protoimpl.UnknownFields - - ImageWorks []*UpdateWorkImageReq `protobuf:"bytes,1,rep,name=imageWorks,proto3" json:"imageWorks"` + sizeCache protoimpl.SizeCache } func (x *ImportWorkBatchReq) Reset() { *x = ImportWorkBatchReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ImportWorkBatchReq) String() string { @@ -3094,7 +3014,7 @@ func (*ImportWorkBatchReq) ProtoMessage() {} func (x *ImportWorkBatchReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[34] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3117,22 +3037,19 @@ func (x *ImportWorkBatchReq) GetImageWorks() []*UpdateWorkImageReq { } type ImportWorkBatchResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ImageWorks []*UpdateWorkImageReq `protobuf:"bytes,1,rep,name=imageWorks,proto3" json:"imageWorks"` + SuccessCount int32 `protobuf:"varint,2,opt,name=successCount,proto3" json:"successCount"` + FailCount int32 `protobuf:"varint,3,opt,name=failCount,proto3" json:"failCount"` unknownFields protoimpl.UnknownFields - - ImageWorks []*UpdateWorkImageReq `protobuf:"bytes,1,rep,name=imageWorks,proto3" json:"imageWorks"` - SuccessCount int32 `protobuf:"varint,2,opt,name=successCount,proto3" json:"successCount"` - FailCount int32 `protobuf:"varint,3,opt,name=failCount,proto3" json:"failCount"` + sizeCache protoimpl.SizeCache } func (x *ImportWorkBatchResp) Reset() { *x = ImportWorkBatchResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ImportWorkBatchResp) String() string { @@ -3143,7 +3060,7 @@ func (*ImportWorkBatchResp) ProtoMessage() {} func (x *ImportWorkBatchResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[35] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3180,27 +3097,24 @@ func (x *ImportWorkBatchResp) GetFailCount() int32 { } type PlatformInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` - MediaAccountUuid string `protobuf:"bytes,2,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` - PlatformID uint32 `protobuf:"varint,3,opt,name=platformID,proto3" json:"platformID"` - PublishType uint32 `protobuf:"varint,4,opt,name=publishType,proto3" json:"publishType"` - PublishResp string `protobuf:"bytes,5,opt,name=publishResp,proto3" json:"publishResp"` - PublishMediaId string `protobuf:"bytes,6,opt,name=publishMediaId,proto3" json:"publishMediaId"` - PublishStatus PublishStatusENUM `protobuf:"varint,7,opt,name=publishStatus,proto3,enum=Cast.PublishStatusENUM" json:"publishStatus"` - Remark string `protobuf:"bytes,8,opt,name=remark,proto3" json:"remark"` + state protoimpl.MessageState `protogen:"open.v1"` + WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` + MediaAccountUuid string `protobuf:"bytes,2,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` + PlatformID uint32 `protobuf:"varint,3,opt,name=platformID,proto3" json:"platformID"` + PublishType uint32 `protobuf:"varint,4,opt,name=publishType,proto3" json:"publishType"` + PublishResp string `protobuf:"bytes,5,opt,name=publishResp,proto3" json:"publishResp"` + PublishMediaId string `protobuf:"bytes,6,opt,name=publishMediaId,proto3" json:"publishMediaId"` + PublishStatus PublishStatusENUM `protobuf:"varint,7,opt,name=publishStatus,proto3,enum=Cast.PublishStatusENUM" json:"publishStatus"` + Remark string `protobuf:"bytes,8,opt,name=remark,proto3" json:"remark"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PlatformInfo) Reset() { *x = PlatformInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PlatformInfo) String() string { @@ -3211,7 +3125,7 @@ func (*PlatformInfo) ProtoMessage() {} func (x *PlatformInfo) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[36] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3283,20 +3197,17 @@ func (x *PlatformInfo) GetRemark() string { } type UpdateWorkPlatformInfoReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PlatformInfoData []*PlatformInfo `protobuf:"bytes,1,rep,name=PlatformInfoData,proto3" json:"PlatformInfoData"` + state protoimpl.MessageState `protogen:"open.v1"` + PlatformInfoData []*PlatformInfo `protobuf:"bytes,1,rep,name=PlatformInfoData,proto3" json:"PlatformInfoData"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UpdateWorkPlatformInfoReq) Reset() { *x = UpdateWorkPlatformInfoReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateWorkPlatformInfoReq) String() string { @@ -3307,7 +3218,7 @@ func (*UpdateWorkPlatformInfoReq) ProtoMessage() {} func (x *UpdateWorkPlatformInfoReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[37] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3330,20 +3241,17 @@ func (x *UpdateWorkPlatformInfoReq) GetPlatformInfoData() []*PlatformInfo { } type UpdateWorkPlatformInfoResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + WorkUuid []string `protobuf:"bytes,1,rep,name=workUuid,proto3" json:"workUuid"` unknownFields protoimpl.UnknownFields - - WorkUuid []string `protobuf:"bytes,1,rep,name=workUuid,proto3" json:"workUuid"` + sizeCache protoimpl.SizeCache } func (x *UpdateWorkPlatformInfoResp) Reset() { *x = UpdateWorkPlatformInfoResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateWorkPlatformInfoResp) String() string { @@ -3354,7 +3262,7 @@ func (*UpdateWorkPlatformInfoResp) ProtoMessage() {} func (x *UpdateWorkPlatformInfoResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[38] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3377,22 +3285,19 @@ func (x *UpdateWorkPlatformInfoResp) GetWorkUuid() []string { } type UpdateWorkPublishLogReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` + Detail string `protobuf:"bytes,2,opt,name=detail,proto3" json:"detail"` + Action string `protobuf:"bytes,3,opt,name=action,proto3" json:"action"` unknownFields protoimpl.UnknownFields - - WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` - Detail string `protobuf:"bytes,2,opt,name=detail,proto3" json:"detail"` - Action string `protobuf:"bytes,3,opt,name=action,proto3" json:"action"` + sizeCache protoimpl.SizeCache } func (x *UpdateWorkPublishLogReq) Reset() { *x = UpdateWorkPublishLogReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateWorkPublishLogReq) String() string { @@ -3403,7 +3308,7 @@ func (*UpdateWorkPublishLogReq) ProtoMessage() {} func (x *UpdateWorkPublishLogReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[39] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3440,20 +3345,17 @@ func (x *UpdateWorkPublishLogReq) GetAction() string { } type RefreshWorkListReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + PublishStatus uint32 `protobuf:"varint,1,opt,name=publishStatus,proto3" json:"publishStatus"` unknownFields protoimpl.UnknownFields - - PublishStatus uint32 `protobuf:"varint,1,opt,name=publishStatus,proto3" json:"publishStatus"` + sizeCache protoimpl.SizeCache } func (x *RefreshWorkListReq) Reset() { *x = RefreshWorkListReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RefreshWorkListReq) String() string { @@ -3464,7 +3366,7 @@ func (*RefreshWorkListReq) ProtoMessage() {} func (x *RefreshWorkListReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[40] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3487,20 +3389,17 @@ func (x *RefreshWorkListReq) GetPublishStatus() uint32 { } type RefreshWorkListResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Data []*RefreshWorkListResp_Info `protobuf:"bytes,3,rep,name=Data,proto3" json:"Data"` unknownFields protoimpl.UnknownFields - - Data []*RefreshWorkListResp_Info `protobuf:"bytes,3,rep,name=Data,proto3" json:"Data"` + sizeCache protoimpl.SizeCache } func (x *RefreshWorkListResp) Reset() { *x = RefreshWorkListResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RefreshWorkListResp) String() string { @@ -3511,7 +3410,7 @@ func (*RefreshWorkListResp) ProtoMessage() {} func (x *RefreshWorkListResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[41] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3534,20 +3433,17 @@ func (x *RefreshWorkListResp) GetData() []*RefreshWorkListResp_Info { } type OAuthAccountReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MediaAccountUuid string `protobuf:"bytes,1,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` + state protoimpl.MessageState `protogen:"open.v1"` + MediaAccountUuid string `protobuf:"bytes,1,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *OAuthAccountReq) Reset() { *x = OAuthAccountReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *OAuthAccountReq) String() string { @@ -3558,7 +3454,7 @@ func (*OAuthAccountReq) ProtoMessage() {} func (x *OAuthAccountReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[42] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3581,20 +3477,17 @@ func (x *OAuthAccountReq) GetMediaAccountUuid() string { } type OAuthAccountResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url"` unknownFields protoimpl.UnknownFields - - Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url"` + sizeCache protoimpl.SizeCache } func (x *OAuthAccountResp) Reset() { *x = OAuthAccountResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[43] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *OAuthAccountResp) String() string { @@ -3605,7 +3498,7 @@ func (*OAuthAccountResp) ProtoMessage() {} func (x *OAuthAccountResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[43] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3628,20 +3521,17 @@ func (x *OAuthAccountResp) GetUrl() string { } type OAuthAccountV2Req struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MediaAccountUuid string `protobuf:"bytes,1,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` + state protoimpl.MessageState `protogen:"open.v1"` + MediaAccountUuid string `protobuf:"bytes,1,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *OAuthAccountV2Req) Reset() { *x = OAuthAccountV2Req{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[44] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *OAuthAccountV2Req) String() string { @@ -3652,7 +3542,7 @@ func (*OAuthAccountV2Req) ProtoMessage() {} func (x *OAuthAccountV2Req) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[44] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3675,22 +3565,20 @@ func (x *OAuthAccountV2Req) GetMediaAccountUuid() string { } type OAuthAccountV2Resp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` + ProfileKey string `protobuf:"bytes,2,opt,name=profileKey,proto3" json:"profileKey"` + PlatformID uint32 `protobuf:"varint,3,opt,name=platformID,proto3" json:"platformID"` + AuthUrl string `protobuf:"bytes,4,opt,name=authUrl,proto3" json:"authUrl"` unknownFields protoimpl.UnknownFields - - ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` - ProfileKey string `protobuf:"bytes,2,opt,name=profileKey,proto3" json:"profileKey"` - PlatformID uint32 `protobuf:"varint,3,opt,name=platformID,proto3" json:"platformID"` + sizeCache protoimpl.SizeCache } func (x *OAuthAccountV2Resp) Reset() { *x = OAuthAccountV2Resp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[45] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *OAuthAccountV2Resp) String() string { @@ -3701,7 +3589,7 @@ func (*OAuthAccountV2Resp) ProtoMessage() {} func (x *OAuthAccountV2Resp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[45] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3737,23 +3625,27 @@ func (x *OAuthAccountV2Resp) GetPlatformID() uint32 { return 0 } +func (x *OAuthAccountV2Resp) GetAuthUrl() string { + if x != nil { + return x.AuthUrl + } + return "" +} + // youtube type OAuthYoutubeTokenReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MediaAccountUuid string `protobuf:"bytes,1,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` - Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code"` + state protoimpl.MessageState `protogen:"open.v1"` + MediaAccountUuid string `protobuf:"bytes,1,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` + Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *OAuthYoutubeTokenReq) Reset() { *x = OAuthYoutubeTokenReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[46] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *OAuthYoutubeTokenReq) String() string { @@ -3764,7 +3656,7 @@ func (*OAuthYoutubeTokenReq) ProtoMessage() {} func (x *OAuthYoutubeTokenReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[46] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3794,22 +3686,19 @@ func (x *OAuthYoutubeTokenReq) GetCode() string { } type OAuthYoutubeTokenResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + AccessToken string `protobuf:"bytes,1,opt,name=accessToken,proto3" json:"accessToken"` + RefreshToken string `protobuf:"bytes,2,opt,name=refreshToken,proto3" json:"refreshToken"` + ExpireTime int64 `protobuf:"varint,3,opt,name=expireTime,proto3" json:"expireTime"` unknownFields protoimpl.UnknownFields - - AccessToken string `protobuf:"bytes,1,opt,name=accessToken,proto3" json:"accessToken"` - RefreshToken string `protobuf:"bytes,2,opt,name=refreshToken,proto3" json:"refreshToken"` - ExpireTime int64 `protobuf:"varint,3,opt,name=expireTime,proto3" json:"expireTime"` + sizeCache protoimpl.SizeCache } func (x *OAuthYoutubeTokenResp) Reset() { *x = OAuthYoutubeTokenResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[47] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *OAuthYoutubeTokenResp) String() string { @@ -3820,7 +3709,7 @@ func (*OAuthYoutubeTokenResp) ProtoMessage() {} func (x *OAuthYoutubeTokenResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[47] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3857,22 +3746,19 @@ func (x *OAuthYoutubeTokenResp) GetExpireTime() int64 { } type OAuthCodeToTokenReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code"` + UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"` + PlatformID PlatformIDENUM `protobuf:"varint,3,opt,name=platformID,proto3,enum=Cast.PlatformIDENUM" json:"platformID"` unknownFields protoimpl.UnknownFields - - Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code"` - UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"` - PlatformID PlatformIDENUM `protobuf:"varint,3,opt,name=platformID,proto3,enum=Cast.PlatformIDENUM" json:"platformID"` + sizeCache protoimpl.SizeCache } func (x *OAuthCodeToTokenReq) Reset() { *x = OAuthCodeToTokenReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[48] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *OAuthCodeToTokenReq) String() string { @@ -3883,7 +3769,7 @@ func (*OAuthCodeToTokenReq) ProtoMessage() {} func (x *OAuthCodeToTokenReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[48] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3920,18 +3806,16 @@ func (x *OAuthCodeToTokenReq) GetPlatformID() PlatformIDENUM { } type OAuthCodeToTokenResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *OAuthCodeToTokenResp) Reset() { *x = OAuthCodeToTokenResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[49] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *OAuthCodeToTokenResp) String() string { @@ -3942,7 +3826,7 @@ func (*OAuthCodeToTokenResp) ProtoMessage() {} func (x *OAuthCodeToTokenResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[49] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3958,23 +3842,17 @@ func (*OAuthCodeToTokenResp) Descriptor() ([]byte, []int) { } type UpdateOAuthReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Data []*UpdateOAuthReq_Info `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data"` unknownFields protoimpl.UnknownFields - - ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` - PlatformID PlatformIDENUM `protobuf:"varint,2,opt,name=platformID,proto3,enum=Cast.PlatformIDENUM" json:"platformID"` - AuthStatus uint32 `protobuf:"varint,3,opt,name=authStatus,proto3" json:"authStatus"` - AutInfo string `protobuf:"bytes,4,opt,name=autInfo,proto3" json:"autInfo"` + sizeCache protoimpl.SizeCache } func (x *UpdateOAuthReq) Reset() { *x = UpdateOAuthReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[50] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateOAuthReq) String() string { @@ -3985,7 +3863,7 @@ func (*UpdateOAuthReq) ProtoMessage() {} func (x *UpdateOAuthReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[50] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4000,51 +3878,27 @@ func (*UpdateOAuthReq) Descriptor() ([]byte, []int) { return file_pb_fiee_cast_proto_rawDescGZIP(), []int{50} } -func (x *UpdateOAuthReq) GetArtistUuid() string { +func (x *UpdateOAuthReq) GetData() []*UpdateOAuthReq_Info { if x != nil { - return x.ArtistUuid + return x.Data } - return "" -} - -func (x *UpdateOAuthReq) GetPlatformID() PlatformIDENUM { - if x != nil { - return x.PlatformID - } - return PlatformIDENUM_UNKNOWN -} - -func (x *UpdateOAuthReq) GetAuthStatus() uint32 { - if x != nil { - return x.AuthStatus - } - return 0 -} - -func (x *UpdateOAuthReq) GetAutInfo() string { - if x != nil { - return x.AutInfo - } - return "" + return nil } type RefreshTokenReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + RefreshToken string `protobuf:"bytes,1,opt,name=refreshToken,proto3" json:"refreshToken"` + PlatformID PlatformIDENUM `protobuf:"varint,2,opt,name=platformID,proto3,enum=Cast.PlatformIDENUM" json:"platformID"` + UserID string `protobuf:"bytes,3,opt,name=userID,proto3" json:"userID"` unknownFields protoimpl.UnknownFields - - RefreshToken string `protobuf:"bytes,1,opt,name=refreshToken,proto3" json:"refreshToken"` - PlatformID PlatformIDENUM `protobuf:"varint,2,opt,name=platformID,proto3,enum=Cast.PlatformIDENUM" json:"platformID"` - UserID string `protobuf:"bytes,3,opt,name=userID,proto3" json:"userID"` + sizeCache protoimpl.SizeCache } func (x *RefreshTokenReq) Reset() { *x = RefreshTokenReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[51] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RefreshTokenReq) String() string { @@ -4055,7 +3909,7 @@ func (*RefreshTokenReq) ProtoMessage() {} func (x *RefreshTokenReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[51] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4092,21 +3946,18 @@ func (x *RefreshTokenReq) GetUserID() string { } type RefreshTokenResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AccessToken string `protobuf:"bytes,1,opt,name=accessToken,proto3" json:"accessToken"` - PlatformUserID string `protobuf:"bytes,2,opt,name=platformUserID,proto3" json:"platformUserID"` + state protoimpl.MessageState `protogen:"open.v1"` + AccessToken string `protobuf:"bytes,1,opt,name=accessToken,proto3" json:"accessToken"` + PlatformUserID string `protobuf:"bytes,2,opt,name=platformUserID,proto3" json:"platformUserID"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RefreshTokenResp) Reset() { *x = RefreshTokenResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[52] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RefreshTokenResp) String() string { @@ -4117,7 +3968,7 @@ func (*RefreshTokenResp) ProtoMessage() {} func (x *RefreshTokenResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[52] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4147,22 +3998,19 @@ func (x *RefreshTokenResp) GetPlatformUserID() string { } type PublishMediaInfoReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` - PlatformID int32 `protobuf:"varint,2,opt,name=platformID,proto3" json:"platformID"` - PlatformMediaUuid string `protobuf:"bytes,3,opt,name=platformMediaUuid,proto3" json:"platformMediaUuid"` + state protoimpl.MessageState `protogen:"open.v1"` + WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` + PlatformID int32 `protobuf:"varint,2,opt,name=platformID,proto3" json:"platformID"` + PlatformMediaUuid string `protobuf:"bytes,3,opt,name=platformMediaUuid,proto3" json:"platformMediaUuid"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PublishMediaInfoReq) Reset() { *x = PublishMediaInfoReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[53] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PublishMediaInfoReq) String() string { @@ -4173,7 +4021,7 @@ func (*PublishMediaInfoReq) ProtoMessage() {} func (x *PublishMediaInfoReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[53] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4210,23 +4058,20 @@ func (x *PublishMediaInfoReq) GetPlatformMediaUuid() string { } type PublishMediaInfoResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` - PlatformID int32 `protobuf:"varint,2,opt,name=platformID,proto3" json:"platformID"` - PlatformMediaUuid string `protobuf:"bytes,3,opt,name=platformMediaUuid,proto3" json:"platformMediaUuid"` - Info string `protobuf:"bytes,4,opt,name=info,proto3" json:"info"` + state protoimpl.MessageState `protogen:"open.v1"` + WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` + PlatformID int32 `protobuf:"varint,2,opt,name=platformID,proto3" json:"platformID"` + PlatformMediaUuid string `protobuf:"bytes,3,opt,name=platformMediaUuid,proto3" json:"platformMediaUuid"` + Info string `protobuf:"bytes,4,opt,name=info,proto3" json:"info"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PublishMediaInfoResp) Reset() { *x = PublishMediaInfoResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[54] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PublishMediaInfoResp) String() string { @@ -4237,7 +4082,7 @@ func (*PublishMediaInfoResp) ProtoMessage() {} func (x *PublishMediaInfoResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[54] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4283,28 +4128,25 @@ func (x *PublishMediaInfoResp) GetInfo() string { // 视频脚本相关消息定义 // 更新视频脚本请求 type UpdateVideoScriptReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 脚本UUID + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` // 脚本标题 + Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content"` // 脚本内容 + CreatorUuid string `protobuf:"bytes,4,opt,name=creatorUuid,proto3" json:"creatorUuid"` // 创建人UUID + CreatorName string `protobuf:"bytes,5,opt,name=creatorName,proto3" json:"creatorName"` // 创建人名称 + ArtistUuid string `protobuf:"bytes,6,opt,name=artistUuid,proto3" json:"artistUuid"` + ArtistPhone string `protobuf:"bytes,7,opt,name=artistPhone,proto3" json:"artistPhone"` + ArtistNum string `protobuf:"bytes,8,opt,name=artistNum,proto3" json:"artistNum"` + ArtistName string `protobuf:"bytes,9,opt,name=artistName,proto3" json:"artistName"` unknownFields protoimpl.UnknownFields - - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 脚本UUID - Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` // 脚本标题 - Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content"` // 脚本内容 - CreatorUuid string `protobuf:"bytes,4,opt,name=creatorUuid,proto3" json:"creatorUuid"` // 创建人UUID - CreatorName string `protobuf:"bytes,5,opt,name=creatorName,proto3" json:"creatorName"` // 创建人名称 - ArtistUuid string `protobuf:"bytes,6,opt,name=artistUuid,proto3" json:"artistUuid"` - ArtistPhone string `protobuf:"bytes,7,opt,name=artistPhone,proto3" json:"artistPhone"` - ArtistNum string `protobuf:"bytes,8,opt,name=artistNum,proto3" json:"artistNum"` - ArtistName string `protobuf:"bytes,9,opt,name=artistName,proto3" json:"artistName"` + sizeCache protoimpl.SizeCache } func (x *UpdateVideoScriptReq) Reset() { *x = UpdateVideoScriptReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[55] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateVideoScriptReq) String() string { @@ -4315,7 +4157,7 @@ func (*UpdateVideoScriptReq) ProtoMessage() {} func (x *UpdateVideoScriptReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[55] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4394,20 +4236,17 @@ func (x *UpdateVideoScriptReq) GetArtistName() string { } type UpdateVideoScriptResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 脚本UUID unknownFields protoimpl.UnknownFields - - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 脚本UUID + sizeCache protoimpl.SizeCache } func (x *UpdateVideoScriptResp) Reset() { *x = UpdateVideoScriptResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[56] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateVideoScriptResp) String() string { @@ -4418,7 +4257,7 @@ func (*UpdateVideoScriptResp) ProtoMessage() {} func (x *UpdateVideoScriptResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[56] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4442,20 +4281,17 @@ func (x *UpdateVideoScriptResp) GetUuid() string { // 获取视频脚本详情请求 type GetVideoScriptReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 脚本UUID unknownFields protoimpl.UnknownFields - - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 脚本UUID + sizeCache protoimpl.SizeCache } func (x *GetVideoScriptReq) Reset() { *x = GetVideoScriptReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[57] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetVideoScriptReq) String() string { @@ -4466,7 +4302,7 @@ func (*GetVideoScriptReq) ProtoMessage() {} func (x *GetVideoScriptReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[57] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4489,32 +4325,29 @@ func (x *GetVideoScriptReq) GetUuid() string { } type GetVideoScriptResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 脚本UUID + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` // 脚本标题 + Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content"` // 脚本内容 + Status uint32 `protobuf:"varint,4,opt,name=status,proto3" json:"status"` // 状态 + ArtistUuid string `protobuf:"bytes,5,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人UUID + ArtistName string `protobuf:"bytes,6,opt,name=artistName,proto3" json:"artistName"` // 艺人名称 + ArtistPhone string `protobuf:"bytes,7,opt,name=artistPhone,proto3" json:"artistPhone"` // 艺人名称 + CreatorUuid string `protobuf:"bytes,8,opt,name=creatorUuid,proto3" json:"creatorUuid"` // 创建人UUID + CreatorName string `protobuf:"bytes,9,opt,name=creatorName,proto3" json:"creatorName"` // 创建人名称 + QuoteCount int32 `protobuf:"varint,10,opt,name=quoteCount,proto3" json:"quoteCount"` + ArtistNum string `protobuf:"bytes,11,opt,name=artistNum,proto3" json:"artistNum"` + Remark string `protobuf:"bytes,12,opt,name=remark,proto3" json:"remark"` + ApprovalID string `protobuf:"bytes,13,opt,name=approvalID,proto3" json:"approvalID"` unknownFields protoimpl.UnknownFields - - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 脚本UUID - Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` // 脚本标题 - Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content"` // 脚本内容 - Status uint32 `protobuf:"varint,4,opt,name=status,proto3" json:"status"` // 状态 - ArtistUuid string `protobuf:"bytes,5,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人UUID - ArtistName string `protobuf:"bytes,6,opt,name=artistName,proto3" json:"artistName"` // 艺人名称 - ArtistPhone string `protobuf:"bytes,7,opt,name=artistPhone,proto3" json:"artistPhone"` // 艺人名称 - CreatorUuid string `protobuf:"bytes,8,opt,name=creatorUuid,proto3" json:"creatorUuid"` // 创建人UUID - CreatorName string `protobuf:"bytes,9,opt,name=creatorName,proto3" json:"creatorName"` // 创建人名称 - QuoteCount int32 `protobuf:"varint,10,opt,name=quoteCount,proto3" json:"quoteCount"` - ArtistNum string `protobuf:"bytes,11,opt,name=artistNum,proto3" json:"artistNum"` - Remark string `protobuf:"bytes,12,opt,name=remark,proto3" json:"remark"` - ApprovalID string `protobuf:"bytes,13,opt,name=approvalID,proto3" json:"approvalID"` + sizeCache protoimpl.SizeCache } func (x *GetVideoScriptResp) Reset() { *x = GetVideoScriptResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[58] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetVideoScriptResp) String() string { @@ -4525,7 +4358,7 @@ func (*GetVideoScriptResp) ProtoMessage() {} func (x *GetVideoScriptResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[58] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4633,28 +4466,25 @@ func (x *GetVideoScriptResp) GetApprovalID() string { // 获取视频脚本列表请求 type ListVideoScriptsReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title"` // 标题关键字 - Status uint32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` // 状态 - ArtistKeywords string `protobuf:"bytes,3,opt,name=artistKeywords,proto3" json:"artistKeywords"` // 艺人 - CreatorKeywords string `protobuf:"bytes,4,opt,name=creatorKeywords,proto3" json:"creatorKeywords"` // 创建人 - CreateStartDate string `protobuf:"bytes,5,opt,name=createStartDate,proto3" json:"createStartDate"` - CreateEndDate string `protobuf:"bytes,6,opt,name=createEndDate,proto3" json:"createEndDate"` - Page int32 `protobuf:"varint,7,opt,name=page,proto3" json:"page"` - PageSize int32 `protobuf:"varint,8,opt,name=pageSize,proto3" json:"pageSize"` - ArtistUuid string `protobuf:"bytes,9,opt,name=artistUuid,proto3" json:"artistUuid"` + state protoimpl.MessageState `protogen:"open.v1"` + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title"` // 标题关键字 + Status uint32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` // 状态 + ArtistKeywords string `protobuf:"bytes,3,opt,name=artistKeywords,proto3" json:"artistKeywords"` // 艺人 + CreatorKeywords string `protobuf:"bytes,4,opt,name=creatorKeywords,proto3" json:"creatorKeywords"` // 创建人 + CreateStartDate string `protobuf:"bytes,5,opt,name=createStartDate,proto3" json:"createStartDate"` + CreateEndDate string `protobuf:"bytes,6,opt,name=createEndDate,proto3" json:"createEndDate"` + Page int32 `protobuf:"varint,7,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,8,opt,name=pageSize,proto3" json:"pageSize"` + ArtistUuid string `protobuf:"bytes,9,opt,name=artistUuid,proto3" json:"artistUuid"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ListVideoScriptsReq) Reset() { *x = ListVideoScriptsReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[59] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListVideoScriptsReq) String() string { @@ -4665,7 +4495,7 @@ func (*ListVideoScriptsReq) ProtoMessage() {} func (x *ListVideoScriptsReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[59] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4744,33 +4574,30 @@ func (x *ListVideoScriptsReq) GetArtistUuid() string { } type VideoScriptInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 脚本UUID + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` // 脚本标题 + Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content"` // 脚本内容 + ArtistUuid string `protobuf:"bytes,4,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人UUID + ArtistName string `protobuf:"bytes,5,opt,name=artistName,proto3" json:"artistName"` // 艺人名称 + ArtistPhone string `protobuf:"bytes,6,opt,name=artistPhone,proto3" json:"artistPhone"` // 艺人名称 + QuoteCount int32 `protobuf:"varint,7,opt,name=quoteCount,proto3" json:"quoteCount"` + CreatorUuid string `protobuf:"bytes,8,opt,name=creatorUuid,proto3" json:"creatorUuid"` // 创建人UUID + CreatorName string `protobuf:"bytes,9,opt,name=creatorName,proto3" json:"creatorName"` // 创建人名称 + Status uint32 `protobuf:"varint,10,opt,name=status,proto3" json:"status"` // 状态 + CreatedDate string `protobuf:"bytes,11,opt,name=createdDate,proto3" json:"createdDate"` // 创建时间 + ArtistNum string `protobuf:"bytes,12,opt,name=artistNum,proto3" json:"artistNum"` + Remark string `protobuf:"bytes,13,opt,name=remark,proto3" json:"remark"` + Success bool `protobuf:"varint,14,opt,name=success,proto3" json:"success"` unknownFields protoimpl.UnknownFields - - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 脚本UUID - Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` // 脚本标题 - Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content"` // 脚本内容 - ArtistUuid string `protobuf:"bytes,4,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人UUID - ArtistName string `protobuf:"bytes,5,opt,name=artistName,proto3" json:"artistName"` // 艺人名称 - ArtistPhone string `protobuf:"bytes,6,opt,name=artistPhone,proto3" json:"artistPhone"` // 艺人名称 - QuoteCount int32 `protobuf:"varint,7,opt,name=quoteCount,proto3" json:"quoteCount"` - CreatorUuid string `protobuf:"bytes,8,opt,name=creatorUuid,proto3" json:"creatorUuid"` // 创建人UUID - CreatorName string `protobuf:"bytes,9,opt,name=creatorName,proto3" json:"creatorName"` // 创建人名称 - Status uint32 `protobuf:"varint,10,opt,name=status,proto3" json:"status"` // 状态 - CreatedDate string `protobuf:"bytes,11,opt,name=createdDate,proto3" json:"createdDate"` // 创建时间 - ArtistNum string `protobuf:"bytes,12,opt,name=artistNum,proto3" json:"artistNum"` - Remark string `protobuf:"bytes,13,opt,name=remark,proto3" json:"remark"` - Success bool `protobuf:"varint,14,opt,name=success,proto3" json:"success"` + sizeCache protoimpl.SizeCache } func (x *VideoScriptInfo) Reset() { *x = VideoScriptInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[60] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *VideoScriptInfo) String() string { @@ -4781,7 +4608,7 @@ func (*VideoScriptInfo) ProtoMessage() {} func (x *VideoScriptInfo) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[60] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4895,21 +4722,18 @@ func (x *VideoScriptInfo) GetSuccess() bool { } type ListVideoScriptsResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Data []*VideoScriptInfo `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` + Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` unknownFields protoimpl.UnknownFields - - Data []*VideoScriptInfo `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` - Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` + sizeCache protoimpl.SizeCache } func (x *ListVideoScriptsResp) Reset() { *x = ListVideoScriptsResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[61] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListVideoScriptsResp) String() string { @@ -4920,7 +4744,7 @@ func (*ListVideoScriptsResp) ProtoMessage() {} func (x *ListVideoScriptsResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[61] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4951,20 +4775,17 @@ func (x *ListVideoScriptsResp) GetCount() int64 { // 删除视频脚本请求 type DeleteVideoScriptReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 脚本UUID unknownFields protoimpl.UnknownFields - - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 脚本UUID + sizeCache protoimpl.SizeCache } func (x *DeleteVideoScriptReq) Reset() { *x = DeleteVideoScriptReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[62] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DeleteVideoScriptReq) String() string { @@ -4975,7 +4796,7 @@ func (*DeleteVideoScriptReq) ProtoMessage() {} func (x *DeleteVideoScriptReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[62] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4998,20 +4819,17 @@ func (x *DeleteVideoScriptReq) GetUuid() string { } type UpdateVideoScriptBatchReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Data []*VideoScriptInfo `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` unknownFields protoimpl.UnknownFields - - Data []*VideoScriptInfo `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` + sizeCache protoimpl.SizeCache } func (x *UpdateVideoScriptBatchReq) Reset() { *x = UpdateVideoScriptBatchReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[63] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateVideoScriptBatchReq) String() string { @@ -5022,7 +4840,7 @@ func (*UpdateVideoScriptBatchReq) ProtoMessage() {} func (x *UpdateVideoScriptBatchReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[63] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5045,22 +4863,19 @@ func (x *UpdateVideoScriptBatchReq) GetData() []*VideoScriptInfo { } type UpdateVideoScriptBatchResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Data []*VideoScriptInfo `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` + SuccessCount int32 `protobuf:"varint,2,opt,name=successCount,proto3" json:"successCount"` + FailCount int32 `protobuf:"varint,3,opt,name=failCount,proto3" json:"failCount"` unknownFields protoimpl.UnknownFields - - Data []*VideoScriptInfo `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` - SuccessCount int32 `protobuf:"varint,2,opt,name=successCount,proto3" json:"successCount"` - FailCount int32 `protobuf:"varint,3,opt,name=failCount,proto3" json:"failCount"` + sizeCache protoimpl.SizeCache } func (x *UpdateVideoScriptBatchResp) Reset() { *x = UpdateVideoScriptBatchResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[64] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateVideoScriptBatchResp) String() string { @@ -5071,7 +4886,7 @@ func (*UpdateVideoScriptBatchResp) ProtoMessage() {} func (x *UpdateVideoScriptBatchResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[64] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5108,23 +4923,20 @@ func (x *UpdateVideoScriptBatchResp) GetFailCount() int32 { } type UpdateScriptStatusReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + WorkAction WorkActionENUM `protobuf:"varint,1,opt,name=workAction,proto3,enum=Cast.WorkActionENUM" json:"workAction"` + Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid"` + ApprovalID string `protobuf:"bytes,3,opt,name=approvalID,proto3" json:"approvalID"` + ApprovalReply string `protobuf:"bytes,4,opt,name=approvalReply,proto3" json:"approvalReply"` unknownFields protoimpl.UnknownFields - - WorkAction WorkActionENUM `protobuf:"varint,1,opt,name=workAction,proto3,enum=Cast.WorkActionENUM" json:"workAction"` - Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid"` - ApprovalID string `protobuf:"bytes,3,opt,name=approvalID,proto3" json:"approvalID"` - ApprovalReply string `protobuf:"bytes,4,opt,name=approvalReply,proto3" json:"approvalReply"` + sizeCache protoimpl.SizeCache } func (x *UpdateScriptStatusReq) Reset() { *x = UpdateScriptStatusReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[65] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateScriptStatusReq) String() string { @@ -5135,7 +4947,7 @@ func (*UpdateScriptStatusReq) ProtoMessage() {} func (x *UpdateScriptStatusReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[65] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5179,22 +4991,19 @@ func (x *UpdateScriptStatusReq) GetApprovalReply() string { } type SetLayoutReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"` + Data string `protobuf:"bytes,2,opt,name=data,proto3" json:"data"` + FormName string `protobuf:"bytes,3,opt,name=formName,proto3" json:"formName"` unknownFields protoimpl.UnknownFields - - UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"` - Data string `protobuf:"bytes,2,opt,name=data,proto3" json:"data"` - FormName string `protobuf:"bytes,3,opt,name=formName,proto3" json:"formName"` + sizeCache protoimpl.SizeCache } func (x *SetLayoutReq) Reset() { *x = SetLayoutReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[66] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SetLayoutReq) String() string { @@ -5205,7 +5014,7 @@ func (*SetLayoutReq) ProtoMessage() {} func (x *SetLayoutReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[66] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5242,21 +5051,18 @@ func (x *SetLayoutReq) GetFormName() string { } type GetLayoutReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"` + FormName string `protobuf:"bytes,2,opt,name=formName,proto3" json:"formName"` unknownFields protoimpl.UnknownFields - - UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"` - FormName string `protobuf:"bytes,2,opt,name=formName,proto3" json:"formName"` + sizeCache protoimpl.SizeCache } func (x *GetLayoutReq) Reset() { *x = GetLayoutReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[67] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetLayoutReq) String() string { @@ -5267,7 +5073,7 @@ func (*GetLayoutReq) ProtoMessage() {} func (x *GetLayoutReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[67] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5297,21 +5103,18 @@ func (x *GetLayoutReq) GetFormName() string { } type GetLayoutResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Data string `protobuf:"bytes,1,opt,name=data,proto3" json:"data"` + FormName string `protobuf:"bytes,3,opt,name=formName,proto3" json:"formName"` unknownFields protoimpl.UnknownFields - - Data string `protobuf:"bytes,1,opt,name=data,proto3" json:"data"` - FormName string `protobuf:"bytes,3,opt,name=formName,proto3" json:"formName"` + sizeCache protoimpl.SizeCache } func (x *GetLayoutResp) Reset() { *x = GetLayoutResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[68] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetLayoutResp) String() string { @@ -5322,7 +5125,7 @@ func (*GetLayoutResp) ProtoMessage() {} func (x *GetLayoutResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[68] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5353,22 +5156,19 @@ func (x *GetLayoutResp) GetFormName() string { // 关键词相关消息定义 type UpdatePromptReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + PromptUuid string `protobuf:"bytes,1,opt,name=promptUuid,proto3" json:"promptUuid"` // 关键词UUID + Prompt string `protobuf:"bytes,2,opt,name=prompt,proto3" json:"prompt"` // 关键词 + Category CategoryENUM `protobuf:"varint,3,opt,name=category,proto3,enum=Cast.CategoryENUM" json:"category"` // 分类 unknownFields protoimpl.UnknownFields - - PromptUuid string `protobuf:"bytes,1,opt,name=promptUuid,proto3" json:"promptUuid"` // 关键词UUID - Prompt string `protobuf:"bytes,2,opt,name=prompt,proto3" json:"prompt"` // 关键词 - Category CategoryENUM `protobuf:"varint,3,opt,name=category,proto3,enum=Cast.CategoryENUM" json:"category"` // 分类 + sizeCache protoimpl.SizeCache } func (x *UpdatePromptReq) Reset() { *x = UpdatePromptReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[69] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdatePromptReq) String() string { @@ -5379,7 +5179,7 @@ func (*UpdatePromptReq) ProtoMessage() {} func (x *UpdatePromptReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[69] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5416,20 +5216,17 @@ func (x *UpdatePromptReq) GetCategory() CategoryENUM { } type DeletePromptReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + PromptUuid string `protobuf:"bytes,1,opt,name=promptUuid,proto3" json:"promptUuid"` // 关键词UUID unknownFields protoimpl.UnknownFields - - PromptUuid string `protobuf:"bytes,1,opt,name=promptUuid,proto3" json:"promptUuid"` // 关键词UUID + sizeCache protoimpl.SizeCache } func (x *DeletePromptReq) Reset() { *x = DeletePromptReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[70] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DeletePromptReq) String() string { @@ -5440,7 +5237,7 @@ func (*DeletePromptReq) ProtoMessage() {} func (x *DeletePromptReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[70] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5463,20 +5260,17 @@ func (x *DeletePromptReq) GetPromptUuid() string { } type GetPromptReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + PromptUuid string `protobuf:"bytes,1,opt,name=promptUuid,proto3" json:"promptUuid"` // 关键词UUID unknownFields protoimpl.UnknownFields - - PromptUuid string `protobuf:"bytes,1,opt,name=promptUuid,proto3" json:"promptUuid"` // 关键词UUID + sizeCache protoimpl.SizeCache } func (x *GetPromptReq) Reset() { *x = GetPromptReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[71] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetPromptReq) String() string { @@ -5487,7 +5281,7 @@ func (*GetPromptReq) ProtoMessage() {} func (x *GetPromptReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[71] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5510,23 +5304,20 @@ func (x *GetPromptReq) GetPromptUuid() string { } type GetPromptResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + PromptUuid string `protobuf:"bytes,1,opt,name=promptUuid,proto3" json:"promptUuid"` // 关键词UUID + Prompt string `protobuf:"bytes,2,opt,name=prompt,proto3" json:"prompt"` // 关键词 + Category CategoryENUM `protobuf:"varint,3,opt,name=category,proto3,enum=Cast.CategoryENUM" json:"category"` // 分类 + UseCount uint32 `protobuf:"varint,4,opt,name=useCount,proto3" json:"useCount"` // 使用次数 unknownFields protoimpl.UnknownFields - - PromptUuid string `protobuf:"bytes,1,opt,name=promptUuid,proto3" json:"promptUuid"` // 关键词UUID - Prompt string `protobuf:"bytes,2,opt,name=prompt,proto3" json:"prompt"` // 关键词 - Category CategoryENUM `protobuf:"varint,3,opt,name=category,proto3,enum=Cast.CategoryENUM" json:"category"` // 分类 - UseCount uint32 `protobuf:"varint,4,opt,name=useCount,proto3" json:"useCount"` // 使用次数 + sizeCache protoimpl.SizeCache } func (x *GetPromptResp) Reset() { *x = GetPromptResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[72] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetPromptResp) String() string { @@ -5537,7 +5328,7 @@ func (*GetPromptResp) ProtoMessage() {} func (x *GetPromptResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[72] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5581,24 +5372,21 @@ func (x *GetPromptResp) GetUseCount() uint32 { } type ListPromptsReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Prompt string `protobuf:"bytes,1,opt,name=prompt,proto3" json:"prompt"` // 关键词搜索 + Category CategoryENUM `protobuf:"varint,2,opt,name=category,proto3,enum=Cast.CategoryENUM" json:"category"` // 分类筛选 + Page int32 `protobuf:"varint,3,opt,name=page,proto3" json:"page"` // 页码 + PageSize int32 `protobuf:"varint,4,opt,name=pageSize,proto3" json:"pageSize"` // 每页数量 + Rand bool `protobuf:"varint,5,opt,name=rand,proto3" json:"rand"` unknownFields protoimpl.UnknownFields - - Prompt string `protobuf:"bytes,1,opt,name=prompt,proto3" json:"prompt"` // 关键词搜索 - Category CategoryENUM `protobuf:"varint,2,opt,name=category,proto3,enum=Cast.CategoryENUM" json:"category"` // 分类筛选 - Page int32 `protobuf:"varint,3,opt,name=page,proto3" json:"page"` // 页码 - PageSize int32 `protobuf:"varint,4,opt,name=pageSize,proto3" json:"pageSize"` // 每页数量 - Rand bool `protobuf:"varint,5,opt,name=rand,proto3" json:"rand"` + sizeCache protoimpl.SizeCache } func (x *ListPromptsReq) Reset() { *x = ListPromptsReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[73] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListPromptsReq) String() string { @@ -5609,7 +5397,7 @@ func (*ListPromptsReq) ProtoMessage() {} func (x *ListPromptsReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[73] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5660,27 +5448,24 @@ func (x *ListPromptsReq) GetRand() bool { } type PromptInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + PromptUuid string `protobuf:"bytes,1,opt,name=promptUuid,proto3" json:"promptUuid"` // 关键词UUID + Prompt string `protobuf:"bytes,2,opt,name=prompt,proto3" json:"prompt"` // 关键词 + Category CategoryENUM `protobuf:"varint,3,opt,name=category,proto3,enum=Cast.CategoryENUM" json:"category"` // 分类 + Remark string `protobuf:"bytes,4,opt,name=remark,proto3" json:"remark"` // 备注 + Success bool `protobuf:"varint,5,opt,name=success,proto3" json:"success"` // 是否更新成功 + UseCount uint32 `protobuf:"varint,6,opt,name=useCount,proto3" json:"useCount"` // 使用次数 + LineNo uint32 `protobuf:"varint,7,opt,name=lineNo,proto3" json:"lineNo"` // 行号 + CreatedDate string `protobuf:"bytes,8,opt,name=createdDate,proto3" json:"createdDate"` // 创建时间 unknownFields protoimpl.UnknownFields - - PromptUuid string `protobuf:"bytes,1,opt,name=promptUuid,proto3" json:"promptUuid"` // 关键词UUID - Prompt string `protobuf:"bytes,2,opt,name=prompt,proto3" json:"prompt"` // 关键词 - Category CategoryENUM `protobuf:"varint,3,opt,name=category,proto3,enum=Cast.CategoryENUM" json:"category"` // 分类 - Remark string `protobuf:"bytes,4,opt,name=remark,proto3" json:"remark"` // 备注 - Success bool `protobuf:"varint,5,opt,name=success,proto3" json:"success"` // 是否更新成功 - UseCount uint32 `protobuf:"varint,6,opt,name=useCount,proto3" json:"useCount"` // 使用次数 - LineNo uint32 `protobuf:"varint,7,opt,name=lineNo,proto3" json:"lineNo"` // 行号 - CreatedDate string `protobuf:"bytes,8,opt,name=createdDate,proto3" json:"createdDate"` // 创建时间 + sizeCache protoimpl.SizeCache } func (x *PromptInfo) Reset() { *x = PromptInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[74] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PromptInfo) String() string { @@ -5691,7 +5476,7 @@ func (*PromptInfo) ProtoMessage() {} func (x *PromptInfo) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[74] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5763,21 +5548,18 @@ func (x *PromptInfo) GetCreatedDate() string { } type ListPromptsResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Data []*PromptInfo `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` // 关键词列表 + Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` // 总数 unknownFields protoimpl.UnknownFields - - Data []*PromptInfo `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` // 关键词列表 - Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` // 总数 + sizeCache protoimpl.SizeCache } func (x *ListPromptsResp) Reset() { *x = ListPromptsResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[75] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListPromptsResp) String() string { @@ -5788,7 +5570,7 @@ func (*ListPromptsResp) ProtoMessage() {} func (x *ListPromptsResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[75] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5818,20 +5600,17 @@ func (x *ListPromptsResp) GetCount() int64 { } type UpdatePromptBatchReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Data []*PromptInfo `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` // 关键词列表 unknownFields protoimpl.UnknownFields - - Data []*PromptInfo `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` // 关键词列表 + sizeCache protoimpl.SizeCache } func (x *UpdatePromptBatchReq) Reset() { *x = UpdatePromptBatchReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[76] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdatePromptBatchReq) String() string { @@ -5842,7 +5621,7 @@ func (*UpdatePromptBatchReq) ProtoMessage() {} func (x *UpdatePromptBatchReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[76] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5865,22 +5644,19 @@ func (x *UpdatePromptBatchReq) GetData() []*PromptInfo { } type UpdatePromptBatchResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Data []*PromptInfo `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` // 关键词列表 + SuccessCount int32 `protobuf:"varint,2,opt,name=successCount,proto3" json:"successCount"` // 成功数量 + FailCount int32 `protobuf:"varint,3,opt,name=failCount,proto3" json:"failCount"` // 失败数量 unknownFields protoimpl.UnknownFields - - Data []*PromptInfo `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` // 关键词列表 - SuccessCount int32 `protobuf:"varint,2,opt,name=successCount,proto3" json:"successCount"` // 成功数量 - FailCount int32 `protobuf:"varint,3,opt,name=failCount,proto3" json:"failCount"` // 失败数量 + sizeCache protoimpl.SizeCache } func (x *UpdatePromptBatchResp) Reset() { *x = UpdatePromptBatchResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[77] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdatePromptBatchResp) String() string { @@ -5891,7 +5667,7 @@ func (*UpdatePromptBatchResp) ProtoMessage() {} func (x *UpdatePromptBatchResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[77] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5929,23 +5705,20 @@ func (x *UpdatePromptBatchResp) GetFailCount() int32 { // 艺人相关接口 type ArtistInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人UUID + RefID string `protobuf:"bytes,2,opt,name=refID,proto3" json:"refID"` // 艺人名称 + ProfileKey string `protobuf:"bytes,3,opt,name=profileKey,proto3" json:"profileKey"` // 艺人手机号 + SubNum string `protobuf:"bytes,4,opt,name=subNum,proto3" json:"subNum"` unknownFields protoimpl.UnknownFields - - ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人UUID - RefID string `protobuf:"bytes,2,opt,name=refID,proto3" json:"refID"` // 艺人名称 - ProfileKey string `protobuf:"bytes,3,opt,name=profileKey,proto3" json:"profileKey"` // 艺人手机号 - SubNum string `protobuf:"bytes,4,opt,name=subNum,proto3" json:"subNum"` + sizeCache protoimpl.SizeCache } func (x *ArtistInfo) Reset() { *x = ArtistInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[78] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ArtistInfo) String() string { @@ -5956,7 +5729,7 @@ func (*ArtistInfo) ProtoMessage() {} func (x *ArtistInfo) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[78] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6000,21 +5773,18 @@ func (x *ArtistInfo) GetSubNum() string { } type UpdateArtistReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ArtistInfo *ArtistInfo `protobuf:"bytes,1,opt,name=artistInfo,proto3" json:"artistInfo"` + Uuid string `protobuf:"bytes,2,opt,name=Uuid,proto3" json:"Uuid"` unknownFields protoimpl.UnknownFields - - ArtistInfo *ArtistInfo `protobuf:"bytes,1,opt,name=artistInfo,proto3" json:"artistInfo"` - Uuid string `protobuf:"bytes,2,opt,name=Uuid,proto3" json:"Uuid"` + sizeCache protoimpl.SizeCache } func (x *UpdateArtistReq) Reset() { *x = UpdateArtistReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[79] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateArtistReq) String() string { @@ -6025,7 +5795,7 @@ func (*UpdateArtistReq) ProtoMessage() {} func (x *UpdateArtistReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[79] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6055,20 +5825,17 @@ func (x *UpdateArtistReq) GetUuid() string { } type UpdateArtistResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人UUID unknownFields protoimpl.UnknownFields - - ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人UUID + sizeCache protoimpl.SizeCache } func (x *UpdateArtistResp) Reset() { *x = UpdateArtistResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[80] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateArtistResp) String() string { @@ -6079,7 +5846,7 @@ func (*UpdateArtistResp) ProtoMessage() {} func (x *UpdateArtistResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[80] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6102,20 +5869,17 @@ func (x *UpdateArtistResp) GetArtistUuid() string { } type GetArtistReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人UUID unknownFields protoimpl.UnknownFields - - ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人UUID + sizeCache protoimpl.SizeCache } func (x *GetArtistReq) Reset() { *x = GetArtistReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[81] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetArtistReq) String() string { @@ -6126,7 +5890,7 @@ func (*GetArtistReq) ProtoMessage() {} func (x *GetArtistReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[81] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6149,21 +5913,18 @@ func (x *GetArtistReq) GetArtistUuid() string { } type GetArtistResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ArtistInfo *ArtistInfo `protobuf:"bytes,1,opt,name=artistInfo,proto3" json:"artistInfo"` + Uuid string `protobuf:"bytes,2,opt,name=Uuid,proto3" json:"Uuid"` unknownFields protoimpl.UnknownFields - - ArtistInfo *ArtistInfo `protobuf:"bytes,1,opt,name=artistInfo,proto3" json:"artistInfo"` - Uuid string `protobuf:"bytes,2,opt,name=Uuid,proto3" json:"Uuid"` + sizeCache protoimpl.SizeCache } func (x *GetArtistResp) Reset() { *x = GetArtistResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[82] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetArtistResp) String() string { @@ -6174,7 +5935,7 @@ func (*GetArtistResp) ProtoMessage() {} func (x *GetArtistResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[82] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6205,43 +5966,40 @@ func (x *GetArtistResp) GetUuid() string { // 作品分析相关消息定义 type CreateWorkAnalysisReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 分析UUID - SubNum string `protobuf:"bytes,2,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 - ArtistName string `protobuf:"bytes,3,opt,name=artistName,proto3" json:"artistName"` // 艺人名字 - ArtistID string `protobuf:"bytes,4,opt,name=artistID,proto3" json:"artistID"` // 艺人ID - ArtistPhone string `protobuf:"bytes,5,opt,name=artistPhone,proto3" json:"artistPhone"` // 艺人手机号 - Analysis string `protobuf:"bytes,6,opt,name=analysis,proto3" json:"analysis"` // 分析内容 - Title string `protobuf:"bytes,7,opt,name=title,proto3" json:"title"` // 标题 - PdfUrl string `protobuf:"bytes,8,opt,name=pdfUrl,proto3" json:"pdfUrl"` // pdf的url链接 - MediaAccountCount int32 `protobuf:"varint,9,opt,name=mediaAccountCount,proto3" json:"mediaAccountCount"` // 当前账号数 - WorkVideoCount int32 `protobuf:"varint,10,opt,name=workVideoCount,proto3" json:"workVideoCount"` // 当前发布视频数 - WorkImageCount int32 `protobuf:"varint,11,opt,name=workImageCount,proto3" json:"workImageCount"` // 当前发布图文数 - Views int32 `protobuf:"varint,12,opt,name=views,proto3" json:"views"` // 是否开启浏览/播放量统计 0 关闭 1 开启 - Likes int32 `protobuf:"varint,13,opt,name=likes,proto3" json:"likes"` // 是否开启点赞数统计 0 关闭 1 开启 - Comments int32 `protobuf:"varint,14,opt,name=comments,proto3" json:"comments"` // 是否开启评论数统计 0 关闭 1 开启 - Shares int32 `protobuf:"varint,15,opt,name=shares,proto3" json:"shares"` // 是否开启分享数统计 0 关闭 1 开启 - FansCount int32 `protobuf:"varint,16,opt,name=fansCount,proto3" json:"fansCount"` // 是否开启粉丝数统计 0 关闭 1 开启 - TopCities int32 `protobuf:"varint,17,opt,name=topCities,proto3" json:"topCities"` // 是否开启Top城市统计 0 关闭 1 开启 - MostActiveDay int32 `protobuf:"varint,18,opt,name=mostActiveDay,proto3" json:"mostActiveDay"` // 是否开启最活跃日统计 0 关闭 1 开启 - BestPostTime int32 `protobuf:"varint,19,opt,name=bestPostTime,proto3" json:"bestPostTime"` // 是否开启最佳发布时间统计 0 关闭 1 开启 - PeriodTypeFans uint32 `protobuf:"varint,21,opt,name=periodTypeFans,proto3" json:"periodTypeFans"` // 粉丝数周期类型 1 日 2 周 3 月 - PeriodTypeViews uint32 `protobuf:"varint,22,opt,name=periodTypeViews,proto3" json:"periodTypeViews"` // 播放量周期类型 1 日 2 周 3 月 - PeriodTypeLikes uint32 `protobuf:"varint,23,opt,name=periodTypeLikes,proto3" json:"periodTypeLikes"` // 点赞数周期类型 1 日 2 周 3 月 - PeriodTypeComments uint32 `protobuf:"varint,24,opt,name=periodTypeComments,proto3" json:"periodTypeComments"` // 评论数周期类型 1 日 2 周 3 月 - PeriodTypeShares uint32 `protobuf:"varint,25,opt,name=periodTypeShares,proto3" json:"periodTypeShares"` // 分享数周期类型 1 日 2 周 3 月 + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 分析UUID + SubNum string `protobuf:"bytes,2,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 + ArtistName string `protobuf:"bytes,3,opt,name=artistName,proto3" json:"artistName"` // 艺人名字 + ArtistID string `protobuf:"bytes,4,opt,name=artistID,proto3" json:"artistID"` // 艺人ID + ArtistPhone string `protobuf:"bytes,5,opt,name=artistPhone,proto3" json:"artistPhone"` // 艺人手机号 + Analysis string `protobuf:"bytes,6,opt,name=analysis,proto3" json:"analysis"` // 分析内容 + Title string `protobuf:"bytes,7,opt,name=title,proto3" json:"title"` // 标题 + PdfUrl string `protobuf:"bytes,8,opt,name=pdfUrl,proto3" json:"pdfUrl"` // pdf的url链接 + MediaAccountCount int32 `protobuf:"varint,9,opt,name=mediaAccountCount,proto3" json:"mediaAccountCount"` // 当前账号数 + WorkVideoCount int32 `protobuf:"varint,10,opt,name=workVideoCount,proto3" json:"workVideoCount"` // 当前发布视频数 + WorkImageCount int32 `protobuf:"varint,11,opt,name=workImageCount,proto3" json:"workImageCount"` // 当前发布图文数 + Views int32 `protobuf:"varint,12,opt,name=views,proto3" json:"views"` // 是否开启浏览/播放量统计 0 关闭 1 开启 + Likes int32 `protobuf:"varint,13,opt,name=likes,proto3" json:"likes"` // 是否开启点赞数统计 0 关闭 1 开启 + Comments int32 `protobuf:"varint,14,opt,name=comments,proto3" json:"comments"` // 是否开启评论数统计 0 关闭 1 开启 + Shares int32 `protobuf:"varint,15,opt,name=shares,proto3" json:"shares"` // 是否开启分享数统计 0 关闭 1 开启 + FansCount int32 `protobuf:"varint,16,opt,name=fansCount,proto3" json:"fansCount"` // 是否开启粉丝数统计 0 关闭 1 开启 + TopCities int32 `protobuf:"varint,17,opt,name=topCities,proto3" json:"topCities"` // 是否开启Top城市统计 0 关闭 1 开启 + MostActiveDay int32 `protobuf:"varint,18,opt,name=mostActiveDay,proto3" json:"mostActiveDay"` // 是否开启最活跃日统计 0 关闭 1 开启 + BestPostTime int32 `protobuf:"varint,19,opt,name=bestPostTime,proto3" json:"bestPostTime"` // 是否开启最佳发布时间统计 0 关闭 1 开启 + PeriodTypeFans uint32 `protobuf:"varint,21,opt,name=periodTypeFans,proto3" json:"periodTypeFans"` // 粉丝数周期类型 1 日 2 周 3 月 + PeriodTypeViews uint32 `protobuf:"varint,22,opt,name=periodTypeViews,proto3" json:"periodTypeViews"` // 播放量周期类型 1 日 2 周 3 月 + PeriodTypeLikes uint32 `protobuf:"varint,23,opt,name=periodTypeLikes,proto3" json:"periodTypeLikes"` // 点赞数周期类型 1 日 2 周 3 月 + PeriodTypeComments uint32 `protobuf:"varint,24,opt,name=periodTypeComments,proto3" json:"periodTypeComments"` // 评论数周期类型 1 日 2 周 3 月 + PeriodTypeShares uint32 `protobuf:"varint,25,opt,name=periodTypeShares,proto3" json:"periodTypeShares"` // 分享数周期类型 1 日 2 周 3 月 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CreateWorkAnalysisReq) Reset() { *x = CreateWorkAnalysisReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[83] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CreateWorkAnalysisReq) String() string { @@ -6252,7 +6010,7 @@ func (*CreateWorkAnalysisReq) ProtoMessage() {} func (x *CreateWorkAnalysisReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[83] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6436,20 +6194,17 @@ func (x *CreateWorkAnalysisReq) GetPeriodTypeShares() uint32 { } type CreateWorkAnalysisResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 分析UUID unknownFields protoimpl.UnknownFields - - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 分析UUID + sizeCache protoimpl.SizeCache } func (x *CreateWorkAnalysisResp) Reset() { *x = CreateWorkAnalysisResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[84] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CreateWorkAnalysisResp) String() string { @@ -6460,7 +6215,7 @@ func (*CreateWorkAnalysisResp) ProtoMessage() {} func (x *CreateWorkAnalysisResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[84] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6483,40 +6238,37 @@ func (x *CreateWorkAnalysisResp) GetUuid() string { } type UpdateWorkAnalysisReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 分析UUID - Analysis string `protobuf:"bytes,2,opt,name=analysis,proto3" json:"analysis"` // 分析内容 - Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title"` // 标题 - PdfUrl string `protobuf:"bytes,4,opt,name=pdfUrl,proto3" json:"pdfUrl"` // pdf的url链接 - MediaAccountCount int32 `protobuf:"varint,5,opt,name=mediaAccountCount,proto3" json:"mediaAccountCount"` // 当前账号数 - WorkVideoCount int32 `protobuf:"varint,6,opt,name=workVideoCount,proto3" json:"workVideoCount"` // 当前发布视频数 - WorkImageCount int32 `protobuf:"varint,7,opt,name=workImageCount,proto3" json:"workImageCount"` // 当前发布图文数 - Views int32 `protobuf:"varint,8,opt,name=views,proto3" json:"views"` // 是否开启浏览/播放量统计 0 关闭 1 开启 - Likes int32 `protobuf:"varint,9,opt,name=likes,proto3" json:"likes"` // 是否开启点赞数统计 0 关闭 1 开启 - Comments int32 `protobuf:"varint,10,opt,name=comments,proto3" json:"comments"` // 是否开启评论数统计 0 关闭 1 开启 - Shares int32 `protobuf:"varint,11,opt,name=shares,proto3" json:"shares"` // 是否开启分享数统计 0 关闭 1 开启 - FansCount int32 `protobuf:"varint,12,opt,name=fansCount,proto3" json:"fansCount"` // 是否开启粉丝数统计 0 关闭 1 开启 - TopCities int32 `protobuf:"varint,13,opt,name=topCities,proto3" json:"topCities"` // 是否开启Top城市统计 0 关闭 1 开启 - MostActiveDay int32 `protobuf:"varint,14,opt,name=mostActiveDay,proto3" json:"mostActiveDay"` // 是否开启最活跃日统计 0 关闭 1 开启 - BestPostTime int32 `protobuf:"varint,15,opt,name=bestPostTime,proto3" json:"bestPostTime"` // 是否开启最佳发布时间统计 0 关闭 1 开启 - ArtistUUID string `protobuf:"bytes,16,opt,name=artistUUID,proto3" json:"artistUUID"` // 艺人UUID - PeriodTypeFans uint32 `protobuf:"varint,17,opt,name=periodTypeFans,proto3" json:"periodTypeFans"` // 粉丝数周期类型 1 日 2 周 3 月 - PeriodTypeViews uint32 `protobuf:"varint,18,opt,name=periodTypeViews,proto3" json:"periodTypeViews"` // 播放量周期类型 1 日 2 周 3 月 - PeriodTypeLikes uint32 `protobuf:"varint,19,opt,name=periodTypeLikes,proto3" json:"periodTypeLikes"` // 点赞数周期类型 1 日 2 周 3 月 - PeriodTypeComments uint32 `protobuf:"varint,20,opt,name=periodTypeComments,proto3" json:"periodTypeComments"` // 评论数周期类型 1 日 2 周 3 月 - PeriodTypeShares uint32 `protobuf:"varint,21,opt,name=periodTypeShares,proto3" json:"periodTypeShares"` // 分享数周期类型 1 日 2 周 3 月 + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 分析UUID + Analysis string `protobuf:"bytes,2,opt,name=analysis,proto3" json:"analysis"` // 分析内容 + Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title"` // 标题 + PdfUrl string `protobuf:"bytes,4,opt,name=pdfUrl,proto3" json:"pdfUrl"` // pdf的url链接 + MediaAccountCount int32 `protobuf:"varint,5,opt,name=mediaAccountCount,proto3" json:"mediaAccountCount"` // 当前账号数 + WorkVideoCount int32 `protobuf:"varint,6,opt,name=workVideoCount,proto3" json:"workVideoCount"` // 当前发布视频数 + WorkImageCount int32 `protobuf:"varint,7,opt,name=workImageCount,proto3" json:"workImageCount"` // 当前发布图文数 + Views int32 `protobuf:"varint,8,opt,name=views,proto3" json:"views"` // 是否开启浏览/播放量统计 0 关闭 1 开启 + Likes int32 `protobuf:"varint,9,opt,name=likes,proto3" json:"likes"` // 是否开启点赞数统计 0 关闭 1 开启 + Comments int32 `protobuf:"varint,10,opt,name=comments,proto3" json:"comments"` // 是否开启评论数统计 0 关闭 1 开启 + Shares int32 `protobuf:"varint,11,opt,name=shares,proto3" json:"shares"` // 是否开启分享数统计 0 关闭 1 开启 + FansCount int32 `protobuf:"varint,12,opt,name=fansCount,proto3" json:"fansCount"` // 是否开启粉丝数统计 0 关闭 1 开启 + TopCities int32 `protobuf:"varint,13,opt,name=topCities,proto3" json:"topCities"` // 是否开启Top城市统计 0 关闭 1 开启 + MostActiveDay int32 `protobuf:"varint,14,opt,name=mostActiveDay,proto3" json:"mostActiveDay"` // 是否开启最活跃日统计 0 关闭 1 开启 + BestPostTime int32 `protobuf:"varint,15,opt,name=bestPostTime,proto3" json:"bestPostTime"` // 是否开启最佳发布时间统计 0 关闭 1 开启 + ArtistUUID string `protobuf:"bytes,16,opt,name=artistUUID,proto3" json:"artistUUID"` // 艺人UUID + PeriodTypeFans uint32 `protobuf:"varint,17,opt,name=periodTypeFans,proto3" json:"periodTypeFans"` // 粉丝数周期类型 1 日 2 周 3 月 + PeriodTypeViews uint32 `protobuf:"varint,18,opt,name=periodTypeViews,proto3" json:"periodTypeViews"` // 播放量周期类型 1 日 2 周 3 月 + PeriodTypeLikes uint32 `protobuf:"varint,19,opt,name=periodTypeLikes,proto3" json:"periodTypeLikes"` // 点赞数周期类型 1 日 2 周 3 月 + PeriodTypeComments uint32 `protobuf:"varint,20,opt,name=periodTypeComments,proto3" json:"periodTypeComments"` // 评论数周期类型 1 日 2 周 3 月 + PeriodTypeShares uint32 `protobuf:"varint,21,opt,name=periodTypeShares,proto3" json:"periodTypeShares"` // 分享数周期类型 1 日 2 周 3 月 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UpdateWorkAnalysisReq) Reset() { *x = UpdateWorkAnalysisReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[85] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateWorkAnalysisReq) String() string { @@ -6527,7 +6279,7 @@ func (*UpdateWorkAnalysisReq) ProtoMessage() {} func (x *UpdateWorkAnalysisReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[85] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6690,26 +6442,23 @@ func (x *UpdateWorkAnalysisReq) GetPeriodTypeShares() uint32 { } type UpdateWorkAnalysisStatusReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + WorkAction WorkActionENUM `protobuf:"varint,1,opt,name=workAction,proto3,enum=Cast.WorkActionENUM" json:"workAction"` // 操作类型 + Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid"` // 分析UUID + ApprovalID string `protobuf:"bytes,3,opt,name=approvalID,proto3" json:"approvalID"` // 审批ID + ApprovalReply string `protobuf:"bytes,4,opt,name=approvalReply,proto3" json:"approvalReply"` // 审批回复 + ConfirmRemark string `protobuf:"bytes,5,opt,name=confirmRemark,proto3" json:"confirmRemark"` // 确认备注 + ConfirmStatus uint32 `protobuf:"varint,6,opt,name=confirmStatus,proto3" json:"confirmStatus"` // 确认状态 1 通过 2 驳回 3 失败 + CostType uint32 `protobuf:"varint,7,opt,name=costType,proto3" json:"costType"` // 计费类型 1 套餐 2 增值 unknownFields protoimpl.UnknownFields - - WorkAction WorkActionENUM `protobuf:"varint,1,opt,name=workAction,proto3,enum=Cast.WorkActionENUM" json:"workAction"` // 操作类型 - Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid"` // 分析UUID - ApprovalID string `protobuf:"bytes,3,opt,name=approvalID,proto3" json:"approvalID"` // 审批ID - ApprovalReply string `protobuf:"bytes,4,opt,name=approvalReply,proto3" json:"approvalReply"` // 审批回复 - ConfirmRemark string `protobuf:"bytes,5,opt,name=confirmRemark,proto3" json:"confirmRemark"` // 确认备注 - ConfirmStatus uint32 `protobuf:"varint,6,opt,name=confirmStatus,proto3" json:"confirmStatus"` // 确认状态 1 通过 2 驳回 3 失败 - CostType uint32 `protobuf:"varint,7,opt,name=costType,proto3" json:"costType"` // 计费类型 1 套餐 2 增值 + sizeCache protoimpl.SizeCache } func (x *UpdateWorkAnalysisStatusReq) Reset() { *x = UpdateWorkAnalysisStatusReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[86] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[86] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateWorkAnalysisStatusReq) String() string { @@ -6720,7 +6469,7 @@ func (*UpdateWorkAnalysisStatusReq) ProtoMessage() {} func (x *UpdateWorkAnalysisStatusReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[86] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6785,28 +6534,25 @@ func (x *UpdateWorkAnalysisStatusReq) GetCostType() uint32 { } type WorkAnalysisLogInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` // 作品UUID - Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` // 标题 - UpdateTime string `protobuf:"bytes,3,opt,name=updateTime,proto3" json:"updateTime"` // 更新时间 - WorkAnalysisStatus uint32 `protobuf:"varint,4,opt,name=workAnalysisStatus,proto3" json:"workAnalysisStatus"` // 状态 - ArtistName string `protobuf:"bytes,5,opt,name=artistName,proto3" json:"artistName"` // 艺人名称 - ArtistUuid string `protobuf:"bytes,6,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人ID - AnalysisExtraData string `protobuf:"bytes,7,opt,name=analysisExtraData,proto3" json:"analysisExtraData"` // 数据分析扩展数据 - OperatorName string `protobuf:"bytes,8,opt,name=operatorName,proto3" json:"operatorName"` // 操作人名称 - OperatorID string `protobuf:"bytes,9,opt,name=operatorID,proto3" json:"operatorID"` // 操作人ID + state protoimpl.MessageState `protogen:"open.v1"` + WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` // 作品UUID + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` // 标题 + UpdateTime string `protobuf:"bytes,3,opt,name=updateTime,proto3" json:"updateTime"` // 更新时间 + WorkAnalysisStatus uint32 `protobuf:"varint,4,opt,name=workAnalysisStatus,proto3" json:"workAnalysisStatus"` // 状态 + ArtistName string `protobuf:"bytes,5,opt,name=artistName,proto3" json:"artistName"` // 艺人名称 + ArtistUuid string `protobuf:"bytes,6,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人ID + AnalysisExtraData string `protobuf:"bytes,7,opt,name=analysisExtraData,proto3" json:"analysisExtraData"` // 数据分析扩展数据 + OperatorName string `protobuf:"bytes,8,opt,name=operatorName,proto3" json:"operatorName"` // 操作人名称 + OperatorID string `protobuf:"bytes,9,opt,name=operatorID,proto3" json:"operatorID"` // 操作人ID + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *WorkAnalysisLogInfo) Reset() { *x = WorkAnalysisLogInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[87] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WorkAnalysisLogInfo) String() string { @@ -6817,7 +6563,7 @@ func (*WorkAnalysisLogInfo) ProtoMessage() {} func (x *WorkAnalysisLogInfo) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[87] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6897,27 +6643,24 @@ func (x *WorkAnalysisLogInfo) GetOperatorID() string { // 粉丝数系列 type WorkAnalysisFansSeries struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID + FansCount int64 `protobuf:"varint,2,opt,name=fansCount,proto3" json:"fansCount"` // 粉丝数总数 + PeriodType uint32 `protobuf:"varint,3,opt,name=periodType,proto3" json:"periodType"` // 1 日 2 周 3 月 + StartDate int32 `protobuf:"varint,4,opt,name=startDate,proto3" json:"startDate"` // 开始日期YYYYMMDD + EndDate int32 `protobuf:"varint,5,opt,name=endDate,proto3" json:"endDate"` // 结束日期YYYYMMDD + DetailJSON string `protobuf:"bytes,6,opt,name=detailJSON,proto3" json:"detailJSON"` // 时间序列[{date:YYYYMMDD,platform:1,value:int}] + CreatedAt int32 `protobuf:"varint,7,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 + UpdatedAt int32 `protobuf:"varint,8,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 unknownFields protoimpl.UnknownFields - - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID - FansCount int64 `protobuf:"varint,2,opt,name=fansCount,proto3" json:"fansCount"` // 粉丝数总数 - PeriodType uint32 `protobuf:"varint,3,opt,name=periodType,proto3" json:"periodType"` // 1 日 2 周 3 月 - StartDate int32 `protobuf:"varint,4,opt,name=startDate,proto3" json:"startDate"` // 开始日期YYYYMMDD - EndDate int32 `protobuf:"varint,5,opt,name=endDate,proto3" json:"endDate"` // 结束日期YYYYMMDD - DetailJSON string `protobuf:"bytes,6,opt,name=detailJSON,proto3" json:"detailJSON"` // 时间序列[{date:YYYYMMDD,platform:1,value:int}] - CreatedAt int32 `protobuf:"varint,7,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 - UpdatedAt int32 `protobuf:"varint,8,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + sizeCache protoimpl.SizeCache } func (x *WorkAnalysisFansSeries) Reset() { *x = WorkAnalysisFansSeries{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[88] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WorkAnalysisFansSeries) String() string { @@ -6928,7 +6671,7 @@ func (*WorkAnalysisFansSeries) ProtoMessage() {} func (x *WorkAnalysisFansSeries) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[88] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7001,27 +6744,24 @@ func (x *WorkAnalysisFansSeries) GetUpdatedAt() int32 { // 访问量系列 type WorkAnalysisViewsSeries struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID + ViewsCount int64 `protobuf:"varint,2,opt,name=viewsCount,proto3" json:"viewsCount"` // 访问数总数 + PeriodType uint32 `protobuf:"varint,3,opt,name=periodType,proto3" json:"periodType"` // 1 日 2 周 3 月 + StartDate int32 `protobuf:"varint,4,opt,name=startDate,proto3" json:"startDate"` // 开始日期YYYYMMDD + EndDate int32 `protobuf:"varint,5,opt,name=endDate,proto3" json:"endDate"` // 结束日期YYYYMMDD + DetailJSON string `protobuf:"bytes,6,opt,name=detailJSON,proto3" json:"detailJSON"` // 时间序列[{date:YYYYMMDD,platform:1,value:int}] + CreatedAt int32 `protobuf:"varint,7,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 + UpdatedAt int32 `protobuf:"varint,8,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 unknownFields protoimpl.UnknownFields - - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID - ViewsCount int64 `protobuf:"varint,2,opt,name=viewsCount,proto3" json:"viewsCount"` // 访问数总数 - PeriodType uint32 `protobuf:"varint,3,opt,name=periodType,proto3" json:"periodType"` // 1 日 2 周 3 月 - StartDate int32 `protobuf:"varint,4,opt,name=startDate,proto3" json:"startDate"` // 开始日期YYYYMMDD - EndDate int32 `protobuf:"varint,5,opt,name=endDate,proto3" json:"endDate"` // 结束日期YYYYMMDD - DetailJSON string `protobuf:"bytes,6,opt,name=detailJSON,proto3" json:"detailJSON"` // 时间序列[{date:YYYYMMDD,platform:1,value:int}] - CreatedAt int32 `protobuf:"varint,7,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 - UpdatedAt int32 `protobuf:"varint,8,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + sizeCache protoimpl.SizeCache } func (x *WorkAnalysisViewsSeries) Reset() { *x = WorkAnalysisViewsSeries{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[89] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WorkAnalysisViewsSeries) String() string { @@ -7032,7 +6772,7 @@ func (*WorkAnalysisViewsSeries) ProtoMessage() {} func (x *WorkAnalysisViewsSeries) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[89] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7105,27 +6845,24 @@ func (x *WorkAnalysisViewsSeries) GetUpdatedAt() int32 { // 点赞数系列 type WorkAnalysisLikesSeries struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID + LikesCount int64 `protobuf:"varint,2,opt,name=likesCount,proto3" json:"likesCount"` // 点赞数总数 + PeriodType uint32 `protobuf:"varint,3,opt,name=periodType,proto3" json:"periodType"` // 1 日 2 周 3 月 + StartDate int32 `protobuf:"varint,4,opt,name=startDate,proto3" json:"startDate"` // 开始日期YYYYMMDD + EndDate int32 `protobuf:"varint,5,opt,name=endDate,proto3" json:"endDate"` // 结束日期YYYYMMDD + DetailJSON string `protobuf:"bytes,6,opt,name=detailJSON,proto3" json:"detailJSON"` // 时间序列[{date:YYYYMMDD,platform:1,value:int}] + CreatedAt int32 `protobuf:"varint,7,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 + UpdatedAt int32 `protobuf:"varint,8,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 unknownFields protoimpl.UnknownFields - - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID - LikesCount int64 `protobuf:"varint,2,opt,name=likesCount,proto3" json:"likesCount"` // 点赞数总数 - PeriodType uint32 `protobuf:"varint,3,opt,name=periodType,proto3" json:"periodType"` // 1 日 2 周 3 月 - StartDate int32 `protobuf:"varint,4,opt,name=startDate,proto3" json:"startDate"` // 开始日期YYYYMMDD - EndDate int32 `protobuf:"varint,5,opt,name=endDate,proto3" json:"endDate"` // 结束日期YYYYMMDD - DetailJSON string `protobuf:"bytes,6,opt,name=detailJSON,proto3" json:"detailJSON"` // 时间序列[{date:YYYYMMDD,platform:1,value:int}] - CreatedAt int32 `protobuf:"varint,7,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 - UpdatedAt int32 `protobuf:"varint,8,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + sizeCache protoimpl.SizeCache } func (x *WorkAnalysisLikesSeries) Reset() { *x = WorkAnalysisLikesSeries{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[90] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[90] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WorkAnalysisLikesSeries) String() string { @@ -7136,7 +6873,7 @@ func (*WorkAnalysisLikesSeries) ProtoMessage() {} func (x *WorkAnalysisLikesSeries) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[90] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7209,27 +6946,24 @@ func (x *WorkAnalysisLikesSeries) GetUpdatedAt() int32 { // 评论数系列 type WorkAnalysisCommentsSeries struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID + CommentsCount int64 `protobuf:"varint,2,opt,name=commentsCount,proto3" json:"commentsCount"` // 评论数总数 + PeriodType uint32 `protobuf:"varint,3,opt,name=periodType,proto3" json:"periodType"` // 1 日 2 周 3 月 + StartDate int32 `protobuf:"varint,4,opt,name=startDate,proto3" json:"startDate"` // 开始日期YYYYMMDD + EndDate int32 `protobuf:"varint,5,opt,name=endDate,proto3" json:"endDate"` // 结束日期YYYYMMDD + DetailJSON string `protobuf:"bytes,6,opt,name=detailJSON,proto3" json:"detailJSON"` // 时间序列[{date:YYYYMMDD,platform:1,value:int}] + CreatedAt int32 `protobuf:"varint,7,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 + UpdatedAt int32 `protobuf:"varint,8,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 unknownFields protoimpl.UnknownFields - - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID - CommentsCount int64 `protobuf:"varint,2,opt,name=commentsCount,proto3" json:"commentsCount"` // 评论数总数 - PeriodType uint32 `protobuf:"varint,3,opt,name=periodType,proto3" json:"periodType"` // 1 日 2 周 3 月 - StartDate int32 `protobuf:"varint,4,opt,name=startDate,proto3" json:"startDate"` // 开始日期YYYYMMDD - EndDate int32 `protobuf:"varint,5,opt,name=endDate,proto3" json:"endDate"` // 结束日期YYYYMMDD - DetailJSON string `protobuf:"bytes,6,opt,name=detailJSON,proto3" json:"detailJSON"` // 时间序列[{date:YYYYMMDD,platform:1,value:int}] - CreatedAt int32 `protobuf:"varint,7,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 - UpdatedAt int32 `protobuf:"varint,8,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + sizeCache protoimpl.SizeCache } func (x *WorkAnalysisCommentsSeries) Reset() { *x = WorkAnalysisCommentsSeries{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[91] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[91] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WorkAnalysisCommentsSeries) String() string { @@ -7240,7 +6974,7 @@ func (*WorkAnalysisCommentsSeries) ProtoMessage() {} func (x *WorkAnalysisCommentsSeries) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[91] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7313,27 +7047,24 @@ func (x *WorkAnalysisCommentsSeries) GetUpdatedAt() int32 { // 分享数系列 type WorkAnalysisSharesSeries struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID + SharesCount int64 `protobuf:"varint,2,opt,name=sharesCount,proto3" json:"sharesCount"` // 分享数总数 + PeriodType uint32 `protobuf:"varint,3,opt,name=periodType,proto3" json:"periodType"` // 1 日 2 周 3 月 + StartDate int32 `protobuf:"varint,4,opt,name=startDate,proto3" json:"startDate"` // 开始日期YYYYMMDD + EndDate int32 `protobuf:"varint,5,opt,name=endDate,proto3" json:"endDate"` // 结束日期YYYYMMDD + DetailJSON string `protobuf:"bytes,6,opt,name=detailJSON,proto3" json:"detailJSON"` // 时间序列[{date:YYYYMMDD,platform:1,value:int}] + CreatedAt int32 `protobuf:"varint,7,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 + UpdatedAt int32 `protobuf:"varint,8,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 unknownFields protoimpl.UnknownFields - - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID - SharesCount int64 `protobuf:"varint,2,opt,name=sharesCount,proto3" json:"sharesCount"` // 分享数总数 - PeriodType uint32 `protobuf:"varint,3,opt,name=periodType,proto3" json:"periodType"` // 1 日 2 周 3 月 - StartDate int32 `protobuf:"varint,4,opt,name=startDate,proto3" json:"startDate"` // 开始日期YYYYMMDD - EndDate int32 `protobuf:"varint,5,opt,name=endDate,proto3" json:"endDate"` // 结束日期YYYYMMDD - DetailJSON string `protobuf:"bytes,6,opt,name=detailJSON,proto3" json:"detailJSON"` // 时间序列[{date:YYYYMMDD,platform:1,value:int}] - CreatedAt int32 `protobuf:"varint,7,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 - UpdatedAt int32 `protobuf:"varint,8,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + sizeCache protoimpl.SizeCache } func (x *WorkAnalysisSharesSeries) Reset() { *x = WorkAnalysisSharesSeries{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[92] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[92] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WorkAnalysisSharesSeries) String() string { @@ -7344,7 +7075,7 @@ func (*WorkAnalysisSharesSeries) ProtoMessage() {} func (x *WorkAnalysisSharesSeries) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[92] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7417,23 +7148,20 @@ func (x *WorkAnalysisSharesSeries) GetUpdatedAt() int32 { // Top城市 type WorkAnalysisTopCities struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID + CitiesJSON string `protobuf:"bytes,2,opt,name=citiesJSON,proto3" json:"citiesJSON"` // [{cityName:string,count:int,rank:int}] + CreatedAt int32 `protobuf:"varint,3,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 + UpdatedAt int32 `protobuf:"varint,4,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 unknownFields protoimpl.UnknownFields - - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID - CitiesJSON string `protobuf:"bytes,2,opt,name=citiesJSON,proto3" json:"citiesJSON"` // [{cityName:string,count:int,rank:int}] - CreatedAt int32 `protobuf:"varint,3,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 - UpdatedAt int32 `protobuf:"varint,4,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + sizeCache protoimpl.SizeCache } func (x *WorkAnalysisTopCities) Reset() { *x = WorkAnalysisTopCities{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[93] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WorkAnalysisTopCities) String() string { @@ -7444,7 +7172,7 @@ func (*WorkAnalysisTopCities) ProtoMessage() {} func (x *WorkAnalysisTopCities) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[93] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7489,23 +7217,20 @@ func (x *WorkAnalysisTopCities) GetUpdatedAt() int32 { // 最活跃日 type WorkAnalysisMostActiveDay struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID + DetailJSON string `protobuf:"bytes,2,opt,name=detailJSON,proto3" json:"detailJSON"` // 细节(如当日各项值) + CreatedAt int32 `protobuf:"varint,3,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 + UpdatedAt int32 `protobuf:"varint,4,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 unknownFields protoimpl.UnknownFields - - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID - DetailJSON string `protobuf:"bytes,2,opt,name=detailJSON,proto3" json:"detailJSON"` // 细节(如当日各项值) - CreatedAt int32 `protobuf:"varint,3,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 - UpdatedAt int32 `protobuf:"varint,4,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + sizeCache protoimpl.SizeCache } func (x *WorkAnalysisMostActiveDay) Reset() { *x = WorkAnalysisMostActiveDay{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[94] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WorkAnalysisMostActiveDay) String() string { @@ -7516,7 +7241,7 @@ func (*WorkAnalysisMostActiveDay) ProtoMessage() {} func (x *WorkAnalysisMostActiveDay) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[94] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7561,23 +7286,20 @@ func (x *WorkAnalysisMostActiveDay) GetUpdatedAt() int32 { // 最佳发布时间 type WorkAnalysisBestPostTime struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID + DetailJSON string `protobuf:"bytes,2,opt,name=detailJSON,proto3" json:"detailJSON"` // 细节(如最佳发布时间) + CreatedAt int32 `protobuf:"varint,3,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 + UpdatedAt int32 `protobuf:"varint,4,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 unknownFields protoimpl.UnknownFields - - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID - DetailJSON string `protobuf:"bytes,2,opt,name=detailJSON,proto3" json:"detailJSON"` // 细节(如最佳发布时间) - CreatedAt int32 `protobuf:"varint,3,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 - UpdatedAt int32 `protobuf:"varint,4,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + sizeCache protoimpl.SizeCache } func (x *WorkAnalysisBestPostTime) Reset() { *x = WorkAnalysisBestPostTime{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[95] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WorkAnalysisBestPostTime) String() string { @@ -7588,7 +7310,7 @@ func (*WorkAnalysisBestPostTime) ProtoMessage() {} func (x *WorkAnalysisBestPostTime) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[95] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7633,24 +7355,21 @@ func (x *WorkAnalysisBestPostTime) GetUpdatedAt() int32 { // 扩展信息 type WorkAnalysisExtra struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AnalysisUuid string `protobuf:"bytes,1,opt,name=analysisUuid,proto3" json:"analysisUuid"` // 数据分析uuid - ArtistConfirmedTime int64 `protobuf:"varint,2,opt,name=artistConfirmedTime,proto3" json:"artistConfirmedTime"` // 艺人确认时间 - CostType uint32 `protobuf:"varint,3,opt,name=costType,proto3" json:"costType"` // 计费类型 1 套餐 2 增值 - CreatedAt int32 `protobuf:"varint,4,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 - UpdatedAt int32 `protobuf:"varint,5,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + state protoimpl.MessageState `protogen:"open.v1"` + AnalysisUuid string `protobuf:"bytes,1,opt,name=analysisUuid,proto3" json:"analysisUuid"` // 数据分析uuid + ArtistConfirmedTime int64 `protobuf:"varint,2,opt,name=artistConfirmedTime,proto3" json:"artistConfirmedTime"` // 艺人确认时间 + CostType uint32 `protobuf:"varint,3,opt,name=costType,proto3" json:"costType"` // 计费类型 1 套餐 2 增值 + CreatedAt int32 `protobuf:"varint,4,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 + UpdatedAt int32 `protobuf:"varint,5,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *WorkAnalysisExtra) Reset() { *x = WorkAnalysisExtra{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[96] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WorkAnalysisExtra) String() string { @@ -7661,7 +7380,7 @@ func (*WorkAnalysisExtra) ProtoMessage() {} func (x *WorkAnalysisExtra) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[96] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7712,20 +7431,17 @@ func (x *WorkAnalysisExtra) GetUpdatedAt() int32 { } type GetWorkAnalysisDetailReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 分析UUID unknownFields protoimpl.UnknownFields - - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 分析UUID + sizeCache protoimpl.SizeCache } func (x *GetWorkAnalysisDetailReq) Reset() { *x = GetWorkAnalysisDetailReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[97] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetWorkAnalysisDetailReq) String() string { @@ -7736,7 +7452,7 @@ func (*GetWorkAnalysisDetailReq) ProtoMessage() {} func (x *GetWorkAnalysisDetailReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[97] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7759,20 +7475,17 @@ func (x *GetWorkAnalysisDetailReq) GetUuid() string { } type GetLatestWorkAnalysisReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + SubNum string `protobuf:"bytes,1,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 unknownFields protoimpl.UnknownFields - - SubNum string `protobuf:"bytes,1,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 + sizeCache protoimpl.SizeCache } func (x *GetLatestWorkAnalysisReq) Reset() { *x = GetLatestWorkAnalysisReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[98] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[98] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetLatestWorkAnalysisReq) String() string { @@ -7783,7 +7496,7 @@ func (*GetLatestWorkAnalysisReq) ProtoMessage() {} func (x *GetLatestWorkAnalysisReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[98] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7806,10 +7519,7 @@ func (x *GetLatestWorkAnalysisReq) GetSubNum() string { } type GetWorkAnalysisResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 分析UUID SubNum string `protobuf:"bytes,2,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 ArtistName string `protobuf:"bytes,3,opt,name=artistName,proto3" json:"artistName"` // 艺人名字 @@ -7848,15 +7558,15 @@ type GetWorkAnalysisResp struct { MostActiveDaySeries *WorkAnalysisMostActiveDay `protobuf:"bytes,36,opt,name=mostActiveDaySeries,proto3" json:"mostActiveDaySeries"` // 最活跃日 BestPostTimeSeries *WorkAnalysisBestPostTime `protobuf:"bytes,37,opt,name=bestPostTimeSeries,proto3" json:"bestPostTimeSeries"` // 最佳发布时间 UpdatedAt string `protobuf:"bytes,38,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GetWorkAnalysisResp) Reset() { *x = GetWorkAnalysisResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[99] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[99] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetWorkAnalysisResp) String() string { @@ -7867,7 +7577,7 @@ func (*GetWorkAnalysisResp) ProtoMessage() {} func (x *GetWorkAnalysisResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[99] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8149,10 +7859,7 @@ func (x *GetWorkAnalysisResp) GetUpdatedAt() string { } type GetWorkAnalysisDetailResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 分析UUID SubNum string `protobuf:"bytes,2,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 ArtistName string `protobuf:"bytes,3,opt,name=artistName,proto3" json:"artistName"` // 艺人名字 @@ -8193,15 +7900,15 @@ type GetWorkAnalysisDetailResp struct { Extra *WorkAnalysisExtra `protobuf:"bytes,38,opt,name=extra,proto3" json:"extra"` // 扩展信息 CreatedAt string `protobuf:"bytes,39,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 UpdatedAt string `protobuf:"bytes,40,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GetWorkAnalysisDetailResp) Reset() { *x = GetWorkAnalysisDetailResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[100] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetWorkAnalysisDetailResp) String() string { @@ -8212,7 +7919,7 @@ func (*GetWorkAnalysisDetailResp) ProtoMessage() {} func (x *GetWorkAnalysisDetailResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[100] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8508,31 +8215,28 @@ func (x *GetWorkAnalysisDetailResp) GetUpdatedAt() string { } type ListWorkAnalysisReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UuidList []string `protobuf:"bytes,1,rep,name=uuidList,proto3" json:"uuidList"` // UUID列表 - SubNum string `protobuf:"bytes,2,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 - ArtistVal string `protobuf:"bytes,3,opt,name=artistVal,proto3" json:"artistVal"` // 艺人搜索值 - Status uint32 `protobuf:"varint,4,opt,name=status,proto3" json:"status"` // 状态 - ComfirmType int32 `protobuf:"varint,5,opt,name=comfirmType,proto3" json:"comfirmType"` // 确认类型 - StatusUpdateTimeStart string `protobuf:"bytes,6,opt,name=statusUpdateTimeStart,proto3" json:"statusUpdateTimeStart"` // 状态更新时间开始 - StatusUpdateTimeEnd string `protobuf:"bytes,7,opt,name=statusUpdateTimeEnd,proto3" json:"statusUpdateTimeEnd"` // 状态更新时间结束 - SubmitStartTime string `protobuf:"bytes,8,opt,name=submitStartTime,proto3" json:"submitStartTime"` // 提交时间开始 - SubmitEndTime string `protobuf:"bytes,9,opt,name=submitEndTime,proto3" json:"submitEndTime"` // 提交时间结束 - Page int32 `protobuf:"varint,10,opt,name=page,proto3" json:"page"` // 页码 - PageSize int32 `protobuf:"varint,11,opt,name=pageSize,proto3" json:"pageSize"` // 每页数量 - StatusList []uint32 `protobuf:"varint,12,rep,packed,name=statusList,proto3" json:"statusList"` // 状态列表 + state protoimpl.MessageState `protogen:"open.v1"` + UuidList []string `protobuf:"bytes,1,rep,name=uuidList,proto3" json:"uuidList"` // UUID列表 + SubNum string `protobuf:"bytes,2,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 + ArtistVal string `protobuf:"bytes,3,opt,name=artistVal,proto3" json:"artistVal"` // 艺人搜索值 + Status uint32 `protobuf:"varint,4,opt,name=status,proto3" json:"status"` // 状态 + ComfirmType int32 `protobuf:"varint,5,opt,name=comfirmType,proto3" json:"comfirmType"` // 确认类型 + StatusUpdateTimeStart string `protobuf:"bytes,6,opt,name=statusUpdateTimeStart,proto3" json:"statusUpdateTimeStart"` // 状态更新时间开始 + StatusUpdateTimeEnd string `protobuf:"bytes,7,opt,name=statusUpdateTimeEnd,proto3" json:"statusUpdateTimeEnd"` // 状态更新时间结束 + SubmitStartTime string `protobuf:"bytes,8,opt,name=submitStartTime,proto3" json:"submitStartTime"` // 提交时间开始 + SubmitEndTime string `protobuf:"bytes,9,opt,name=submitEndTime,proto3" json:"submitEndTime"` // 提交时间结束 + Page int32 `protobuf:"varint,10,opt,name=page,proto3" json:"page"` // 页码 + PageSize int32 `protobuf:"varint,11,opt,name=pageSize,proto3" json:"pageSize"` // 每页数量 + StatusList []uint32 `protobuf:"varint,12,rep,packed,name=statusList,proto3" json:"statusList"` // 状态列表 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ListWorkAnalysisReq) Reset() { *x = ListWorkAnalysisReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[101] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[101] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListWorkAnalysisReq) String() string { @@ -8543,7 +8247,7 @@ func (*ListWorkAnalysisReq) ProtoMessage() {} func (x *ListWorkAnalysisReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[101] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8643,32 +8347,29 @@ func (x *ListWorkAnalysisReq) GetStatusList() []uint32 { } type WorkAnalysisInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 分析UUID - SubNum string `protobuf:"bytes,2,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 - ArtistName string `protobuf:"bytes,3,opt,name=artistName,proto3" json:"artistName"` // 艺人名字 - ArtistID string `protobuf:"bytes,4,opt,name=artistID,proto3" json:"artistID"` // 艺人ID - ArtistPhone string `protobuf:"bytes,5,opt,name=artistPhone,proto3" json:"artistPhone"` // 艺人手机号 - OperatorID string `protobuf:"bytes,6,opt,name=operatorID,proto3" json:"operatorID"` // 操作人ID - OperatorName string `protobuf:"bytes,7,opt,name=operatorName,proto3" json:"operatorName"` // 操作人名称 - WorkAnalysisStatus uint32 `protobuf:"varint,8,opt,name=workAnalysisStatus,proto3" json:"workAnalysisStatus"` // 状态 - Reason string `protobuf:"bytes,9,opt,name=reason,proto3" json:"reason"` // 原因 - ComfirmType int32 `protobuf:"varint,10,opt,name=comfirmType,proto3" json:"comfirmType"` // 确认类型 - SubmitTime string `protobuf:"bytes,11,opt,name=submitTime,proto3" json:"submitTime"` // 提交时间 - StatusUpdateTime string `protobuf:"bytes,12,opt,name=statusUpdateTime,proto3" json:"statusUpdateTime"` // 状态更新时间 - PdfUrl string `protobuf:"bytes,13,opt,name=pdfUrl,proto3" json:"pdfUrl"` // pdf的url链接 + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 分析UUID + SubNum string `protobuf:"bytes,2,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 + ArtistName string `protobuf:"bytes,3,opt,name=artistName,proto3" json:"artistName"` // 艺人名字 + ArtistID string `protobuf:"bytes,4,opt,name=artistID,proto3" json:"artistID"` // 艺人ID + ArtistPhone string `protobuf:"bytes,5,opt,name=artistPhone,proto3" json:"artistPhone"` // 艺人手机号 + OperatorID string `protobuf:"bytes,6,opt,name=operatorID,proto3" json:"operatorID"` // 操作人ID + OperatorName string `protobuf:"bytes,7,opt,name=operatorName,proto3" json:"operatorName"` // 操作人名称 + WorkAnalysisStatus uint32 `protobuf:"varint,8,opt,name=workAnalysisStatus,proto3" json:"workAnalysisStatus"` // 状态 + Reason string `protobuf:"bytes,9,opt,name=reason,proto3" json:"reason"` // 原因 + ComfirmType int32 `protobuf:"varint,10,opt,name=comfirmType,proto3" json:"comfirmType"` // 确认类型 + SubmitTime string `protobuf:"bytes,11,opt,name=submitTime,proto3" json:"submitTime"` // 提交时间 + StatusUpdateTime string `protobuf:"bytes,12,opt,name=statusUpdateTime,proto3" json:"statusUpdateTime"` // 状态更新时间 + PdfUrl string `protobuf:"bytes,13,opt,name=pdfUrl,proto3" json:"pdfUrl"` // pdf的url链接 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *WorkAnalysisInfo) Reset() { *x = WorkAnalysisInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[102] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[102] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WorkAnalysisInfo) String() string { @@ -8679,7 +8380,7 @@ func (*WorkAnalysisInfo) ProtoMessage() {} func (x *WorkAnalysisInfo) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[102] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8786,21 +8487,18 @@ func (x *WorkAnalysisInfo) GetPdfUrl() string { } type ListWorkAnalysisResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Data []*WorkAnalysisInfo `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` // 作品分析列表 + Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` // 总数 unknownFields protoimpl.UnknownFields - - Data []*WorkAnalysisInfo `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` // 作品分析列表 - Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` // 总数 + sizeCache protoimpl.SizeCache } func (x *ListWorkAnalysisResp) Reset() { *x = ListWorkAnalysisResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[103] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[103] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListWorkAnalysisResp) String() string { @@ -8811,7 +8509,7 @@ func (*ListWorkAnalysisResp) ProtoMessage() {} func (x *ListWorkAnalysisResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[103] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8841,20 +8539,17 @@ func (x *ListWorkAnalysisResp) GetCount() int64 { } type DeleteWorkAnalysisReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 分析UUID unknownFields protoimpl.UnknownFields - - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 分析UUID + sizeCache protoimpl.SizeCache } func (x *DeleteWorkAnalysisReq) Reset() { *x = DeleteWorkAnalysisReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[104] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[104] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DeleteWorkAnalysisReq) String() string { @@ -8865,7 +8560,7 @@ func (*DeleteWorkAnalysisReq) ProtoMessage() {} func (x *DeleteWorkAnalysisReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[104] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8889,27 +8584,24 @@ func (x *DeleteWorkAnalysisReq) GetUuid() string { // 艺人数据列表请求 type ArtistDataListReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ArtistVal string `protobuf:"bytes,1,opt,name=artistVal,proto3" json:"artistVal"` // 艺人搜索值 - BundleName string `protobuf:"bytes,2,opt,name=bundleName,proto3" json:"bundleName"` // 套餐名称 - ExpiredTimeStart string `protobuf:"bytes,3,opt,name=expiredTimeStart,proto3" json:"expiredTimeStart"` // 过期时间开始 - ExpiredTimeEnd string `protobuf:"bytes,4,opt,name=expiredTimeEnd,proto3" json:"expiredTimeEnd"` // 过期时间结束 - SubmitTimeStart string `protobuf:"bytes,5,opt,name=submitTimeStart,proto3" json:"submitTimeStart"` // 提交时间开始 - SubmitTimeEnd string `protobuf:"bytes,6,opt,name=submitTimeEnd,proto3" json:"submitTimeEnd"` // 提交时间结束 - Page int32 `protobuf:"varint,7,opt,name=page,proto3" json:"page"` // 页码 - PageSize int32 `protobuf:"varint,8,opt,name=pageSize,proto3" json:"pageSize"` // 每页数量 + state protoimpl.MessageState `protogen:"open.v1"` + ArtistVal string `protobuf:"bytes,1,opt,name=artistVal,proto3" json:"artistVal"` // 艺人搜索值 + BundleName string `protobuf:"bytes,2,opt,name=bundleName,proto3" json:"bundleName"` // 套餐名称 + ExpiredTimeStart string `protobuf:"bytes,3,opt,name=expiredTimeStart,proto3" json:"expiredTimeStart"` // 过期时间开始 + ExpiredTimeEnd string `protobuf:"bytes,4,opt,name=expiredTimeEnd,proto3" json:"expiredTimeEnd"` // 过期时间结束 + SubmitTimeStart string `protobuf:"bytes,5,opt,name=submitTimeStart,proto3" json:"submitTimeStart"` // 提交时间开始 + SubmitTimeEnd string `protobuf:"bytes,6,opt,name=submitTimeEnd,proto3" json:"submitTimeEnd"` // 提交时间结束 + Page int32 `protobuf:"varint,7,opt,name=page,proto3" json:"page"` // 页码 + PageSize int32 `protobuf:"varint,8,opt,name=pageSize,proto3" json:"pageSize"` // 每页数量 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ArtistDataListReq) Reset() { *x = ArtistDataListReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[105] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[105] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ArtistDataListReq) String() string { @@ -8920,7 +8612,7 @@ func (*ArtistDataListReq) ProtoMessage() {} func (x *ArtistDataListReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[105] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8993,36 +8685,33 @@ func (x *ArtistDataListReq) GetPageSize() int32 { // 艺人数据列表响应项 type ArtistDataRespItem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ArtistName string `protobuf:"bytes,1,opt,name=artistName,proto3" json:"artistName"` // 艺人名字 - ArtistUuid string `protobuf:"bytes,2,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人ID - SubNum string `protobuf:"bytes,3,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 - ArtistPhone string `protobuf:"bytes,4,opt,name=artistPhone,proto3" json:"artistPhone"` // 艺人手机号 - BundleName string `protobuf:"bytes,5,opt,name=bundleName,proto3" json:"bundleName"` // 套餐名称 - AccountNumber int32 `protobuf:"varint,6,opt,name=accountNumber,proto3" json:"accountNumber"` // 账号总数 - AccountConsumptionNumber int32 `protobuf:"varint,7,opt,name=accountConsumptionNumber,proto3" json:"accountConsumptionNumber"` // 账号使用数 - DataAnalysisNumber int32 `protobuf:"varint,8,opt,name=dataAnalysisNumber,proto3" json:"dataAnalysisNumber"` // 数据分析总数 - DataAnalysisConsumptionNumber int32 `protobuf:"varint,9,opt,name=dataAnalysisConsumptionNumber,proto3" json:"dataAnalysisConsumptionNumber"` // 数据分析使用数 - SubmitTime string `protobuf:"bytes,10,opt,name=submitTime,proto3" json:"submitTime"` // 提交时间 - FansCount int64 `protobuf:"varint,11,opt,name=fansCount,proto3" json:"fansCount"` // 粉丝数 - ViewsCount int64 `protobuf:"varint,12,opt,name=viewsCount,proto3" json:"viewsCount"` // 浏览/播放数 - LikesCount int64 `protobuf:"varint,13,opt,name=likesCount,proto3" json:"likesCount"` // 点赞数 - CommentsCount int64 `protobuf:"varint,14,opt,name=commentsCount,proto3" json:"commentsCount"` // 评论数 - SharesCount int64 `protobuf:"varint,15,opt,name=sharesCount,proto3" json:"sharesCount"` // 分享数 - CastWorkCount int64 `protobuf:"varint,16,opt,name=castWorkCount,proto3" json:"castWorkCount"` // 作品数(视频+图片) - ExpiredTime string `protobuf:"bytes,17,opt,name=expiredTime,proto3" json:"expiredTime"` // 过期时间 + state protoimpl.MessageState `protogen:"open.v1"` + ArtistName string `protobuf:"bytes,1,opt,name=artistName,proto3" json:"artistName"` // 艺人名字 + ArtistUuid string `protobuf:"bytes,2,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人ID + SubNum string `protobuf:"bytes,3,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 + ArtistPhone string `protobuf:"bytes,4,opt,name=artistPhone,proto3" json:"artistPhone"` // 艺人手机号 + BundleName string `protobuf:"bytes,5,opt,name=bundleName,proto3" json:"bundleName"` // 套餐名称 + AccountNumber int32 `protobuf:"varint,6,opt,name=accountNumber,proto3" json:"accountNumber"` // 账号总数 + AccountConsumptionNumber int32 `protobuf:"varint,7,opt,name=accountConsumptionNumber,proto3" json:"accountConsumptionNumber"` // 账号使用数 + DataAnalysisNumber int32 `protobuf:"varint,8,opt,name=dataAnalysisNumber,proto3" json:"dataAnalysisNumber"` // 数据分析总数 + DataAnalysisConsumptionNumber int32 `protobuf:"varint,9,opt,name=dataAnalysisConsumptionNumber,proto3" json:"dataAnalysisConsumptionNumber"` // 数据分析使用数 + SubmitTime string `protobuf:"bytes,10,opt,name=submitTime,proto3" json:"submitTime"` // 提交时间 + FansCount int64 `protobuf:"varint,11,opt,name=fansCount,proto3" json:"fansCount"` // 粉丝数 + ViewsCount int64 `protobuf:"varint,12,opt,name=viewsCount,proto3" json:"viewsCount"` // 浏览/播放数 + LikesCount int64 `protobuf:"varint,13,opt,name=likesCount,proto3" json:"likesCount"` // 点赞数 + CommentsCount int64 `protobuf:"varint,14,opt,name=commentsCount,proto3" json:"commentsCount"` // 评论数 + SharesCount int64 `protobuf:"varint,15,opt,name=sharesCount,proto3" json:"sharesCount"` // 分享数 + CastWorkCount int64 `protobuf:"varint,16,opt,name=castWorkCount,proto3" json:"castWorkCount"` // 作品数(视频+图片) + ExpiredTime string `protobuf:"bytes,17,opt,name=expiredTime,proto3" json:"expiredTime"` // 过期时间 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ArtistDataRespItem) Reset() { *x = ArtistDataRespItem{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[106] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[106] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ArtistDataRespItem) String() string { @@ -9033,7 +8722,7 @@ func (*ArtistDataRespItem) ProtoMessage() {} func (x *ArtistDataRespItem) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[106] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9169,21 +8858,18 @@ func (x *ArtistDataRespItem) GetExpiredTime() string { // 艺人数据列表响应 type ArtistDataListResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Data []*ArtistDataRespItem `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` // 艺人数据列表 + Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` // 总数 unknownFields protoimpl.UnknownFields - - Data []*ArtistDataRespItem `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` // 艺人数据列表 - Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` // 总数 + sizeCache protoimpl.SizeCache } func (x *ArtistDataListResp) Reset() { *x = ArtistDataListResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[107] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[107] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ArtistDataListResp) String() string { @@ -9194,7 +8880,7 @@ func (*ArtistDataListResp) ProtoMessage() {} func (x *ArtistDataListResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[107] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9225,24 +8911,21 @@ func (x *ArtistDataListResp) GetCount() int64 { // 自媒体数据列表请求 type MediaDataListReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ArtistVal string `protobuf:"bytes,1,opt,name=artistVal,proto3" json:"artistVal"` // 艺人搜索值 - PlatformUserName string `protobuf:"bytes,2,opt,name=platformUserName,proto3" json:"platformUserName"` // 平台用户名 - PlatformID uint32 `protobuf:"varint,3,opt,name=platformID,proto3" json:"platformID"` // 平台ID - Page int32 `protobuf:"varint,4,opt,name=page,proto3" json:"page"` // 页码 - PageSize int32 `protobuf:"varint,5,opt,name=pageSize,proto3" json:"pageSize"` // 每页数量 + state protoimpl.MessageState `protogen:"open.v1"` + ArtistVal string `protobuf:"bytes,1,opt,name=artistVal,proto3" json:"artistVal"` // 艺人搜索值 + PlatformUserName string `protobuf:"bytes,2,opt,name=platformUserName,proto3" json:"platformUserName"` // 平台用户名 + PlatformID uint32 `protobuf:"varint,3,opt,name=platformID,proto3" json:"platformID"` // 平台ID + Page int32 `protobuf:"varint,4,opt,name=page,proto3" json:"page"` // 页码 + PageSize int32 `protobuf:"varint,5,opt,name=pageSize,proto3" json:"pageSize"` // 每页数量 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MediaDataListReq) Reset() { *x = MediaDataListReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[108] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[108] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MediaDataListReq) String() string { @@ -9253,7 +8936,7 @@ func (*MediaDataListReq) ProtoMessage() {} func (x *MediaDataListReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[108] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9305,32 +8988,29 @@ func (x *MediaDataListReq) GetPageSize() int32 { // 自媒体数据列表响应项 type MediaDataListItem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ArtistName string `protobuf:"bytes,1,opt,name=artistName,proto3" json:"artistName"` // 艺人名字 - ArtistUuid string `protobuf:"bytes,2,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人ID - SubNum string `protobuf:"bytes,3,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 - ArtistPhone string `protobuf:"bytes,4,opt,name=artistPhone,proto3" json:"artistPhone"` // 艺人手机号 - PlatformUserName string `protobuf:"bytes,5,opt,name=platformUserName,proto3" json:"platformUserName"` // 平台用户名 - PlatformID uint32 `protobuf:"varint,6,opt,name=platformID,proto3" json:"platformID"` // 平台ID - SubmitTime string `protobuf:"bytes,7,opt,name=submitTime,proto3" json:"submitTime"` // 提交时间 - FansCount int64 `protobuf:"varint,8,opt,name=fansCount,proto3" json:"fansCount"` // 粉丝数 - ViewsCount int64 `protobuf:"varint,9,opt,name=viewsCount,proto3" json:"viewsCount"` // 浏览/播放数 - LikesCount int64 `protobuf:"varint,10,opt,name=likesCount,proto3" json:"likesCount"` // 点赞数 - CommentsCount int64 `protobuf:"varint,11,opt,name=commentsCount,proto3" json:"commentsCount"` // 评论数 - SharesCount int64 `protobuf:"varint,12,opt,name=sharesCount,proto3" json:"sharesCount"` // 分享数 - CastWorkCount int64 `protobuf:"varint,13,opt,name=castWorkCount,proto3" json:"castWorkCount"` // 作品数(视频+图片) + state protoimpl.MessageState `protogen:"open.v1"` + ArtistName string `protobuf:"bytes,1,opt,name=artistName,proto3" json:"artistName"` // 艺人名字 + ArtistUuid string `protobuf:"bytes,2,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人ID + SubNum string `protobuf:"bytes,3,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 + ArtistPhone string `protobuf:"bytes,4,opt,name=artistPhone,proto3" json:"artistPhone"` // 艺人手机号 + PlatformUserName string `protobuf:"bytes,5,opt,name=platformUserName,proto3" json:"platformUserName"` // 平台用户名 + PlatformID uint32 `protobuf:"varint,6,opt,name=platformID,proto3" json:"platformID"` // 平台ID + SubmitTime string `protobuf:"bytes,7,opt,name=submitTime,proto3" json:"submitTime"` // 提交时间 + FansCount int64 `protobuf:"varint,8,opt,name=fansCount,proto3" json:"fansCount"` // 粉丝数 + ViewsCount int64 `protobuf:"varint,9,opt,name=viewsCount,proto3" json:"viewsCount"` // 浏览/播放数 + LikesCount int64 `protobuf:"varint,10,opt,name=likesCount,proto3" json:"likesCount"` // 点赞数 + CommentsCount int64 `protobuf:"varint,11,opt,name=commentsCount,proto3" json:"commentsCount"` // 评论数 + SharesCount int64 `protobuf:"varint,12,opt,name=sharesCount,proto3" json:"sharesCount"` // 分享数 + CastWorkCount int64 `protobuf:"varint,13,opt,name=castWorkCount,proto3" json:"castWorkCount"` // 作品数(视频+图片) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MediaDataListItem) Reset() { *x = MediaDataListItem{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[109] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[109] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MediaDataListItem) String() string { @@ -9341,7 +9021,7 @@ func (*MediaDataListItem) ProtoMessage() {} func (x *MediaDataListItem) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[109] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9449,21 +9129,18 @@ func (x *MediaDataListItem) GetCastWorkCount() int64 { // 自媒体数据列表响应 type MediaDataListResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Data []*MediaDataListItem `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` // 自媒体数据列表 + Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` // 总数 unknownFields protoimpl.UnknownFields - - Data []*MediaDataListItem `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` // 自媒体数据列表 - Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` // 总数 + sizeCache protoimpl.SizeCache } func (x *MediaDataListResp) Reset() { *x = MediaDataListResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[110] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[110] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MediaDataListResp) String() string { @@ -9474,7 +9151,7 @@ func (*MediaDataListResp) ProtoMessage() {} func (x *MediaDataListResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[110] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9505,20 +9182,17 @@ func (x *MediaDataListResp) GetCount() int64 { // 数据概览请求 type DataOverviewReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Date string `protobuf:"bytes,1,opt,name=date,proto3" json:"date"` // 日期,格式:YYYY-MM-DD,如:2025-12-08 unknownFields protoimpl.UnknownFields - - Date string `protobuf:"bytes,1,opt,name=date,proto3" json:"date"` // 日期,格式:YYYY-MM-DD,如:2025-12-08 + sizeCache protoimpl.SizeCache } func (x *DataOverviewReq) Reset() { *x = DataOverviewReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[111] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[111] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DataOverviewReq) String() string { @@ -9529,7 +9203,7 @@ func (*DataOverviewReq) ProtoMessage() {} func (x *DataOverviewReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[111] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9553,39 +9227,36 @@ func (x *DataOverviewReq) GetDate() string { // 数据概览响应 type DataOverviewResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AccountCount int64 `protobuf:"varint,1,opt,name=accountCount,proto3" json:"accountCount"` // 账号总数 - TodayAccountCount int64 `protobuf:"varint,2,opt,name=todayAccountCount,proto3" json:"todayAccountCount"` // 今日新增账号数 - FansCount int64 `protobuf:"varint,3,opt,name=fansCount,proto3" json:"fansCount"` // 粉丝总数 - TodayFansCount int64 `protobuf:"varint,4,opt,name=todayFansCount,proto3" json:"todayFansCount"` // 今日新增粉丝数 - ViewsCount int64 `protobuf:"varint,5,opt,name=viewsCount,proto3" json:"viewsCount"` // 播放量总数 - TodayViewsCount int64 `protobuf:"varint,6,opt,name=todayViewsCount,proto3" json:"todayViewsCount"` // 今日新增播放量数 - LikesCount int64 `protobuf:"varint,7,opt,name=likesCount,proto3" json:"likesCount"` // 点赞总数 - TodayLikesCount int64 `protobuf:"varint,8,opt,name=todayLikesCount,proto3" json:"todayLikesCount"` // 今日新增点赞数 - CommentsCount int64 `protobuf:"varint,9,opt,name=commentsCount,proto3" json:"commentsCount"` // 评论总数 - TodayCommentsCount int64 `protobuf:"varint,10,opt,name=todayCommentsCount,proto3" json:"todayCommentsCount"` // 今日新增评论数 - SharesCount int64 `protobuf:"varint,11,opt,name=sharesCount,proto3" json:"sharesCount"` // 分享总数 - TodaySharesCount int64 `protobuf:"varint,12,opt,name=todaySharesCount,proto3" json:"todaySharesCount"` // 今日分享总数 - ImageCount int64 `protobuf:"varint,13,opt,name=imageCount,proto3" json:"imageCount"` // 图文总数 - TodayImageCount int64 `protobuf:"varint,14,opt,name=todayImageCount,proto3" json:"todayImageCount"` // 今日新增图文数 - VideoCount int64 `protobuf:"varint,15,opt,name=videoCount,proto3" json:"videoCount"` // 视频总数 - TodayVideoCount int64 `protobuf:"varint,16,opt,name=todayVideoCount,proto3" json:"todayVideoCount"` // 今日新增视频数 - ConfirmDataCount int64 `protobuf:"varint,17,opt,name=confirmDataCount,proto3" json:"confirmDataCount"` // 已确认数据总数 - TodayConfirmDataCount int64 `protobuf:"varint,18,opt,name=todayConfirmDataCount,proto3" json:"todayConfirmDataCount"` // 今日新增确认数据总数 - ToBeConfirmedDataCount int64 `protobuf:"varint,19,opt,name=toBeConfirmedDataCount,proto3" json:"toBeConfirmedDataCount"` // 待确认数据总数 - ApprovingDataCount int64 `protobuf:"varint,20,opt,name=approvingDataCount,proto3" json:"approvingDataCount"` // 审批中数据总数 + state protoimpl.MessageState `protogen:"open.v1"` + AccountCount int64 `protobuf:"varint,1,opt,name=accountCount,proto3" json:"accountCount"` // 账号总数 + TodayAccountCount int64 `protobuf:"varint,2,opt,name=todayAccountCount,proto3" json:"todayAccountCount"` // 今日新增账号数 + FansCount int64 `protobuf:"varint,3,opt,name=fansCount,proto3" json:"fansCount"` // 粉丝总数 + TodayFansCount int64 `protobuf:"varint,4,opt,name=todayFansCount,proto3" json:"todayFansCount"` // 今日新增粉丝数 + ViewsCount int64 `protobuf:"varint,5,opt,name=viewsCount,proto3" json:"viewsCount"` // 播放量总数 + TodayViewsCount int64 `protobuf:"varint,6,opt,name=todayViewsCount,proto3" json:"todayViewsCount"` // 今日新增播放量数 + LikesCount int64 `protobuf:"varint,7,opt,name=likesCount,proto3" json:"likesCount"` // 点赞总数 + TodayLikesCount int64 `protobuf:"varint,8,opt,name=todayLikesCount,proto3" json:"todayLikesCount"` // 今日新增点赞数 + CommentsCount int64 `protobuf:"varint,9,opt,name=commentsCount,proto3" json:"commentsCount"` // 评论总数 + TodayCommentsCount int64 `protobuf:"varint,10,opt,name=todayCommentsCount,proto3" json:"todayCommentsCount"` // 今日新增评论数 + SharesCount int64 `protobuf:"varint,11,opt,name=sharesCount,proto3" json:"sharesCount"` // 分享总数 + TodaySharesCount int64 `protobuf:"varint,12,opt,name=todaySharesCount,proto3" json:"todaySharesCount"` // 今日分享总数 + ImageCount int64 `protobuf:"varint,13,opt,name=imageCount,proto3" json:"imageCount"` // 图文总数 + TodayImageCount int64 `protobuf:"varint,14,opt,name=todayImageCount,proto3" json:"todayImageCount"` // 今日新增图文数 + VideoCount int64 `protobuf:"varint,15,opt,name=videoCount,proto3" json:"videoCount"` // 视频总数 + TodayVideoCount int64 `protobuf:"varint,16,opt,name=todayVideoCount,proto3" json:"todayVideoCount"` // 今日新增视频数 + ConfirmDataCount int64 `protobuf:"varint,17,opt,name=confirmDataCount,proto3" json:"confirmDataCount"` // 已确认数据总数 + TodayConfirmDataCount int64 `protobuf:"varint,18,opt,name=todayConfirmDataCount,proto3" json:"todayConfirmDataCount"` // 今日新增确认数据总数 + ToBeConfirmedDataCount int64 `protobuf:"varint,19,opt,name=toBeConfirmedDataCount,proto3" json:"toBeConfirmedDataCount"` // 待确认数据总数 + ApprovingDataCount int64 `protobuf:"varint,20,opt,name=approvingDataCount,proto3" json:"approvingDataCount"` // 审批中数据总数 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DataOverviewResp) Reset() { *x = DataOverviewResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[112] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[112] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DataOverviewResp) String() string { @@ -9596,7 +9267,7 @@ func (*DataOverviewResp) ProtoMessage() {} func (x *DataOverviewResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[112] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9753,25 +9424,22 @@ func (x *DataOverviewResp) GetApprovingDataCount() int64 { // 艺人指标系列请求 type ArtistMetricsSeriesReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ArtistUUID string `protobuf:"bytes,1,opt,name=artistUUID,proto3" json:"artistUUID"` // 艺人UUID - PeriodTypeFans uint32 `protobuf:"varint,2,opt,name=periodTypeFans,proto3" json:"periodTypeFans"` // 粉丝数周期类型 1 日 2 周 3 月 - PeriodTypeViews uint32 `protobuf:"varint,3,opt,name=periodTypeViews,proto3" json:"periodTypeViews"` // 播放量周期类型 1 日 2 周 3 月 - PeriodTypeLikes uint32 `protobuf:"varint,4,opt,name=periodTypeLikes,proto3" json:"periodTypeLikes"` // 点赞数周期类型 1 日 2 周 3 月 - PeriodTypeComments uint32 `protobuf:"varint,5,opt,name=periodTypeComments,proto3" json:"periodTypeComments"` // 评论数周期类型 1 日 2 周 3 月 - PeriodTypeShares uint32 `protobuf:"varint,6,opt,name=periodTypeShares,proto3" json:"periodTypeShares"` // 分享数周期类型 1 日 2 周 3 月 + state protoimpl.MessageState `protogen:"open.v1"` + ArtistUUID string `protobuf:"bytes,1,opt,name=artistUUID,proto3" json:"artistUUID"` // 艺人UUID + PeriodTypeFans uint32 `protobuf:"varint,2,opt,name=periodTypeFans,proto3" json:"periodTypeFans"` // 粉丝数周期类型 1 日 2 周 3 月 + PeriodTypeViews uint32 `protobuf:"varint,3,opt,name=periodTypeViews,proto3" json:"periodTypeViews"` // 播放量周期类型 1 日 2 周 3 月 + PeriodTypeLikes uint32 `protobuf:"varint,4,opt,name=periodTypeLikes,proto3" json:"periodTypeLikes"` // 点赞数周期类型 1 日 2 周 3 月 + PeriodTypeComments uint32 `protobuf:"varint,5,opt,name=periodTypeComments,proto3" json:"periodTypeComments"` // 评论数周期类型 1 日 2 周 3 月 + PeriodTypeShares uint32 `protobuf:"varint,6,opt,name=periodTypeShares,proto3" json:"periodTypeShares"` // 分享数周期类型 1 日 2 周 3 月 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ArtistMetricsSeriesReq) Reset() { *x = ArtistMetricsSeriesReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[113] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[113] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ArtistMetricsSeriesReq) String() string { @@ -9782,7 +9450,7 @@ func (*ArtistMetricsSeriesReq) ProtoMessage() {} func (x *ArtistMetricsSeriesReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[113] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9841,10 +9509,7 @@ func (x *ArtistMetricsSeriesReq) GetPeriodTypeShares() uint32 { // 艺人指标系列响应 type ArtistMetricsSeriesResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` FansSeries *WorkAnalysisFansSeries `protobuf:"bytes,1,opt,name=fansSeries,proto3" json:"fansSeries"` // 粉丝数系列 ViewsSeries *WorkAnalysisViewsSeries `protobuf:"bytes,2,opt,name=viewsSeries,proto3" json:"viewsSeries"` // 播放量系列 LikesSeries *WorkAnalysisLikesSeries `protobuf:"bytes,3,opt,name=likesSeries,proto3" json:"likesSeries"` // 点赞数系列 @@ -9852,15 +9517,15 @@ type ArtistMetricsSeriesResp struct { SharesSeries *WorkAnalysisSharesSeries `protobuf:"bytes,5,opt,name=sharesSeries,proto3" json:"sharesSeries"` // 分享数系列 BestPostTime *WorkAnalysisBestPostTime `protobuf:"bytes,6,opt,name=bestPostTime,proto3" json:"bestPostTime"` // 最佳发布时间 MostActiveDay *WorkAnalysisMostActiveDay `protobuf:"bytes,7,opt,name=mostActiveDay,proto3" json:"mostActiveDay"` // 最活跃日期 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ArtistMetricsSeriesResp) Reset() { *x = ArtistMetricsSeriesResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[114] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[114] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ArtistMetricsSeriesResp) String() string { @@ -9871,7 +9536,7 @@ func (*ArtistMetricsSeriesResp) ProtoMessage() {} func (x *ArtistMetricsSeriesResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[114] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9937,22 +9602,19 @@ func (x *ArtistMetricsSeriesResp) GetMostActiveDay() *WorkAnalysisMostActiveDay // 艺人指标日期窗口请求 type ArtistMetricsDailyWindowReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ArtistUUID string `protobuf:"bytes,1,opt,name=artistUUID,proto3" json:"artistUUID"` // 艺人UUID + PlatformID uint32 `protobuf:"varint,2,opt,name=platformID,proto3" json:"platformID"` // 平台ID + Date int32 `protobuf:"varint,3,opt,name=date,proto3" json:"date"` // 日期 YYYYMMDD unknownFields protoimpl.UnknownFields - - ArtistUUID string `protobuf:"bytes,1,opt,name=artistUUID,proto3" json:"artistUUID"` // 艺人UUID - PlatformID uint32 `protobuf:"varint,2,opt,name=platformID,proto3" json:"platformID"` // 平台ID - Date int32 `protobuf:"varint,3,opt,name=date,proto3" json:"date"` // 日期 YYYYMMDD + sizeCache protoimpl.SizeCache } func (x *ArtistMetricsDailyWindowReq) Reset() { *x = ArtistMetricsDailyWindowReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[115] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[115] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ArtistMetricsDailyWindowReq) String() string { @@ -9963,7 +9625,7 @@ func (*ArtistMetricsDailyWindowReq) ProtoMessage() {} func (x *ArtistMetricsDailyWindowReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[115] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10001,21 +9663,18 @@ func (x *ArtistMetricsDailyWindowReq) GetDate() int32 { // 简单数据点 type SimplePoint struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Date int32 `protobuf:"varint,1,opt,name=date,proto3" json:"date"` // 日期 YYYYMMDD + Value int64 `protobuf:"varint,2,opt,name=value,proto3" json:"value"` // 值 unknownFields protoimpl.UnknownFields - - Date int32 `protobuf:"varint,1,opt,name=date,proto3" json:"date"` // 日期 YYYYMMDD - Value int64 `protobuf:"varint,2,opt,name=value,proto3" json:"value"` // 值 + sizeCache protoimpl.SizeCache } func (x *SimplePoint) Reset() { *x = SimplePoint{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[116] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[116] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SimplePoint) String() string { @@ -10026,7 +9685,7 @@ func (*SimplePoint) ProtoMessage() {} func (x *SimplePoint) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[116] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10057,21 +9716,18 @@ func (x *SimplePoint) GetValue() int64 { // 最佳发布时间点 type BestPostTimePoint struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + TimePoint string `protobuf:"bytes,1,opt,name=timePoint,proto3" json:"timePoint"` // 时间段,如 "0-3", "3-6" 等 + Value int32 `protobuf:"varint,2,opt,name=value,proto3" json:"value"` // 值 unknownFields protoimpl.UnknownFields - - TimePoint string `protobuf:"bytes,1,opt,name=timePoint,proto3" json:"timePoint"` // 时间段,如 "0-3", "3-6" 等 - Value int32 `protobuf:"varint,2,opt,name=value,proto3" json:"value"` // 值 + sizeCache protoimpl.SizeCache } func (x *BestPostTimePoint) Reset() { *x = BestPostTimePoint{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[117] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[117] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BestPostTimePoint) String() string { @@ -10082,7 +9738,7 @@ func (*BestPostTimePoint) ProtoMessage() {} func (x *BestPostTimePoint) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[117] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10113,21 +9769,18 @@ func (x *BestPostTimePoint) GetValue() int32 { // 最活跃日期点 type MostActiveDayPoint struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Day int32 `protobuf:"varint,1,opt,name=day,proto3" json:"day"` // 天数 1-7 + Value int32 `protobuf:"varint,2,opt,name=value,proto3" json:"value"` // 值 unknownFields protoimpl.UnknownFields - - Day int32 `protobuf:"varint,1,opt,name=day,proto3" json:"day"` // 天数 1-7 - Value int32 `protobuf:"varint,2,opt,name=value,proto3" json:"value"` // 值 + sizeCache protoimpl.SizeCache } func (x *MostActiveDayPoint) Reset() { *x = MostActiveDayPoint{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[118] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[118] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MostActiveDayPoint) String() string { @@ -10138,7 +9791,7 @@ func (*MostActiveDayPoint) ProtoMessage() {} func (x *MostActiveDayPoint) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[118] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10169,31 +9822,28 @@ func (x *MostActiveDayPoint) GetValue() int32 { // 艺人指标日期窗口响应 type ArtistMetricsDailyWindowResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + FansCount int64 `protobuf:"varint,1,opt,name=fansCount,proto3" json:"fansCount"` // 粉丝数 + ViewsCount int64 `protobuf:"varint,2,opt,name=viewsCount,proto3" json:"viewsCount"` // 播放量 + LikesCount int64 `protobuf:"varint,3,opt,name=likesCount,proto3" json:"likesCount"` // 点赞数 + CommentsCount int64 `protobuf:"varint,4,opt,name=commentsCount,proto3" json:"commentsCount"` // 评论数 + SharesCount int64 `protobuf:"varint,5,opt,name=sharesCount,proto3" json:"sharesCount"` // 分享数 + Fans []*SimplePoint `protobuf:"bytes,6,rep,name=fans,proto3" json:"fans"` // 粉丝数序列 + Views []*SimplePoint `protobuf:"bytes,7,rep,name=views,proto3" json:"views"` // 播放量序列 + Likes []*SimplePoint `protobuf:"bytes,8,rep,name=likes,proto3" json:"likes"` // 点赞数序列 + Comments []*SimplePoint `protobuf:"bytes,9,rep,name=comments,proto3" json:"comments"` // 评论数序列 + Shares []*SimplePoint `protobuf:"bytes,10,rep,name=shares,proto3" json:"shares"` // 分享数序列 + BestPostTime []*BestPostTimePoint `protobuf:"bytes,11,rep,name=bestPostTime,proto3" json:"bestPostTime"` // 最佳发布时间 + MostActiveDay []*MostActiveDayPoint `protobuf:"bytes,12,rep,name=mostActiveDay,proto3" json:"mostActiveDay"` // 最活跃日期 unknownFields protoimpl.UnknownFields - - FansCount int64 `protobuf:"varint,1,opt,name=fansCount,proto3" json:"fansCount"` // 粉丝数 - ViewsCount int64 `protobuf:"varint,2,opt,name=viewsCount,proto3" json:"viewsCount"` // 播放量 - LikesCount int64 `protobuf:"varint,3,opt,name=likesCount,proto3" json:"likesCount"` // 点赞数 - CommentsCount int64 `protobuf:"varint,4,opt,name=commentsCount,proto3" json:"commentsCount"` // 评论数 - SharesCount int64 `protobuf:"varint,5,opt,name=sharesCount,proto3" json:"sharesCount"` // 分享数 - Fans []*SimplePoint `protobuf:"bytes,6,rep,name=fans,proto3" json:"fans"` // 粉丝数序列 - Views []*SimplePoint `protobuf:"bytes,7,rep,name=views,proto3" json:"views"` // 播放量序列 - Likes []*SimplePoint `protobuf:"bytes,8,rep,name=likes,proto3" json:"likes"` // 点赞数序列 - Comments []*SimplePoint `protobuf:"bytes,9,rep,name=comments,proto3" json:"comments"` // 评论数序列 - Shares []*SimplePoint `protobuf:"bytes,10,rep,name=shares,proto3" json:"shares"` // 分享数序列 - BestPostTime []*BestPostTimePoint `protobuf:"bytes,11,rep,name=bestPostTime,proto3" json:"bestPostTime"` // 最佳发布时间 - MostActiveDay []*MostActiveDayPoint `protobuf:"bytes,12,rep,name=mostActiveDay,proto3" json:"mostActiveDay"` // 最活跃日期 + sizeCache protoimpl.SizeCache } func (x *ArtistMetricsDailyWindowResp) Reset() { *x = ArtistMetricsDailyWindowResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[119] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[119] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ArtistMetricsDailyWindowResp) String() string { @@ -10204,7 +9854,7 @@ func (*ArtistMetricsDailyWindowResp) ProtoMessage() {} func (x *ArtistMetricsDailyWindowResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[119] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10305,22 +9955,19 @@ func (x *ArtistMetricsDailyWindowResp) GetMostActiveDay() []*MostActiveDayPoint // 待确认数据列表请求 type TobeConfirmedListReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人UUID + Page int32 `protobuf:"varint,2,opt,name=page,proto3" json:"page"` // 页码 + PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize"` // 每页数量 unknownFields protoimpl.UnknownFields - - ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人UUID - Page int32 `protobuf:"varint,2,opt,name=page,proto3" json:"page"` // 页码 - PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize"` // 每页数量 + sizeCache protoimpl.SizeCache } func (x *TobeConfirmedListReq) Reset() { *x = TobeConfirmedListReq{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[120] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[120] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TobeConfirmedListReq) String() string { @@ -10331,7 +9978,7 @@ func (*TobeConfirmedListReq) ProtoMessage() {} func (x *TobeConfirmedListReq) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[120] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10369,35 +10016,32 @@ func (x *TobeConfirmedListReq) GetPageSize() int32 { // 待确认数据项 type TobeConfirmedItem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID - Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` // 标题 - Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content"` // 内容 - WorkCategory int32 `protobuf:"varint,4,opt,name=workCategory,proto3" json:"workCategory"` // 作品类型 1 图文 2 视频 - UpdateTime string `protobuf:"bytes,5,opt,name=updateTime,proto3" json:"updateTime"` // 更新时间 - WorkStatus int32 `protobuf:"varint,6,opt,name=workStatus,proto3" json:"workStatus"` // 状态 - PlatformIds string `protobuf:"bytes,7,opt,name=platformIds,proto3" json:"platformIds"` // 平台ID集合 - ArtistName string `protobuf:"bytes,8,opt,name=artistName,proto3" json:"artistName"` // 艺人名称 - ArtistUuid string `protobuf:"bytes,9,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人ID - MediaAccUserIds string `protobuf:"bytes,10,opt,name=mediaAccUserIds,proto3" json:"mediaAccUserIds"` // 自媒体账号user_ids集合 - MediaNames string `protobuf:"bytes,11,opt,name=mediaNames,proto3" json:"mediaNames"` // 自媒体账号名称集合 - ConfirmedAt int64 `protobuf:"varint,12,opt,name=confirmedAt,proto3" json:"confirmedAt"` // 确认时间 - ItemType int32 `protobuf:"varint,13,opt,name=itemType,proto3" json:"itemType"` // 类型 1 数据分析 2 作品 - CreatedAt int32 `protobuf:"varint,14,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 - UpdatedAt int32 `protobuf:"varint,15,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 - DeletedAt uint64 `protobuf:"varint,16,opt,name=deletedAt,proto3" json:"deletedAt"` // 删除时间 + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` // 标题 + Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content"` // 内容 + WorkCategory int32 `protobuf:"varint,4,opt,name=workCategory,proto3" json:"workCategory"` // 作品类型 1 图文 2 视频 + UpdateTime string `protobuf:"bytes,5,opt,name=updateTime,proto3" json:"updateTime"` // 更新时间 + WorkStatus int32 `protobuf:"varint,6,opt,name=workStatus,proto3" json:"workStatus"` // 状态 + PlatformIds string `protobuf:"bytes,7,opt,name=platformIds,proto3" json:"platformIds"` // 平台ID集合 + ArtistName string `protobuf:"bytes,8,opt,name=artistName,proto3" json:"artistName"` // 艺人名称 + ArtistUuid string `protobuf:"bytes,9,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人ID + MediaAccUserIds string `protobuf:"bytes,10,opt,name=mediaAccUserIds,proto3" json:"mediaAccUserIds"` // 自媒体账号user_ids集合 + MediaNames string `protobuf:"bytes,11,opt,name=mediaNames,proto3" json:"mediaNames"` // 自媒体账号名称集合 + ConfirmedAt int64 `protobuf:"varint,12,opt,name=confirmedAt,proto3" json:"confirmedAt"` // 确认时间 + ItemType int32 `protobuf:"varint,13,opt,name=itemType,proto3" json:"itemType"` // 类型 1 数据分析 2 作品 + CreatedAt int32 `protobuf:"varint,14,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 + UpdatedAt int32 `protobuf:"varint,15,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + DeletedAt uint64 `protobuf:"varint,16,opt,name=deletedAt,proto3" json:"deletedAt"` // 删除时间 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TobeConfirmedItem) Reset() { *x = TobeConfirmedItem{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[121] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[121] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TobeConfirmedItem) String() string { @@ -10408,7 +10052,7 @@ func (*TobeConfirmedItem) ProtoMessage() {} func (x *TobeConfirmedItem) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[121] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10537,21 +10181,18 @@ func (x *TobeConfirmedItem) GetDeletedAt() uint64 { // 待确认数据列表响应 type TobeConfirmedListResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Data []*TobeConfirmedItem `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` // 待确认数据列表 + Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` // 总数 unknownFields protoimpl.UnknownFields - - Data []*TobeConfirmedItem `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` // 待确认数据列表 - Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` // 总数 + sizeCache protoimpl.SizeCache } func (x *TobeConfirmedListResp) Reset() { *x = TobeConfirmedListResp{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[122] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[122] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TobeConfirmedListResp) String() string { @@ -10562,7 +10203,7 @@ func (*TobeConfirmedListResp) ProtoMessage() {} func (x *TobeConfirmedListResp) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[122] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10592,36 +10233,33 @@ func (x *TobeConfirmedListResp) GetCount() int64 { } type WorkListResp_Info struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` - ArtistName string `protobuf:"bytes,2,opt,name=artistName,proto3" json:"artistName"` - ArtistPhone string `protobuf:"bytes,3,opt,name=artistPhone,proto3" json:"artistPhone"` - Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title"` - WorkCategory uint32 `protobuf:"varint,5,opt,name=workCategory,proto3" json:"workCategory"` - WorkStatus uint32 `protobuf:"varint,6,opt,name=workStatus,proto3" json:"workStatus"` - SubmitTime string `protobuf:"bytes,7,opt,name=submitTime,proto3" json:"submitTime"` - StatusUpdateTime string `protobuf:"bytes,8,opt,name=statusUpdateTime,proto3" json:"statusUpdateTime"` - PlatformIDs []uint32 `protobuf:"varint,9,rep,packed,name=platformIDs,proto3" json:"platformIDs"` - MediaAccountNames []string `protobuf:"bytes,10,rep,name=mediaAccountNames,proto3" json:"mediaAccountNames"` - MediaAccountUuids []string `protobuf:"bytes,11,rep,name=mediaAccountUuids,proto3" json:"mediaAccountUuids"` - ManagerUserNames []string `protobuf:"bytes,12,rep,name=managerUserNames,proto3" json:"managerUserNames"` - ManagerUuids []string `protobuf:"bytes,13,rep,name=managerUuids,proto3" json:"managerUuids"` - ApprovalID string `protobuf:"bytes,14,opt,name=approvalID,proto3" json:"approvalID"` - CostType uint32 `protobuf:"varint,15,opt,name=costType,proto3" json:"costType"` - ScriptUuid string `protobuf:"bytes,16,opt,name=scriptUuid,proto3" json:"scriptUuid"` - ScriptTitle string `protobuf:"bytes,17,opt,name=scriptTitle,proto3" json:"scriptTitle"` + state protoimpl.MessageState `protogen:"open.v1"` + WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` + ArtistName string `protobuf:"bytes,2,opt,name=artistName,proto3" json:"artistName"` + ArtistPhone string `protobuf:"bytes,3,opt,name=artistPhone,proto3" json:"artistPhone"` + Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title"` + WorkCategory uint32 `protobuf:"varint,5,opt,name=workCategory,proto3" json:"workCategory"` + WorkStatus uint32 `protobuf:"varint,6,opt,name=workStatus,proto3" json:"workStatus"` + SubmitTime string `protobuf:"bytes,7,opt,name=submitTime,proto3" json:"submitTime"` + StatusUpdateTime string `protobuf:"bytes,8,opt,name=statusUpdateTime,proto3" json:"statusUpdateTime"` + PlatformIDs []uint32 `protobuf:"varint,9,rep,packed,name=platformIDs,proto3" json:"platformIDs"` + MediaAccountNames []string `protobuf:"bytes,10,rep,name=mediaAccountNames,proto3" json:"mediaAccountNames"` + MediaAccountUuids []string `protobuf:"bytes,11,rep,name=mediaAccountUuids,proto3" json:"mediaAccountUuids"` + ManagerUserNames []string `protobuf:"bytes,12,rep,name=managerUserNames,proto3" json:"managerUserNames"` + ManagerUuids []string `protobuf:"bytes,13,rep,name=managerUuids,proto3" json:"managerUuids"` + ApprovalID string `protobuf:"bytes,14,opt,name=approvalID,proto3" json:"approvalID"` + CostType uint32 `protobuf:"varint,15,opt,name=costType,proto3" json:"costType"` + ScriptUuid string `protobuf:"bytes,16,opt,name=scriptUuid,proto3" json:"scriptUuid"` + ScriptTitle string `protobuf:"bytes,17,opt,name=scriptTitle,proto3" json:"scriptTitle"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *WorkListResp_Info) Reset() { *x = WorkListResp_Info{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[123] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[123] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WorkListResp_Info) String() string { @@ -10632,7 +10270,7 @@ func (*WorkListResp_Info) ProtoMessage() {} func (x *WorkListResp_Info) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[123] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10767,25 +10405,22 @@ func (x *WorkListResp_Info) GetScriptTitle() string { } type MediaAccountsResp_Info struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PlatformID uint32 `protobuf:"varint,1,opt,name=platformID,proto3" json:"platformID"` - FansCount uint32 `protobuf:"varint,2,opt,name=fansCount,proto3" json:"fansCount"` - WorkCount uint32 `protobuf:"varint,3,opt,name=workCount,proto3" json:"workCount"` - ArtistUuid string `protobuf:"bytes,4,opt,name=artistUuid,proto3" json:"artistUuid"` - MediaAccountUuid string `protobuf:"bytes,5,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` - MediaAccountName string `protobuf:"bytes,6,opt,name=mediaAccountName,proto3" json:"mediaAccountName"` + state protoimpl.MessageState `protogen:"open.v1"` + PlatformID uint32 `protobuf:"varint,1,opt,name=platformID,proto3" json:"platformID"` + FansCount uint32 `protobuf:"varint,2,opt,name=fansCount,proto3" json:"fansCount"` + WorkCount uint32 `protobuf:"varint,3,opt,name=workCount,proto3" json:"workCount"` + ArtistUuid string `protobuf:"bytes,4,opt,name=artistUuid,proto3" json:"artistUuid"` + MediaAccountUuid string `protobuf:"bytes,5,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` + MediaAccountName string `protobuf:"bytes,6,opt,name=mediaAccountName,proto3" json:"mediaAccountName"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MediaAccountsResp_Info) Reset() { *x = MediaAccountsResp_Info{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[125] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[125] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MediaAccountsResp_Info) String() string { @@ -10796,7 +10431,7 @@ func (*MediaAccountsResp_Info) ProtoMessage() {} func (x *MediaAccountsResp_Info) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[125] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10854,29 +10489,26 @@ func (x *MediaAccountsResp_Info) GetMediaAccountName() string { } type MediaWorksResp_Info struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` - Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` - Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content"` - WorkCategory uint32 `protobuf:"varint,4,opt,name=workCategory,proto3" json:"workCategory"` - WorkStatus uint32 `protobuf:"varint,5,opt,name=workStatus,proto3" json:"workStatus"` - SubmitTime string `protobuf:"bytes,6,opt,name=submitTime,proto3" json:"submitTime"` - StatusUpdateTime string `protobuf:"bytes,7,opt,name=statusUpdateTime,proto3" json:"statusUpdateTime"` - Images []string `protobuf:"bytes,8,rep,name=images,proto3" json:"images"` - VideoUrl string `protobuf:"bytes,9,opt,name=videoUrl,proto3" json:"videoUrl"` - CoverUrl string `protobuf:"bytes,10,opt,name=coverUrl,proto3" json:"coverUrl"` + state protoimpl.MessageState `protogen:"open.v1"` + WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` + Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content"` + WorkCategory uint32 `protobuf:"varint,4,opt,name=workCategory,proto3" json:"workCategory"` + WorkStatus uint32 `protobuf:"varint,5,opt,name=workStatus,proto3" json:"workStatus"` + SubmitTime string `protobuf:"bytes,6,opt,name=submitTime,proto3" json:"submitTime"` + StatusUpdateTime string `protobuf:"bytes,7,opt,name=statusUpdateTime,proto3" json:"statusUpdateTime"` + Images []string `protobuf:"bytes,8,rep,name=images,proto3" json:"images"` + VideoUrl string `protobuf:"bytes,9,opt,name=videoUrl,proto3" json:"videoUrl"` + CoverUrl string `protobuf:"bytes,10,opt,name=coverUrl,proto3" json:"coverUrl"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MediaWorksResp_Info) Reset() { *x = MediaWorksResp_Info{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[126] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[126] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MediaWorksResp_Info) String() string { @@ -10887,7 +10519,7 @@ func (*MediaWorksResp_Info) ProtoMessage() {} func (x *MediaWorksResp_Info) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[126] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10973,21 +10605,18 @@ func (x *MediaWorksResp_Info) GetCoverUrl() string { } type PublishResp_Info struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` + WorkCategory int32 `protobuf:"varint,2,opt,name=workCategory,proto3" json:"workCategory"` unknownFields protoimpl.UnknownFields - - ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` - WorkCategory int32 `protobuf:"varint,2,opt,name=workCategory,proto3" json:"workCategory"` + sizeCache protoimpl.SizeCache } func (x *PublishResp_Info) Reset() { *x = PublishResp_Info{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[127] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[127] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PublishResp_Info) String() string { @@ -10998,7 +10627,7 @@ func (*PublishResp_Info) ProtoMessage() {} func (x *PublishResp_Info) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[127] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11028,23 +10657,20 @@ func (x *PublishResp_Info) GetWorkCategory() int32 { } type RefreshWorkListResp_Info struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PublishMediaID string `protobuf:"bytes,1,opt,name=publishMediaID,proto3" json:"publishMediaID"` - WorkUuid string `protobuf:"bytes,2,opt,name=workUuid,proto3" json:"workUuid"` - PlatformIDs []uint32 `protobuf:"varint,3,rep,packed,name=platformIDs,proto3" json:"platformIDs"` - ProfileKey string `protobuf:"bytes,4,opt,name=profileKey,proto3" json:"profileKey"` + state protoimpl.MessageState `protogen:"open.v1"` + PublishMediaID string `protobuf:"bytes,1,opt,name=publishMediaID,proto3" json:"publishMediaID"` + WorkUuid string `protobuf:"bytes,2,opt,name=workUuid,proto3" json:"workUuid"` + PlatformIDs []uint32 `protobuf:"varint,3,rep,packed,name=platformIDs,proto3" json:"platformIDs"` + ProfileKey string `protobuf:"bytes,4,opt,name=profileKey,proto3" json:"profileKey"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RefreshWorkListResp_Info) Reset() { *x = RefreshWorkListResp_Info{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[128] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pb_fiee_cast_proto_msgTypes[128] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RefreshWorkListResp_Info) String() string { @@ -11055,7 +10681,7 @@ func (*RefreshWorkListResp_Info) ProtoMessage() {} func (x *RefreshWorkListResp_Info) ProtoReflect() protoreflect.Message { mi := &file_pb_fiee_cast_proto_msgTypes[128] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11098,2070 +10724,1383 @@ func (x *RefreshWorkListResp_Info) GetProfileKey() string { return "" } +type UpdateOAuthReq_Info struct { + state protoimpl.MessageState `protogen:"open.v1"` + ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` + PlatformID PlatformIDENUM `protobuf:"varint,2,opt,name=platformID,proto3,enum=Cast.PlatformIDENUM" json:"platformID"` + AsID string `protobuf:"bytes,3,opt,name=asID,proto3" json:"asID"` + PlatformUserName string `protobuf:"bytes,4,opt,name=platformUserName,proto3" json:"platformUserName"` + AutInfo string `protobuf:"bytes,5,opt,name=autInfo,proto3" json:"autInfo"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateOAuthReq_Info) Reset() { + *x = UpdateOAuthReq_Info{} + mi := &file_pb_fiee_cast_proto_msgTypes[129] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateOAuthReq_Info) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateOAuthReq_Info) ProtoMessage() {} + +func (x *UpdateOAuthReq_Info) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[129] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateOAuthReq_Info.ProtoReflect.Descriptor instead. +func (*UpdateOAuthReq_Info) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{50, 0} +} + +func (x *UpdateOAuthReq_Info) GetArtistUuid() string { + if x != nil { + return x.ArtistUuid + } + return "" +} + +func (x *UpdateOAuthReq_Info) GetPlatformID() PlatformIDENUM { + if x != nil { + return x.PlatformID + } + return PlatformIDENUM_UNKNOWN +} + +func (x *UpdateOAuthReq_Info) GetAsID() string { + if x != nil { + return x.AsID + } + return "" +} + +func (x *UpdateOAuthReq_Info) GetPlatformUserName() string { + if x != nil { + return x.PlatformUserName + } + return "" +} + +func (x *UpdateOAuthReq_Info) GetAutInfo() string { + if x != nil { + return x.AutInfo + } + return "" +} + var File_pb_fiee_cast_proto protoreflect.FileDescriptor -var file_pb_fiee_cast_proto_rawDesc = []byte{ - 0x0a, 0x12, 0x70, 0x62, 0x2f, 0x66, 0x69, 0x65, 0x65, 0x2f, 0x63, 0x61, 0x73, 0x74, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x43, 0x61, 0x73, 0x74, 0x1a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x17, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, - 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x88, - 0x03, 0x0a, 0x10, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x56, 0x61, - 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x56, 0x61, - 0x6c, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, - 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, - 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x14, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x49, 0x44, 0x45, 0x4e, 0x55, 0x4d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, - 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, - 0x69, 0x7a, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, - 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, - 0x75, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, - 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x44, - 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x41, - 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x4e, 0x55, 0x4d, 0x52, 0x0a, 0x61, - 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x8d, 0x03, 0x0a, 0x0d, 0x4d, 0x65, - 0x64, 0x69, 0x61, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x10, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, - 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x75, - 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x55, 0x75, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, - 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, - 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x41, - 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x4e, 0x55, 0x4d, 0x52, 0x0a, 0x61, - 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x52, 0x0a, 0x11, 0x4d, 0x65, 0x64, - 0x69, 0x61, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x27, - 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x43, - 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xad, 0x03, - 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x34, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x43, 0x61, - 0x73, 0x74, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x45, 0x4e, 0x55, - 0x4d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x12, 0x2a, 0x0a, - 0x10, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, - 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, - 0x6f, 0x6e, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, - 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, - 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x75, 0x69, 0x64, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x75, 0x69, - 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, - 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x44, 0x0a, - 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, - 0x75, 0x69, 0x64, 0x22, 0x3e, 0x0a, 0x10, 0x55, 0x6e, 0x62, 0x69, 0x6e, 0x64, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, - 0x75, 0x69, 0x64, 0x22, 0x41, 0x0a, 0x11, 0x55, 0x6e, 0x62, 0x69, 0x6e, 0x64, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x11, 0x6f, 0x6c, 0x64, 0x42, - 0x69, 0x6e, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x11, 0x6f, 0x6c, 0x64, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x22, 0x88, 0x01, 0x0a, 0x0e, 0x42, 0x69, 0x6e, 0x64, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65, 0x64, - 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x55, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x55, 0x75, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, - 0x65, 0x22, 0x8e, 0x06, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, - 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x55, 0x75, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x6d, 0x65, 0x64, - 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x73, 0x12, 0x2c, - 0x0a, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x0b, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x0e, 0x32, 0x14, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x49, 0x44, 0x45, 0x4e, 0x55, 0x4d, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x49, 0x44, 0x73, 0x12, 0x3b, 0x0a, 0x0e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x31, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x43, - 0x61, 0x73, 0x74, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x0e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x31, 0x12, 0x3b, 0x0a, 0x0e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, - 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, - 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x32, 0x12, 0x3b, - 0x0a, 0x0e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x33, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, 0x75, - 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x33, 0x12, 0x3b, 0x0a, 0x0e, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x34, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, - 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x34, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, - 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, - 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x1e, - 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, - 0x0a, 0x13, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x41, 0x72, 0x65, - 0x61, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x69, 0x6e, 0x65, - 0x4e, 0x6f, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x6f, - 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x22, 0x31, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, - 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, - 0x6b, 0x55, 0x75, 0x69, 0x64, 0x22, 0xbf, 0x01, 0x0a, 0x0d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, - 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x6f, 0x72, 0x62, 0x69, - 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, - 0x66, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, - 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x61, 0x6e, 0x4a, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, - 0x63, 0x61, 0x6e, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x6e, 0x51, 0x75, - 0x6f, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x61, 0x6e, 0x51, 0x75, - 0x6f, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x61, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x61, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x41, 0x49, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x04, 0x69, 0x73, 0x41, 0x49, 0x22, 0xe9, 0x06, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x14, - 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, - 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1a, - 0x0a, 0x08, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, - 0x76, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, - 0x76, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, - 0x75, 0x69, 0x64, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x73, 0x12, 0x36, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, - 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x45, 0x4e, 0x55, 0x4d, 0x52, 0x0b, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x73, 0x12, 0x3b, 0x0a, 0x0e, 0x70, 0x75, - 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x31, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, - 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x31, 0x12, 0x3b, 0x0a, 0x0e, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x32, 0x12, 0x3b, 0x0a, 0x0e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x33, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x43, - 0x61, 0x73, 0x74, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x0e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x33, 0x12, 0x3b, 0x0a, 0x0e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x34, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, - 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, - 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x34, 0x12, 0x16, - 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, - 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, - 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, - 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, - 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, - 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, - 0x6f, 0x6e, 0x65, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x13, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x41, 0x72, - 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, - 0x0a, 0x10, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x4d, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, 0x12, 0x37, 0x0a, 0x0b, 0x61, 0x75, - 0x74, 0x6f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x15, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x45, 0x4e, 0x55, 0x4d, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x50, 0x75, 0x62, 0x6c, - 0x69, 0x73, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x55, 0x75, 0x69, - 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x55, - 0x75, 0x69, 0x64, 0x22, 0x31, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, - 0x6b, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, - 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, - 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x22, 0x90, 0x01, 0x0a, 0x0c, 0x4d, 0x65, 0x64, 0x69, 0x61, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x34, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x43, 0x61, - 0x73, 0x74, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x45, 0x4e, 0x55, - 0x4d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x12, 0x2a, 0x0a, - 0x10, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x38, 0x0a, 0x0d, 0x4d, 0x65, 0x64, - 0x69, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x04, 0x69, 0x6e, - 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, - 0x4d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, - 0x6e, 0x66, 0x6f, 0x22, 0xcb, 0x04, 0x0a, 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x56, 0x61, - 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, - 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, - 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x61, 0x74, - 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, - 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x24, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x45, 0x6e, - 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x45, - 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x12, 0x14, 0x0a, - 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, - 0x74, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, - 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, - 0x26, 0x0a, 0x0e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x56, 0x61, - 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x55, 0x73, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, - 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, - 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x73, 0x18, 0x0e, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x55, 0x75, 0x69, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, - 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x55, 0x75, 0x69, - 0x64, 0x22, 0xaa, 0x05, 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xd6, 0x04, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, - 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, - 0x6c, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, - 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x61, - 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, - 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, - 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, - 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x49, 0x44, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x6d, - 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x73, - 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x75, 0x69, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x75, 0x69, 0x64, 0x73, - 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x44, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x44, - 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x2b, - 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x12, - 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x22, 0xfb, 0x01, 0x0a, 0x0b, - 0x57, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x77, - 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, - 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, - 0x78, 0x74, 0x72, 0x61, 0x44, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x65, 0x78, 0x74, 0x72, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x77, 0x6f, 0x72, - 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x77, - 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xc5, 0x07, 0x0a, 0x0e, 0x57, 0x6f, - 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1a, 0x0a, 0x08, - 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, - 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x55, 0x75, 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x6d, 0x65, 0x64, - 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x73, 0x12, 0x2c, - 0x0a, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, - 0x0d, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x73, 0x12, 0x1e, - 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3b, - 0x0a, 0x0e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x31, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, 0x75, - 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x31, 0x12, 0x3b, 0x0a, 0x0e, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x32, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, - 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x32, 0x12, 0x3b, 0x0a, 0x0e, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x33, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x33, 0x12, 0x3b, 0x0a, 0x0e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x34, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, - 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x0e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x34, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x72, 0x6c, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x1a, - 0x0a, 0x08, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x70, - 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x44, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x44, 0x12, 0x33, 0x0a, 0x0b, 0x57, 0x6f, - 0x72, 0x6b, 0x4c, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x61, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x11, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x67, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, - 0x22, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, - 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, - 0x6f, 0x72, 0x79, 0x12, 0x4a, 0x0a, 0x0c, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x44, - 0x61, 0x74, 0x61, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x43, 0x61, 0x73, 0x74, - 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x2e, - 0x4d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x0c, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x44, 0x61, 0x74, 0x61, 0x12, - 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x4d, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x63, 0x6f, 0x76, 0x65, 0x72, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x1a, 0x54, 0x0a, 0x11, 0x4d, - 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0xca, 0x02, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x71, 0x12, 0x34, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x43, 0x61, 0x73, 0x74, - 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x4e, 0x55, 0x4d, 0x52, - 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x77, - 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, - 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x70, 0x70, 0x72, 0x6f, - 0x76, 0x61, 0x6c, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x70, - 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x72, 0x6d, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x24, 0x0a, - 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, - 0x65, 0x70, 0x6c, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x72, - 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x37, 0x0a, 0x0b, 0x61, 0x75, 0x74, - 0x6f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, - 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, - 0x68, 0x45, 0x4e, 0x55, 0x4d, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x32, - 0x0a, 0x10, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, - 0x69, 0x64, 0x22, 0xa2, 0x02, 0x0a, 0x11, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, - 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0xda, 0x01, 0x0a, 0x04, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, - 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x61, 0x6e, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x66, 0x61, 0x6e, 0x73, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, - 0x2a, 0x0a, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, - 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x6d, - 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x6b, 0x0a, 0x0d, 0x4d, 0x65, 0x64, 0x69, 0x61, - 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65, 0x64, 0x69, - 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x55, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, - 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, - 0x53, 0x69, 0x7a, 0x65, 0x22, 0x8a, 0x03, 0x0a, 0x0e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x57, 0x6f, - 0x72, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x0a, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x43, 0x61, - 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0xb2, 0x02, 0x0a, - 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, - 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, - 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x61, 0x74, - 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, - 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x69, 0x64, - 0x65, 0x6f, 0x55, 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x69, 0x64, - 0x65, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x55, 0x72, - 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x55, 0x72, - 0x6c, 0x22, 0x2a, 0x0a, 0x0a, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x12, - 0x1c, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x73, 0x22, 0x85, 0x01, - 0x0a, 0x0b, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2a, 0x0a, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x43, 0x61, - 0x73, 0x74, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x4a, 0x0a, 0x04, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, - 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, - 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x61, 0x74, - 0x65, 0x67, 0x6f, 0x72, 0x79, 0x22, 0x86, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x50, 0x75, 0x62, 0x6c, - 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, - 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x6d, - 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x73, - 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x6d, 0x65, 0x64, - 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x53, - 0x0a, 0x0d, 0x52, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, - 0x22, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, - 0x6f, 0x72, 0x79, 0x22, 0x28, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, - 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x22, 0x29, 0x0a, - 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, - 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x22, 0xe6, 0x01, 0x0a, 0x0c, 0x57, 0x6f, 0x72, - 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x77, 0x6f, 0x72, - 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x77, - 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, - 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, - 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, - 0x79, 0x22, 0x2f, 0x0a, 0x0d, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, - 0x69, 0x64, 0x22, 0xd4, 0x01, 0x0a, 0x0e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x32, 0x0a, 0x14, 0x54, 0x69, 0x6b, 0x54, 0x6f, 0x6b, 0x45, - 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x14, 0x54, 0x69, 0x6b, 0x54, 0x6f, 0x6b, 0x45, 0x66, 0x66, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x15, 0x59, 0x6f, 0x75, - 0x54, 0x75, 0x62, 0x65, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x59, 0x6f, 0x75, 0x54, 0x75, 0x62, - 0x65, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x2c, 0x0a, 0x11, 0x49, 0x6e, 0x73, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x49, 0x6e, 0x73, 0x45, - 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, - 0x10, 0x44, 0x4d, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x44, 0x4d, 0x45, 0x66, 0x66, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x4e, 0x0a, 0x12, 0x49, 0x6d, 0x70, - 0x6f, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, - 0x38, 0x0a, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x52, 0x0a, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x22, 0x91, 0x01, 0x0a, 0x13, 0x49, 0x6d, - 0x70, 0x6f, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x38, 0x0a, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x52, - 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x1c, 0x0a, 0x09, 0x66, 0x61, 0x69, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x09, 0x66, 0x61, 0x69, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xb9, 0x02, - 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, - 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65, - 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, - 0x68, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x75, - 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x64, 0x69, 0x61, - 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x0d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x43, 0x61, 0x73, 0x74, - 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x4e, - 0x55, 0x4d, 0x52, 0x0d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0x5b, 0x0a, 0x19, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x3e, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x10, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, - 0x66, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x22, 0x38, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x57, 0x6f, 0x72, 0x6b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, - 0x22, 0x65, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x50, 0x75, - 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x77, - 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, - 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, - 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x0a, 0x12, 0x52, 0x65, 0x66, 0x72, 0x65, - 0x73, 0x68, 0x57, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, - 0x0d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x22, 0xd8, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x57, - 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x32, 0x0a, 0x04, 0x44, - 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x43, 0x61, 0x73, 0x74, - 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x57, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x1a, - 0x8c, 0x01, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x73, 0x68, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x44, - 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0d, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x73, 0x12, 0x1e, - 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x22, 0x3d, - 0x0a, 0x0f, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, - 0x71, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x65, 0x64, - 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x22, 0x24, 0x0a, - 0x10, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x75, 0x72, 0x6c, 0x22, 0x3f, 0x0a, 0x11, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x56, 0x32, 0x52, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65, 0x64, 0x69, - 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x55, 0x75, 0x69, 0x64, 0x22, 0x74, 0x0a, 0x12, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, - 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x22, 0x56, 0x0a, 0x14, 0x4f, 0x41, - 0x75, 0x74, 0x68, 0x59, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, - 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x65, - 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, - 0x64, 0x65, 0x22, 0x7d, 0x0a, 0x15, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x59, 0x6f, 0x75, 0x74, 0x75, - 0x62, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x22, 0x0a, - 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x22, 0x77, 0x0a, 0x13, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x64, 0x65, 0x54, 0x6f, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, - 0x65, 0x72, 0x49, 0x44, 0x12, 0x34, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x45, 0x4e, 0x55, 0x4d, 0x52, 0x0a, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x22, 0x16, 0x0a, 0x14, 0x4f, 0x41, - 0x75, 0x74, 0x68, 0x43, 0x6f, 0x64, 0x65, 0x54, 0x6f, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x22, 0xa0, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x41, 0x75, - 0x74, 0x68, 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, - 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x34, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x43, 0x61, 0x73, 0x74, - 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x45, 0x4e, 0x55, 0x4d, 0x52, - 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x61, - 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x61, 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, - 0x75, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x75, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x83, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, - 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x66, - 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x34, 0x0a, - 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x14, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x49, 0x44, 0x45, 0x4e, 0x55, 0x4d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x5c, 0x0a, 0x10, 0x52, - 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x20, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x7f, 0x0a, 0x13, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, - 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x12, 0x2c, 0x0a, 0x11, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x75, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x75, 0x69, 0x64, 0x22, 0x94, 0x01, 0x0a, 0x14, 0x50, - 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x12, - 0x1e, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x12, - 0x2c, 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4d, 0x65, 0x64, 0x69, 0x61, - 0x55, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, - 0x6f, 0x22, 0x9e, 0x02, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x69, 0x64, 0x65, - 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, - 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x20, - 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x75, 0x69, 0x64, - 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, - 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, - 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x75, - 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, - 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x22, 0x2b, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x69, 0x64, 0x65, - 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x75, - 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, - 0x27, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x8c, 0x03, 0x0a, 0x12, 0x47, 0x65, 0x74, - 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, - 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x20, 0x0a, - 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x75, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x75, 0x69, 0x64, 0x12, - 0x20, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x75, 0x6d, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x75, 0x6d, 0x12, - 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x70, 0x70, 0x72, 0x6f, - 0x76, 0x61, 0x6c, 0x49, 0x44, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x70, - 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x44, 0x22, 0xb5, 0x02, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, - 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, - 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, - 0x0e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79, - 0x77, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x12, - 0x28, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, - 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, - 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, - 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x22, - 0xa5, 0x03, 0x0a, 0x0f, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x71, 0x75, 0x6f, - 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x71, - 0x75, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x55, 0x75, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x75, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x44, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x4e, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x18, 0x0a, - 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x57, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x56, - 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x29, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, - 0x43, 0x61, 0x73, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x22, 0x2a, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x46, 0x0a, 0x19, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x29, 0x0a, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x56, - 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x22, 0x89, 0x01, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, - 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x22, - 0x0a, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x61, 0x69, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x66, 0x61, 0x69, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x22, 0xa7, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x12, 0x34, 0x0a, 0x0a, 0x77, 0x6f, - 0x72, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, - 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x45, 0x4e, 0x55, 0x4d, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x75, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, - 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, - 0x61, 0x6c, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x70, 0x70, - 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x56, 0x0a, 0x0c, 0x53, 0x65, - 0x74, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, - 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, - 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, - 0x6d, 0x65, 0x22, 0x42, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, - 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x6f, - 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x6f, - 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x3f, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x79, - 0x6f, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x66, - 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, - 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x79, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, - 0x6f, 0x6d, 0x70, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, - 0x6f, 0x6d, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x6f, 0x6d, - 0x70, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x43, 0x61, 0x74, 0x65, - 0x67, 0x6f, 0x72, 0x79, 0x45, 0x4e, 0x55, 0x4d, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, - 0x72, 0x79, 0x22, 0x31, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6d, - 0x70, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x55, - 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6d, 0x70, - 0x74, 0x55, 0x75, 0x69, 0x64, 0x22, 0x2e, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6d, - 0x70, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x55, - 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6d, 0x70, - 0x74, 0x55, 0x75, 0x69, 0x64, 0x22, 0x93, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, - 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6d, 0x70, - 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, - 0x6d, 0x70, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x6f, 0x6d, 0x70, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x12, - 0x2e, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x12, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, - 0x79, 0x45, 0x4e, 0x55, 0x4d, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, - 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x08, 0x75, 0x73, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x9c, 0x01, 0x0a, 0x0e, - 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x16, - 0x0a, 0x06, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, - 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, - 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x45, 0x4e, 0x55, 0x4d, 0x52, 0x08, 0x63, 0x61, - 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, - 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, - 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x72, 0x61, 0x6e, 0x64, 0x22, 0xfc, 0x01, 0x0a, 0x0a, 0x50, - 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, - 0x6d, 0x70, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, - 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x6f, - 0x6d, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x6f, 0x6d, 0x70, - 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, - 0x6f, 0x72, 0x79, 0x45, 0x4e, 0x55, 0x4d, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, - 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x75, 0x73, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x16, 0x0a, 0x06, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x22, 0x4d, 0x0a, 0x0f, 0x4c, 0x69, 0x73, - 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x43, 0x61, 0x73, - 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x3c, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, - 0x12, 0x24, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, - 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x7f, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x24, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, - 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x61, 0x69, - 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x66, 0x61, - 0x69, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x7a, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, - 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x66, 0x49, 0x44, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x66, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x70, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, - 0x4e, 0x75, 0x6d, 0x22, 0x57, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x30, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x43, 0x61, 0x73, - 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x55, 0x75, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x55, 0x75, 0x69, 0x64, 0x22, 0x32, 0x0a, 0x10, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, - 0x22, 0x2e, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, - 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, - 0x22, 0x55, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x55, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x55, 0x75, 0x69, 0x64, 0x22, 0xa7, 0x06, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, - 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, - 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, - 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, - 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x70, 0x64, 0x66, 0x55, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, - 0x64, 0x66, 0x55, 0x72, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x56, 0x69, 0x64, 0x65, 0x6f, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x77, 0x6f, 0x72, - 0x6b, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x77, - 0x6f, 0x72, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x69, 0x65, 0x77, 0x73, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x76, 0x69, 0x65, 0x77, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6b, - 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6b, 0x65, 0x73, 0x12, - 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x68, 0x61, 0x72, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x68, 0x61, - 0x72, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x61, 0x6e, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x66, 0x61, 0x6e, 0x73, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x70, 0x43, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x11, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x70, 0x43, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, - 0x24, 0x0a, 0x0d, 0x6d, 0x6f, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x61, 0x79, - 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6d, 0x6f, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x44, 0x61, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x73, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x65, 0x73, - 0x74, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x65, 0x72, - 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x46, 0x61, 0x6e, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0e, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x46, 0x61, 0x6e, - 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x56, - 0x69, 0x65, 0x77, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x69, - 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x70, - 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x6b, 0x65, 0x73, 0x18, 0x17, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, - 0x4c, 0x69, 0x6b, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, - 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x12, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, - 0x79, 0x70, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x10, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, - 0x73, 0x22, 0x2c, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, - 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x75, - 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, - 0xd1, 0x05, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, - 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, - 0x08, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, - 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x70, 0x64, 0x66, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x70, 0x64, 0x66, 0x55, 0x72, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x56, 0x69, 0x64, - 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x77, - 0x6f, 0x72, 0x6b, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, - 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x69, 0x65, 0x77, 0x73, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x69, 0x65, 0x77, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, - 0x69, 0x6b, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6b, 0x65, - 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, - 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x61, 0x6e, 0x73, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x66, 0x61, 0x6e, 0x73, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x70, 0x43, 0x69, 0x74, 0x69, 0x65, 0x73, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x70, 0x43, 0x69, 0x74, 0x69, 0x65, - 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x6f, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, - 0x61, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6d, 0x6f, 0x73, 0x74, 0x41, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x44, 0x61, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x65, 0x73, 0x74, 0x50, - 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, - 0x65, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x55, 0x49, 0x44, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x55, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x70, - 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x46, 0x61, 0x6e, 0x73, 0x18, 0x11, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x46, - 0x61, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, - 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x65, - 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x12, 0x28, 0x0a, - 0x0f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x6b, 0x65, 0x73, - 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, - 0x70, 0x65, 0x4c, 0x69, 0x6b, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x65, 0x72, 0x69, 0x6f, - 0x64, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x14, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x12, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x43, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x69, 0x6f, - 0x64, 0x54, 0x79, 0x70, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x10, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x53, 0x68, 0x61, - 0x72, 0x65, 0x73, 0x22, 0x95, 0x02, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, - 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x71, 0x12, 0x34, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, - 0x6f, 0x72, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x4e, 0x55, 0x4d, 0x52, 0x0a, 0x77, - 0x6f, 0x72, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, - 0x0a, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x44, 0x12, 0x24, 0x0a, - 0x0d, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, - 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x72, 0x6d, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x72, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0xc9, 0x02, 0x0a, 0x13, - 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4c, 0x6f, 0x67, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, - 0x6c, 0x79, 0x73, 0x69, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, - 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, - 0x73, 0x45, 0x78, 0x74, 0x72, 0x61, 0x44, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x11, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x45, 0x78, 0x74, 0x72, 0x61, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x22, 0xfe, 0x01, 0x0a, 0x16, 0x57, 0x6f, 0x72, 0x6b, - 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x46, 0x61, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x69, - 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x61, 0x6e, 0x73, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x66, 0x61, 0x6e, 0x73, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, - 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, - 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x1c, 0x0a, 0x09, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x81, 0x02, 0x0a, 0x17, 0x57, 0x6f, 0x72, - 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x56, 0x69, 0x65, 0x77, 0x73, 0x53, 0x65, - 0x72, 0x69, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x69, 0x65, 0x77, - 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x76, 0x69, - 0x65, 0x77, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x69, - 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x65, - 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, - 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x4a, 0x53, 0x4f, 0x4e, - 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, - 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x81, 0x02, 0x0a, - 0x17, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4c, 0x69, 0x6b, - 0x65, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, - 0x6c, 0x69, 0x6b, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0a, 0x6c, 0x69, 0x6b, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, - 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0a, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, - 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x6e, 0x64, - 0x44, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x4a, 0x53, - 0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x22, 0x8a, 0x02, 0x0a, 0x1a, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, - 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, - 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, - 0x75, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, - 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, - 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, - 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, - 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x4a, 0x53, 0x4f, 0x4e, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x4a, 0x53, 0x4f, - 0x4e, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, - 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x84, 0x02, - 0x0a, 0x18, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x53, 0x68, - 0x61, 0x72, 0x65, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x20, - 0x0a, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x22, 0x87, 0x01, 0x0a, 0x15, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, - 0x6c, 0x79, 0x73, 0x69, 0x73, 0x54, 0x6f, 0x70, 0x43, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x12, - 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, - 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x69, 0x74, 0x69, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x69, 0x74, 0x69, 0x65, 0x73, 0x4a, 0x53, - 0x4f, 0x4e, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x8b, - 0x01, 0x0a, 0x19, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4d, - 0x6f, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x61, 0x79, 0x12, 0x12, 0x0a, 0x04, - 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, - 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x4a, 0x53, 0x4f, 0x4e, - 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, - 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x8a, 0x01, 0x0a, - 0x18, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x42, 0x65, 0x73, - 0x74, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, - 0x0a, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x1c, 0x0a, - 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0xc1, 0x01, 0x0a, 0x11, 0x57, 0x6f, - 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x45, 0x78, 0x74, 0x72, 0x61, 0x12, - 0x22, 0x0a, 0x0c, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x55, 0x75, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x55, - 0x75, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x13, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x13, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, - 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, - 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x2e, 0x0a, - 0x18, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x32, 0x0a, - 0x18, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, - 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, - 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, - 0x6d, 0x22, 0xef, 0x0b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, - 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, - 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, - 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, - 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, - 0x6f, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, - 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x77, 0x6f, 0x72, - 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, - 0x73, 0x69, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x66, 0x69, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x66, 0x69, 0x72, 0x6d, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, - 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, - 0x44, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, - 0x6c, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x64, 0x66, 0x55, 0x72, 0x6c, 0x18, 0x11, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x64, 0x66, 0x55, 0x72, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x6d, - 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x77, 0x6f, 0x72, - 0x6b, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x69, 0x65, - 0x77, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x69, 0x65, 0x77, 0x73, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6b, 0x65, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x6c, 0x69, 0x6b, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x61, 0x6e, - 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x66, 0x61, - 0x6e, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x70, 0x43, 0x69, - 0x74, 0x69, 0x65, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x70, 0x43, - 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x6f, 0x73, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x44, 0x61, 0x79, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6d, 0x6f, - 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x61, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x62, - 0x65, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0c, 0x62, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x1d, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3c, 0x0a, - 0x0a, 0x66, 0x61, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, - 0x6c, 0x79, 0x73, 0x69, 0x73, 0x46, 0x61, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, - 0x0a, 0x66, 0x61, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x76, - 0x69, 0x65, 0x77, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, - 0x79, 0x73, 0x69, 0x73, 0x56, 0x69, 0x65, 0x77, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, - 0x0b, 0x76, 0x69, 0x65, 0x77, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x0b, - 0x6c, 0x69, 0x6b, 0x65, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x20, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1d, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, - 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4c, 0x69, 0x6b, 0x65, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, - 0x52, 0x0b, 0x6c, 0x69, 0x6b, 0x65, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x48, 0x0a, - 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, - 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, - 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x65, - 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, - 0x73, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x0c, 0x73, - 0x68, 0x61, 0x72, 0x65, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x0f, 0x74, - 0x6f, 0x70, 0x43, 0x69, 0x74, 0x69, 0x65, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x23, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, - 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x54, 0x6f, 0x70, 0x43, 0x69, 0x74, 0x69, 0x65, - 0x73, 0x52, 0x0f, 0x74, 0x6f, 0x70, 0x43, 0x69, 0x74, 0x69, 0x65, 0x73, 0x53, 0x65, 0x72, 0x69, - 0x65, 0x73, 0x12, 0x51, 0x0a, 0x13, 0x6d, 0x6f, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x44, 0x61, 0x79, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, - 0x73, 0x69, 0x73, 0x4d, 0x6f, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x61, 0x79, - 0x52, 0x13, 0x6d, 0x6f, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x61, 0x79, 0x53, - 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x12, 0x62, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x73, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x25, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, - 0x6c, 0x79, 0x73, 0x69, 0x73, 0x42, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, - 0x65, 0x52, 0x12, 0x62, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x53, - 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x18, 0x26, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x22, 0xf1, 0x0c, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x41, - 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, - 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, - 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, - 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1e, 0x0a, - 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x12, 0x22, 0x0a, - 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, - 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x77, - 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, - 0x66, 0x69, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, - 0x63, 0x6f, 0x6d, 0x66, 0x69, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, - 0x6f, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x12, - 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x2a, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, - 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x44, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x70, - 0x64, 0x66, 0x55, 0x72, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x64, 0x66, - 0x55, 0x72, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, - 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x56, - 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x77, 0x6f, 0x72, - 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x69, 0x65, 0x77, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x76, 0x69, 0x65, 0x77, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6b, 0x65, 0x73, - 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6b, 0x65, 0x73, 0x12, 0x1a, 0x0a, - 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, - 0x72, 0x65, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, - 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x61, 0x6e, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x19, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x66, 0x61, 0x6e, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x70, 0x43, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x1a, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x70, 0x43, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x24, 0x0a, - 0x0d, 0x6d, 0x6f, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x61, 0x79, 0x18, 0x1b, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6d, 0x6f, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x44, 0x61, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x54, - 0x69, 0x6d, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x65, 0x73, 0x74, 0x50, - 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x13, 0x57, 0x6f, 0x72, 0x6b, 0x41, - 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4c, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x61, 0x18, 0x1d, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, - 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x13, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4c, 0x6f, 0x67, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x3c, 0x0a, 0x0a, 0x66, 0x61, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x69, - 0x65, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, - 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x46, 0x61, 0x6e, 0x73, - 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x0a, 0x66, 0x61, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x69, - 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x76, 0x69, 0x65, 0x77, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, - 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, - 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x56, 0x69, 0x65, 0x77, 0x73, - 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x0b, 0x76, 0x69, 0x65, 0x77, 0x73, 0x53, 0x65, 0x72, - 0x69, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x6c, 0x69, 0x6b, 0x65, 0x73, 0x53, 0x65, 0x72, 0x69, - 0x65, 0x73, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, - 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4c, 0x69, 0x6b, 0x65, - 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x0b, 0x6c, 0x69, 0x6b, 0x65, 0x73, 0x53, 0x65, - 0x72, 0x69, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x43, - 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, - 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x0e, - 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x42, - 0x0a, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x22, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, - 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x53, 0x65, - 0x72, 0x69, 0x65, 0x73, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x53, 0x65, 0x72, 0x69, - 0x65, 0x73, 0x12, 0x45, 0x0a, 0x0f, 0x74, 0x6f, 0x70, 0x43, 0x69, 0x74, 0x69, 0x65, 0x73, 0x53, - 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x43, 0x61, - 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x54, - 0x6f, 0x70, 0x43, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0f, 0x74, 0x6f, 0x70, 0x43, 0x69, 0x74, - 0x69, 0x65, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x13, 0x6d, 0x6f, 0x73, - 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x61, 0x79, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, - 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, - 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4d, 0x6f, 0x73, 0x74, 0x41, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x44, 0x61, 0x79, 0x52, 0x13, 0x6d, 0x6f, 0x73, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x44, 0x61, 0x79, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x12, - 0x62, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, - 0x65, 0x73, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, - 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x42, 0x65, 0x73, 0x74, - 0x50, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x12, 0x62, 0x65, 0x73, 0x74, 0x50, 0x6f, - 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x05, - 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x43, 0x61, - 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x45, - 0x78, 0x74, 0x72, 0x61, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x27, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0xa9, 0x03, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, - 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x12, - 0x1a, 0x0a, 0x08, 0x75, 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x08, 0x75, 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, - 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x56, 0x61, - 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, - 0x66, 0x69, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, - 0x63, 0x6f, 0x6d, 0x66, 0x69, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x12, 0x30, 0x0a, 0x13, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x45, 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x75, - 0x62, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, - 0x0d, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x45, 0x6e, 0x64, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, - 0x69, 0x7a, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, - 0x69, 0x7a, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4c, 0x69, 0x73, - 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4c, - 0x69, 0x73, 0x74, 0x22, 0xae, 0x03, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, - 0x79, 0x73, 0x69, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, - 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x44, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x44, - 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, - 0x6e, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x6e, - 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x20, - 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x66, 0x69, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x66, 0x69, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x70, 0x64, 0x66, 0x55, 0x72, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x64, - 0x66, 0x55, 0x72, 0x6c, 0x22, 0x58, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, - 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2a, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x43, 0x61, 0x73, - 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x2b, - 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, - 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xa5, 0x02, 0x0a, 0x11, - 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x12, - 0x1e, 0x0a, 0x0a, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x2a, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x65, 0x78, 0x70, 0x69, 0x72, - 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, - 0x45, 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, - 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x75, - 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x24, 0x0a, - 0x0d, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x45, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, - 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, - 0x69, 0x7a, 0x65, 0x22, 0x94, 0x05, 0x0a, 0x12, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, - 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x4e, - 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, - 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x18, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x18, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x12, 0x64, 0x61, 0x74, 0x61, 0x41, 0x6e, - 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x12, 0x64, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, - 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x1d, 0x64, 0x61, 0x74, 0x61, 0x41, 0x6e, - 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1d, 0x64, - 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x75, - 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, - 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x66, 0x61, 0x6e, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x09, 0x66, 0x61, 0x6e, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x69, - 0x65, 0x77, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, - 0x76, 0x69, 0x65, 0x77, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x69, - 0x6b, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, - 0x6c, 0x69, 0x6b, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x61, 0x73, 0x74, 0x57, - 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, - 0x72, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x58, 0x0a, 0x12, 0x41, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x2c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, - 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x52, 0x65, 0x73, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, - 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xac, 0x01, 0x0a, 0x10, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, - 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, - 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, - 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, - 0x69, 0x7a, 0x65, 0x22, 0xc5, 0x03, 0x0a, 0x11, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, - 0x61, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, - 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, - 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, - 0x6f, 0x6e, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, - 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x1e, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x12, - 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x66, 0x61, 0x6e, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x09, 0x66, 0x61, 0x6e, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, - 0x0a, 0x76, 0x69, 0x65, 0x77, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0a, 0x76, 0x69, 0x65, 0x77, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, - 0x0a, 0x6c, 0x69, 0x6b, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0a, 0x6c, 0x69, 0x6b, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, - 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x73, 0x74, 0x57, 0x6f, 0x72, - 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x61, - 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x56, 0x0a, 0x11, 0x4d, - 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, 0x61, 0x4c, - 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, - 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x22, 0x25, 0x0a, 0x0f, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x76, 0x65, 0x72, 0x76, - 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x22, 0xc0, 0x06, 0x0a, 0x10, 0x44, - 0x61, 0x74, 0x61, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x22, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, - 0x74, 0x6f, 0x64, 0x61, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x61, 0x6e, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x66, 0x61, 0x6e, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x26, 0x0a, 0x0e, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x46, 0x61, 0x6e, 0x73, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x46, 0x61, - 0x6e, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x69, 0x65, 0x77, 0x73, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x76, 0x69, 0x65, - 0x77, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x6f, 0x64, 0x61, 0x79, - 0x56, 0x69, 0x65, 0x77, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0f, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x56, 0x69, 0x65, 0x77, 0x73, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x69, 0x6b, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6c, 0x69, 0x6b, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x4c, 0x69, 0x6b, 0x65, 0x73, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x74, 0x6f, 0x64, 0x61, - 0x79, 0x4c, 0x69, 0x6b, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x74, - 0x6f, 0x64, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x53, 0x68, 0x61, 0x72, - 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x74, - 0x6f, 0x64, 0x61, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x1e, 0x0a, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x28, 0x0a, 0x0f, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x69, 0x64, - 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x76, - 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x6f, 0x64, - 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0f, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x44, 0x61, - 0x74, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x34, 0x0a, 0x15, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x44, - 0x61, 0x74, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, - 0x74, 0x6f, 0x64, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x44, 0x61, 0x74, 0x61, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x16, 0x74, 0x6f, 0x42, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x74, 0x6f, 0x42, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x72, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, - 0x12, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x61, 0x70, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x90, 0x02, - 0x0a, 0x16, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, - 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x55, 0x55, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x55, 0x55, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x69, - 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x46, 0x61, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0e, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x46, 0x61, 0x6e, 0x73, - 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x56, 0x69, - 0x65, 0x77, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x69, 0x6f, - 0x64, 0x54, 0x79, 0x70, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x65, - 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x6b, 0x65, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x4c, - 0x69, 0x6b, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, - 0x70, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x12, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, - 0x70, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, - 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, - 0x22, 0xf2, 0x03, 0x0a, 0x17, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3c, 0x0a, 0x0a, - 0x66, 0x61, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, - 0x79, 0x73, 0x69, 0x73, 0x46, 0x61, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x0a, - 0x66, 0x61, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x76, 0x69, - 0x65, 0x77, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, - 0x73, 0x69, 0x73, 0x56, 0x69, 0x65, 0x77, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x0b, - 0x76, 0x69, 0x65, 0x77, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x6c, - 0x69, 0x6b, 0x65, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, - 0x79, 0x73, 0x69, 0x73, 0x4c, 0x69, 0x6b, 0x65, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, - 0x0b, 0x6c, 0x69, 0x6b, 0x65, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x0e, - 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, - 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, - 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x43, - 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, - 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x0c, 0x73, 0x68, - 0x61, 0x72, 0x65, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x0c, 0x62, 0x65, - 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, - 0x79, 0x73, 0x69, 0x73, 0x42, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x52, 0x0c, 0x62, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x45, - 0x0a, 0x0d, 0x6d, 0x6f, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x61, 0x79, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, - 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4d, 0x6f, 0x73, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x44, 0x61, 0x79, 0x52, 0x0d, 0x6d, 0x6f, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x44, 0x61, 0x79, 0x22, 0x71, 0x0a, 0x1b, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x57, 0x69, 0x6e, 0x64, 0x6f, - 0x77, 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x55, - 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x55, 0x55, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x22, 0x37, 0x0a, 0x0b, 0x53, 0x69, 0x6d, 0x70, - 0x6c, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x22, 0x47, 0x0a, 0x11, 0x42, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, - 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x6f, - 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x50, - 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x3c, 0x0a, 0x12, 0x4d, 0x6f, - 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x61, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, - 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x64, - 0x61, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x94, 0x04, 0x0a, 0x1c, 0x41, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x57, - 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x61, 0x6e, - 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x66, 0x61, - 0x6e, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x69, 0x65, 0x77, 0x73, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x76, 0x69, 0x65, - 0x77, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x69, 0x6b, 0x65, 0x73, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6c, 0x69, 0x6b, - 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, - 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, - 0x0b, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x25, 0x0a, 0x04, 0x66, 0x61, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, - 0x43, 0x61, 0x73, 0x74, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, - 0x52, 0x04, 0x66, 0x61, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x05, 0x76, 0x69, 0x65, 0x77, 0x73, 0x18, - 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x53, 0x69, 0x6d, - 0x70, 0x6c, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x69, 0x65, 0x77, 0x73, 0x12, - 0x27, 0x0a, 0x05, 0x6c, 0x69, 0x6b, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, - 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x50, 0x6f, 0x69, 0x6e, - 0x74, 0x52, 0x05, 0x6c, 0x69, 0x6b, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x43, 0x61, 0x73, - 0x74, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x63, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, - 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x53, - 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, - 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0c, 0x62, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, - 0x42, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x6f, 0x69, 0x6e, - 0x74, 0x52, 0x0c, 0x62, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x3e, 0x0a, 0x0d, 0x6d, 0x6f, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x61, 0x79, - 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x6f, - 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x61, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, - 0x52, 0x0d, 0x6d, 0x6f, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x61, 0x79, 0x22, - 0x66, 0x0a, 0x14, 0x54, 0x6f, 0x62, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, - 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, - 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xff, 0x03, 0x0a, 0x11, 0x54, 0x6f, 0x62, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, - 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, - 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, - 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x61, 0x74, - 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x49, 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x65, 0x64, 0x69, 0x61, - 0x41, 0x63, 0x63, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0f, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, - 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x41, 0x74, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, - 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, - 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x5a, 0x0a, 0x15, 0x54, 0x6f, 0x62, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x54, 0x6f, 0x62, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x72, 0x6d, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2a, 0x47, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x49, 0x44, 0x45, 0x4e, 0x55, 0x4d, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, - 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x49, 0x4b, 0x54, 0x4f, 0x4b, 0x10, 0x01, - 0x12, 0x0b, 0x0a, 0x07, 0x59, 0x4f, 0x55, 0x54, 0x55, 0x42, 0x45, 0x10, 0x02, 0x12, 0x07, 0x0a, - 0x03, 0x49, 0x4e, 0x53, 0x10, 0x03, 0x12, 0x06, 0x0a, 0x02, 0x44, 0x4d, 0x10, 0x04, 0x2a, 0x39, - 0x0a, 0x0e, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x4e, 0x55, 0x4d, - 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x41, 0x75, 0x74, 0x68, 0x10, - 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x75, 0x74, 0x68, 0x4f, 0x6b, 0x10, 0x01, 0x12, 0x0a, 0x0a, - 0x06, 0x41, 0x75, 0x74, 0x68, 0x4e, 0x6f, 0x10, 0x02, 0x2a, 0x81, 0x01, 0x0a, 0x0e, 0x57, 0x6f, - 0x72, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x4e, 0x55, 0x4d, 0x12, 0x0d, 0x0a, 0x09, - 0x4e, 0x4f, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, - 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x50, 0x50, 0x52, - 0x4f, 0x56, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, - 0x41, 0x4c, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x50, 0x50, - 0x52, 0x4f, 0x56, 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x04, 0x12, 0x13, - 0x0a, 0x0f, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, 0x41, 0x4c, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, - 0x45, 0x10, 0x05, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x45, 0x41, 0x44, 0x10, 0x06, 0x2a, 0x56, 0x0a, - 0x0f, 0x41, 0x75, 0x74, 0x6f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x45, 0x4e, 0x55, 0x4d, - 0x12, 0x16, 0x0a, 0x12, 0x41, 0x75, 0x74, 0x6f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, - 0x55, 0x4e, 0x4b, 0x4f, 0x4e, 0x57, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x6f, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x54, 0x52, 0x55, 0x45, 0x10, 0x01, 0x12, 0x15, - 0x0a, 0x11, 0x41, 0x75, 0x74, 0x6f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x46, 0x41, - 0x4c, 0x53, 0x45, 0x10, 0x02, 0x2a, 0xa6, 0x01, 0x0a, 0x11, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, - 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x4e, 0x55, 0x4d, 0x12, 0x19, 0x0a, 0x15, 0x50, - 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x5f, 0x4e, 0x4f, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, - 0x68, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x49, 0x4e, 0x47, - 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x64, - 0x69, 0x61, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x02, 0x12, - 0x1b, 0x0a, 0x17, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x2a, 0x59, - 0x0a, 0x0c, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x45, 0x4e, 0x55, 0x4d, 0x12, 0x14, - 0x0a, 0x10, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, - 0x52, 0x59, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x49, 0x54, 0x4c, 0x45, 0x10, 0x01, 0x12, - 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, - 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x4f, 0x4e, 0x47, 0x5f, - 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x32, 0xf2, 0x1e, 0x0a, 0x04, 0x43, 0x61, - 0x73, 0x74, 0x12, 0x42, 0x0a, 0x0d, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x73, 0x65, 0x72, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, - 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x43, 0x61, - 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x2e, 0x43, - 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x43, 0x61, 0x73, 0x74, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0d, 0x55, 0x6e, 0x62, - 0x69, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x16, 0x2e, 0x43, 0x61, 0x73, - 0x74, 0x2e, 0x55, 0x6e, 0x62, 0x69, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x6e, 0x62, 0x69, 0x6e, 0x64, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x3d, 0x0a, - 0x0b, 0x42, 0x69, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x14, 0x2e, 0x43, - 0x61, 0x73, 0x74, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0f, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, - 0x18, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, - 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x43, 0x61, 0x73, 0x74, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x57, 0x6f, 0x72, 0x6b, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x18, 0x2e, 0x43, 0x61, 0x73, 0x74, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x56, 0x69, 0x64, 0x65, 0x6f, - 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, - 0x12, 0x36, 0x0a, 0x09, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x2e, - 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x71, 0x1a, 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x33, 0x0a, 0x08, 0x57, 0x6f, 0x72, 0x6b, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x11, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, - 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x39, 0x0a, - 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x13, 0x2e, 0x43, 0x61, - 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, - 0x1a, 0x14, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x1a, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0d, 0x4d, 0x65, 0x64, - 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x43, 0x61, 0x73, - 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x39, 0x0a, - 0x0a, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x13, 0x2e, 0x43, 0x61, - 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, - 0x1a, 0x14, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x57, 0x6f, 0x72, - 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x30, 0x0a, 0x07, 0x50, 0x75, 0x62, 0x6c, - 0x69, 0x73, 0x68, 0x12, 0x10, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x36, 0x0a, 0x09, 0x52, 0x65, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x12, 0x12, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x52, - 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x43, 0x61, - 0x73, 0x74, 0x2e, 0x52, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, - 0x22, 0x00, 0x12, 0x35, 0x0a, 0x07, 0x44, 0x65, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x12, 0x10, 0x2e, - 0x43, 0x61, 0x73, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x1a, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x33, 0x0a, 0x08, 0x57, 0x6f, 0x72, - 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x11, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, - 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, - 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x39, - 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x13, 0x2e, 0x43, - 0x61, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x71, 0x1a, 0x14, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0f, 0x49, 0x6d, 0x70, - 0x6f, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x18, 0x2e, 0x43, - 0x61, 0x73, 0x74, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x49, 0x6d, - 0x70, 0x6f, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, - 0x70, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, - 0x6b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x2e, - 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x20, - 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, - 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4c, 0x6f, 0x67, 0x12, 0x1d, 0x2e, 0x43, 0x61, 0x73, - 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x50, 0x75, 0x62, 0x6c, - 0x69, 0x73, 0x68, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0f, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x57, 0x6f, - 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x52, 0x65, - 0x66, 0x72, 0x65, 0x73, 0x68, 0x57, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, - 0x1a, 0x19, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x57, - 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x3f, 0x0a, - 0x0c, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x15, 0x2e, - 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4f, 0x41, 0x75, 0x74, - 0x68, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x45, - 0x0a, 0x0e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x56, 0x32, - 0x12, 0x17, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x56, 0x32, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x43, 0x61, 0x73, 0x74, - 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x56, 0x32, 0x52, - 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x10, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, - 0x64, 0x65, 0x54, 0x6f, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x2e, 0x43, 0x61, 0x73, 0x74, - 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x64, 0x65, 0x54, 0x6f, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4f, 0x41, 0x75, 0x74, - 0x68, 0x43, 0x6f, 0x64, 0x65, 0x54, 0x6f, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x41, 0x75, 0x74, - 0x68, 0x12, 0x14, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, - 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, - 0x00, 0x12, 0x3f, 0x0a, 0x0c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x15, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, - 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x10, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x64, - 0x69, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, 0x75, - 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x71, 0x1a, 0x1a, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, - 0x4d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, - 0x38, 0x0a, 0x04, 0x54, 0x65, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x11, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x1a, - 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x69, 0x64, 0x65, - 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x43, 0x61, 0x73, - 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0e, 0x47, 0x65, 0x74, - 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x17, 0x2e, 0x43, 0x61, - 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x56, - 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, - 0x12, 0x4b, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x73, 0x12, 0x19, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, - 0x1a, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, - 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x49, 0x0a, - 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x12, 0x1a, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x16, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x12, 0x1f, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x2e, - 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x22, 0x00, 0x12, 0x36, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x79, 0x6f, 0x75, - 0x74, 0x12, 0x12, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x79, 0x6f, - 0x75, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, - 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x09, - 0x53, 0x65, 0x74, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x12, 0x2e, 0x43, 0x61, 0x73, 0x74, - 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x12, 0x15, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x16, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x12, 0x15, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, 0x1a, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x36, 0x0a, 0x09, 0x47, 0x65, 0x74, - 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x12, 0x12, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, - 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x43, 0x61, 0x73, - 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, - 0x00, 0x12, 0x3c, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x73, - 0x12, 0x14, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6d, - 0x70, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, - 0x4e, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x12, 0x1a, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, - 0x1a, 0x1b, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, - 0x6f, 0x6d, 0x70, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, - 0x3f, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x12, - 0x15, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, - 0x12, 0x36, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x12, 0x12, 0x2e, - 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x1a, 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x1b, - 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, - 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x43, 0x61, - 0x73, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, - 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x12, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, - 0x73, 0x12, 0x1b, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, - 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x16, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, - 0x00, 0x12, 0x54, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, - 0x79, 0x73, 0x69, 0x73, 0x12, 0x1e, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x57, - 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x57, - 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4c, 0x61, - 0x74, 0x65, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, - 0x12, 0x1e, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, - 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, - 0x1a, 0x19, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x41, - 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x4b, 0x0a, - 0x10, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, - 0x73, 0x12, 0x19, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, - 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x43, - 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, - 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x12, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, - 0x12, 0x1b, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, - 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0e, 0x41, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x2e, 0x43, 0x61, 0x73, 0x74, - 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x42, - 0x0a, 0x0d, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x16, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, 0x61, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, - 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0c, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, - 0x65, 0x77, 0x12, 0x15, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x76, - 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x43, 0x61, 0x73, 0x74, - 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, - 0x70, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x13, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1c, 0x2e, 0x43, 0x61, 0x73, - 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, - 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, - 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, - 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x18, 0x41, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x57, - 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x21, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x57, - 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, - 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x69, - 0x6c, 0x79, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x4e, - 0x0a, 0x11, 0x54, 0x6f, 0x62, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x1a, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x54, 0x6f, 0x62, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, - 0x1b, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x54, 0x6f, 0x62, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x72, 0x6d, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x42, 0x0d, - 0x5a, 0x0b, 0x2e, 0x2f, 0x63, 0x61, 0x73, 0x74, 0x3b, 0x63, 0x61, 0x73, 0x74, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_pb_fiee_cast_proto_rawDesc = "" + + "\n" + + "\x12pb/fiee/cast.proto\x12\x04Cast\x1a\x15common/wrappers.proto\x1a\x17common/descriptor.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x15common/validate.proto\"\x88\x03\n" + + "\x10MediaUserListReq\x12\x1c\n" + + "\tartistVal\x18\x01 \x01(\tR\tartistVal\x12\x1e\n" + + "\n" + + "managerVal\x18\x02 \x01(\tR\n" + + "managerVal\x12*\n" + + "\x10platformUserName\x18\x03 \x01(\tR\x10platformUserName\x124\n" + + "\n" + + "platformID\x18\x04 \x01(\x0e2\x14.Cast.PlatformIDENUMR\n" + + "platformID\x12\x12\n" + + "\x04page\x18\x05 \x01(\x05R\x04page\x12\x1a\n" + + "\bpageSize\x18\x06 \x01(\x05R\bpageSize\x12\x1e\n" + + "\n" + + "artistUuid\x18\a \x01(\tR\n" + + "artistUuid\x12(\n" + + "\x0fcreateStartDate\x18\b \x01(\tR\x0fcreateStartDate\x12$\n" + + "\rcreateEndDate\x18\t \x01(\tR\rcreateEndDate\x124\n" + + "\n" + + "authStatus\x18\n" + + " \x01(\x0e2\x14.Cast.AuthStatusENUMR\n" + + "authStatus\"\x8d\x03\n" + + "\rMediaUserInfo\x12*\n" + + "\x10platformUserName\x18\x01 \x01(\tR\x10platformUserName\x12\x1e\n" + + "\n" + + "platformID\x18\x02 \x01(\rR\n" + + "platformID\x12\x1e\n" + + "\n" + + "artistName\x18\x03 \x01(\tR\n" + + "artistName\x12 \n" + + "\vartistPhone\x18\x04 \x01(\tR\vartistPhone\x12\x1e\n" + + "\n" + + "artistUuid\x18\x05 \x01(\tR\n" + + "artistUuid\x12(\n" + + "\x0fmanagerUserName\x18\x06 \x01(\tR\x0fmanagerUserName\x12 \n" + + "\vmanagerUuid\x18\a \x01(\tR\vmanagerUuid\x12*\n" + + "\x10mediaAccountUuid\x18\b \x01(\tR\x10mediaAccountUuid\x12 \n" + + "\vcreatedDate\x18\t \x01(\tR\vcreatedDate\x124\n" + + "\n" + + "authStatus\x18\n" + + " \x01(\x0e2\x14.Cast.AuthStatusENUMR\n" + + "authStatus\"R\n" + + "\x11MediaUserListResp\x12'\n" + + "\x04data\x18\x01 \x03(\v2\x13.Cast.MediaUserInfoR\x04data\x12\x14\n" + + "\x05count\x18\x02 \x01(\x03R\x05count\"\xad\x03\n" + + "\x15UpdateMediaAccountReq\x124\n" + + "\n" + + "platformID\x18\x01 \x01(\x0e2\x14.Cast.PlatformIDENUMR\n" + + "platformID\x12*\n" + + "\x10platformUserName\x18\x02 \x01(\tR\x10platformUserName\x12&\n" + + "\x0eplatformUserID\x18\x03 \x01(\tR\x0eplatformUserID\x12\x1e\n" + + "\n" + + "artistUuid\x18\x04 \x01(\tR\n" + + "artistUuid\x12\x1e\n" + + "\n" + + "artistName\x18\x05 \x01(\tR\n" + + "artistName\x12 \n" + + "\vartistPhone\x18\x06 \x01(\tR\vartistPhone\x12*\n" + + "\x10mediaAccountUuid\x18\a \x01(\tR\x10mediaAccountUuid\x12 \n" + + "\vmanagerUuid\x18\b \x01(\tR\vmanagerUuid\x12(\n" + + "\x0fmanagerUserName\x18\t \x01(\tR\x0fmanagerUserName\x120\n" + + "\x13artistPhoneAreaCode\x18\n" + + " \x01(\tR\x13artistPhoneAreaCode\"D\n" + + "\x16UpdateMediaAccountResp\x12*\n" + + "\x10mediaAccountUuid\x18\x01 \x01(\tR\x10mediaAccountUuid\">\n" + + "\x10UnbindManagerReq\x12*\n" + + "\x10mediaAccountUuid\x18\x01 \x01(\tR\x10mediaAccountUuid\"A\n" + + "\x11UnbindManagerResp\x12,\n" + + "\x11oldBindArtistUuid\x18\x01 \x01(\tR\x11oldBindArtistUuid\"\x88\x01\n" + + "\x0eBindManagerReq\x12*\n" + + "\x10mediaAccountUuid\x18\x01 \x01(\tR\x10mediaAccountUuid\x12 \n" + + "\vmanagerUuid\x18\x02 \x01(\tR\vmanagerUuid\x12(\n" + + "\x0fmanagerUserName\x18\x03 \x01(\tR\x0fmanagerUserName\"\x8e\x06\n" + + "\x12UpdateWorkImageReq\x12\x14\n" + + "\x05title\x18\x01 \x01(\tR\x05title\x12\x18\n" + + "\acontent\x18\x02 \x01(\tR\acontent\x12\x16\n" + + "\x06images\x18\x03 \x03(\tR\x06images\x12,\n" + + "\x11mediaAccountUuids\x18\x04 \x03(\tR\x11mediaAccountUuids\x12,\n" + + "\x11mediaAccountNames\x18\x05 \x03(\tR\x11mediaAccountNames\x126\n" + + "\vplatformIDs\x18\x06 \x03(\x0e2\x14.Cast.PlatformIDENUMR\vplatformIDs\x12;\n" + + "\x0epublishConfig1\x18\a \x01(\v2\x13.Cast.PublishConfigR\x0epublishConfig1\x12;\n" + + "\x0epublishConfig2\x18\b \x01(\v2\x13.Cast.PublishConfigR\x0epublishConfig2\x12;\n" + + "\x0epublishConfig3\x18\t \x01(\v2\x13.Cast.PublishConfigR\x0epublishConfig3\x12;\n" + + "\x0epublishConfig4\x18\n" + + " \x01(\v2\x13.Cast.PublishConfigR\x0epublishConfig4\x12\x16\n" + + "\x06action\x18\v \x01(\tR\x06action\x12\x1a\n" + + "\bworkUuid\x18\f \x01(\tR\bworkUuid\x12\x1e\n" + + "\n" + + "artistUuid\x18\r \x01(\tR\n" + + "artistUuid\x12 \n" + + "\vartistPhone\x18\x0e \x01(\tR\vartistPhone\x12\x1e\n" + + "\n" + + "artistName\x18\x0f \x01(\tR\n" + + "artistName\x120\n" + + "\x13artistPhoneAreaCode\x18\x10 \x01(\tR\x13artistPhoneAreaCode\x12\x16\n" + + "\x06source\x18\x11 \x01(\rR\x06source\x12\x16\n" + + "\x06lineNo\x18\x12 \x01(\rR\x06lineNo\x12\x16\n" + + "\x06remark\x18\x13 \x01(\tR\x06remark\x12\x18\n" + + "\asuccess\x18\x14 \x01(\bR\asuccess\"1\n" + + "\x13UpdateWorkImageResp\x12\x1a\n" + + "\bworkUuid\x18\x01 \x01(\tR\bworkUuid\"\xbf\x01\n" + + "\rPublishConfig\x12$\n" + + "\rforbidComment\x18\x01 \x01(\rR\rforbidComment\x12\x1e\n" + + "\n" + + "publicType\x18\x02 \x01(\rR\n" + + "publicType\x12\x18\n" + + "\acanJoin\x18\x03 \x01(\rR\acanJoin\x12\x1a\n" + + "\bcanQuote\x18\x04 \x01(\rR\bcanQuote\x12\x1e\n" + + "\n" + + "canComment\x18\x05 \x01(\rR\n" + + "canComment\x12\x12\n" + + "\x04isAI\x18\x06 \x01(\rR\x04isAI\"\xe9\x06\n" + + "\x12UpdateWorkVideoReq\x12\x14\n" + + "\x05title\x18\x01 \x01(\tR\x05title\x12\x18\n" + + "\acontent\x18\x02 \x01(\tR\acontent\x12\x1a\n" + + "\bvideoUrl\x18\x03 \x01(\tR\bvideoUrl\x12\x1a\n" + + "\bcoverUrl\x18\x04 \x01(\tR\bcoverUrl\x12,\n" + + "\x11mediaAccountUuids\x18\x05 \x03(\tR\x11mediaAccountUuids\x12,\n" + + "\x11mediaAccountNames\x18\x06 \x03(\tR\x11mediaAccountNames\x126\n" + + "\vplatformIDs\x18\a \x03(\x0e2\x14.Cast.PlatformIDENUMR\vplatformIDs\x12;\n" + + "\x0epublishConfig1\x18\b \x01(\v2\x13.Cast.PublishConfigR\x0epublishConfig1\x12;\n" + + "\x0epublishConfig2\x18\t \x01(\v2\x13.Cast.PublishConfigR\x0epublishConfig2\x12;\n" + + "\x0epublishConfig3\x18\n" + + " \x01(\v2\x13.Cast.PublishConfigR\x0epublishConfig3\x12;\n" + + "\x0epublishConfig4\x18\v \x01(\v2\x13.Cast.PublishConfigR\x0epublishConfig4\x12\x16\n" + + "\x06action\x18\f \x01(\tR\x06action\x12\x1a\n" + + "\bworkUuid\x18\r \x01(\tR\bworkUuid\x12\x1e\n" + + "\n" + + "artistUuid\x18\x0e \x01(\tR\n" + + "artistUuid\x12 \n" + + "\vartistPhone\x18\x0f \x01(\tR\vartistPhone\x12\x1e\n" + + "\n" + + "artistName\x18\x10 \x01(\tR\n" + + "artistName\x120\n" + + "\x13artistPhoneAreaCode\x18\x11 \x01(\tR\x13artistPhoneAreaCode\x12\x16\n" + + "\x06source\x18\x12 \x01(\rR\x06source\x12*\n" + + "\x10coverTimestampMs\x18\x13 \x01(\x04R\x10coverTimestampMs\x127\n" + + "\vautoPublish\x18\x14 \x01(\x0e2\x15.Cast.AutoPublishENUMR\vautoPublish\x12\x1e\n" + + "\n" + + "scriptUuid\x18\x15 \x01(\tR\n" + + "scriptUuid\"1\n" + + "\x13UpdateWorkVideoResp\x12\x1a\n" + + "\bworkUuid\x18\x01 \x01(\tR\bworkUuid\"\x90\x01\n" + + "\fMediaInfoReq\x12\x1e\n" + + "\n" + + "artistUuid\x18\x01 \x01(\tR\n" + + "artistUuid\x124\n" + + "\n" + + "platformID\x18\x02 \x01(\x0e2\x14.Cast.PlatformIDENUMR\n" + + "platformID\x12*\n" + + "\x10platformUserName\x18\x03 \x01(\tR\x10platformUserName\"8\n" + + "\rMediaInfoResp\x12'\n" + + "\x04info\x18\x01 \x01(\v2\x13.Cast.MediaUserInfoR\x04info\"\xcb\x04\n" + + "\vWorkListReq\x12\x1c\n" + + "\tartistVal\x18\x01 \x01(\tR\tartistVal\x12\x1e\n" + + "\n" + + "platformID\x18\x02 \x01(\rR\n" + + "platformID\x12\"\n" + + "\fworkCategory\x18\x03 \x01(\rR\fworkCategory\x12(\n" + + "\x0fsubmitStartTime\x18\x04 \x01(\tR\x0fsubmitStartTime\x12$\n" + + "\rsubmitEndTime\x18\x05 \x01(\tR\rsubmitEndTime\x124\n" + + "\x15statusUpdateTimeStart\x18\x06 \x01(\tR\x15statusUpdateTimeStart\x120\n" + + "\x13statusUpdateTimeEnd\x18\a \x01(\tR\x13statusUpdateTimeEnd\x12\x14\n" + + "\x05title\x18\b \x01(\tR\x05title\x12\x1e\n" + + "\n" + + "workStatus\x18\t \x01(\rR\n" + + "workStatus\x12*\n" + + "\x10mediaAccountUuid\x18\n" + + " \x01(\tR\x10mediaAccountUuid\x12&\n" + + "\x0emanagerUserVal\x18\v \x01(\tR\x0emanagerUserVal\x12\x12\n" + + "\x04page\x18\f \x01(\x05R\x04page\x12\x1a\n" + + "\bpageSize\x18\r \x01(\x05R\bpageSize\x12,\n" + + "\x11mediaAccountUuids\x18\x0e \x03(\tR\x11mediaAccountUuids\x12\x1a\n" + + "\bcostType\x18\x0f \x01(\x05R\bcostType\x12\x1e\n" + + "\n" + + "scriptUuid\x18\x10 \x01(\tR\n" + + "scriptUuid\"\xaa\x05\n" + + "\fWorkListResp\x12+\n" + + "\x04data\x18\x01 \x03(\v2\x17.Cast.WorkListResp.InfoR\x04data\x12\x14\n" + + "\x05count\x18\x02 \x01(\x03R\x05count\x1a\xd6\x04\n" + + "\x04Info\x12\x1a\n" + + "\bworkUuid\x18\x01 \x01(\tR\bworkUuid\x12\x1e\n" + + "\n" + + "artistName\x18\x02 \x01(\tR\n" + + "artistName\x12 \n" + + "\vartistPhone\x18\x03 \x01(\tR\vartistPhone\x12\x14\n" + + "\x05title\x18\x04 \x01(\tR\x05title\x12\"\n" + + "\fworkCategory\x18\x05 \x01(\rR\fworkCategory\x12\x1e\n" + + "\n" + + "workStatus\x18\x06 \x01(\rR\n" + + "workStatus\x12\x1e\n" + + "\n" + + "submitTime\x18\a \x01(\tR\n" + + "submitTime\x12*\n" + + "\x10statusUpdateTime\x18\b \x01(\tR\x10statusUpdateTime\x12 \n" + + "\vplatformIDs\x18\t \x03(\rR\vplatformIDs\x12,\n" + + "\x11mediaAccountNames\x18\n" + + " \x03(\tR\x11mediaAccountNames\x12,\n" + + "\x11mediaAccountUuids\x18\v \x03(\tR\x11mediaAccountUuids\x12*\n" + + "\x10managerUserNames\x18\f \x03(\tR\x10managerUserNames\x12\"\n" + + "\fmanagerUuids\x18\r \x03(\tR\fmanagerUuids\x12\x1e\n" + + "\n" + + "approvalID\x18\x0e \x01(\tR\n" + + "approvalID\x12\x1a\n" + + "\bcostType\x18\x0f \x01(\rR\bcostType\x12\x1e\n" + + "\n" + + "scriptUuid\x18\x10 \x01(\tR\n" + + "scriptUuid\x12 \n" + + "\vscriptTitle\x18\x11 \x01(\tR\vscriptTitle\"+\n" + + "\rWorkDetailReq\x12\x1a\n" + + "\bworkUuid\x18\x01 \x01(\tR\bworkUuid\"\xfb\x01\n" + + "\vWorkLogInfo\x12\x1a\n" + + "\bworkUuid\x18\x01 \x01(\tR\bworkUuid\x12\x14\n" + + "\x05title\x18\x02 \x01(\tR\x05title\x12\x18\n" + + "\acontent\x18\x03 \x01(\tR\acontent\x12\"\n" + + "\foperatorName\x18\x04 \x01(\tR\foperatorName\x12\x1e\n" + + "\n" + + "operatorID\x18\x05 \x01(\tR\n" + + "operatorID\x12\x1e\n" + + "\n" + + "updateTime\x18\x06 \x01(\tR\n" + + "updateTime\x12\x1c\n" + + "\textraData\x18\a \x01(\tR\textraData\x12\x1e\n" + + "\n" + + "workStatus\x18\b \x01(\rR\n" + + "workStatus\"\xa3\b\n" + + "\x0eWorkDetailResp\x12\x1a\n" + + "\bworkUuid\x18\x01 \x01(\tR\bworkUuid\x12\x14\n" + + "\x05title\x18\x02 \x01(\tR\x05title\x12\x18\n" + + "\acontent\x18\x03 \x01(\tR\acontent\x12\x16\n" + + "\x06images\x18\x04 \x03(\tR\x06images\x12,\n" + + "\x11mediaAccountUuids\x18\x05 \x03(\tR\x11mediaAccountUuids\x12,\n" + + "\x11mediaAccountNames\x18\x06 \x03(\tR\x11mediaAccountNames\x12 \n" + + "\vplatformIDs\x18\a \x03(\rR\vplatformIDs\x12\x1e\n" + + "\n" + + "workStatus\x18\b \x01(\rR\n" + + "workStatus\x12;\n" + + "\x0epublishConfig1\x18\t \x01(\v2\x13.Cast.PublishConfigR\x0epublishConfig1\x12;\n" + + "\x0epublishConfig2\x18\n" + + " \x01(\v2\x13.Cast.PublishConfigR\x0epublishConfig2\x12;\n" + + "\x0epublishConfig3\x18\v \x01(\v2\x13.Cast.PublishConfigR\x0epublishConfig3\x12;\n" + + "\x0epublishConfig4\x18\f \x01(\v2\x13.Cast.PublishConfigR\x0epublishConfig4\x12\x1a\n" + + "\bvideoUrl\x18\r \x01(\tR\bvideoUrl\x12\x1a\n" + + "\bcoverUrl\x18\x0e \x01(\tR\bcoverUrl\x12\x1e\n" + + "\n" + + "approvalID\x18\x0f \x01(\tR\n" + + "approvalID\x123\n" + + "\vWorkLogData\x18\x10 \x03(\v2\x11.Cast.WorkLogInfoR\vWorkLogData\x12\"\n" + + "\fworkCategory\x18\x11 \x01(\rR\fworkCategory\x12J\n" + + "\fmediaAccData\x18\x12 \x03(\v2&.Cast.WorkDetailResp.MediaAccDataEntryR\fmediaAccData\x12*\n" + + "\x10coverTimestampMs\x18\x13 \x01(\x04R\x10coverTimestampMs\x12\x1e\n" + + "\n" + + "scriptUuid\x18\x14 \x01(\tR\n" + + "scriptUuid\x12\x1e\n" + + "\n" + + "artistUuid\x18\x15 \x01(\tR\n" + + "artistUuid\x12\"\n" + + "\ftiktokStatus\x18\x16 \x01(\rR\ftiktokStatus\x12\x1c\n" + + "\tinsStatus\x18\x17 \x01(\rR\tinsStatus\x12\x1a\n" + + "\bdmStatus\x18\x18 \x01(\rR\bdmStatus\x1aT\n" + + "\x11MediaAccDataEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12)\n" + + "\x05value\x18\x02 \x01(\v2\x13.Cast.MediaUserInfoR\x05value:\x028\x01\"\xca\x02\n" + + "\x0fUpdateStatusReq\x124\n" + + "\n" + + "workAction\x18\x01 \x01(\x0e2\x14.Cast.WorkActionENUMR\n" + + "workAction\x12\x1a\n" + + "\bworkUuid\x18\x02 \x01(\tR\bworkUuid\x12\x1e\n" + + "\n" + + "approvalID\x18\x03 \x01(\tR\n" + + "approvalID\x12$\n" + + "\rconfirmRemark\x18\x04 \x01(\tR\rconfirmRemark\x12$\n" + + "\rconfirmStatus\x18\x05 \x01(\rR\rconfirmStatus\x12$\n" + + "\rapprovalReply\x18\x06 \x01(\tR\rapprovalReply\x127\n" + + "\vautoPublish\x18\a \x01(\x0e2\x15.Cast.AutoPublishENUMR\vautoPublish\x12\x1a\n" + + "\bcostType\x18\b \x01(\rR\bcostType\"2\n" + + "\x10MediaAccountsReq\x12\x1e\n" + + "\n" + + "artistUuid\x18\x01 \x01(\tR\n" + + "artistUuid\"\xa2\x02\n" + + "\x11MediaAccountsResp\x120\n" + + "\x04data\x18\x01 \x03(\v2\x1c.Cast.MediaAccountsResp.InfoR\x04data\x1a\xda\x01\n" + + "\x04Info\x12\x1e\n" + + "\n" + + "platformID\x18\x01 \x01(\rR\n" + + "platformID\x12\x1c\n" + + "\tfansCount\x18\x02 \x01(\rR\tfansCount\x12\x1c\n" + + "\tworkCount\x18\x03 \x01(\rR\tworkCount\x12\x1e\n" + + "\n" + + "artistUuid\x18\x04 \x01(\tR\n" + + "artistUuid\x12*\n" + + "\x10mediaAccountUuid\x18\x05 \x01(\tR\x10mediaAccountUuid\x12*\n" + + "\x10mediaAccountName\x18\x06 \x01(\tR\x10mediaAccountName\"k\n" + + "\rMediaWorksReq\x12*\n" + + "\x10mediaAccountUuid\x18\x01 \x01(\tR\x10mediaAccountUuid\x12\x12\n" + + "\x04page\x18\x02 \x01(\x05R\x04page\x12\x1a\n" + + "\bpageSize\x18\x03 \x01(\x05R\bpageSize\"\x8a\x03\n" + + "\x0eMediaWorksResp\x12\x14\n" + + "\x05count\x18\x01 \x01(\x03R\x05count\x12-\n" + + "\x04data\x18\x02 \x03(\v2\x19.Cast.MediaWorksResp.InfoR\x04data\x1a\xb2\x02\n" + + "\x04Info\x12\x1a\n" + + "\bworkUuid\x18\x01 \x01(\tR\bworkUuid\x12\x14\n" + + "\x05title\x18\x02 \x01(\tR\x05title\x12\x18\n" + + "\acontent\x18\x03 \x01(\tR\acontent\x12\"\n" + + "\fworkCategory\x18\x04 \x01(\rR\fworkCategory\x12\x1e\n" + + "\n" + + "workStatus\x18\x05 \x01(\rR\n" + + "workStatus\x12\x1e\n" + + "\n" + + "submitTime\x18\x06 \x01(\tR\n" + + "submitTime\x12*\n" + + "\x10statusUpdateTime\x18\a \x01(\tR\x10statusUpdateTime\x12\x16\n" + + "\x06images\x18\b \x03(\tR\x06images\x12\x1a\n" + + "\bvideoUrl\x18\t \x01(\tR\bvideoUrl\x12\x1a\n" + + "\bcoverUrl\x18\n" + + " \x01(\tR\bcoverUrl\"*\n" + + "\n" + + "PublishReq\x12\x1c\n" + + "\tworkUuids\x18\x01 \x03(\tR\tworkUuids\"\x85\x01\n" + + "\vPublishResp\x12*\n" + + "\x04data\x18\x01 \x03(\v2\x16.Cast.PublishResp.InfoR\x04data\x1aJ\n" + + "\x04Info\x12\x1e\n" + + "\n" + + "artistUuid\x18\x01 \x01(\tR\n" + + "artistUuid\x12\"\n" + + "\fworkCategory\x18\x02 \x01(\x05R\fworkCategory\"\x86\x01\n" + + "\fRePublishReq\x12\x1a\n" + + "\bworkUuid\x18\x01 \x01(\tR\bworkUuid\x12,\n" + + "\x11mediaAccountUuids\x18\x02 \x03(\tR\x11mediaAccountUuids\x12,\n" + + "\x11mediaAccountNames\x18\x03 \x03(\tR\x11mediaAccountNames\"S\n" + + "\rRePublishResp\x12\x1e\n" + + "\n" + + "artistUuid\x18\x01 \x01(\tR\n" + + "artistUuid\x12\"\n" + + "\fworkCategory\x18\x02 \x01(\x05R\fworkCategory\"(\n" + + "\n" + + "DelWorkReq\x12\x1a\n" + + "\bworkUuid\x18\x01 \x01(\tR\bworkUuid\")\n" + + "\vWorkInfoReq\x12\x1a\n" + + "\bworkUuid\x18\x01 \x01(\tR\bworkUuid\"\xe6\x01\n" + + "\fWorkInfoResp\x12\x1e\n" + + "\n" + + "workStatus\x18\x01 \x01(\rR\n" + + "workStatus\x12\x1e\n" + + "\n" + + "artistUuid\x18\x02 \x01(\tR\n" + + "artistUuid\x12\x1e\n" + + "\n" + + "artistName\x18\x03 \x01(\tR\n" + + "artistName\x12 \n" + + "\vartistPhone\x18\x04 \x01(\tR\vartistPhone\x120\n" + + "\x13artistPhoneAreaCode\x18\x05 \x01(\tR\x13artistPhoneAreaCode\x12\"\n" + + "\fworkCategory\x18\x06 \x01(\rR\fworkCategory\"/\n" + + "\rArtistInfoReq\x12\x1e\n" + + "\n" + + "artistUuid\x18\x01 \x01(\tR\n" + + "artistUuid\"\xd4\x01\n" + + "\x0eArtistInfoResp\x122\n" + + "\x14TikTokEffectiveCount\x18\x01 \x01(\rR\x14TikTokEffectiveCount\x124\n" + + "\x15YouTubeEffectiveCount\x18\x02 \x01(\rR\x15YouTubeEffectiveCount\x12,\n" + + "\x11InsEffectiveCount\x18\x03 \x01(\rR\x11InsEffectiveCount\x12*\n" + + "\x10DMEffectiveCount\x18\x04 \x01(\rR\x10DMEffectiveCount\"N\n" + + "\x12ImportWorkBatchReq\x128\n" + + "\n" + + "imageWorks\x18\x01 \x03(\v2\x18.Cast.UpdateWorkImageReqR\n" + + "imageWorks\"\x91\x01\n" + + "\x13ImportWorkBatchResp\x128\n" + + "\n" + + "imageWorks\x18\x01 \x03(\v2\x18.Cast.UpdateWorkImageReqR\n" + + "imageWorks\x12\"\n" + + "\fsuccessCount\x18\x02 \x01(\x05R\fsuccessCount\x12\x1c\n" + + "\tfailCount\x18\x03 \x01(\x05R\tfailCount\"\xb9\x02\n" + + "\fPlatformInfo\x12\x1a\n" + + "\bworkUuid\x18\x01 \x01(\tR\bworkUuid\x12*\n" + + "\x10mediaAccountUuid\x18\x02 \x01(\tR\x10mediaAccountUuid\x12\x1e\n" + + "\n" + + "platformID\x18\x03 \x01(\rR\n" + + "platformID\x12 \n" + + "\vpublishType\x18\x04 \x01(\rR\vpublishType\x12 \n" + + "\vpublishResp\x18\x05 \x01(\tR\vpublishResp\x12&\n" + + "\x0epublishMediaId\x18\x06 \x01(\tR\x0epublishMediaId\x12=\n" + + "\rpublishStatus\x18\a \x01(\x0e2\x17.Cast.PublishStatusENUMR\rpublishStatus\x12\x16\n" + + "\x06remark\x18\b \x01(\tR\x06remark\"[\n" + + "\x19UpdateWorkPlatformInfoReq\x12>\n" + + "\x10PlatformInfoData\x18\x01 \x03(\v2\x12.Cast.PlatformInfoR\x10PlatformInfoData\"8\n" + + "\x1aUpdateWorkPlatformInfoResp\x12\x1a\n" + + "\bworkUuid\x18\x01 \x03(\tR\bworkUuid\"e\n" + + "\x17UpdateWorkPublishLogReq\x12\x1a\n" + + "\bworkUuid\x18\x01 \x01(\tR\bworkUuid\x12\x16\n" + + "\x06detail\x18\x02 \x01(\tR\x06detail\x12\x16\n" + + "\x06action\x18\x03 \x01(\tR\x06action\":\n" + + "\x12RefreshWorkListReq\x12$\n" + + "\rpublishStatus\x18\x01 \x01(\rR\rpublishStatus\"\xd8\x01\n" + + "\x13RefreshWorkListResp\x122\n" + + "\x04Data\x18\x03 \x03(\v2\x1e.Cast.RefreshWorkListResp.InfoR\x04Data\x1a\x8c\x01\n" + + "\x04Info\x12&\n" + + "\x0epublishMediaID\x18\x01 \x01(\tR\x0epublishMediaID\x12\x1a\n" + + "\bworkUuid\x18\x02 \x01(\tR\bworkUuid\x12 \n" + + "\vplatformIDs\x18\x03 \x03(\rR\vplatformIDs\x12\x1e\n" + + "\n" + + "profileKey\x18\x04 \x01(\tR\n" + + "profileKey\"=\n" + + "\x0fOAuthAccountReq\x12*\n" + + "\x10mediaAccountUuid\x18\x01 \x01(\tR\x10mediaAccountUuid\"$\n" + + "\x10OAuthAccountResp\x12\x10\n" + + "\x03url\x18\x01 \x01(\tR\x03url\"?\n" + + "\x11OAuthAccountV2Req\x12*\n" + + "\x10mediaAccountUuid\x18\x01 \x01(\tR\x10mediaAccountUuid\"\x8e\x01\n" + + "\x12OAuthAccountV2Resp\x12\x1e\n" + + "\n" + + "artistUuid\x18\x01 \x01(\tR\n" + + "artistUuid\x12\x1e\n" + + "\n" + + "profileKey\x18\x02 \x01(\tR\n" + + "profileKey\x12\x1e\n" + + "\n" + + "platformID\x18\x03 \x01(\rR\n" + + "platformID\x12\x18\n" + + "\aauthUrl\x18\x04 \x01(\tR\aauthUrl\"V\n" + + "\x14OAuthYoutubeTokenReq\x12*\n" + + "\x10mediaAccountUuid\x18\x01 \x01(\tR\x10mediaAccountUuid\x12\x12\n" + + "\x04code\x18\x02 \x01(\tR\x04code\"}\n" + + "\x15OAuthYoutubeTokenResp\x12 \n" + + "\vaccessToken\x18\x01 \x01(\tR\vaccessToken\x12\"\n" + + "\frefreshToken\x18\x02 \x01(\tR\frefreshToken\x12\x1e\n" + + "\n" + + "expireTime\x18\x03 \x01(\x03R\n" + + "expireTime\"w\n" + + "\x13OAuthCodeToTokenReq\x12\x12\n" + + "\x04code\x18\x01 \x01(\tR\x04code\x12\x16\n" + + "\x06userID\x18\x02 \x01(\tR\x06userID\x124\n" + + "\n" + + "platformID\x18\x03 \x01(\x0e2\x14.Cast.PlatformIDENUMR\n" + + "platformID\"\x16\n" + + "\x14OAuthCodeToTokenResp\"\xf8\x01\n" + + "\x0eUpdateOAuthReq\x12-\n" + + "\x04Data\x18\x01 \x03(\v2\x19.Cast.UpdateOAuthReq.InfoR\x04Data\x1a\xb6\x01\n" + + "\x04Info\x12\x1e\n" + + "\n" + + "artistUuid\x18\x01 \x01(\tR\n" + + "artistUuid\x124\n" + + "\n" + + "platformID\x18\x02 \x01(\x0e2\x14.Cast.PlatformIDENUMR\n" + + "platformID\x12\x12\n" + + "\x04asID\x18\x03 \x01(\tR\x04asID\x12*\n" + + "\x10platformUserName\x18\x04 \x01(\tR\x10platformUserName\x12\x18\n" + + "\aautInfo\x18\x05 \x01(\tR\aautInfo\"\x83\x01\n" + + "\x0fRefreshTokenReq\x12\"\n" + + "\frefreshToken\x18\x01 \x01(\tR\frefreshToken\x124\n" + + "\n" + + "platformID\x18\x02 \x01(\x0e2\x14.Cast.PlatformIDENUMR\n" + + "platformID\x12\x16\n" + + "\x06userID\x18\x03 \x01(\tR\x06userID\"\\\n" + + "\x10RefreshTokenResp\x12 \n" + + "\vaccessToken\x18\x01 \x01(\tR\vaccessToken\x12&\n" + + "\x0eplatformUserID\x18\x02 \x01(\tR\x0eplatformUserID\"\x7f\n" + + "\x13PublishMediaInfoReq\x12\x1a\n" + + "\bworkUuid\x18\x01 \x01(\tR\bworkUuid\x12\x1e\n" + + "\n" + + "platformID\x18\x02 \x01(\x05R\n" + + "platformID\x12,\n" + + "\x11platformMediaUuid\x18\x03 \x01(\tR\x11platformMediaUuid\"\x94\x01\n" + + "\x14PublishMediaInfoResp\x12\x1a\n" + + "\bworkUuid\x18\x01 \x01(\tR\bworkUuid\x12\x1e\n" + + "\n" + + "platformID\x18\x02 \x01(\x05R\n" + + "platformID\x12,\n" + + "\x11platformMediaUuid\x18\x03 \x01(\tR\x11platformMediaUuid\x12\x12\n" + + "\x04info\x18\x04 \x01(\tR\x04info\"\x9e\x02\n" + + "\x14UpdateVideoScriptReq\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x14\n" + + "\x05title\x18\x02 \x01(\tR\x05title\x12\x18\n" + + "\acontent\x18\x03 \x01(\tR\acontent\x12 \n" + + "\vcreatorUuid\x18\x04 \x01(\tR\vcreatorUuid\x12 \n" + + "\vcreatorName\x18\x05 \x01(\tR\vcreatorName\x12\x1e\n" + + "\n" + + "artistUuid\x18\x06 \x01(\tR\n" + + "artistUuid\x12 \n" + + "\vartistPhone\x18\a \x01(\tR\vartistPhone\x12\x1c\n" + + "\tartistNum\x18\b \x01(\tR\tartistNum\x12\x1e\n" + + "\n" + + "artistName\x18\t \x01(\tR\n" + + "artistName\"+\n" + + "\x15UpdateVideoScriptResp\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\"'\n" + + "\x11GetVideoScriptReq\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\"\x8c\x03\n" + + "\x12GetVideoScriptResp\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x14\n" + + "\x05title\x18\x02 \x01(\tR\x05title\x12\x18\n" + + "\acontent\x18\x03 \x01(\tR\acontent\x12\x16\n" + + "\x06status\x18\x04 \x01(\rR\x06status\x12\x1e\n" + + "\n" + + "artistUuid\x18\x05 \x01(\tR\n" + + "artistUuid\x12\x1e\n" + + "\n" + + "artistName\x18\x06 \x01(\tR\n" + + "artistName\x12 \n" + + "\vartistPhone\x18\a \x01(\tR\vartistPhone\x12 \n" + + "\vcreatorUuid\x18\b \x01(\tR\vcreatorUuid\x12 \n" + + "\vcreatorName\x18\t \x01(\tR\vcreatorName\x12\x1e\n" + + "\n" + + "quoteCount\x18\n" + + " \x01(\x05R\n" + + "quoteCount\x12\x1c\n" + + "\tartistNum\x18\v \x01(\tR\tartistNum\x12\x16\n" + + "\x06remark\x18\f \x01(\tR\x06remark\x12\x1e\n" + + "\n" + + "approvalID\x18\r \x01(\tR\n" + + "approvalID\"\xb5\x02\n" + + "\x13ListVideoScriptsReq\x12\x14\n" + + "\x05title\x18\x01 \x01(\tR\x05title\x12\x16\n" + + "\x06status\x18\x02 \x01(\rR\x06status\x12&\n" + + "\x0eartistKeywords\x18\x03 \x01(\tR\x0eartistKeywords\x12(\n" + + "\x0fcreatorKeywords\x18\x04 \x01(\tR\x0fcreatorKeywords\x12(\n" + + "\x0fcreateStartDate\x18\x05 \x01(\tR\x0fcreateStartDate\x12$\n" + + "\rcreateEndDate\x18\x06 \x01(\tR\rcreateEndDate\x12\x12\n" + + "\x04page\x18\a \x01(\x05R\x04page\x12\x1a\n" + + "\bpageSize\x18\b \x01(\x05R\bpageSize\x12\x1e\n" + + "\n" + + "artistUuid\x18\t \x01(\tR\n" + + "artistUuid\"\xa5\x03\n" + + "\x0fVideoScriptInfo\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x14\n" + + "\x05title\x18\x02 \x01(\tR\x05title\x12\x18\n" + + "\acontent\x18\x03 \x01(\tR\acontent\x12\x1e\n" + + "\n" + + "artistUuid\x18\x04 \x01(\tR\n" + + "artistUuid\x12\x1e\n" + + "\n" + + "artistName\x18\x05 \x01(\tR\n" + + "artistName\x12 \n" + + "\vartistPhone\x18\x06 \x01(\tR\vartistPhone\x12\x1e\n" + + "\n" + + "quoteCount\x18\a \x01(\x05R\n" + + "quoteCount\x12 \n" + + "\vcreatorUuid\x18\b \x01(\tR\vcreatorUuid\x12 \n" + + "\vcreatorName\x18\t \x01(\tR\vcreatorName\x12\x16\n" + + "\x06status\x18\n" + + " \x01(\rR\x06status\x12 \n" + + "\vcreatedDate\x18\v \x01(\tR\vcreatedDate\x12\x1c\n" + + "\tartistNum\x18\f \x01(\tR\tartistNum\x12\x16\n" + + "\x06remark\x18\r \x01(\tR\x06remark\x12\x18\n" + + "\asuccess\x18\x0e \x01(\bR\asuccess\"W\n" + + "\x14ListVideoScriptsResp\x12)\n" + + "\x04data\x18\x01 \x03(\v2\x15.Cast.VideoScriptInfoR\x04data\x12\x14\n" + + "\x05count\x18\x02 \x01(\x03R\x05count\"*\n" + + "\x14DeleteVideoScriptReq\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\"F\n" + + "\x19UpdateVideoScriptBatchReq\x12)\n" + + "\x04data\x18\x01 \x03(\v2\x15.Cast.VideoScriptInfoR\x04data\"\x89\x01\n" + + "\x1aUpdateVideoScriptBatchResp\x12)\n" + + "\x04data\x18\x01 \x03(\v2\x15.Cast.VideoScriptInfoR\x04data\x12\"\n" + + "\fsuccessCount\x18\x02 \x01(\x05R\fsuccessCount\x12\x1c\n" + + "\tfailCount\x18\x03 \x01(\x05R\tfailCount\"\xa7\x01\n" + + "\x15UpdateScriptStatusReq\x124\n" + + "\n" + + "workAction\x18\x01 \x01(\x0e2\x14.Cast.WorkActionENUMR\n" + + "workAction\x12\x12\n" + + "\x04uuid\x18\x02 \x01(\tR\x04uuid\x12\x1e\n" + + "\n" + + "approvalID\x18\x03 \x01(\tR\n" + + "approvalID\x12$\n" + + "\rapprovalReply\x18\x04 \x01(\tR\rapprovalReply\"V\n" + + "\fSetLayoutReq\x12\x16\n" + + "\x06userID\x18\x01 \x01(\tR\x06userID\x12\x12\n" + + "\x04data\x18\x02 \x01(\tR\x04data\x12\x1a\n" + + "\bformName\x18\x03 \x01(\tR\bformName\"B\n" + + "\fGetLayoutReq\x12\x16\n" + + "\x06userID\x18\x01 \x01(\tR\x06userID\x12\x1a\n" + + "\bformName\x18\x02 \x01(\tR\bformName\"?\n" + + "\rGetLayoutResp\x12\x12\n" + + "\x04data\x18\x01 \x01(\tR\x04data\x12\x1a\n" + + "\bformName\x18\x03 \x01(\tR\bformName\"y\n" + + "\x0fUpdatePromptReq\x12\x1e\n" + + "\n" + + "promptUuid\x18\x01 \x01(\tR\n" + + "promptUuid\x12\x16\n" + + "\x06prompt\x18\x02 \x01(\tR\x06prompt\x12.\n" + + "\bcategory\x18\x03 \x01(\x0e2\x12.Cast.CategoryENUMR\bcategory\"1\n" + + "\x0fDeletePromptReq\x12\x1e\n" + + "\n" + + "promptUuid\x18\x01 \x01(\tR\n" + + "promptUuid\".\n" + + "\fGetPromptReq\x12\x1e\n" + + "\n" + + "promptUuid\x18\x01 \x01(\tR\n" + + "promptUuid\"\x93\x01\n" + + "\rGetPromptResp\x12\x1e\n" + + "\n" + + "promptUuid\x18\x01 \x01(\tR\n" + + "promptUuid\x12\x16\n" + + "\x06prompt\x18\x02 \x01(\tR\x06prompt\x12.\n" + + "\bcategory\x18\x03 \x01(\x0e2\x12.Cast.CategoryENUMR\bcategory\x12\x1a\n" + + "\buseCount\x18\x04 \x01(\rR\buseCount\"\x9c\x01\n" + + "\x0eListPromptsReq\x12\x16\n" + + "\x06prompt\x18\x01 \x01(\tR\x06prompt\x12.\n" + + "\bcategory\x18\x02 \x01(\x0e2\x12.Cast.CategoryENUMR\bcategory\x12\x12\n" + + "\x04page\x18\x03 \x01(\x05R\x04page\x12\x1a\n" + + "\bpageSize\x18\x04 \x01(\x05R\bpageSize\x12\x12\n" + + "\x04rand\x18\x05 \x01(\bR\x04rand\"\xfc\x01\n" + + "\n" + + "PromptInfo\x12\x1e\n" + + "\n" + + "promptUuid\x18\x01 \x01(\tR\n" + + "promptUuid\x12\x16\n" + + "\x06prompt\x18\x02 \x01(\tR\x06prompt\x12.\n" + + "\bcategory\x18\x03 \x01(\x0e2\x12.Cast.CategoryENUMR\bcategory\x12\x16\n" + + "\x06remark\x18\x04 \x01(\tR\x06remark\x12\x18\n" + + "\asuccess\x18\x05 \x01(\bR\asuccess\x12\x1a\n" + + "\buseCount\x18\x06 \x01(\rR\buseCount\x12\x16\n" + + "\x06lineNo\x18\a \x01(\rR\x06lineNo\x12 \n" + + "\vcreatedDate\x18\b \x01(\tR\vcreatedDate\"M\n" + + "\x0fListPromptsResp\x12$\n" + + "\x04data\x18\x01 \x03(\v2\x10.Cast.PromptInfoR\x04data\x12\x14\n" + + "\x05count\x18\x02 \x01(\x03R\x05count\"<\n" + + "\x14UpdatePromptBatchReq\x12$\n" + + "\x04data\x18\x01 \x03(\v2\x10.Cast.PromptInfoR\x04data\"\x7f\n" + + "\x15UpdatePromptBatchResp\x12$\n" + + "\x04data\x18\x01 \x03(\v2\x10.Cast.PromptInfoR\x04data\x12\"\n" + + "\fsuccessCount\x18\x02 \x01(\x05R\fsuccessCount\x12\x1c\n" + + "\tfailCount\x18\x03 \x01(\x05R\tfailCount\"z\n" + + "\n" + + "ArtistInfo\x12\x1e\n" + + "\n" + + "artistUuid\x18\x01 \x01(\tR\n" + + "artistUuid\x12\x14\n" + + "\x05refID\x18\x02 \x01(\tR\x05refID\x12\x1e\n" + + "\n" + + "profileKey\x18\x03 \x01(\tR\n" + + "profileKey\x12\x16\n" + + "\x06subNum\x18\x04 \x01(\tR\x06subNum\"W\n" + + "\x0fUpdateArtistReq\x120\n" + + "\n" + + "artistInfo\x18\x01 \x01(\v2\x10.Cast.ArtistInfoR\n" + + "artistInfo\x12\x12\n" + + "\x04Uuid\x18\x02 \x01(\tR\x04Uuid\"2\n" + + "\x10UpdateArtistResp\x12\x1e\n" + + "\n" + + "artistUuid\x18\x01 \x01(\tR\n" + + "artistUuid\".\n" + + "\fGetArtistReq\x12\x1e\n" + + "\n" + + "artistUuid\x18\x01 \x01(\tR\n" + + "artistUuid\"U\n" + + "\rGetArtistResp\x120\n" + + "\n" + + "artistInfo\x18\x01 \x01(\v2\x10.Cast.ArtistInfoR\n" + + "artistInfo\x12\x12\n" + + "\x04Uuid\x18\x02 \x01(\tR\x04Uuid\"\xa7\x06\n" + + "\x15CreateWorkAnalysisReq\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x16\n" + + "\x06subNum\x18\x02 \x01(\tR\x06subNum\x12\x1e\n" + + "\n" + + "artistName\x18\x03 \x01(\tR\n" + + "artistName\x12\x1a\n" + + "\bartistID\x18\x04 \x01(\tR\bartistID\x12 \n" + + "\vartistPhone\x18\x05 \x01(\tR\vartistPhone\x12\x1a\n" + + "\banalysis\x18\x06 \x01(\tR\banalysis\x12\x14\n" + + "\x05title\x18\a \x01(\tR\x05title\x12\x16\n" + + "\x06pdfUrl\x18\b \x01(\tR\x06pdfUrl\x12,\n" + + "\x11mediaAccountCount\x18\t \x01(\x05R\x11mediaAccountCount\x12&\n" + + "\x0eworkVideoCount\x18\n" + + " \x01(\x05R\x0eworkVideoCount\x12&\n" + + "\x0eworkImageCount\x18\v \x01(\x05R\x0eworkImageCount\x12\x14\n" + + "\x05views\x18\f \x01(\x05R\x05views\x12\x14\n" + + "\x05likes\x18\r \x01(\x05R\x05likes\x12\x1a\n" + + "\bcomments\x18\x0e \x01(\x05R\bcomments\x12\x16\n" + + "\x06shares\x18\x0f \x01(\x05R\x06shares\x12\x1c\n" + + "\tfansCount\x18\x10 \x01(\x05R\tfansCount\x12\x1c\n" + + "\ttopCities\x18\x11 \x01(\x05R\ttopCities\x12$\n" + + "\rmostActiveDay\x18\x12 \x01(\x05R\rmostActiveDay\x12\"\n" + + "\fbestPostTime\x18\x13 \x01(\x05R\fbestPostTime\x12&\n" + + "\x0eperiodTypeFans\x18\x15 \x01(\rR\x0eperiodTypeFans\x12(\n" + + "\x0fperiodTypeViews\x18\x16 \x01(\rR\x0fperiodTypeViews\x12(\n" + + "\x0fperiodTypeLikes\x18\x17 \x01(\rR\x0fperiodTypeLikes\x12.\n" + + "\x12periodTypeComments\x18\x18 \x01(\rR\x12periodTypeComments\x12*\n" + + "\x10periodTypeShares\x18\x19 \x01(\rR\x10periodTypeShares\",\n" + + "\x16CreateWorkAnalysisResp\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\"\xd1\x05\n" + + "\x15UpdateWorkAnalysisReq\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x1a\n" + + "\banalysis\x18\x02 \x01(\tR\banalysis\x12\x14\n" + + "\x05title\x18\x03 \x01(\tR\x05title\x12\x16\n" + + "\x06pdfUrl\x18\x04 \x01(\tR\x06pdfUrl\x12,\n" + + "\x11mediaAccountCount\x18\x05 \x01(\x05R\x11mediaAccountCount\x12&\n" + + "\x0eworkVideoCount\x18\x06 \x01(\x05R\x0eworkVideoCount\x12&\n" + + "\x0eworkImageCount\x18\a \x01(\x05R\x0eworkImageCount\x12\x14\n" + + "\x05views\x18\b \x01(\x05R\x05views\x12\x14\n" + + "\x05likes\x18\t \x01(\x05R\x05likes\x12\x1a\n" + + "\bcomments\x18\n" + + " \x01(\x05R\bcomments\x12\x16\n" + + "\x06shares\x18\v \x01(\x05R\x06shares\x12\x1c\n" + + "\tfansCount\x18\f \x01(\x05R\tfansCount\x12\x1c\n" + + "\ttopCities\x18\r \x01(\x05R\ttopCities\x12$\n" + + "\rmostActiveDay\x18\x0e \x01(\x05R\rmostActiveDay\x12\"\n" + + "\fbestPostTime\x18\x0f \x01(\x05R\fbestPostTime\x12\x1e\n" + + "\n" + + "artistUUID\x18\x10 \x01(\tR\n" + + "artistUUID\x12&\n" + + "\x0eperiodTypeFans\x18\x11 \x01(\rR\x0eperiodTypeFans\x12(\n" + + "\x0fperiodTypeViews\x18\x12 \x01(\rR\x0fperiodTypeViews\x12(\n" + + "\x0fperiodTypeLikes\x18\x13 \x01(\rR\x0fperiodTypeLikes\x12.\n" + + "\x12periodTypeComments\x18\x14 \x01(\rR\x12periodTypeComments\x12*\n" + + "\x10periodTypeShares\x18\x15 \x01(\rR\x10periodTypeShares\"\x95\x02\n" + + "\x1bUpdateWorkAnalysisStatusReq\x124\n" + + "\n" + + "workAction\x18\x01 \x01(\x0e2\x14.Cast.WorkActionENUMR\n" + + "workAction\x12\x12\n" + + "\x04uuid\x18\x02 \x01(\tR\x04uuid\x12\x1e\n" + + "\n" + + "approvalID\x18\x03 \x01(\tR\n" + + "approvalID\x12$\n" + + "\rapprovalReply\x18\x04 \x01(\tR\rapprovalReply\x12$\n" + + "\rconfirmRemark\x18\x05 \x01(\tR\rconfirmRemark\x12$\n" + + "\rconfirmStatus\x18\x06 \x01(\rR\rconfirmStatus\x12\x1a\n" + + "\bcostType\x18\a \x01(\rR\bcostType\"\xc9\x02\n" + + "\x13WorkAnalysisLogInfo\x12\x1a\n" + + "\bworkUuid\x18\x01 \x01(\tR\bworkUuid\x12\x14\n" + + "\x05title\x18\x02 \x01(\tR\x05title\x12\x1e\n" + + "\n" + + "updateTime\x18\x03 \x01(\tR\n" + + "updateTime\x12.\n" + + "\x12workAnalysisStatus\x18\x04 \x01(\rR\x12workAnalysisStatus\x12\x1e\n" + + "\n" + + "artistName\x18\x05 \x01(\tR\n" + + "artistName\x12\x1e\n" + + "\n" + + "artistUuid\x18\x06 \x01(\tR\n" + + "artistUuid\x12,\n" + + "\x11analysisExtraData\x18\a \x01(\tR\x11analysisExtraData\x12\"\n" + + "\foperatorName\x18\b \x01(\tR\foperatorName\x12\x1e\n" + + "\n" + + "operatorID\x18\t \x01(\tR\n" + + "operatorID\"\xfe\x01\n" + + "\x16WorkAnalysisFansSeries\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x1c\n" + + "\tfansCount\x18\x02 \x01(\x03R\tfansCount\x12\x1e\n" + + "\n" + + "periodType\x18\x03 \x01(\rR\n" + + "periodType\x12\x1c\n" + + "\tstartDate\x18\x04 \x01(\x05R\tstartDate\x12\x18\n" + + "\aendDate\x18\x05 \x01(\x05R\aendDate\x12\x1e\n" + + "\n" + + "detailJSON\x18\x06 \x01(\tR\n" + + "detailJSON\x12\x1c\n" + + "\tcreatedAt\x18\a \x01(\x05R\tcreatedAt\x12\x1c\n" + + "\tupdatedAt\x18\b \x01(\x05R\tupdatedAt\"\x81\x02\n" + + "\x17WorkAnalysisViewsSeries\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x1e\n" + + "\n" + + "viewsCount\x18\x02 \x01(\x03R\n" + + "viewsCount\x12\x1e\n" + + "\n" + + "periodType\x18\x03 \x01(\rR\n" + + "periodType\x12\x1c\n" + + "\tstartDate\x18\x04 \x01(\x05R\tstartDate\x12\x18\n" + + "\aendDate\x18\x05 \x01(\x05R\aendDate\x12\x1e\n" + + "\n" + + "detailJSON\x18\x06 \x01(\tR\n" + + "detailJSON\x12\x1c\n" + + "\tcreatedAt\x18\a \x01(\x05R\tcreatedAt\x12\x1c\n" + + "\tupdatedAt\x18\b \x01(\x05R\tupdatedAt\"\x81\x02\n" + + "\x17WorkAnalysisLikesSeries\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x1e\n" + + "\n" + + "likesCount\x18\x02 \x01(\x03R\n" + + "likesCount\x12\x1e\n" + + "\n" + + "periodType\x18\x03 \x01(\rR\n" + + "periodType\x12\x1c\n" + + "\tstartDate\x18\x04 \x01(\x05R\tstartDate\x12\x18\n" + + "\aendDate\x18\x05 \x01(\x05R\aendDate\x12\x1e\n" + + "\n" + + "detailJSON\x18\x06 \x01(\tR\n" + + "detailJSON\x12\x1c\n" + + "\tcreatedAt\x18\a \x01(\x05R\tcreatedAt\x12\x1c\n" + + "\tupdatedAt\x18\b \x01(\x05R\tupdatedAt\"\x8a\x02\n" + + "\x1aWorkAnalysisCommentsSeries\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12$\n" + + "\rcommentsCount\x18\x02 \x01(\x03R\rcommentsCount\x12\x1e\n" + + "\n" + + "periodType\x18\x03 \x01(\rR\n" + + "periodType\x12\x1c\n" + + "\tstartDate\x18\x04 \x01(\x05R\tstartDate\x12\x18\n" + + "\aendDate\x18\x05 \x01(\x05R\aendDate\x12\x1e\n" + + "\n" + + "detailJSON\x18\x06 \x01(\tR\n" + + "detailJSON\x12\x1c\n" + + "\tcreatedAt\x18\a \x01(\x05R\tcreatedAt\x12\x1c\n" + + "\tupdatedAt\x18\b \x01(\x05R\tupdatedAt\"\x84\x02\n" + + "\x18WorkAnalysisSharesSeries\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12 \n" + + "\vsharesCount\x18\x02 \x01(\x03R\vsharesCount\x12\x1e\n" + + "\n" + + "periodType\x18\x03 \x01(\rR\n" + + "periodType\x12\x1c\n" + + "\tstartDate\x18\x04 \x01(\x05R\tstartDate\x12\x18\n" + + "\aendDate\x18\x05 \x01(\x05R\aendDate\x12\x1e\n" + + "\n" + + "detailJSON\x18\x06 \x01(\tR\n" + + "detailJSON\x12\x1c\n" + + "\tcreatedAt\x18\a \x01(\x05R\tcreatedAt\x12\x1c\n" + + "\tupdatedAt\x18\b \x01(\x05R\tupdatedAt\"\x87\x01\n" + + "\x15WorkAnalysisTopCities\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x1e\n" + + "\n" + + "citiesJSON\x18\x02 \x01(\tR\n" + + "citiesJSON\x12\x1c\n" + + "\tcreatedAt\x18\x03 \x01(\x05R\tcreatedAt\x12\x1c\n" + + "\tupdatedAt\x18\x04 \x01(\x05R\tupdatedAt\"\x8b\x01\n" + + "\x19WorkAnalysisMostActiveDay\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x1e\n" + + "\n" + + "detailJSON\x18\x02 \x01(\tR\n" + + "detailJSON\x12\x1c\n" + + "\tcreatedAt\x18\x03 \x01(\x05R\tcreatedAt\x12\x1c\n" + + "\tupdatedAt\x18\x04 \x01(\x05R\tupdatedAt\"\x8a\x01\n" + + "\x18WorkAnalysisBestPostTime\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x1e\n" + + "\n" + + "detailJSON\x18\x02 \x01(\tR\n" + + "detailJSON\x12\x1c\n" + + "\tcreatedAt\x18\x03 \x01(\x05R\tcreatedAt\x12\x1c\n" + + "\tupdatedAt\x18\x04 \x01(\x05R\tupdatedAt\"\xc1\x01\n" + + "\x11WorkAnalysisExtra\x12\"\n" + + "\fanalysisUuid\x18\x01 \x01(\tR\fanalysisUuid\x120\n" + + "\x13artistConfirmedTime\x18\x02 \x01(\x03R\x13artistConfirmedTime\x12\x1a\n" + + "\bcostType\x18\x03 \x01(\rR\bcostType\x12\x1c\n" + + "\tcreatedAt\x18\x04 \x01(\x05R\tcreatedAt\x12\x1c\n" + + "\tupdatedAt\x18\x05 \x01(\x05R\tupdatedAt\".\n" + + "\x18GetWorkAnalysisDetailReq\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\"2\n" + + "\x18GetLatestWorkAnalysisReq\x12\x16\n" + + "\x06subNum\x18\x01 \x01(\tR\x06subNum\"\xef\v\n" + + "\x13GetWorkAnalysisResp\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x16\n" + + "\x06subNum\x18\x02 \x01(\tR\x06subNum\x12\x1e\n" + + "\n" + + "artistName\x18\x03 \x01(\tR\n" + + "artistName\x12\x1a\n" + + "\bartistID\x18\x04 \x01(\tR\bartistID\x12 \n" + + "\vartistPhone\x18\x05 \x01(\tR\vartistPhone\x12\x1a\n" + + "\banalysis\x18\x06 \x01(\tR\banalysis\x12\x14\n" + + "\x05title\x18\a \x01(\tR\x05title\x12\x1e\n" + + "\n" + + "operatorID\x18\b \x01(\tR\n" + + "operatorID\x12\"\n" + + "\foperatorName\x18\t \x01(\tR\foperatorName\x12.\n" + + "\x12workAnalysisStatus\x18\n" + + " \x01(\rR\x12workAnalysisStatus\x12\x16\n" + + "\x06reason\x18\v \x01(\tR\x06reason\x12 \n" + + "\vcomfirmType\x18\f \x01(\x05R\vcomfirmType\x12\x12\n" + + "\x04cost\x18\r \x01(\rR\x04cost\x12\x1e\n" + + "\n" + + "submitTime\x18\x0e \x01(\tR\n" + + "submitTime\x12*\n" + + "\x10statusUpdateTime\x18\x0f \x01(\tR\x10statusUpdateTime\x12\x1e\n" + + "\n" + + "approvalID\x18\x10 \x01(\tR\n" + + "approvalID\x12\x16\n" + + "\x06pdfUrl\x18\x11 \x01(\tR\x06pdfUrl\x12,\n" + + "\x11mediaAccountCount\x18\x12 \x01(\x05R\x11mediaAccountCount\x12&\n" + + "\x0eworkVideoCount\x18\x13 \x01(\x05R\x0eworkVideoCount\x12&\n" + + "\x0eworkImageCount\x18\x14 \x01(\x05R\x0eworkImageCount\x12\x14\n" + + "\x05views\x18\x15 \x01(\x05R\x05views\x12\x14\n" + + "\x05likes\x18\x16 \x01(\x05R\x05likes\x12\x1a\n" + + "\bcomments\x18\x17 \x01(\x05R\bcomments\x12\x16\n" + + "\x06shares\x18\x18 \x01(\x05R\x06shares\x12\x1c\n" + + "\tfansCount\x18\x19 \x01(\x05R\tfansCount\x12\x1c\n" + + "\ttopCities\x18\x1a \x01(\x05R\ttopCities\x12$\n" + + "\rmostActiveDay\x18\x1b \x01(\x05R\rmostActiveDay\x12\"\n" + + "\fbestPostTime\x18\x1c \x01(\x05R\fbestPostTime\x12\x1c\n" + + "\tcreatedAt\x18\x1d \x01(\tR\tcreatedAt\x12<\n" + + "\n" + + "fansSeries\x18\x1e \x01(\v2\x1c.Cast.WorkAnalysisFansSeriesR\n" + + "fansSeries\x12?\n" + + "\vviewsSeries\x18\x1f \x01(\v2\x1d.Cast.WorkAnalysisViewsSeriesR\vviewsSeries\x12?\n" + + "\vlikesSeries\x18 \x01(\v2\x1d.Cast.WorkAnalysisLikesSeriesR\vlikesSeries\x12H\n" + + "\x0ecommentsSeries\x18! \x01(\v2 .Cast.WorkAnalysisCommentsSeriesR\x0ecommentsSeries\x12B\n" + + "\fsharesSeries\x18\" \x01(\v2\x1e.Cast.WorkAnalysisSharesSeriesR\fsharesSeries\x12E\n" + + "\x0ftopCitiesSeries\x18# \x01(\v2\x1b.Cast.WorkAnalysisTopCitiesR\x0ftopCitiesSeries\x12Q\n" + + "\x13mostActiveDaySeries\x18$ \x01(\v2\x1f.Cast.WorkAnalysisMostActiveDayR\x13mostActiveDaySeries\x12N\n" + + "\x12bestPostTimeSeries\x18% \x01(\v2\x1e.Cast.WorkAnalysisBestPostTimeR\x12bestPostTimeSeries\x12\x1c\n" + + "\tupdatedAt\x18& \x01(\tR\tupdatedAt\"\xf1\f\n" + + "\x19GetWorkAnalysisDetailResp\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x16\n" + + "\x06subNum\x18\x02 \x01(\tR\x06subNum\x12\x1e\n" + + "\n" + + "artistName\x18\x03 \x01(\tR\n" + + "artistName\x12\x1a\n" + + "\bartistID\x18\x04 \x01(\tR\bartistID\x12 \n" + + "\vartistPhone\x18\x05 \x01(\tR\vartistPhone\x12\x1a\n" + + "\banalysis\x18\x06 \x01(\tR\banalysis\x12\x14\n" + + "\x05title\x18\a \x01(\tR\x05title\x12\x1e\n" + + "\n" + + "operatorID\x18\b \x01(\tR\n" + + "operatorID\x12\"\n" + + "\foperatorName\x18\t \x01(\tR\foperatorName\x12.\n" + + "\x12workAnalysisStatus\x18\n" + + " \x01(\rR\x12workAnalysisStatus\x12\x16\n" + + "\x06reason\x18\v \x01(\tR\x06reason\x12 \n" + + "\vcomfirmType\x18\f \x01(\x05R\vcomfirmType\x12\x12\n" + + "\x04cost\x18\r \x01(\rR\x04cost\x12\x1e\n" + + "\n" + + "submitTime\x18\x0e \x01(\tR\n" + + "submitTime\x12*\n" + + "\x10statusUpdateTime\x18\x0f \x01(\tR\x10statusUpdateTime\x12\x1e\n" + + "\n" + + "approvalID\x18\x10 \x01(\tR\n" + + "approvalID\x12\x16\n" + + "\x06pdfUrl\x18\x11 \x01(\tR\x06pdfUrl\x12,\n" + + "\x11mediaAccountCount\x18\x12 \x01(\x05R\x11mediaAccountCount\x12&\n" + + "\x0eworkVideoCount\x18\x13 \x01(\x05R\x0eworkVideoCount\x12&\n" + + "\x0eworkImageCount\x18\x14 \x01(\x05R\x0eworkImageCount\x12\x14\n" + + "\x05views\x18\x15 \x01(\x05R\x05views\x12\x14\n" + + "\x05likes\x18\x16 \x01(\x05R\x05likes\x12\x1a\n" + + "\bcomments\x18\x17 \x01(\x05R\bcomments\x12\x16\n" + + "\x06shares\x18\x18 \x01(\x05R\x06shares\x12\x1c\n" + + "\tfansCount\x18\x19 \x01(\x05R\tfansCount\x12\x1c\n" + + "\ttopCities\x18\x1a \x01(\x05R\ttopCities\x12$\n" + + "\rmostActiveDay\x18\x1b \x01(\x05R\rmostActiveDay\x12\"\n" + + "\fbestPostTime\x18\x1c \x01(\x05R\fbestPostTime\x12K\n" + + "\x13WorkAnalysisLogData\x18\x1d \x03(\v2\x19.Cast.WorkAnalysisLogInfoR\x13WorkAnalysisLogData\x12<\n" + + "\n" + + "fansSeries\x18\x1e \x01(\v2\x1c.Cast.WorkAnalysisFansSeriesR\n" + + "fansSeries\x12?\n" + + "\vviewsSeries\x18\x1f \x01(\v2\x1d.Cast.WorkAnalysisViewsSeriesR\vviewsSeries\x12?\n" + + "\vlikesSeries\x18 \x01(\v2\x1d.Cast.WorkAnalysisLikesSeriesR\vlikesSeries\x12H\n" + + "\x0ecommentsSeries\x18! \x01(\v2 .Cast.WorkAnalysisCommentsSeriesR\x0ecommentsSeries\x12B\n" + + "\fsharesSeries\x18\" \x01(\v2\x1e.Cast.WorkAnalysisSharesSeriesR\fsharesSeries\x12E\n" + + "\x0ftopCitiesSeries\x18# \x01(\v2\x1b.Cast.WorkAnalysisTopCitiesR\x0ftopCitiesSeries\x12Q\n" + + "\x13mostActiveDaySeries\x18$ \x01(\v2\x1f.Cast.WorkAnalysisMostActiveDayR\x13mostActiveDaySeries\x12N\n" + + "\x12bestPostTimeSeries\x18% \x01(\v2\x1e.Cast.WorkAnalysisBestPostTimeR\x12bestPostTimeSeries\x12-\n" + + "\x05extra\x18& \x01(\v2\x17.Cast.WorkAnalysisExtraR\x05extra\x12\x1c\n" + + "\tcreatedAt\x18' \x01(\tR\tcreatedAt\x12\x1c\n" + + "\tupdatedAt\x18( \x01(\tR\tupdatedAt\"\xa9\x03\n" + + "\x13ListWorkAnalysisReq\x12\x1a\n" + + "\buuidList\x18\x01 \x03(\tR\buuidList\x12\x16\n" + + "\x06subNum\x18\x02 \x01(\tR\x06subNum\x12\x1c\n" + + "\tartistVal\x18\x03 \x01(\tR\tartistVal\x12\x16\n" + + "\x06status\x18\x04 \x01(\rR\x06status\x12 \n" + + "\vcomfirmType\x18\x05 \x01(\x05R\vcomfirmType\x124\n" + + "\x15statusUpdateTimeStart\x18\x06 \x01(\tR\x15statusUpdateTimeStart\x120\n" + + "\x13statusUpdateTimeEnd\x18\a \x01(\tR\x13statusUpdateTimeEnd\x12(\n" + + "\x0fsubmitStartTime\x18\b \x01(\tR\x0fsubmitStartTime\x12$\n" + + "\rsubmitEndTime\x18\t \x01(\tR\rsubmitEndTime\x12\x12\n" + + "\x04page\x18\n" + + " \x01(\x05R\x04page\x12\x1a\n" + + "\bpageSize\x18\v \x01(\x05R\bpageSize\x12\x1e\n" + + "\n" + + "statusList\x18\f \x03(\rR\n" + + "statusList\"\xae\x03\n" + + "\x10WorkAnalysisInfo\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x16\n" + + "\x06subNum\x18\x02 \x01(\tR\x06subNum\x12\x1e\n" + + "\n" + + "artistName\x18\x03 \x01(\tR\n" + + "artistName\x12\x1a\n" + + "\bartistID\x18\x04 \x01(\tR\bartistID\x12 \n" + + "\vartistPhone\x18\x05 \x01(\tR\vartistPhone\x12\x1e\n" + + "\n" + + "operatorID\x18\x06 \x01(\tR\n" + + "operatorID\x12\"\n" + + "\foperatorName\x18\a \x01(\tR\foperatorName\x12.\n" + + "\x12workAnalysisStatus\x18\b \x01(\rR\x12workAnalysisStatus\x12\x16\n" + + "\x06reason\x18\t \x01(\tR\x06reason\x12 \n" + + "\vcomfirmType\x18\n" + + " \x01(\x05R\vcomfirmType\x12\x1e\n" + + "\n" + + "submitTime\x18\v \x01(\tR\n" + + "submitTime\x12*\n" + + "\x10statusUpdateTime\x18\f \x01(\tR\x10statusUpdateTime\x12\x16\n" + + "\x06pdfUrl\x18\r \x01(\tR\x06pdfUrl\"X\n" + + "\x14ListWorkAnalysisResp\x12*\n" + + "\x04data\x18\x01 \x03(\v2\x16.Cast.WorkAnalysisInfoR\x04data\x12\x14\n" + + "\x05count\x18\x02 \x01(\x03R\x05count\"+\n" + + "\x15DeleteWorkAnalysisReq\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\"\xa5\x02\n" + + "\x11ArtistDataListReq\x12\x1c\n" + + "\tartistVal\x18\x01 \x01(\tR\tartistVal\x12\x1e\n" + + "\n" + + "bundleName\x18\x02 \x01(\tR\n" + + "bundleName\x12*\n" + + "\x10expiredTimeStart\x18\x03 \x01(\tR\x10expiredTimeStart\x12&\n" + + "\x0eexpiredTimeEnd\x18\x04 \x01(\tR\x0eexpiredTimeEnd\x12(\n" + + "\x0fsubmitTimeStart\x18\x05 \x01(\tR\x0fsubmitTimeStart\x12$\n" + + "\rsubmitTimeEnd\x18\x06 \x01(\tR\rsubmitTimeEnd\x12\x12\n" + + "\x04page\x18\a \x01(\x05R\x04page\x12\x1a\n" + + "\bpageSize\x18\b \x01(\x05R\bpageSize\"\x94\x05\n" + + "\x12ArtistDataRespItem\x12\x1e\n" + + "\n" + + "artistName\x18\x01 \x01(\tR\n" + + "artistName\x12\x1e\n" + + "\n" + + "artistUuid\x18\x02 \x01(\tR\n" + + "artistUuid\x12\x16\n" + + "\x06subNum\x18\x03 \x01(\tR\x06subNum\x12 \n" + + "\vartistPhone\x18\x04 \x01(\tR\vartistPhone\x12\x1e\n" + + "\n" + + "bundleName\x18\x05 \x01(\tR\n" + + "bundleName\x12$\n" + + "\raccountNumber\x18\x06 \x01(\x05R\raccountNumber\x12:\n" + + "\x18accountConsumptionNumber\x18\a \x01(\x05R\x18accountConsumptionNumber\x12.\n" + + "\x12dataAnalysisNumber\x18\b \x01(\x05R\x12dataAnalysisNumber\x12D\n" + + "\x1ddataAnalysisConsumptionNumber\x18\t \x01(\x05R\x1ddataAnalysisConsumptionNumber\x12\x1e\n" + + "\n" + + "submitTime\x18\n" + + " \x01(\tR\n" + + "submitTime\x12\x1c\n" + + "\tfansCount\x18\v \x01(\x03R\tfansCount\x12\x1e\n" + + "\n" + + "viewsCount\x18\f \x01(\x03R\n" + + "viewsCount\x12\x1e\n" + + "\n" + + "likesCount\x18\r \x01(\x03R\n" + + "likesCount\x12$\n" + + "\rcommentsCount\x18\x0e \x01(\x03R\rcommentsCount\x12 \n" + + "\vsharesCount\x18\x0f \x01(\x03R\vsharesCount\x12$\n" + + "\rcastWorkCount\x18\x10 \x01(\x03R\rcastWorkCount\x12 \n" + + "\vexpiredTime\x18\x11 \x01(\tR\vexpiredTime\"X\n" + + "\x12ArtistDataListResp\x12,\n" + + "\x04data\x18\x01 \x03(\v2\x18.Cast.ArtistDataRespItemR\x04data\x12\x14\n" + + "\x05count\x18\x02 \x01(\x03R\x05count\"\xac\x01\n" + + "\x10MediaDataListReq\x12\x1c\n" + + "\tartistVal\x18\x01 \x01(\tR\tartistVal\x12*\n" + + "\x10platformUserName\x18\x02 \x01(\tR\x10platformUserName\x12\x1e\n" + + "\n" + + "platformID\x18\x03 \x01(\rR\n" + + "platformID\x12\x12\n" + + "\x04page\x18\x04 \x01(\x05R\x04page\x12\x1a\n" + + "\bpageSize\x18\x05 \x01(\x05R\bpageSize\"\xc5\x03\n" + + "\x11MediaDataListItem\x12\x1e\n" + + "\n" + + "artistName\x18\x01 \x01(\tR\n" + + "artistName\x12\x1e\n" + + "\n" + + "artistUuid\x18\x02 \x01(\tR\n" + + "artistUuid\x12\x16\n" + + "\x06subNum\x18\x03 \x01(\tR\x06subNum\x12 \n" + + "\vartistPhone\x18\x04 \x01(\tR\vartistPhone\x12*\n" + + "\x10platformUserName\x18\x05 \x01(\tR\x10platformUserName\x12\x1e\n" + + "\n" + + "platformID\x18\x06 \x01(\rR\n" + + "platformID\x12\x1e\n" + + "\n" + + "submitTime\x18\a \x01(\tR\n" + + "submitTime\x12\x1c\n" + + "\tfansCount\x18\b \x01(\x03R\tfansCount\x12\x1e\n" + + "\n" + + "viewsCount\x18\t \x01(\x03R\n" + + "viewsCount\x12\x1e\n" + + "\n" + + "likesCount\x18\n" + + " \x01(\x03R\n" + + "likesCount\x12$\n" + + "\rcommentsCount\x18\v \x01(\x03R\rcommentsCount\x12 \n" + + "\vsharesCount\x18\f \x01(\x03R\vsharesCount\x12$\n" + + "\rcastWorkCount\x18\r \x01(\x03R\rcastWorkCount\"V\n" + + "\x11MediaDataListResp\x12+\n" + + "\x04data\x18\x01 \x03(\v2\x17.Cast.MediaDataListItemR\x04data\x12\x14\n" + + "\x05count\x18\x02 \x01(\x03R\x05count\"%\n" + + "\x0fDataOverviewReq\x12\x12\n" + + "\x04date\x18\x01 \x01(\tR\x04date\"\xc0\x06\n" + + "\x10DataOverviewResp\x12\"\n" + + "\faccountCount\x18\x01 \x01(\x03R\faccountCount\x12,\n" + + "\x11todayAccountCount\x18\x02 \x01(\x03R\x11todayAccountCount\x12\x1c\n" + + "\tfansCount\x18\x03 \x01(\x03R\tfansCount\x12&\n" + + "\x0etodayFansCount\x18\x04 \x01(\x03R\x0etodayFansCount\x12\x1e\n" + + "\n" + + "viewsCount\x18\x05 \x01(\x03R\n" + + "viewsCount\x12(\n" + + "\x0ftodayViewsCount\x18\x06 \x01(\x03R\x0ftodayViewsCount\x12\x1e\n" + + "\n" + + "likesCount\x18\a \x01(\x03R\n" + + "likesCount\x12(\n" + + "\x0ftodayLikesCount\x18\b \x01(\x03R\x0ftodayLikesCount\x12$\n" + + "\rcommentsCount\x18\t \x01(\x03R\rcommentsCount\x12.\n" + + "\x12todayCommentsCount\x18\n" + + " \x01(\x03R\x12todayCommentsCount\x12 \n" + + "\vsharesCount\x18\v \x01(\x03R\vsharesCount\x12*\n" + + "\x10todaySharesCount\x18\f \x01(\x03R\x10todaySharesCount\x12\x1e\n" + + "\n" + + "imageCount\x18\r \x01(\x03R\n" + + "imageCount\x12(\n" + + "\x0ftodayImageCount\x18\x0e \x01(\x03R\x0ftodayImageCount\x12\x1e\n" + + "\n" + + "videoCount\x18\x0f \x01(\x03R\n" + + "videoCount\x12(\n" + + "\x0ftodayVideoCount\x18\x10 \x01(\x03R\x0ftodayVideoCount\x12*\n" + + "\x10confirmDataCount\x18\x11 \x01(\x03R\x10confirmDataCount\x124\n" + + "\x15todayConfirmDataCount\x18\x12 \x01(\x03R\x15todayConfirmDataCount\x126\n" + + "\x16toBeConfirmedDataCount\x18\x13 \x01(\x03R\x16toBeConfirmedDataCount\x12.\n" + + "\x12approvingDataCount\x18\x14 \x01(\x03R\x12approvingDataCount\"\x90\x02\n" + + "\x16ArtistMetricsSeriesReq\x12\x1e\n" + + "\n" + + "artistUUID\x18\x01 \x01(\tR\n" + + "artistUUID\x12&\n" + + "\x0eperiodTypeFans\x18\x02 \x01(\rR\x0eperiodTypeFans\x12(\n" + + "\x0fperiodTypeViews\x18\x03 \x01(\rR\x0fperiodTypeViews\x12(\n" + + "\x0fperiodTypeLikes\x18\x04 \x01(\rR\x0fperiodTypeLikes\x12.\n" + + "\x12periodTypeComments\x18\x05 \x01(\rR\x12periodTypeComments\x12*\n" + + "\x10periodTypeShares\x18\x06 \x01(\rR\x10periodTypeShares\"\xf2\x03\n" + + "\x17ArtistMetricsSeriesResp\x12<\n" + + "\n" + + "fansSeries\x18\x01 \x01(\v2\x1c.Cast.WorkAnalysisFansSeriesR\n" + + "fansSeries\x12?\n" + + "\vviewsSeries\x18\x02 \x01(\v2\x1d.Cast.WorkAnalysisViewsSeriesR\vviewsSeries\x12?\n" + + "\vlikesSeries\x18\x03 \x01(\v2\x1d.Cast.WorkAnalysisLikesSeriesR\vlikesSeries\x12H\n" + + "\x0ecommentsSeries\x18\x04 \x01(\v2 .Cast.WorkAnalysisCommentsSeriesR\x0ecommentsSeries\x12B\n" + + "\fsharesSeries\x18\x05 \x01(\v2\x1e.Cast.WorkAnalysisSharesSeriesR\fsharesSeries\x12B\n" + + "\fbestPostTime\x18\x06 \x01(\v2\x1e.Cast.WorkAnalysisBestPostTimeR\fbestPostTime\x12E\n" + + "\rmostActiveDay\x18\a \x01(\v2\x1f.Cast.WorkAnalysisMostActiveDayR\rmostActiveDay\"q\n" + + "\x1bArtistMetricsDailyWindowReq\x12\x1e\n" + + "\n" + + "artistUUID\x18\x01 \x01(\tR\n" + + "artistUUID\x12\x1e\n" + + "\n" + + "platformID\x18\x02 \x01(\rR\n" + + "platformID\x12\x12\n" + + "\x04date\x18\x03 \x01(\x05R\x04date\"7\n" + + "\vSimplePoint\x12\x12\n" + + "\x04date\x18\x01 \x01(\x05R\x04date\x12\x14\n" + + "\x05value\x18\x02 \x01(\x03R\x05value\"G\n" + + "\x11BestPostTimePoint\x12\x1c\n" + + "\ttimePoint\x18\x01 \x01(\tR\ttimePoint\x12\x14\n" + + "\x05value\x18\x02 \x01(\x05R\x05value\"<\n" + + "\x12MostActiveDayPoint\x12\x10\n" + + "\x03day\x18\x01 \x01(\x05R\x03day\x12\x14\n" + + "\x05value\x18\x02 \x01(\x05R\x05value\"\x94\x04\n" + + "\x1cArtistMetricsDailyWindowResp\x12\x1c\n" + + "\tfansCount\x18\x01 \x01(\x03R\tfansCount\x12\x1e\n" + + "\n" + + "viewsCount\x18\x02 \x01(\x03R\n" + + "viewsCount\x12\x1e\n" + + "\n" + + "likesCount\x18\x03 \x01(\x03R\n" + + "likesCount\x12$\n" + + "\rcommentsCount\x18\x04 \x01(\x03R\rcommentsCount\x12 \n" + + "\vsharesCount\x18\x05 \x01(\x03R\vsharesCount\x12%\n" + + "\x04fans\x18\x06 \x03(\v2\x11.Cast.SimplePointR\x04fans\x12'\n" + + "\x05views\x18\a \x03(\v2\x11.Cast.SimplePointR\x05views\x12'\n" + + "\x05likes\x18\b \x03(\v2\x11.Cast.SimplePointR\x05likes\x12-\n" + + "\bcomments\x18\t \x03(\v2\x11.Cast.SimplePointR\bcomments\x12)\n" + + "\x06shares\x18\n" + + " \x03(\v2\x11.Cast.SimplePointR\x06shares\x12;\n" + + "\fbestPostTime\x18\v \x03(\v2\x17.Cast.BestPostTimePointR\fbestPostTime\x12>\n" + + "\rmostActiveDay\x18\f \x03(\v2\x18.Cast.MostActiveDayPointR\rmostActiveDay\"f\n" + + "\x14TobeConfirmedListReq\x12\x1e\n" + + "\n" + + "artistUuid\x18\x01 \x01(\tR\n" + + "artistUuid\x12\x12\n" + + "\x04page\x18\x02 \x01(\x05R\x04page\x12\x1a\n" + + "\bpageSize\x18\x03 \x01(\x05R\bpageSize\"\xff\x03\n" + + "\x11TobeConfirmedItem\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x14\n" + + "\x05title\x18\x02 \x01(\tR\x05title\x12\x18\n" + + "\acontent\x18\x03 \x01(\tR\acontent\x12\"\n" + + "\fworkCategory\x18\x04 \x01(\x05R\fworkCategory\x12\x1e\n" + + "\n" + + "updateTime\x18\x05 \x01(\tR\n" + + "updateTime\x12\x1e\n" + + "\n" + + "workStatus\x18\x06 \x01(\x05R\n" + + "workStatus\x12 \n" + + "\vplatformIds\x18\a \x01(\tR\vplatformIds\x12\x1e\n" + + "\n" + + "artistName\x18\b \x01(\tR\n" + + "artistName\x12\x1e\n" + + "\n" + + "artistUuid\x18\t \x01(\tR\n" + + "artistUuid\x12(\n" + + "\x0fmediaAccUserIds\x18\n" + + " \x01(\tR\x0fmediaAccUserIds\x12\x1e\n" + + "\n" + + "mediaNames\x18\v \x01(\tR\n" + + "mediaNames\x12 \n" + + "\vconfirmedAt\x18\f \x01(\x03R\vconfirmedAt\x12\x1a\n" + + "\bitemType\x18\r \x01(\x05R\bitemType\x12\x1c\n" + + "\tcreatedAt\x18\x0e \x01(\x05R\tcreatedAt\x12\x1c\n" + + "\tupdatedAt\x18\x0f \x01(\x05R\tupdatedAt\x12\x1c\n" + + "\tdeletedAt\x18\x10 \x01(\x04R\tdeletedAt\"Z\n" + + "\x15TobeConfirmedListResp\x12+\n" + + "\x04data\x18\x01 \x03(\v2\x17.Cast.TobeConfirmedItemR\x04data\x12\x14\n" + + "\x05count\x18\x02 \x01(\x03R\x05count*G\n" + + "\x0ePlatformIDENUM\x12\v\n" + + "\aUNKNOWN\x10\x00\x12\n" + + "\n" + + "\x06TIKTOK\x10\x01\x12\v\n" + + "\aYOUTUBE\x10\x02\x12\a\n" + + "\x03INS\x10\x03\x12\x06\n" + + "\x02DM\x10\x04*9\n" + + "\x0eAuthStatusENUM\x12\x0f\n" + + "\vUNKNOWNAuth\x10\x00\x12\n" + + "\n" + + "\x06AuthOk\x10\x01\x12\n" + + "\n" + + "\x06AuthNo\x10\x02*\x81\x01\n" + + "\x0eWorkActionENUM\x12\r\n" + + "\tNO_ACTION\x10\x00\x12\v\n" + + "\aCONFIRM\x10\x01\x12\f\n" + + "\bAPPROVAL\x10\x02\x12\x11\n" + + "\rAPPROVAL_PASS\x10\x03\x12\x13\n" + + "\x0fAPPROVAL_REJECT\x10\x04\x12\x13\n" + + "\x0fAPPROVAL_DELETE\x10\x05\x12\b\n" + + "\x04READ\x10\x06*V\n" + + "\x0fAutoPublishENUM\x12\x16\n" + + "\x12AutoPublish_UNKONW\x10\x00\x12\x14\n" + + "\x10AutoPublish_TRUE\x10\x01\x12\x15\n" + + "\x11AutoPublish_FALSE\x10\x02*\xa6\x01\n" + + "\x11PublishStatusENUM\x12\x19\n" + + "\x15PublishMediaStatus_NO\x10\x00\x12\x1a\n" + + "\x16PublishMediaStatus_ING\x10\x01\x12\x1b\n" + + "\x17PublishMediaStatus_DONE\x10\x02\x12\x1b\n" + + "\x17PublishMediaStatus_FAIL\x10\x03\x12 \n" + + "\x1cPublishMediaStatus_EXCEPTION\x10\x04*Y\n" + + "\fCategoryENUM\x12\x14\n" + + "\x10UNKNOWN_CATEGORY\x10\x00\x12\t\n" + + "\x05TITLE\x10\x01\x12\v\n" + + "\aCONTENT\x10\x02\x12\t\n" + + "\x05IMAGE\x10\x03\x12\x10\n" + + "\fLONG_CONTENT\x10\x042\xf2\x1e\n" + + "\x04Cast\x12B\n" + + "\rMediaUserList\x12\x16.Cast.MediaUserListReq\x1a\x17.Cast.MediaUserListResp\"\x00\x12Q\n" + + "\x12UpdateMediaAccount\x12\x1b.Cast.UpdateMediaAccountReq\x1a\x1c.Cast.UpdateMediaAccountResp\"\x00\x12B\n" + + "\rUnbindManager\x12\x16.Cast.UnbindManagerReq\x1a\x17.Cast.UnbindManagerResp\"\x00\x12=\n" + + "\vBindManager\x12\x14.Cast.BindManagerReq\x1a\x16.google.protobuf.Empty\"\x00\x12H\n" + + "\x0fUpdateWorkImage\x12\x18.Cast.UpdateWorkImageReq\x1a\x19.Cast.UpdateWorkImageResp\"\x00\x12H\n" + + "\x0fUpdateWorkVideo\x12\x18.Cast.UpdateWorkVideoReq\x1a\x19.Cast.UpdateWorkVideoResp\"\x00\x126\n" + + "\tMediaInfo\x12\x12.Cast.MediaInfoReq\x1a\x13.Cast.MediaInfoResp\"\x00\x123\n" + + "\bWorkList\x12\x11.Cast.WorkListReq\x1a\x12.Cast.WorkListResp\"\x00\x129\n" + + "\n" + + "WorkDetail\x12\x13.Cast.WorkDetailReq\x1a\x14.Cast.WorkDetailResp\"\x00\x12?\n" + + "\fUpdateStatus\x12\x15.Cast.UpdateStatusReq\x1a\x16.google.protobuf.Empty\"\x00\x12B\n" + + "\rMediaAccounts\x12\x16.Cast.MediaAccountsReq\x1a\x17.Cast.MediaAccountsResp\"\x00\x129\n" + + "\n" + + "MediaWorks\x12\x13.Cast.MediaWorksReq\x1a\x14.Cast.MediaWorksResp\"\x00\x120\n" + + "\aPublish\x12\x10.Cast.PublishReq\x1a\x11.Cast.PublishResp\"\x00\x126\n" + + "\tRePublish\x12\x12.Cast.RePublishReq\x1a\x13.Cast.RePublishResp\"\x00\x125\n" + + "\aDelWork\x12\x10.Cast.DelWorkReq\x1a\x16.google.protobuf.Empty\"\x00\x123\n" + + "\bWorkInfo\x12\x11.Cast.WorkInfoReq\x1a\x12.Cast.WorkInfoResp\"\x00\x129\n" + + "\n" + + "ArtistInfo\x12\x13.Cast.ArtistInfoReq\x1a\x14.Cast.ArtistInfoResp\"\x00\x12H\n" + + "\x0fImportWorkBatch\x12\x18.Cast.ImportWorkBatchReq\x1a\x19.Cast.ImportWorkBatchResp\"\x00\x12]\n" + + "\x16UpdateWorkPlatformInfo\x12\x1f.Cast.UpdateWorkPlatformInfoReq\x1a .Cast.UpdateWorkPlatformInfoResp\"\x00\x12O\n" + + "\x14UpdateWorkPublishLog\x12\x1d.Cast.UpdateWorkPublishLogReq\x1a\x16.google.protobuf.Empty\"\x00\x12H\n" + + "\x0fRefreshWorkList\x12\x18.Cast.RefreshWorkListReq\x1a\x19.Cast.RefreshWorkListResp\"\x00\x12?\n" + + "\fOAuthAccount\x12\x15.Cast.OAuthAccountReq\x1a\x16.Cast.OAuthAccountResp\"\x00\x12E\n" + + "\x0eOAuthAccountV2\x12\x17.Cast.OAuthAccountV2Req\x1a\x18.Cast.OAuthAccountV2Resp\"\x00\x12K\n" + + "\x10OAuthCodeToToken\x12\x19.Cast.OAuthCodeToTokenReq\x1a\x1a.Cast.OAuthCodeToTokenResp\"\x00\x12=\n" + + "\vUpdateOAuth\x12\x14.Cast.UpdateOAuthReq\x1a\x16.google.protobuf.Empty\"\x00\x12?\n" + + "\fRefreshToken\x12\x15.Cast.RefreshTokenReq\x1a\x16.Cast.RefreshTokenResp\"\x00\x12K\n" + + "\x10PublishMediaInfo\x12\x19.Cast.PublishMediaInfoReq\x1a\x1a.Cast.PublishMediaInfoResp\"\x00\x128\n" + + "\x04Test\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x12N\n" + + "\x11UpdateVideoScript\x12\x1a.Cast.UpdateVideoScriptReq\x1a\x1b.Cast.UpdateVideoScriptResp\"\x00\x12E\n" + + "\x0eGetVideoScript\x12\x17.Cast.GetVideoScriptReq\x1a\x18.Cast.GetVideoScriptResp\"\x00\x12K\n" + + "\x10ListVideoScripts\x12\x19.Cast.ListVideoScriptsReq\x1a\x1a.Cast.ListVideoScriptsResp\"\x00\x12I\n" + + "\x11DeleteVideoScript\x12\x1a.Cast.DeleteVideoScriptReq\x1a\x16.google.protobuf.Empty\"\x00\x12]\n" + + "\x16UpdateVideoScriptBatch\x12\x1f.Cast.UpdateVideoScriptBatchReq\x1a .Cast.UpdateVideoScriptBatchResp\"\x00\x12K\n" + + "\x12UpdateScriptStatus\x12\x1b.Cast.UpdateScriptStatusReq\x1a\x16.google.protobuf.Empty\"\x00\x126\n" + + "\tGetLayout\x12\x12.Cast.GetLayoutReq\x1a\x13.Cast.GetLayoutResp\"\x00\x129\n" + + "\tSetLayout\x12\x12.Cast.SetLayoutReq\x1a\x16.google.protobuf.Empty\"\x00\x12?\n" + + "\fUpdatePrompt\x12\x15.Cast.UpdatePromptReq\x1a\x16.google.protobuf.Empty\"\x00\x12?\n" + + "\fDeletePrompt\x12\x15.Cast.DeletePromptReq\x1a\x16.google.protobuf.Empty\"\x00\x126\n" + + "\tGetPrompt\x12\x12.Cast.GetPromptReq\x1a\x13.Cast.GetPromptResp\"\x00\x12<\n" + + "\vListPrompts\x12\x14.Cast.ListPromptsReq\x1a\x15.Cast.ListPromptsResp\"\x00\x12N\n" + + "\x11UpdatePromptBatch\x12\x1a.Cast.UpdatePromptBatchReq\x1a\x1b.Cast.UpdatePromptBatchResp\"\x00\x12?\n" + + "\fUpdateArtist\x12\x15.Cast.UpdateArtistReq\x1a\x16.Cast.UpdateArtistResp\"\x00\x126\n" + + "\tGetArtist\x12\x12.Cast.GetArtistReq\x1a\x13.Cast.GetArtistResp\"\x00\x12Q\n" + + "\x12CreateWorkAnalysis\x12\x1b.Cast.CreateWorkAnalysisReq\x1a\x1c.Cast.CreateWorkAnalysisResp\"\x00\x12K\n" + + "\x12UpdateWorkAnalysis\x12\x1b.Cast.UpdateWorkAnalysisReq\x1a\x16.google.protobuf.Empty\"\x00\x12W\n" + + "\x18UpdateWorkAnalysisStatus\x12!.Cast.UpdateWorkAnalysisStatusReq\x1a\x16.google.protobuf.Empty\"\x00\x12T\n" + + "\x0fGetWorkAnalysis\x12\x1e.Cast.GetWorkAnalysisDetailReq\x1a\x1f.Cast.GetWorkAnalysisDetailResp\"\x00\x12T\n" + + "\x15GetLatestWorkAnalysis\x12\x1e.Cast.GetLatestWorkAnalysisReq\x1a\x19.Cast.GetWorkAnalysisResp\"\x00\x12K\n" + + "\x10ListWorkAnalysis\x12\x19.Cast.ListWorkAnalysisReq\x1a\x1a.Cast.ListWorkAnalysisResp\"\x00\x12K\n" + + "\x12DeleteWorkAnalysis\x12\x1b.Cast.DeleteWorkAnalysisReq\x1a\x16.google.protobuf.Empty\"\x00\x12E\n" + + "\x0eArtistDataList\x12\x17.Cast.ArtistDataListReq\x1a\x18.Cast.ArtistDataListResp\"\x00\x12B\n" + + "\rMediaDataList\x12\x16.Cast.MediaDataListReq\x1a\x17.Cast.MediaDataListResp\"\x00\x12?\n" + + "\fDataOverview\x12\x15.Cast.DataOverviewReq\x1a\x16.Cast.DataOverviewResp\"\x00\x12T\n" + + "\x13ArtistMetricsSeries\x12\x1c.Cast.ArtistMetricsSeriesReq\x1a\x1d.Cast.ArtistMetricsSeriesResp\"\x00\x12c\n" + + "\x18ArtistMetricsDailyWindow\x12!.Cast.ArtistMetricsDailyWindowReq\x1a\".Cast.ArtistMetricsDailyWindowResp\"\x00\x12N\n" + + "\x11TobeConfirmedList\x12\x1a.Cast.TobeConfirmedListReq\x1a\x1b.Cast.TobeConfirmedListResp\"\x00B\rZ\v./cast;castb\x06proto3" var ( file_pb_fiee_cast_proto_rawDescOnce sync.Once - file_pb_fiee_cast_proto_rawDescData = file_pb_fiee_cast_proto_rawDesc + file_pb_fiee_cast_proto_rawDescData []byte ) func file_pb_fiee_cast_proto_rawDescGZIP() []byte { file_pb_fiee_cast_proto_rawDescOnce.Do(func() { - file_pb_fiee_cast_proto_rawDescData = protoimpl.X.CompressGZIP(file_pb_fiee_cast_proto_rawDescData) + file_pb_fiee_cast_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pb_fiee_cast_proto_rawDesc), len(file_pb_fiee_cast_proto_rawDesc))) }) return file_pb_fiee_cast_proto_rawDescData } var file_pb_fiee_cast_proto_enumTypes = make([]protoimpl.EnumInfo, 6) -var file_pb_fiee_cast_proto_msgTypes = make([]protoimpl.MessageInfo, 129) -var file_pb_fiee_cast_proto_goTypes = []interface{}{ +var file_pb_fiee_cast_proto_msgTypes = make([]protoimpl.MessageInfo, 130) +var file_pb_fiee_cast_proto_goTypes = []any{ (PlatformIDENUM)(0), // 0: Cast.PlatformIDENUM (AuthStatusENUM)(0), // 1: Cast.AuthStatusENUM (WorkActionENUM)(0), // 2: Cast.WorkActionENUM @@ -13297,7 +12236,8 @@ var file_pb_fiee_cast_proto_goTypes = []interface{}{ (*MediaWorksResp_Info)(nil), // 132: Cast.MediaWorksResp.Info (*PublishResp_Info)(nil), // 133: Cast.PublishResp.Info (*RefreshWorkListResp_Info)(nil), // 134: Cast.RefreshWorkListResp.Info - (*emptypb.Empty)(nil), // 135: google.protobuf.Empty + (*UpdateOAuthReq_Info)(nil), // 135: Cast.UpdateOAuthReq.Info + (*emptypb.Empty)(nil), // 136: google.protobuf.Empty } var file_pb_fiee_cast_proto_depIdxs = []int32{ 0, // 0: Cast.MediaUserListReq.platformID:type_name -> Cast.PlatformIDENUM @@ -13336,7 +12276,7 @@ var file_pb_fiee_cast_proto_depIdxs = []int32{ 42, // 33: Cast.UpdateWorkPlatformInfoReq.PlatformInfoData:type_name -> Cast.PlatformInfo 134, // 34: Cast.RefreshWorkListResp.Data:type_name -> Cast.RefreshWorkListResp.Info 0, // 35: Cast.OAuthCodeToTokenReq.platformID:type_name -> Cast.PlatformIDENUM - 0, // 36: Cast.UpdateOAuthReq.platformID:type_name -> Cast.PlatformIDENUM + 135, // 36: Cast.UpdateOAuthReq.Data:type_name -> Cast.UpdateOAuthReq.Info 0, // 37: Cast.RefreshTokenReq.platformID:type_name -> Cast.PlatformIDENUM 66, // 38: Cast.ListVideoScriptsResp.data:type_name -> Cast.VideoScriptInfo 66, // 39: Cast.UpdateVideoScriptBatchReq.data:type_name -> Cast.VideoScriptInfo @@ -13389,123 +12329,124 @@ var file_pb_fiee_cast_proto_depIdxs = []int32{ 124, // 86: Cast.ArtistMetricsDailyWindowResp.mostActiveDay:type_name -> Cast.MostActiveDayPoint 127, // 87: Cast.TobeConfirmedListResp.data:type_name -> Cast.TobeConfirmedItem 7, // 88: Cast.WorkDetailResp.MediaAccDataEntry.value:type_name -> Cast.MediaUserInfo - 6, // 89: Cast.Cast.MediaUserList:input_type -> Cast.MediaUserListReq - 9, // 90: Cast.Cast.UpdateMediaAccount:input_type -> Cast.UpdateMediaAccountReq - 11, // 91: Cast.Cast.UnbindManager:input_type -> Cast.UnbindManagerReq - 13, // 92: Cast.Cast.BindManager:input_type -> Cast.BindManagerReq - 14, // 93: Cast.Cast.UpdateWorkImage:input_type -> Cast.UpdateWorkImageReq - 17, // 94: Cast.Cast.UpdateWorkVideo:input_type -> Cast.UpdateWorkVideoReq - 19, // 95: Cast.Cast.MediaInfo:input_type -> Cast.MediaInfoReq - 21, // 96: Cast.Cast.WorkList:input_type -> Cast.WorkListReq - 23, // 97: Cast.Cast.WorkDetail:input_type -> Cast.WorkDetailReq - 26, // 98: Cast.Cast.UpdateStatus:input_type -> Cast.UpdateStatusReq - 27, // 99: Cast.Cast.MediaAccounts:input_type -> Cast.MediaAccountsReq - 29, // 100: Cast.Cast.MediaWorks:input_type -> Cast.MediaWorksReq - 31, // 101: Cast.Cast.Publish:input_type -> Cast.PublishReq - 33, // 102: Cast.Cast.RePublish:input_type -> Cast.RePublishReq - 35, // 103: Cast.Cast.DelWork:input_type -> Cast.DelWorkReq - 36, // 104: Cast.Cast.WorkInfo:input_type -> Cast.WorkInfoReq - 38, // 105: Cast.Cast.ArtistInfo:input_type -> Cast.ArtistInfoReq - 40, // 106: Cast.Cast.ImportWorkBatch:input_type -> Cast.ImportWorkBatchReq - 43, // 107: Cast.Cast.UpdateWorkPlatformInfo:input_type -> Cast.UpdateWorkPlatformInfoReq - 45, // 108: Cast.Cast.UpdateWorkPublishLog:input_type -> Cast.UpdateWorkPublishLogReq - 46, // 109: Cast.Cast.RefreshWorkList:input_type -> Cast.RefreshWorkListReq - 48, // 110: Cast.Cast.OAuthAccount:input_type -> Cast.OAuthAccountReq - 50, // 111: Cast.Cast.OAuthAccountV2:input_type -> Cast.OAuthAccountV2Req - 54, // 112: Cast.Cast.OAuthCodeToToken:input_type -> Cast.OAuthCodeToTokenReq - 56, // 113: Cast.Cast.UpdateOAuth:input_type -> Cast.UpdateOAuthReq - 57, // 114: Cast.Cast.RefreshToken:input_type -> Cast.RefreshTokenReq - 59, // 115: Cast.Cast.PublishMediaInfo:input_type -> Cast.PublishMediaInfoReq - 135, // 116: Cast.Cast.Test:input_type -> google.protobuf.Empty - 61, // 117: Cast.Cast.UpdateVideoScript:input_type -> Cast.UpdateVideoScriptReq - 63, // 118: Cast.Cast.GetVideoScript:input_type -> Cast.GetVideoScriptReq - 65, // 119: Cast.Cast.ListVideoScripts:input_type -> Cast.ListVideoScriptsReq - 68, // 120: Cast.Cast.DeleteVideoScript:input_type -> Cast.DeleteVideoScriptReq - 69, // 121: Cast.Cast.UpdateVideoScriptBatch:input_type -> Cast.UpdateVideoScriptBatchReq - 71, // 122: Cast.Cast.UpdateScriptStatus:input_type -> Cast.UpdateScriptStatusReq - 73, // 123: Cast.Cast.GetLayout:input_type -> Cast.GetLayoutReq - 72, // 124: Cast.Cast.SetLayout:input_type -> Cast.SetLayoutReq - 75, // 125: Cast.Cast.UpdatePrompt:input_type -> Cast.UpdatePromptReq - 76, // 126: Cast.Cast.DeletePrompt:input_type -> Cast.DeletePromptReq - 77, // 127: Cast.Cast.GetPrompt:input_type -> Cast.GetPromptReq - 79, // 128: Cast.Cast.ListPrompts:input_type -> Cast.ListPromptsReq - 82, // 129: Cast.Cast.UpdatePromptBatch:input_type -> Cast.UpdatePromptBatchReq - 85, // 130: Cast.Cast.UpdateArtist:input_type -> Cast.UpdateArtistReq - 87, // 131: Cast.Cast.GetArtist:input_type -> Cast.GetArtistReq - 89, // 132: Cast.Cast.CreateWorkAnalysis:input_type -> Cast.CreateWorkAnalysisReq - 91, // 133: Cast.Cast.UpdateWorkAnalysis:input_type -> Cast.UpdateWorkAnalysisReq - 92, // 134: Cast.Cast.UpdateWorkAnalysisStatus:input_type -> Cast.UpdateWorkAnalysisStatusReq - 103, // 135: Cast.Cast.GetWorkAnalysis:input_type -> Cast.GetWorkAnalysisDetailReq - 104, // 136: Cast.Cast.GetLatestWorkAnalysis:input_type -> Cast.GetLatestWorkAnalysisReq - 107, // 137: Cast.Cast.ListWorkAnalysis:input_type -> Cast.ListWorkAnalysisReq - 110, // 138: Cast.Cast.DeleteWorkAnalysis:input_type -> Cast.DeleteWorkAnalysisReq - 111, // 139: Cast.Cast.ArtistDataList:input_type -> Cast.ArtistDataListReq - 114, // 140: Cast.Cast.MediaDataList:input_type -> Cast.MediaDataListReq - 117, // 141: Cast.Cast.DataOverview:input_type -> Cast.DataOverviewReq - 119, // 142: Cast.Cast.ArtistMetricsSeries:input_type -> Cast.ArtistMetricsSeriesReq - 121, // 143: Cast.Cast.ArtistMetricsDailyWindow:input_type -> Cast.ArtistMetricsDailyWindowReq - 126, // 144: Cast.Cast.TobeConfirmedList:input_type -> Cast.TobeConfirmedListReq - 8, // 145: Cast.Cast.MediaUserList:output_type -> Cast.MediaUserListResp - 10, // 146: Cast.Cast.UpdateMediaAccount:output_type -> Cast.UpdateMediaAccountResp - 12, // 147: Cast.Cast.UnbindManager:output_type -> Cast.UnbindManagerResp - 135, // 148: Cast.Cast.BindManager:output_type -> google.protobuf.Empty - 15, // 149: Cast.Cast.UpdateWorkImage:output_type -> Cast.UpdateWorkImageResp - 18, // 150: Cast.Cast.UpdateWorkVideo:output_type -> Cast.UpdateWorkVideoResp - 20, // 151: Cast.Cast.MediaInfo:output_type -> Cast.MediaInfoResp - 22, // 152: Cast.Cast.WorkList:output_type -> Cast.WorkListResp - 25, // 153: Cast.Cast.WorkDetail:output_type -> Cast.WorkDetailResp - 135, // 154: Cast.Cast.UpdateStatus:output_type -> google.protobuf.Empty - 28, // 155: Cast.Cast.MediaAccounts:output_type -> Cast.MediaAccountsResp - 30, // 156: Cast.Cast.MediaWorks:output_type -> Cast.MediaWorksResp - 32, // 157: Cast.Cast.Publish:output_type -> Cast.PublishResp - 34, // 158: Cast.Cast.RePublish:output_type -> Cast.RePublishResp - 135, // 159: Cast.Cast.DelWork:output_type -> google.protobuf.Empty - 37, // 160: Cast.Cast.WorkInfo:output_type -> Cast.WorkInfoResp - 39, // 161: Cast.Cast.ArtistInfo:output_type -> Cast.ArtistInfoResp - 41, // 162: Cast.Cast.ImportWorkBatch:output_type -> Cast.ImportWorkBatchResp - 44, // 163: Cast.Cast.UpdateWorkPlatformInfo:output_type -> Cast.UpdateWorkPlatformInfoResp - 135, // 164: Cast.Cast.UpdateWorkPublishLog:output_type -> google.protobuf.Empty - 47, // 165: Cast.Cast.RefreshWorkList:output_type -> Cast.RefreshWorkListResp - 49, // 166: Cast.Cast.OAuthAccount:output_type -> Cast.OAuthAccountResp - 51, // 167: Cast.Cast.OAuthAccountV2:output_type -> Cast.OAuthAccountV2Resp - 55, // 168: Cast.Cast.OAuthCodeToToken:output_type -> Cast.OAuthCodeToTokenResp - 135, // 169: Cast.Cast.UpdateOAuth:output_type -> google.protobuf.Empty - 58, // 170: Cast.Cast.RefreshToken:output_type -> Cast.RefreshTokenResp - 60, // 171: Cast.Cast.PublishMediaInfo:output_type -> Cast.PublishMediaInfoResp - 135, // 172: Cast.Cast.Test:output_type -> google.protobuf.Empty - 62, // 173: Cast.Cast.UpdateVideoScript:output_type -> Cast.UpdateVideoScriptResp - 64, // 174: Cast.Cast.GetVideoScript:output_type -> Cast.GetVideoScriptResp - 67, // 175: Cast.Cast.ListVideoScripts:output_type -> Cast.ListVideoScriptsResp - 135, // 176: Cast.Cast.DeleteVideoScript:output_type -> google.protobuf.Empty - 70, // 177: Cast.Cast.UpdateVideoScriptBatch:output_type -> Cast.UpdateVideoScriptBatchResp - 135, // 178: Cast.Cast.UpdateScriptStatus:output_type -> google.protobuf.Empty - 74, // 179: Cast.Cast.GetLayout:output_type -> Cast.GetLayoutResp - 135, // 180: Cast.Cast.SetLayout:output_type -> google.protobuf.Empty - 135, // 181: Cast.Cast.UpdatePrompt:output_type -> google.protobuf.Empty - 135, // 182: Cast.Cast.DeletePrompt:output_type -> google.protobuf.Empty - 78, // 183: Cast.Cast.GetPrompt:output_type -> Cast.GetPromptResp - 81, // 184: Cast.Cast.ListPrompts:output_type -> Cast.ListPromptsResp - 83, // 185: Cast.Cast.UpdatePromptBatch:output_type -> Cast.UpdatePromptBatchResp - 86, // 186: Cast.Cast.UpdateArtist:output_type -> Cast.UpdateArtistResp - 88, // 187: Cast.Cast.GetArtist:output_type -> Cast.GetArtistResp - 90, // 188: Cast.Cast.CreateWorkAnalysis:output_type -> Cast.CreateWorkAnalysisResp - 135, // 189: Cast.Cast.UpdateWorkAnalysis:output_type -> google.protobuf.Empty - 135, // 190: Cast.Cast.UpdateWorkAnalysisStatus:output_type -> google.protobuf.Empty - 106, // 191: Cast.Cast.GetWorkAnalysis:output_type -> Cast.GetWorkAnalysisDetailResp - 105, // 192: Cast.Cast.GetLatestWorkAnalysis:output_type -> Cast.GetWorkAnalysisResp - 109, // 193: Cast.Cast.ListWorkAnalysis:output_type -> Cast.ListWorkAnalysisResp - 135, // 194: Cast.Cast.DeleteWorkAnalysis:output_type -> google.protobuf.Empty - 113, // 195: Cast.Cast.ArtistDataList:output_type -> Cast.ArtistDataListResp - 116, // 196: Cast.Cast.MediaDataList:output_type -> Cast.MediaDataListResp - 118, // 197: Cast.Cast.DataOverview:output_type -> Cast.DataOverviewResp - 120, // 198: Cast.Cast.ArtistMetricsSeries:output_type -> Cast.ArtistMetricsSeriesResp - 125, // 199: Cast.Cast.ArtistMetricsDailyWindow:output_type -> Cast.ArtistMetricsDailyWindowResp - 128, // 200: Cast.Cast.TobeConfirmedList:output_type -> Cast.TobeConfirmedListResp - 145, // [145:201] is the sub-list for method output_type - 89, // [89:145] is the sub-list for method input_type - 89, // [89:89] is the sub-list for extension type_name - 89, // [89:89] is the sub-list for extension extendee - 0, // [0:89] is the sub-list for field type_name + 0, // 89: Cast.UpdateOAuthReq.Info.platformID:type_name -> Cast.PlatformIDENUM + 6, // 90: Cast.Cast.MediaUserList:input_type -> Cast.MediaUserListReq + 9, // 91: Cast.Cast.UpdateMediaAccount:input_type -> Cast.UpdateMediaAccountReq + 11, // 92: Cast.Cast.UnbindManager:input_type -> Cast.UnbindManagerReq + 13, // 93: Cast.Cast.BindManager:input_type -> Cast.BindManagerReq + 14, // 94: Cast.Cast.UpdateWorkImage:input_type -> Cast.UpdateWorkImageReq + 17, // 95: Cast.Cast.UpdateWorkVideo:input_type -> Cast.UpdateWorkVideoReq + 19, // 96: Cast.Cast.MediaInfo:input_type -> Cast.MediaInfoReq + 21, // 97: Cast.Cast.WorkList:input_type -> Cast.WorkListReq + 23, // 98: Cast.Cast.WorkDetail:input_type -> Cast.WorkDetailReq + 26, // 99: Cast.Cast.UpdateStatus:input_type -> Cast.UpdateStatusReq + 27, // 100: Cast.Cast.MediaAccounts:input_type -> Cast.MediaAccountsReq + 29, // 101: Cast.Cast.MediaWorks:input_type -> Cast.MediaWorksReq + 31, // 102: Cast.Cast.Publish:input_type -> Cast.PublishReq + 33, // 103: Cast.Cast.RePublish:input_type -> Cast.RePublishReq + 35, // 104: Cast.Cast.DelWork:input_type -> Cast.DelWorkReq + 36, // 105: Cast.Cast.WorkInfo:input_type -> Cast.WorkInfoReq + 38, // 106: Cast.Cast.ArtistInfo:input_type -> Cast.ArtistInfoReq + 40, // 107: Cast.Cast.ImportWorkBatch:input_type -> Cast.ImportWorkBatchReq + 43, // 108: Cast.Cast.UpdateWorkPlatformInfo:input_type -> Cast.UpdateWorkPlatformInfoReq + 45, // 109: Cast.Cast.UpdateWorkPublishLog:input_type -> Cast.UpdateWorkPublishLogReq + 46, // 110: Cast.Cast.RefreshWorkList:input_type -> Cast.RefreshWorkListReq + 48, // 111: Cast.Cast.OAuthAccount:input_type -> Cast.OAuthAccountReq + 50, // 112: Cast.Cast.OAuthAccountV2:input_type -> Cast.OAuthAccountV2Req + 54, // 113: Cast.Cast.OAuthCodeToToken:input_type -> Cast.OAuthCodeToTokenReq + 56, // 114: Cast.Cast.UpdateOAuth:input_type -> Cast.UpdateOAuthReq + 57, // 115: Cast.Cast.RefreshToken:input_type -> Cast.RefreshTokenReq + 59, // 116: Cast.Cast.PublishMediaInfo:input_type -> Cast.PublishMediaInfoReq + 136, // 117: Cast.Cast.Test:input_type -> google.protobuf.Empty + 61, // 118: Cast.Cast.UpdateVideoScript:input_type -> Cast.UpdateVideoScriptReq + 63, // 119: Cast.Cast.GetVideoScript:input_type -> Cast.GetVideoScriptReq + 65, // 120: Cast.Cast.ListVideoScripts:input_type -> Cast.ListVideoScriptsReq + 68, // 121: Cast.Cast.DeleteVideoScript:input_type -> Cast.DeleteVideoScriptReq + 69, // 122: Cast.Cast.UpdateVideoScriptBatch:input_type -> Cast.UpdateVideoScriptBatchReq + 71, // 123: Cast.Cast.UpdateScriptStatus:input_type -> Cast.UpdateScriptStatusReq + 73, // 124: Cast.Cast.GetLayout:input_type -> Cast.GetLayoutReq + 72, // 125: Cast.Cast.SetLayout:input_type -> Cast.SetLayoutReq + 75, // 126: Cast.Cast.UpdatePrompt:input_type -> Cast.UpdatePromptReq + 76, // 127: Cast.Cast.DeletePrompt:input_type -> Cast.DeletePromptReq + 77, // 128: Cast.Cast.GetPrompt:input_type -> Cast.GetPromptReq + 79, // 129: Cast.Cast.ListPrompts:input_type -> Cast.ListPromptsReq + 82, // 130: Cast.Cast.UpdatePromptBatch:input_type -> Cast.UpdatePromptBatchReq + 85, // 131: Cast.Cast.UpdateArtist:input_type -> Cast.UpdateArtistReq + 87, // 132: Cast.Cast.GetArtist:input_type -> Cast.GetArtistReq + 89, // 133: Cast.Cast.CreateWorkAnalysis:input_type -> Cast.CreateWorkAnalysisReq + 91, // 134: Cast.Cast.UpdateWorkAnalysis:input_type -> Cast.UpdateWorkAnalysisReq + 92, // 135: Cast.Cast.UpdateWorkAnalysisStatus:input_type -> Cast.UpdateWorkAnalysisStatusReq + 103, // 136: Cast.Cast.GetWorkAnalysis:input_type -> Cast.GetWorkAnalysisDetailReq + 104, // 137: Cast.Cast.GetLatestWorkAnalysis:input_type -> Cast.GetLatestWorkAnalysisReq + 107, // 138: Cast.Cast.ListWorkAnalysis:input_type -> Cast.ListWorkAnalysisReq + 110, // 139: Cast.Cast.DeleteWorkAnalysis:input_type -> Cast.DeleteWorkAnalysisReq + 111, // 140: Cast.Cast.ArtistDataList:input_type -> Cast.ArtistDataListReq + 114, // 141: Cast.Cast.MediaDataList:input_type -> Cast.MediaDataListReq + 117, // 142: Cast.Cast.DataOverview:input_type -> Cast.DataOverviewReq + 119, // 143: Cast.Cast.ArtistMetricsSeries:input_type -> Cast.ArtistMetricsSeriesReq + 121, // 144: Cast.Cast.ArtistMetricsDailyWindow:input_type -> Cast.ArtistMetricsDailyWindowReq + 126, // 145: Cast.Cast.TobeConfirmedList:input_type -> Cast.TobeConfirmedListReq + 8, // 146: Cast.Cast.MediaUserList:output_type -> Cast.MediaUserListResp + 10, // 147: Cast.Cast.UpdateMediaAccount:output_type -> Cast.UpdateMediaAccountResp + 12, // 148: Cast.Cast.UnbindManager:output_type -> Cast.UnbindManagerResp + 136, // 149: Cast.Cast.BindManager:output_type -> google.protobuf.Empty + 15, // 150: Cast.Cast.UpdateWorkImage:output_type -> Cast.UpdateWorkImageResp + 18, // 151: Cast.Cast.UpdateWorkVideo:output_type -> Cast.UpdateWorkVideoResp + 20, // 152: Cast.Cast.MediaInfo:output_type -> Cast.MediaInfoResp + 22, // 153: Cast.Cast.WorkList:output_type -> Cast.WorkListResp + 25, // 154: Cast.Cast.WorkDetail:output_type -> Cast.WorkDetailResp + 136, // 155: Cast.Cast.UpdateStatus:output_type -> google.protobuf.Empty + 28, // 156: Cast.Cast.MediaAccounts:output_type -> Cast.MediaAccountsResp + 30, // 157: Cast.Cast.MediaWorks:output_type -> Cast.MediaWorksResp + 32, // 158: Cast.Cast.Publish:output_type -> Cast.PublishResp + 34, // 159: Cast.Cast.RePublish:output_type -> Cast.RePublishResp + 136, // 160: Cast.Cast.DelWork:output_type -> google.protobuf.Empty + 37, // 161: Cast.Cast.WorkInfo:output_type -> Cast.WorkInfoResp + 39, // 162: Cast.Cast.ArtistInfo:output_type -> Cast.ArtistInfoResp + 41, // 163: Cast.Cast.ImportWorkBatch:output_type -> Cast.ImportWorkBatchResp + 44, // 164: Cast.Cast.UpdateWorkPlatformInfo:output_type -> Cast.UpdateWorkPlatformInfoResp + 136, // 165: Cast.Cast.UpdateWorkPublishLog:output_type -> google.protobuf.Empty + 47, // 166: Cast.Cast.RefreshWorkList:output_type -> Cast.RefreshWorkListResp + 49, // 167: Cast.Cast.OAuthAccount:output_type -> Cast.OAuthAccountResp + 51, // 168: Cast.Cast.OAuthAccountV2:output_type -> Cast.OAuthAccountV2Resp + 55, // 169: Cast.Cast.OAuthCodeToToken:output_type -> Cast.OAuthCodeToTokenResp + 136, // 170: Cast.Cast.UpdateOAuth:output_type -> google.protobuf.Empty + 58, // 171: Cast.Cast.RefreshToken:output_type -> Cast.RefreshTokenResp + 60, // 172: Cast.Cast.PublishMediaInfo:output_type -> Cast.PublishMediaInfoResp + 136, // 173: Cast.Cast.Test:output_type -> google.protobuf.Empty + 62, // 174: Cast.Cast.UpdateVideoScript:output_type -> Cast.UpdateVideoScriptResp + 64, // 175: Cast.Cast.GetVideoScript:output_type -> Cast.GetVideoScriptResp + 67, // 176: Cast.Cast.ListVideoScripts:output_type -> Cast.ListVideoScriptsResp + 136, // 177: Cast.Cast.DeleteVideoScript:output_type -> google.protobuf.Empty + 70, // 178: Cast.Cast.UpdateVideoScriptBatch:output_type -> Cast.UpdateVideoScriptBatchResp + 136, // 179: Cast.Cast.UpdateScriptStatus:output_type -> google.protobuf.Empty + 74, // 180: Cast.Cast.GetLayout:output_type -> Cast.GetLayoutResp + 136, // 181: Cast.Cast.SetLayout:output_type -> google.protobuf.Empty + 136, // 182: Cast.Cast.UpdatePrompt:output_type -> google.protobuf.Empty + 136, // 183: Cast.Cast.DeletePrompt:output_type -> google.protobuf.Empty + 78, // 184: Cast.Cast.GetPrompt:output_type -> Cast.GetPromptResp + 81, // 185: Cast.Cast.ListPrompts:output_type -> Cast.ListPromptsResp + 83, // 186: Cast.Cast.UpdatePromptBatch:output_type -> Cast.UpdatePromptBatchResp + 86, // 187: Cast.Cast.UpdateArtist:output_type -> Cast.UpdateArtistResp + 88, // 188: Cast.Cast.GetArtist:output_type -> Cast.GetArtistResp + 90, // 189: Cast.Cast.CreateWorkAnalysis:output_type -> Cast.CreateWorkAnalysisResp + 136, // 190: Cast.Cast.UpdateWorkAnalysis:output_type -> google.protobuf.Empty + 136, // 191: Cast.Cast.UpdateWorkAnalysisStatus:output_type -> google.protobuf.Empty + 106, // 192: Cast.Cast.GetWorkAnalysis:output_type -> Cast.GetWorkAnalysisDetailResp + 105, // 193: Cast.Cast.GetLatestWorkAnalysis:output_type -> Cast.GetWorkAnalysisResp + 109, // 194: Cast.Cast.ListWorkAnalysis:output_type -> Cast.ListWorkAnalysisResp + 136, // 195: Cast.Cast.DeleteWorkAnalysis:output_type -> google.protobuf.Empty + 113, // 196: Cast.Cast.ArtistDataList:output_type -> Cast.ArtistDataListResp + 116, // 197: Cast.Cast.MediaDataList:output_type -> Cast.MediaDataListResp + 118, // 198: Cast.Cast.DataOverview:output_type -> Cast.DataOverviewResp + 120, // 199: Cast.Cast.ArtistMetricsSeries:output_type -> Cast.ArtistMetricsSeriesResp + 125, // 200: Cast.Cast.ArtistMetricsDailyWindow:output_type -> Cast.ArtistMetricsDailyWindowResp + 128, // 201: Cast.Cast.TobeConfirmedList:output_type -> Cast.TobeConfirmedListResp + 146, // [146:202] is the sub-list for method output_type + 90, // [90:146] is the sub-list for method input_type + 90, // [90:90] is the sub-list for extension type_name + 90, // [90:90] is the sub-list for extension extendee + 0, // [0:90] is the sub-list for field type_name } func init() { file_pb_fiee_cast_proto_init() } @@ -13513,1551 +12454,13 @@ func file_pb_fiee_cast_proto_init() { if File_pb_fiee_cast_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_pb_fiee_cast_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MediaUserListReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MediaUserInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MediaUserListResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateMediaAccountReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateMediaAccountResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnbindManagerReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnbindManagerResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BindManagerReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateWorkImageReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateWorkImageResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PublishConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateWorkVideoReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateWorkVideoResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MediaInfoReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MediaInfoResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkListReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkListResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkDetailReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkLogInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkDetailResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateStatusReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MediaAccountsReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MediaAccountsResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MediaWorksReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MediaWorksResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PublishReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PublishResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RePublishReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RePublishResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DelWorkReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkInfoReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkInfoResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArtistInfoReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArtistInfoResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ImportWorkBatchReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ImportWorkBatchResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PlatformInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateWorkPlatformInfoReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateWorkPlatformInfoResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateWorkPublishLogReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RefreshWorkListReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RefreshWorkListResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OAuthAccountReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OAuthAccountResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OAuthAccountV2Req); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OAuthAccountV2Resp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OAuthYoutubeTokenReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OAuthYoutubeTokenResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OAuthCodeToTokenReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OAuthCodeToTokenResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateOAuthReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RefreshTokenReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RefreshTokenResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PublishMediaInfoReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PublishMediaInfoResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateVideoScriptReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateVideoScriptResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVideoScriptReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVideoScriptResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListVideoScriptsReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VideoScriptInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListVideoScriptsResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteVideoScriptReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateVideoScriptBatchReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateVideoScriptBatchResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateScriptStatusReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetLayoutReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLayoutReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLayoutResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdatePromptReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeletePromptReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPromptReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPromptResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListPromptsReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PromptInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListPromptsResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdatePromptBatchReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdatePromptBatchResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArtistInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateArtistReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateArtistResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetArtistReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetArtistResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateWorkAnalysisReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateWorkAnalysisResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateWorkAnalysisReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateWorkAnalysisStatusReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkAnalysisLogInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkAnalysisFansSeries); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkAnalysisViewsSeries); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkAnalysisLikesSeries); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkAnalysisCommentsSeries); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkAnalysisSharesSeries); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkAnalysisTopCities); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkAnalysisMostActiveDay); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkAnalysisBestPostTime); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkAnalysisExtra); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetWorkAnalysisDetailReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLatestWorkAnalysisReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetWorkAnalysisResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetWorkAnalysisDetailResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListWorkAnalysisReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkAnalysisInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListWorkAnalysisResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteWorkAnalysisReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArtistDataListReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArtistDataRespItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArtistDataListResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MediaDataListReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MediaDataListItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MediaDataListResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DataOverviewReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DataOverviewResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArtistMetricsSeriesReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArtistMetricsSeriesResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArtistMetricsDailyWindowReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SimplePoint); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BestPostTimePoint); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MostActiveDayPoint); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArtistMetricsDailyWindowResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TobeConfirmedListReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TobeConfirmedItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TobeConfirmedListResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkListResp_Info); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MediaAccountsResp_Info); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MediaWorksResp_Info); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PublishResp_Info); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pb_fiee_cast_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RefreshWorkListResp_Info); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_pb_fiee_cast_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_pb_fiee_cast_proto_rawDesc), len(file_pb_fiee_cast_proto_rawDesc)), NumEnums: 6, - NumMessages: 129, + NumMessages: 130, NumExtensions: 0, NumServices: 1, }, @@ -15067,7 +12470,6 @@ func file_pb_fiee_cast_proto_init() { MessageInfos: file_pb_fiee_cast_proto_msgTypes, }.Build() File_pb_fiee_cast_proto = out.File - file_pb_fiee_cast_proto_rawDesc = nil file_pb_fiee_cast_proto_goTypes = nil file_pb_fiee_cast_proto_depIdxs = nil } diff --git a/api/cast/cast.pb.validate.go b/api/cast/cast.pb.validate.go index e8534f0..f472878 100644 --- a/api/cast/cast.pb.validate.go +++ b/api/cast/cast.pb.validate.go @@ -91,7 +91,7 @@ type MediaUserListReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MediaUserListReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -211,7 +211,7 @@ type MediaUserInfoMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MediaUserInfoMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -347,7 +347,7 @@ type MediaUserListRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MediaUserListRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -469,7 +469,7 @@ type UpdateMediaAccountReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpdateMediaAccountReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -573,7 +573,7 @@ type UpdateMediaAccountRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpdateMediaAccountRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -677,7 +677,7 @@ type UnbindManagerReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UnbindManagerReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -779,7 +779,7 @@ type UnbindManagerRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UnbindManagerRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -887,7 +887,7 @@ type BindManagerReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BindManagerReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -1127,7 +1127,7 @@ type UpdateWorkImageReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpdateWorkImageReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -1231,7 +1231,7 @@ type UpdateWorkImageRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpdateWorkImageRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -1345,7 +1345,7 @@ type PublishConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PublishConfigMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -1589,7 +1589,7 @@ type UpdateWorkVideoReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpdateWorkVideoReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -1693,7 +1693,7 @@ type UpdateWorkVideoRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpdateWorkVideoRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -1800,7 +1800,7 @@ type MediaInfoReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MediaInfoReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -1929,7 +1929,7 @@ type MediaInfoRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MediaInfoRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -2058,7 +2058,7 @@ type WorkListReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WorkListReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -2193,7 +2193,7 @@ type WorkListRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WorkListRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -2295,7 +2295,7 @@ type WorkDetailReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WorkDetailReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -2410,7 +2410,7 @@ type WorkLogInfoMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WorkLogInfoMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -2714,6 +2714,12 @@ func (m *WorkDetailResp) validate(all bool) error { // no validation rules for ArtistUuid + // no validation rules for TiktokStatus + + // no validation rules for InsStatus + + // no validation rules for DmStatus + if len(errors) > 0 { return WorkDetailRespMultiError(errors) } @@ -2728,7 +2734,7 @@ type WorkDetailRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WorkDetailRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -2844,7 +2850,7 @@ type UpdateStatusReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpdateStatusReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -2946,7 +2952,7 @@ type MediaAccountsReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MediaAccountsReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -3080,7 +3086,7 @@ type MediaAccountsRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MediaAccountsRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -3188,7 +3194,7 @@ type MediaWorksReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MediaWorksReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -3324,7 +3330,7 @@ type MediaWorksRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MediaWorksRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -3423,7 +3429,7 @@ type PublishReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PublishReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -3556,7 +3562,7 @@ type PublishRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PublishRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -3657,7 +3663,7 @@ type RePublishReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RePublishReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -3761,7 +3767,7 @@ type RePublishRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RePublishRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -3862,7 +3868,7 @@ type DelWorkReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DelWorkReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -3963,7 +3969,7 @@ type WorkInfoReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WorkInfoReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -4074,7 +4080,7 @@ type WorkInfoRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WorkInfoRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -4176,7 +4182,7 @@ type ArtistInfoReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ArtistInfoReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -4284,7 +4290,7 @@ type ArtistInfoRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ArtistInfoRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -4418,7 +4424,7 @@ type ImportWorkBatchReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ImportWorkBatchReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -4558,7 +4564,7 @@ type ImportWorkBatchRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ImportWorkBatchRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -4675,7 +4681,7 @@ type PlatformInfoMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PlatformInfoMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -4809,7 +4815,7 @@ type UpdateWorkPlatformInfoReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpdateWorkPlatformInfoReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -4911,7 +4917,7 @@ type UpdateWorkPlatformInfoRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpdateWorkPlatformInfoRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -5019,7 +5025,7 @@ type UpdateWorkPublishLogReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpdateWorkPublishLogReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -5123,7 +5129,7 @@ type RefreshWorkListReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RefreshWorkListReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -5259,7 +5265,7 @@ type RefreshWorkListRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RefreshWorkListRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -5363,7 +5369,7 @@ type OAuthAccountReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OAuthAccountReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -5465,7 +5471,7 @@ type OAuthAccountRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OAuthAccountRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -5567,7 +5573,7 @@ type OAuthAccountV2ReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OAuthAccountV2ReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -5661,6 +5667,8 @@ func (m *OAuthAccountV2Resp) validate(all bool) error { // no validation rules for PlatformID + // no validation rules for AuthUrl + if len(errors) > 0 { return OAuthAccountV2RespMultiError(errors) } @@ -5675,7 +5683,7 @@ type OAuthAccountV2RespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OAuthAccountV2RespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -5781,7 +5789,7 @@ type OAuthYoutubeTokenReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OAuthYoutubeTokenReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -5889,7 +5897,7 @@ type OAuthYoutubeTokenRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OAuthYoutubeTokenRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -5997,7 +6005,7 @@ type OAuthCodeToTokenReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OAuthCodeToTokenReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -6099,7 +6107,7 @@ type OAuthCodeToTokenRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OAuthCodeToTokenRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -6187,13 +6195,39 @@ func (m *UpdateOAuthReq) validate(all bool) error { var errors []error - // no validation rules for ArtistUuid + for idx, item := range m.GetData() { + _, _ = idx, item - // no validation rules for PlatformID + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, UpdateOAuthReqValidationError{ + field: fmt.Sprintf("Data[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, UpdateOAuthReqValidationError{ + field: fmt.Sprintf("Data[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UpdateOAuthReqValidationError{ + field: fmt.Sprintf("Data[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } - // no validation rules for AuthStatus - - // no validation rules for AutInfo + } if len(errors) > 0 { return UpdateOAuthReqMultiError(errors) @@ -6209,7 +6243,7 @@ type UpdateOAuthReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpdateOAuthReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -6315,7 +6349,7 @@ type RefreshTokenReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RefreshTokenReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -6419,7 +6453,7 @@ type RefreshTokenRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RefreshTokenRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -6525,7 +6559,7 @@ type PublishMediaInfoReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PublishMediaInfoReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -6635,7 +6669,7 @@ type PublishMediaInfoRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PublishMediaInfoRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -6755,7 +6789,7 @@ type UpdateVideoScriptReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpdateVideoScriptReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -6859,7 +6893,7 @@ type UpdateVideoScriptRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpdateVideoScriptRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -6963,7 +6997,7 @@ type GetVideoScriptReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GetVideoScriptReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -7091,7 +7125,7 @@ type GetVideoScriptRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GetVideoScriptRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -7211,7 +7245,7 @@ type ListVideoScriptsReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListVideoScriptsReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -7341,7 +7375,7 @@ type VideoScriptInfoMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m VideoScriptInfoMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -7477,7 +7511,7 @@ type ListVideoScriptsRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListVideoScriptsRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -7581,7 +7615,7 @@ type DeleteVideoScriptReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DeleteVideoScriptReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -7717,7 +7751,7 @@ type UpdateVideoScriptBatchReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpdateVideoScriptBatchReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -7857,7 +7891,7 @@ type UpdateVideoScriptBatchRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpdateVideoScriptBatchRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -7967,7 +8001,7 @@ type UpdateScriptStatusReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpdateScriptStatusReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -8074,7 +8108,7 @@ type SetLayoutReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SetLayoutReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -8177,7 +8211,7 @@ type GetLayoutReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GetLayoutReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -8281,7 +8315,7 @@ type GetLayoutRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GetLayoutRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -8387,7 +8421,7 @@ type UpdatePromptReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpdatePromptReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -8489,7 +8523,7 @@ type DeletePromptReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DeletePromptReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -8590,7 +8624,7 @@ type GetPromptReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GetPromptReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -8698,7 +8732,7 @@ type GetPromptRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GetPromptRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -8808,7 +8842,7 @@ type ListPromptsReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListPromptsReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -8923,7 +8957,7 @@ type PromptInfoMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PromptInfoMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -9059,7 +9093,7 @@ type ListPromptsRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListPromptsRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -9193,7 +9227,7 @@ type UpdatePromptBatchReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpdatePromptBatchReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -9333,7 +9367,7 @@ type UpdatePromptBatchRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpdatePromptBatchRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -9442,7 +9476,7 @@ type ArtistInfoMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ArtistInfoMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -9573,7 +9607,7 @@ type UpdateArtistReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpdateArtistReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -9675,7 +9709,7 @@ type UpdateArtistRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpdateArtistRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -9776,7 +9810,7 @@ type GetArtistReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GetArtistReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -9907,7 +9941,7 @@ type GetArtistRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GetArtistRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -10055,7 +10089,7 @@ type CreateWorkAnalysisReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CreateWorkAnalysisReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -10159,7 +10193,7 @@ type CreateWorkAnalysisRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CreateWorkAnalysisRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -10303,7 +10337,7 @@ type UpdateWorkAnalysisReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpdateWorkAnalysisReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -10419,7 +10453,7 @@ type UpdateWorkAnalysisStatusReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpdateWorkAnalysisStatusReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -10540,7 +10574,7 @@ type WorkAnalysisLogInfoMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WorkAnalysisLogInfoMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -10658,7 +10692,7 @@ type WorkAnalysisFansSeriesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WorkAnalysisFansSeriesMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -10776,7 +10810,7 @@ type WorkAnalysisViewsSeriesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WorkAnalysisViewsSeriesMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -10894,7 +10928,7 @@ type WorkAnalysisLikesSeriesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WorkAnalysisLikesSeriesMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -11012,7 +11046,7 @@ type WorkAnalysisCommentsSeriesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WorkAnalysisCommentsSeriesMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -11130,7 +11164,7 @@ type WorkAnalysisSharesSeriesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WorkAnalysisSharesSeriesMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -11240,7 +11274,7 @@ type WorkAnalysisTopCitiesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WorkAnalysisTopCitiesMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -11350,7 +11384,7 @@ type WorkAnalysisMostActiveDayMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WorkAnalysisMostActiveDayMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -11460,7 +11494,7 @@ type WorkAnalysisBestPostTimeMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WorkAnalysisBestPostTimeMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -11572,7 +11606,7 @@ type WorkAnalysisExtraMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WorkAnalysisExtraMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -11676,7 +11710,7 @@ type GetWorkAnalysisDetailReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GetWorkAnalysisDetailReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -11780,7 +11814,7 @@ type GetLatestWorkAnalysisReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GetLatestWorkAnalysisReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -12174,7 +12208,7 @@ type GetWorkAnalysisRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GetWorkAnalysisRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -12631,7 +12665,7 @@ type GetWorkAnalysisDetailRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GetWorkAnalysisDetailRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -12753,7 +12787,7 @@ type ListWorkAnalysisReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListWorkAnalysisReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -12881,7 +12915,7 @@ type WorkAnalysisInfoMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WorkAnalysisInfoMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -13017,7 +13051,7 @@ type ListWorkAnalysisRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListWorkAnalysisRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -13121,7 +13155,7 @@ type DeleteWorkAnalysisReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DeleteWorkAnalysisReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -13239,7 +13273,7 @@ type ArtistDataListReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ArtistDataListReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -13375,7 +13409,7 @@ type ArtistDataRespItemMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ArtistDataRespItemMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -13513,7 +13547,7 @@ type ArtistDataListRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ArtistDataListRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -13625,7 +13659,7 @@ type MediaDataListReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MediaDataListReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -13751,7 +13785,7 @@ type MediaDataListItemMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MediaDataListItemMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -13889,7 +13923,7 @@ type MediaDataListRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MediaDataListRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -13993,7 +14027,7 @@ type DataOverviewReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DataOverviewReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -14133,7 +14167,7 @@ type DataOverviewRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DataOverviewRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -14245,7 +14279,7 @@ type ArtistMetricsSeriesReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ArtistMetricsSeriesReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -14550,7 +14584,7 @@ type ArtistMetricsSeriesRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ArtistMetricsSeriesRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -14658,7 +14692,7 @@ type ArtistMetricsDailyWindowReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ArtistMetricsDailyWindowReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -14764,7 +14798,7 @@ type SimplePointMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SimplePointMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -14868,7 +14902,7 @@ type BestPostTimePointMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BestPostTimePointMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -14974,7 +15008,7 @@ type MostActiveDayPointMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MostActiveDayPointMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -15324,7 +15358,7 @@ type ArtistMetricsDailyWindowRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ArtistMetricsDailyWindowRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -15433,7 +15467,7 @@ type TobeConfirmedListReqMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TobeConfirmedListReqMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -15567,7 +15601,7 @@ type TobeConfirmedItemMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TobeConfirmedItemMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -15705,7 +15739,7 @@ type TobeConfirmedListRespMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TobeConfirmedListRespMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -15831,7 +15865,7 @@ type WorkListResp_InfoMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WorkListResp_InfoMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -15945,7 +15979,7 @@ type MediaAccountsResp_InfoMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MediaAccountsResp_InfoMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -16065,7 +16099,7 @@ type MediaWorksResp_InfoMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MediaWorksResp_InfoMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -16171,7 +16205,7 @@ type PublishResp_InfoMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PublishResp_InfoMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -16277,7 +16311,7 @@ type RefreshWorkListResp_InfoMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RefreshWorkListResp_InfoMultiError) Error() string { - var msgs []string + msgs := make([]string, 0, len(m)) for _, err := range m { msgs = append(msgs, err.Error()) } @@ -16342,3 +16376,115 @@ var _ interface { Cause() error ErrorName() string } = RefreshWorkListResp_InfoValidationError{} + +// Validate checks the field values on UpdateOAuthReq_Info with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *UpdateOAuthReq_Info) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on UpdateOAuthReq_Info with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// UpdateOAuthReq_InfoMultiError, or nil if none found. +func (m *UpdateOAuthReq_Info) ValidateAll() error { + return m.validate(true) +} + +func (m *UpdateOAuthReq_Info) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ArtistUuid + + // no validation rules for PlatformID + + // no validation rules for AsID + + // no validation rules for PlatformUserName + + // no validation rules for AutInfo + + if len(errors) > 0 { + return UpdateOAuthReq_InfoMultiError(errors) + } + + return nil +} + +// UpdateOAuthReq_InfoMultiError is an error wrapping multiple validation +// errors returned by UpdateOAuthReq_Info.ValidateAll() if the designated +// constraints aren't met. +type UpdateOAuthReq_InfoMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m UpdateOAuthReq_InfoMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m UpdateOAuthReq_InfoMultiError) AllErrors() []error { return m } + +// UpdateOAuthReq_InfoValidationError is the validation error returned by +// UpdateOAuthReq_Info.Validate if the designated constraints aren't met. +type UpdateOAuthReq_InfoValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UpdateOAuthReq_InfoValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UpdateOAuthReq_InfoValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UpdateOAuthReq_InfoValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UpdateOAuthReq_InfoValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UpdateOAuthReq_InfoValidationError) ErrorName() string { + return "UpdateOAuthReq_InfoValidationError" +} + +// Error satisfies the builtin error interface +func (e UpdateOAuthReq_InfoValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUpdateOAuthReq_Info.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UpdateOAuthReq_InfoValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UpdateOAuthReq_InfoValidationError{} diff --git a/api/cast/cast_triple.pb.go b/api/cast/cast_triple.pb.go index 120b9c4..698aa44 100644 --- a/api/cast/cast_triple.pb.go +++ b/api/cast/cast_triple.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-triple. DO NOT EDIT. // versions: // - protoc-gen-go-triple v1.0.8 -// - protoc v3.21.1 +// - protoc v6.32.0--rc2 // source: pb/fiee/cast.proto package cast diff --git a/api/pb/aryshare/ayrshare.pb.go b/api/pb/aryshare/ayrshare.pb.go new file mode 100644 index 0000000..6bdfcbf --- /dev/null +++ b/api/pb/aryshare/ayrshare.pb.go @@ -0,0 +1,3239 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.1 +// protoc v3.21.1 +// source: pb/ayrshare.proto + +package aryshare + +import ( + _ "github.com/mwitkow/go-proto-validators" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + _ "google.golang.org/protobuf/types/descriptorpb" + 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) +) + +// Instagram 用户标签(带坐标) +type UserTag struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username"` + X float64 `protobuf:"fixed64,2,opt,name=x,proto3" json:"x"` // Required for images, cannot be used with Reels + Y float64 `protobuf:"fixed64,3,opt,name=y,proto3" json:"y"` // Required for images, cannot be used with Reels +} + +func (x *UserTag) Reset() { + *x = UserTag{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserTag) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserTag) ProtoMessage() {} + +func (x *UserTag) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 UserTag.ProtoReflect.Descriptor instead. +func (*UserTag) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{0} +} + +func (x *UserTag) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *UserTag) GetX() float64 { + if x != nil { + return x.X + } + return 0 +} + +func (x *UserTag) GetY() float64 { + if x != nil { + return x.Y + } + return 0 +} + +// Instagram 特定发布选项 +type InstagramOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ShareReelsFeed bool `protobuf:"varint,1,opt,name=shareReelsFeed,proto3" json:"shareReelsFeed"` // Whether Reel can appear in both Feed and Reels tabs + AudioName string `protobuf:"bytes,2,opt,name=audioName,proto3" json:"audioName"` // Name of the audio music for Reels + ThumbNail string `protobuf:"bytes,3,opt,name=thumbNail,proto3" json:"thumbNail"` // URL of the Reel cover image (thumbnail) + ThumbNailOffset int32 `protobuf:"varint,4,opt,name=thumbNailOffset,proto3" json:"thumbNailOffset"` // Offset in milliseconds of the thumbnail frame + Stories bool `protobuf:"varint,5,opt,name=stories,proto3" json:"stories"` // Whether to post as Instagram Story + AltText []string `protobuf:"bytes,6,rep,name=altText,proto3" json:"altText"` // Array of alternative text for images (up to 1000 chars per image) + LocationId string `protobuf:"bytes,7,opt,name=locationId,proto3" json:"locationId"` // Facebook Page ID or Page name + UserTags []*UserTag `protobuf:"bytes,8,rep,name=userTags,proto3" json:"userTags"` // Array of user tags with username and coordinates + Collaborators []string `protobuf:"bytes,9,rep,name=collaborators,proto3" json:"collaborators"` // Array of Instagram usernames (up to 3) + AutoResize bool `protobuf:"varint,10,opt,name=autoResize,proto3" json:"autoResize"` // Auto resize images to 1080x1080px (Max Pack required) + DisableComments bool `protobuf:"varint,11,opt,name=disableComments,proto3" json:"disableComments"` // Disable comments on the published post +} + +func (x *InstagramOptions) Reset() { + *x = InstagramOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InstagramOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstagramOptions) ProtoMessage() {} + +func (x *InstagramOptions) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 InstagramOptions.ProtoReflect.Descriptor instead. +func (*InstagramOptions) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{1} +} + +func (x *InstagramOptions) GetShareReelsFeed() bool { + if x != nil { + return x.ShareReelsFeed + } + return false +} + +func (x *InstagramOptions) GetAudioName() string { + if x != nil { + return x.AudioName + } + return "" +} + +func (x *InstagramOptions) GetThumbNail() string { + if x != nil { + return x.ThumbNail + } + return "" +} + +func (x *InstagramOptions) GetThumbNailOffset() int32 { + if x != nil { + return x.ThumbNailOffset + } + return 0 +} + +func (x *InstagramOptions) GetStories() bool { + if x != nil { + return x.Stories + } + return false +} + +func (x *InstagramOptions) GetAltText() []string { + if x != nil { + return x.AltText + } + return nil +} + +func (x *InstagramOptions) GetLocationId() string { + if x != nil { + return x.LocationId + } + return "" +} + +func (x *InstagramOptions) GetUserTags() []*UserTag { + if x != nil { + return x.UserTags + } + return nil +} + +func (x *InstagramOptions) GetCollaborators() []string { + if x != nil { + return x.Collaborators + } + return nil +} + +func (x *InstagramOptions) GetAutoResize() bool { + if x != nil { + return x.AutoResize + } + return false +} + +func (x *InstagramOptions) GetDisableComments() bool { + if x != nil { + return x.DisableComments + } + return false +} + +// TikTok 特定发布选项 +type TikTokOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AutoAddMusic bool `protobuf:"varint,1,opt,name=autoAddMusic,proto3" json:"autoAddMusic"` // Whether to automatically add recommended music (image only) + DisableComments bool `protobuf:"varint,2,opt,name=disableComments,proto3" json:"disableComments"` // Whether to disable comments on the published post + DisableDuet bool `protobuf:"varint,3,opt,name=disableDuet,proto3" json:"disableDuet"` // Disable duets on the published video (video only) + DisableStitch bool `protobuf:"varint,4,opt,name=disableStitch,proto3" json:"disableStitch"` // Disable stitch on the published video (video only) + Draft bool `protobuf:"varint,5,opt,name=draft,proto3" json:"draft"` // Whether to create a draft post + IsAIGenerated bool `protobuf:"varint,6,opt,name=isAIGenerated,proto3" json:"isAIGenerated"` // Whether to enable AI-generated content toggle (video only) + IsBrandedContent bool `protobuf:"varint,7,opt,name=isBrandedContent,proto3" json:"isBrandedContent"` // Whether to enable Branded Content toggle + IsBrandOrganic bool `protobuf:"varint,8,opt,name=isBrandOrganic,proto3" json:"isBrandOrganic"` // Whether to enable Brand Organic Content toggle + ImageCoverIndex int32 `protobuf:"varint,9,opt,name=imageCoverIndex,proto3" json:"imageCoverIndex"` // Index of mediaUrls to be used as cover (image only, default 0) + Title string `protobuf:"bytes,10,opt,name=title,proto3" json:"title"` // Title of the post (image only) + ThumbNailOffset int32 `protobuf:"varint,11,opt,name=thumbNailOffset,proto3" json:"thumbNailOffset"` // Frame to use for video cover in milliseconds (video only) + ThumbNail string `protobuf:"bytes,12,opt,name=thumbNail,proto3" json:"thumbNail"` // URL of thumbnail image for video (video only) + Visibility string `protobuf:"bytes,13,opt,name=visibility,proto3" json:"visibility"` // How the post is shared: "public", "private", "followers", "friends" (image only, default "public") +} + +func (x *TikTokOptions) Reset() { + *x = TikTokOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TikTokOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TikTokOptions) ProtoMessage() {} + +func (x *TikTokOptions) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 TikTokOptions.ProtoReflect.Descriptor instead. +func (*TikTokOptions) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{2} +} + +func (x *TikTokOptions) GetAutoAddMusic() bool { + if x != nil { + return x.AutoAddMusic + } + return false +} + +func (x *TikTokOptions) GetDisableComments() bool { + if x != nil { + return x.DisableComments + } + return false +} + +func (x *TikTokOptions) GetDisableDuet() bool { + if x != nil { + return x.DisableDuet + } + return false +} + +func (x *TikTokOptions) GetDisableStitch() bool { + if x != nil { + return x.DisableStitch + } + return false +} + +func (x *TikTokOptions) GetDraft() bool { + if x != nil { + return x.Draft + } + return false +} + +func (x *TikTokOptions) GetIsAIGenerated() bool { + if x != nil { + return x.IsAIGenerated + } + return false +} + +func (x *TikTokOptions) GetIsBrandedContent() bool { + if x != nil { + return x.IsBrandedContent + } + return false +} + +func (x *TikTokOptions) GetIsBrandOrganic() bool { + if x != nil { + return x.IsBrandOrganic + } + return false +} + +func (x *TikTokOptions) GetImageCoverIndex() int32 { + if x != nil { + return x.ImageCoverIndex + } + return 0 +} + +func (x *TikTokOptions) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *TikTokOptions) GetThumbNailOffset() int32 { + if x != nil { + return x.ThumbNailOffset + } + return 0 +} + +func (x *TikTokOptions) GetThumbNail() string { + if x != nil { + return x.ThumbNail + } + return "" +} + +func (x *TikTokOptions) GetVisibility() string { + if x != nil { + return x.Visibility + } + return "" +} + +// 发布帖子到社交媒体平台 +type PostRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Post string `protobuf:"bytes,1,opt,name=post,proto3" json:"post"` + Platforms []string `protobuf:"bytes,2,rep,name=platforms,proto3" json:"platforms"` + MediaUrls []string `protobuf:"bytes,3,rep,name=mediaUrls,proto3" json:"mediaUrls"` + IsVideo bool `protobuf:"varint,4,opt,name=isVideo,proto3" json:"isVideo"` + ScheduleDate string `protobuf:"bytes,5,opt,name=scheduleDate,proto3" json:"scheduleDate"` + ValidateScheduled bool `protobuf:"varint,6,opt,name=validateScheduled,proto3" json:"validateScheduled"` + ShortenLinks bool `protobuf:"varint,7,opt,name=shortenLinks,proto3" json:"shortenLinks"` + DisableComments bool `protobuf:"varint,8,opt,name=disableComments,proto3" json:"disableComments"` + InstagramOptions *InstagramOptions `protobuf:"bytes,9,opt,name=instagramOptions,proto3" json:"instagramOptions"` + TikTokOptions *TikTokOptions `protobuf:"bytes,10,opt,name=tikTokOptions,proto3" json:"tikTokOptions"` + ProfileKey string `protobuf:"bytes,11,opt,name=profileKey,proto3" json:"profileKey"` +} + +func (x *PostRequest) Reset() { + *x = PostRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostRequest) ProtoMessage() {} + +func (x *PostRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 PostRequest.ProtoReflect.Descriptor instead. +func (*PostRequest) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{3} +} + +func (x *PostRequest) GetPost() string { + if x != nil { + return x.Post + } + return "" +} + +func (x *PostRequest) GetPlatforms() []string { + if x != nil { + return x.Platforms + } + return nil +} + +func (x *PostRequest) GetMediaUrls() []string { + if x != nil { + return x.MediaUrls + } + return nil +} + +func (x *PostRequest) GetIsVideo() bool { + if x != nil { + return x.IsVideo + } + return false +} + +func (x *PostRequest) GetScheduleDate() string { + if x != nil { + return x.ScheduleDate + } + return "" +} + +func (x *PostRequest) GetValidateScheduled() bool { + if x != nil { + return x.ValidateScheduled + } + return false +} + +func (x *PostRequest) GetShortenLinks() bool { + if x != nil { + return x.ShortenLinks + } + return false +} + +func (x *PostRequest) GetDisableComments() bool { + if x != nil { + return x.DisableComments + } + return false +} + +func (x *PostRequest) GetInstagramOptions() *InstagramOptions { + if x != nil { + return x.InstagramOptions + } + return nil +} + +func (x *PostRequest) GetTikTokOptions() *TikTokOptions { + if x != nil { + return x.TikTokOptions + } + return nil +} + +func (x *PostRequest) GetProfileKey() string { + if x != nil { + return x.ProfileKey + } + return "" +} + +// 单个平台的帖子ID响应 +type PostId struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id"` + Cid string `protobuf:"bytes,3,opt,name=cid,proto3" json:"cid"` + PostUrl string `protobuf:"bytes,4,opt,name=postUrl,proto3" json:"postUrl"` + Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform"` + Type string `protobuf:"bytes,6,opt,name=type,proto3" json:"type"` + Owner string `protobuf:"bytes,7,opt,name=owner,proto3" json:"owner"` + MediaId string `protobuf:"bytes,8,opt,name=mediaId,proto3" json:"mediaId"` + Ended string `protobuf:"bytes,9,opt,name=ended,proto3" json:"ended"` + IdShare string `protobuf:"bytes,10,opt,name=idShare,proto3" json:"idShare"` + IsVideo bool `protobuf:"varint,11,opt,name=isVideo,proto3" json:"isVideo"` + UsedQuota int32 `protobuf:"varint,12,opt,name=usedQuota,proto3" json:"usedQuota"` +} + +func (x *PostId) Reset() { + *x = PostId{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostId) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostId) ProtoMessage() {} + +func (x *PostId) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 PostId.ProtoReflect.Descriptor instead. +func (*PostId) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{4} +} + +func (x *PostId) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *PostId) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *PostId) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +func (x *PostId) GetPostUrl() string { + if x != nil { + return x.PostUrl + } + return "" +} + +func (x *PostId) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *PostId) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *PostId) GetOwner() string { + if x != nil { + return x.Owner + } + return "" +} + +func (x *PostId) GetMediaId() string { + if x != nil { + return x.MediaId + } + return "" +} + +func (x *PostId) GetEnded() string { + if x != nil { + return x.Ended + } + return "" +} + +func (x *PostId) GetIdShare() string { + if x != nil { + return x.IdShare + } + return "" +} + +func (x *PostId) GetIsVideo() bool { + if x != nil { + return x.IsVideo + } + return false +} + +func (x *PostId) GetUsedQuota() int32 { + if x != nil { + return x.UsedQuota + } + return 0 +} + +// 帖子项(使用 profile key 时的响应格式) +type PostItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + Errors []string `protobuf:"bytes,2,rep,name=errors,proto3" json:"errors"` + PostIds []*PostId `protobuf:"bytes,3,rep,name=postIds,proto3" json:"postIds"` + Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id"` + RefId string `protobuf:"bytes,5,opt,name=refId,proto3" json:"refId"` + ProfileTitle string `protobuf:"bytes,6,opt,name=profileTitle,proto3" json:"profileTitle"` + Post string `protobuf:"bytes,7,opt,name=post,proto3" json:"post"` +} + +func (x *PostItem) Reset() { + *x = PostItem{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostItem) ProtoMessage() {} + +func (x *PostItem) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 PostItem.ProtoReflect.Descriptor instead. +func (*PostItem) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{5} +} + +func (x *PostItem) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *PostItem) GetErrors() []string { + if x != nil { + return x.Errors + } + return nil +} + +func (x *PostItem) GetPostIds() []*PostId { + if x != nil { + return x.PostIds + } + return nil +} + +func (x *PostItem) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *PostItem) GetRefId() string { + if x != nil { + return x.RefId + } + return "" +} + +func (x *PostItem) GetProfileTitle() string { + if x != nil { + return x.ProfileTitle + } + return "" +} + +func (x *PostItem) GetPost() string { + if x != nil { + return x.Post + } + return "" +} + +// 发布帖子响应 +type PostResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + Posts []*PostItem `protobuf:"bytes,2,rep,name=posts,proto3" json:"posts"` + // 兼容旧版本响应格式(不使用 profile key 时) + Errors []string `protobuf:"bytes,3,rep,name=errors,proto3" json:"errors"` + PostIds []*PostId `protobuf:"bytes,4,rep,name=postIds,proto3" json:"postIds"` + Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id"` +} + +func (x *PostResponse) Reset() { + *x = PostResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostResponse) ProtoMessage() {} + +func (x *PostResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 PostResponse.ProtoReflect.Descriptor instead. +func (*PostResponse) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{6} +} + +func (x *PostResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *PostResponse) GetPosts() []*PostItem { + if x != nil { + return x.Posts + } + return nil +} + +func (x *PostResponse) GetErrors() []string { + if x != nil { + return x.Errors + } + return nil +} + +func (x *PostResponse) GetPostIds() []*PostId { + if x != nil { + return x.PostIds + } + return nil +} + +func (x *PostResponse) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +// 获取帖子请求 +type GetPostRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` + ProfileKey string `protobuf:"bytes,2,opt,name=profileKey,proto3" json:"profileKey"` +} + +func (x *GetPostRequest) Reset() { + *x = GetPostRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPostRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPostRequest) ProtoMessage() {} + +func (x *GetPostRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 GetPostRequest.ProtoReflect.Descriptor instead. +func (*GetPostRequest) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{7} +} + +func (x *GetPostRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *GetPostRequest) GetProfileKey() string { + if x != nil { + return x.ProfileKey + } + return "" +} + +// 获取帖子响应 +type GetPostResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Created string `protobuf:"bytes,1,opt,name=created,proto3" json:"created"` + Errors []string `protobuf:"bytes,2,rep,name=errors,proto3" json:"errors"` + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id"` + MediaUrls []string `protobuf:"bytes,4,rep,name=mediaUrls,proto3" json:"mediaUrls"` + Platforms []string `protobuf:"bytes,5,rep,name=platforms,proto3" json:"platforms"` + Post string `protobuf:"bytes,6,opt,name=post,proto3" json:"post"` + PostIds []*PostId `protobuf:"bytes,7,rep,name=postIds,proto3" json:"postIds"` + ProfileTitle string `protobuf:"bytes,8,opt,name=profileTitle,proto3" json:"profileTitle"` + RefId string `protobuf:"bytes,9,opt,name=refId,proto3" json:"refId"` + ScheduleDate string `protobuf:"bytes,10,opt,name=scheduleDate,proto3" json:"scheduleDate"` + ShortenLinks bool `protobuf:"varint,11,opt,name=shortenLinks,proto3" json:"shortenLinks"` + Status string `protobuf:"bytes,12,opt,name=status,proto3" json:"status"` + Type string `protobuf:"bytes,13,opt,name=type,proto3" json:"type"` +} + +func (x *GetPostResponse) Reset() { + *x = GetPostResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPostResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPostResponse) ProtoMessage() {} + +func (x *GetPostResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 GetPostResponse.ProtoReflect.Descriptor instead. +func (*GetPostResponse) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{8} +} + +func (x *GetPostResponse) GetCreated() string { + if x != nil { + return x.Created + } + return "" +} + +func (x *GetPostResponse) GetErrors() []string { + if x != nil { + return x.Errors + } + return nil +} + +func (x *GetPostResponse) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *GetPostResponse) GetMediaUrls() []string { + if x != nil { + return x.MediaUrls + } + return nil +} + +func (x *GetPostResponse) GetPlatforms() []string { + if x != nil { + return x.Platforms + } + return nil +} + +func (x *GetPostResponse) GetPost() string { + if x != nil { + return x.Post + } + return "" +} + +func (x *GetPostResponse) GetPostIds() []*PostId { + if x != nil { + return x.PostIds + } + return nil +} + +func (x *GetPostResponse) GetProfileTitle() string { + if x != nil { + return x.ProfileTitle + } + return "" +} + +func (x *GetPostResponse) GetRefId() string { + if x != nil { + return x.RefId + } + return "" +} + +func (x *GetPostResponse) GetScheduleDate() string { + if x != nil { + return x.ScheduleDate + } + return "" +} + +func (x *GetPostResponse) GetShortenLinks() bool { + if x != nil { + return x.ShortenLinks + } + return false +} + +func (x *GetPostResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *GetPostResponse) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +// 获取用户详情请求 +type GetUserRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProfileKey string `protobuf:"bytes,1,opt,name=profileKey,proto3" json:"profileKey"` + InstagramDetails bool `protobuf:"varint,2,opt,name=instagramDetails,proto3" json:"instagramDetails"` +} + +func (x *GetUserRequest) Reset() { + *x = GetUserRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[9] + 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_pb_ayrshare_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 GetUserRequest.ProtoReflect.Descriptor instead. +func (*GetUserRequest) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{9} +} + +func (x *GetUserRequest) GetProfileKey() string { + if x != nil { + return x.ProfileKey + } + return "" +} + +func (x *GetUserRequest) GetInstagramDetails() bool { + if x != nil { + return x.InstagramDetails + } + return false +} + +// 时间戳 +type Timestamp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Seconds int64 `protobuf:"varint,1,opt,name=seconds,json=_seconds,proto3" json:"seconds"` + Nanoseconds int64 `protobuf:"varint,2,opt,name=nanoseconds,json=_nanoseconds,proto3" json:"nanoseconds"` + Utc string `protobuf:"bytes,3,opt,name=utc,proto3" json:"utc"` +} + +func (x *Timestamp) Reset() { + *x = Timestamp{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Timestamp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Timestamp) ProtoMessage() {} + +func (x *Timestamp) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 Timestamp.ProtoReflect.Descriptor instead. +func (*Timestamp) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{10} +} + +func (x *Timestamp) GetSeconds() int64 { + if x != nil { + return x.Seconds + } + return 0 +} + +func (x *Timestamp) GetNanoseconds() int64 { + if x != nil { + return x.Nanoseconds + } + return 0 +} + +func (x *Timestamp) GetUtc() string { + if x != nil { + return x.Utc + } + return "" +} + +// Twitter 使用情况 +type TwitterUsage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MonthlyUsage int32 `protobuf:"varint,1,opt,name=monthlyUsage,proto3" json:"monthlyUsage"` + MonthlyLimit int32 `protobuf:"varint,2,opt,name=monthlyLimit,proto3" json:"monthlyLimit"` + MonthlyReset string `protobuf:"bytes,3,opt,name=monthlyReset,proto3" json:"monthlyReset"` +} + +func (x *TwitterUsage) Reset() { + *x = TwitterUsage{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TwitterUsage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TwitterUsage) ProtoMessage() {} + +func (x *TwitterUsage) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 TwitterUsage.ProtoReflect.Descriptor instead. +func (*TwitterUsage) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{11} +} + +func (x *TwitterUsage) GetMonthlyUsage() int32 { + if x != nil { + return x.MonthlyUsage + } + return 0 +} + +func (x *TwitterUsage) GetMonthlyLimit() int32 { + if x != nil { + return x.MonthlyLimit + } + return 0 +} + +func (x *TwitterUsage) GetMonthlyReset() string { + if x != nil { + return x.MonthlyReset + } + return "" +} + +// 社交媒体账户显示名称和详情 +type DisplayName struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Created string `protobuf:"bytes,1,opt,name=created,proto3" json:"created"` + DisplayName string `protobuf:"bytes,2,opt,name=displayName,proto3" json:"displayName"` + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id"` + Platform string `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform"` + ProfileUrl string `protobuf:"bytes,5,opt,name=profileUrl,proto3" json:"profileUrl"` + UserImage string `protobuf:"bytes,6,opt,name=userImage,proto3" json:"userImage"` + Username string `protobuf:"bytes,7,opt,name=username,proto3" json:"username"` + Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description"` + MessagingActive bool `protobuf:"varint,9,opt,name=messagingActive,proto3" json:"messagingActive"` + PageName string `protobuf:"bytes,10,opt,name=pageName,proto3" json:"pageName"` + UserId string `protobuf:"bytes,11,opt,name=userId,proto3" json:"userId"` + MapsUrl string `protobuf:"bytes,12,opt,name=mapsUrl,proto3" json:"mapsUrl"` + PlaceId string `protobuf:"bytes,13,opt,name=placeId,proto3" json:"placeId"` + ReviewUrl string `protobuf:"bytes,14,opt,name=reviewUrl,proto3" json:"reviewUrl"` + IgId string `protobuf:"bytes,15,opt,name=igId,proto3" json:"igId"` + Type string `protobuf:"bytes,16,opt,name=type,proto3" json:"type"` + UsedQuota int32 `protobuf:"varint,17,opt,name=usedQuota,proto3" json:"usedQuota"` + RefreshDaysRemaining int32 `protobuf:"varint,18,opt,name=refreshDaysRemaining,proto3" json:"refreshDaysRemaining"` + RefreshRequired string `protobuf:"bytes,19,opt,name=refreshRequired,proto3" json:"refreshRequired"` + IsEligibleForGeoRestrictions bool `protobuf:"varint,20,opt,name=isEligibleForGeoRestrictions,proto3" json:"isEligibleForGeoRestrictions"` + IsVerified bool `protobuf:"varint,21,opt,name=isVerified,proto3" json:"isVerified"` + SubscriptionType string `protobuf:"bytes,22,opt,name=subscriptionType,proto3" json:"subscriptionType"` + TwitterUsage *TwitterUsage `protobuf:"bytes,23,opt,name=twitterUsage,proto3" json:"twitterUsage"` + VerifiedType string `protobuf:"bytes,24,opt,name=verifiedType,proto3" json:"verifiedType"` +} + +func (x *DisplayName) Reset() { + *x = DisplayName{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisplayName) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisplayName) ProtoMessage() {} + +func (x *DisplayName) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 DisplayName.ProtoReflect.Descriptor instead. +func (*DisplayName) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{12} +} + +func (x *DisplayName) GetCreated() string { + if x != nil { + return x.Created + } + return "" +} + +func (x *DisplayName) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *DisplayName) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *DisplayName) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *DisplayName) GetProfileUrl() string { + if x != nil { + return x.ProfileUrl + } + return "" +} + +func (x *DisplayName) GetUserImage() string { + if x != nil { + return x.UserImage + } + return "" +} + +func (x *DisplayName) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *DisplayName) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *DisplayName) GetMessagingActive() bool { + if x != nil { + return x.MessagingActive + } + return false +} + +func (x *DisplayName) GetPageName() string { + if x != nil { + return x.PageName + } + return "" +} + +func (x *DisplayName) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *DisplayName) GetMapsUrl() string { + if x != nil { + return x.MapsUrl + } + return "" +} + +func (x *DisplayName) GetPlaceId() string { + if x != nil { + return x.PlaceId + } + return "" +} + +func (x *DisplayName) GetReviewUrl() string { + if x != nil { + return x.ReviewUrl + } + return "" +} + +func (x *DisplayName) GetIgId() string { + if x != nil { + return x.IgId + } + return "" +} + +func (x *DisplayName) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *DisplayName) GetUsedQuota() int32 { + if x != nil { + return x.UsedQuota + } + return 0 +} + +func (x *DisplayName) GetRefreshDaysRemaining() int32 { + if x != nil { + return x.RefreshDaysRemaining + } + return 0 +} + +func (x *DisplayName) GetRefreshRequired() string { + if x != nil { + return x.RefreshRequired + } + return "" +} + +func (x *DisplayName) GetIsEligibleForGeoRestrictions() bool { + if x != nil { + return x.IsEligibleForGeoRestrictions + } + return false +} + +func (x *DisplayName) GetIsVerified() bool { + if x != nil { + return x.IsVerified + } + return false +} + +func (x *DisplayName) GetSubscriptionType() string { + if x != nil { + return x.SubscriptionType + } + return "" +} + +func (x *DisplayName) GetTwitterUsage() *TwitterUsage { + if x != nil { + return x.TwitterUsage + } + return nil +} + +func (x *DisplayName) GetVerifiedType() string { + if x != nil { + return x.VerifiedType + } + return "" +} + +// 获取用户详情响应 +type GetUserResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ActiveSocialAccounts []string `protobuf:"bytes,1,rep,name=activeSocialAccounts,proto3" json:"activeSocialAccounts"` + Created *Timestamp `protobuf:"bytes,2,opt,name=created,proto3" json:"created"` + DisplayNames []*DisplayName `protobuf:"bytes,3,rep,name=displayNames,proto3" json:"displayNames"` + Email string `protobuf:"bytes,4,opt,name=email,proto3" json:"email"` + LastApiCall string `protobuf:"bytes,5,opt,name=lastApiCall,proto3" json:"lastApiCall"` + MessagingConversationMonthlyCount int32 `protobuf:"varint,6,opt,name=messagingConversationMonthlyCount,proto3" json:"messagingConversationMonthlyCount"` + MessagingEnabled bool `protobuf:"varint,7,opt,name=messagingEnabled,proto3" json:"messagingEnabled"` + MonthlyApiCalls int32 `protobuf:"varint,8,opt,name=monthlyApiCalls,proto3" json:"monthlyApiCalls"` + MonthlyPostCount int32 `protobuf:"varint,9,opt,name=monthlyPostCount,proto3" json:"monthlyPostCount"` + MonthlyPostQuota int32 `protobuf:"varint,10,opt,name=monthlyPostQuota,proto3" json:"monthlyPostQuota"` + MonthlyApiCallsQuota int32 `protobuf:"varint,11,opt,name=monthlyApiCallsQuota,proto3" json:"monthlyApiCallsQuota"` + RefId string `protobuf:"bytes,12,opt,name=refId,proto3" json:"refId"` + Title string `protobuf:"bytes,13,opt,name=title,proto3" json:"title"` + LastUpdated string `protobuf:"bytes,14,opt,name=lastUpdated,proto3" json:"lastUpdated"` + NextUpdate string `protobuf:"bytes,15,opt,name=nextUpdate,proto3" json:"nextUpdate"` +} + +func (x *GetUserResponse) Reset() { + *x = GetUserResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetUserResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUserResponse) ProtoMessage() {} + +func (x *GetUserResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 GetUserResponse.ProtoReflect.Descriptor instead. +func (*GetUserResponse) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{13} +} + +func (x *GetUserResponse) GetActiveSocialAccounts() []string { + if x != nil { + return x.ActiveSocialAccounts + } + return nil +} + +func (x *GetUserResponse) GetCreated() *Timestamp { + if x != nil { + return x.Created + } + return nil +} + +func (x *GetUserResponse) GetDisplayNames() []*DisplayName { + if x != nil { + return x.DisplayNames + } + return nil +} + +func (x *GetUserResponse) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *GetUserResponse) GetLastApiCall() string { + if x != nil { + return x.LastApiCall + } + return "" +} + +func (x *GetUserResponse) GetMessagingConversationMonthlyCount() int32 { + if x != nil { + return x.MessagingConversationMonthlyCount + } + return 0 +} + +func (x *GetUserResponse) GetMessagingEnabled() bool { + if x != nil { + return x.MessagingEnabled + } + return false +} + +func (x *GetUserResponse) GetMonthlyApiCalls() int32 { + if x != nil { + return x.MonthlyApiCalls + } + return 0 +} + +func (x *GetUserResponse) GetMonthlyPostCount() int32 { + if x != nil { + return x.MonthlyPostCount + } + return 0 +} + +func (x *GetUserResponse) GetMonthlyPostQuota() int32 { + if x != nil { + return x.MonthlyPostQuota + } + return 0 +} + +func (x *GetUserResponse) GetMonthlyApiCallsQuota() int32 { + if x != nil { + return x.MonthlyApiCallsQuota + } + return 0 +} + +func (x *GetUserResponse) GetRefId() string { + if x != nil { + return x.RefId + } + return "" +} + +func (x *GetUserResponse) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *GetUserResponse) GetLastUpdated() string { + if x != nil { + return x.LastUpdated + } + return "" +} + +func (x *GetUserResponse) GetNextUpdate() string { + if x != nil { + return x.NextUpdate + } + return "" +} + +// 创建用户配置请求 +type CreateProfileRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title"` + MessagingActive bool `protobuf:"varint,2,opt,name=messagingActive,proto3" json:"messagingActive"` + HideTopHeader bool `protobuf:"varint,3,opt,name=hideTopHeader,proto3" json:"hideTopHeader"` + TopHeader string `protobuf:"bytes,4,opt,name=topHeader,proto3" json:"topHeader"` + DisableSocial []string `protobuf:"bytes,5,rep,name=disableSocial,proto3" json:"disableSocial"` + Team bool `protobuf:"varint,6,opt,name=team,proto3" json:"team"` + Email string `protobuf:"bytes,7,opt,name=email,proto3" json:"email"` + SubHeader string `protobuf:"bytes,8,opt,name=subHeader,proto3" json:"subHeader"` + Tags []string `protobuf:"bytes,9,rep,name=tags,proto3" json:"tags"` +} + +func (x *CreateProfileRequest) Reset() { + *x = CreateProfileRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateProfileRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateProfileRequest) ProtoMessage() {} + +func (x *CreateProfileRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 CreateProfileRequest.ProtoReflect.Descriptor instead. +func (*CreateProfileRequest) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{14} +} + +func (x *CreateProfileRequest) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *CreateProfileRequest) GetMessagingActive() bool { + if x != nil { + return x.MessagingActive + } + return false +} + +func (x *CreateProfileRequest) GetHideTopHeader() bool { + if x != nil { + return x.HideTopHeader + } + return false +} + +func (x *CreateProfileRequest) GetTopHeader() string { + if x != nil { + return x.TopHeader + } + return "" +} + +func (x *CreateProfileRequest) GetDisableSocial() []string { + if x != nil { + return x.DisableSocial + } + return nil +} + +func (x *CreateProfileRequest) GetTeam() bool { + if x != nil { + return x.Team + } + return false +} + +func (x *CreateProfileRequest) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *CreateProfileRequest) GetSubHeader() string { + if x != nil { + return x.SubHeader + } + return "" +} + +func (x *CreateProfileRequest) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +// 创建用户配置响应 +type CreateProfileResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` + RefId string `protobuf:"bytes,3,opt,name=refId,proto3" json:"refId"` + ProfileKey string `protobuf:"bytes,4,opt,name=profileKey,proto3" json:"profileKey"` + MessagingActive bool `protobuf:"varint,5,opt,name=messagingActive,proto3" json:"messagingActive"` +} + +func (x *CreateProfileResponse) Reset() { + *x = CreateProfileResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateProfileResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateProfileResponse) ProtoMessage() {} + +func (x *CreateProfileResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 CreateProfileResponse.ProtoReflect.Descriptor instead. +func (*CreateProfileResponse) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{15} +} + +func (x *CreateProfileResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *CreateProfileResponse) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *CreateProfileResponse) GetRefId() string { + if x != nil { + return x.RefId + } + return "" +} + +func (x *CreateProfileResponse) GetProfileKey() string { + if x != nil { + return x.ProfileKey + } + return "" +} + +func (x *CreateProfileResponse) GetMessagingActive() bool { + if x != nil { + return x.MessagingActive + } + return false +} + +// 获取用户配置列表请求 +type GetProfilesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title"` + RefId string `protobuf:"bytes,2,opt,name=refId,proto3" json:"refId"` + HasActiveSocialAccounts bool `protobuf:"varint,3,opt,name=hasActiveSocialAccounts,proto3" json:"hasActiveSocialAccounts"` + IncludesActiveSocialAccounts []string `protobuf:"bytes,4,rep,name=includesActiveSocialAccounts,proto3" json:"includesActiveSocialAccounts"` + // Types that are assignable to ActionLog: + // + // *GetProfilesRequest_ActionLogBool + // *GetProfilesRequest_ActionLogInt + ActionLog isGetProfilesRequest_ActionLog `protobuf_oneof:"actionLog"` + Limit int32 `protobuf:"varint,7,opt,name=limit,proto3" json:"limit"` + Cursor string `protobuf:"bytes,8,opt,name=cursor,proto3" json:"cursor"` +} + +func (x *GetProfilesRequest) Reset() { + *x = GetProfilesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetProfilesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetProfilesRequest) ProtoMessage() {} + +func (x *GetProfilesRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 GetProfilesRequest.ProtoReflect.Descriptor instead. +func (*GetProfilesRequest) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{16} +} + +func (x *GetProfilesRequest) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *GetProfilesRequest) GetRefId() string { + if x != nil { + return x.RefId + } + return "" +} + +func (x *GetProfilesRequest) GetHasActiveSocialAccounts() bool { + if x != nil { + return x.HasActiveSocialAccounts + } + return false +} + +func (x *GetProfilesRequest) GetIncludesActiveSocialAccounts() []string { + if x != nil { + return x.IncludesActiveSocialAccounts + } + return nil +} + +func (m *GetProfilesRequest) GetActionLog() isGetProfilesRequest_ActionLog { + if m != nil { + return m.ActionLog + } + return nil +} + +func (x *GetProfilesRequest) GetActionLogBool() bool { + if x, ok := x.GetActionLog().(*GetProfilesRequest_ActionLogBool); ok { + return x.ActionLogBool + } + return false +} + +func (x *GetProfilesRequest) GetActionLogInt() int32 { + if x, ok := x.GetActionLog().(*GetProfilesRequest_ActionLogInt); ok { + return x.ActionLogInt + } + return 0 +} + +func (x *GetProfilesRequest) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *GetProfilesRequest) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +type isGetProfilesRequest_ActionLog interface { + isGetProfilesRequest_ActionLog() +} + +type GetProfilesRequest_ActionLogBool struct { + ActionLogBool bool `protobuf:"varint,5,opt,name=actionLogBool,proto3,oneof"` +} + +type GetProfilesRequest_ActionLogInt struct { + ActionLogInt int32 `protobuf:"varint,6,opt,name=actionLogInt,proto3,oneof"` +} + +func (*GetProfilesRequest_ActionLogBool) isGetProfilesRequest_ActionLog() {} + +func (*GetProfilesRequest_ActionLogInt) isGetProfilesRequest_ActionLog() {} + +// 用户配置项 +type ProfileItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` + DisplayTitle string `protobuf:"bytes,3,opt,name=displayTitle,proto3" json:"displayTitle"` + Created *Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created"` + CreatedUTC string `protobuf:"bytes,5,opt,name=createdUTC,proto3" json:"createdUTC"` + RefId string `protobuf:"bytes,6,opt,name=refId,proto3" json:"refId"` + ActiveSocialAccounts []string `protobuf:"bytes,7,rep,name=activeSocialAccounts,proto3" json:"activeSocialAccounts"` + Suspended bool `protobuf:"varint,8,opt,name=suspended,proto3" json:"suspended"` +} + +func (x *ProfileItem) Reset() { + *x = ProfileItem{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProfileItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProfileItem) ProtoMessage() {} + +func (x *ProfileItem) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 ProfileItem.ProtoReflect.Descriptor instead. +func (*ProfileItem) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{17} +} + +func (x *ProfileItem) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ProfileItem) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *ProfileItem) GetDisplayTitle() string { + if x != nil { + return x.DisplayTitle + } + return "" +} + +func (x *ProfileItem) GetCreated() *Timestamp { + if x != nil { + return x.Created + } + return nil +} + +func (x *ProfileItem) GetCreatedUTC() string { + if x != nil { + return x.CreatedUTC + } + return "" +} + +func (x *ProfileItem) GetRefId() string { + if x != nil { + return x.RefId + } + return "" +} + +func (x *ProfileItem) GetActiveSocialAccounts() []string { + if x != nil { + return x.ActiveSocialAccounts + } + return nil +} + +func (x *ProfileItem) GetSuspended() bool { + if x != nil { + return x.Suspended + } + return false +} + +// 分页信息 +type Pagination struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + HasMore bool `protobuf:"varint,1,opt,name=hasMore,proto3" json:"hasMore"` + NextCursor string `protobuf:"bytes,2,opt,name=nextCursor,proto3" json:"nextCursor"` + Limit int32 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit"` +} + +func (x *Pagination) Reset() { + *x = Pagination{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Pagination) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Pagination) ProtoMessage() {} + +func (x *Pagination) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 Pagination.ProtoReflect.Descriptor instead. +func (*Pagination) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{18} +} + +func (x *Pagination) GetHasMore() bool { + if x != nil { + return x.HasMore + } + return false +} + +func (x *Pagination) GetNextCursor() string { + if x != nil { + return x.NextCursor + } + return "" +} + +func (x *Pagination) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +// 获取用户配置列表响应 +type GetProfilesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Profiles []*ProfileItem `protobuf:"bytes,1,rep,name=profiles,proto3" json:"profiles"` + Count int32 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` + LastUpdated string `protobuf:"bytes,3,opt,name=lastUpdated,proto3" json:"lastUpdated"` + NextUpdate string `protobuf:"bytes,4,opt,name=nextUpdate,proto3" json:"nextUpdate"` + Pagination *Pagination `protobuf:"bytes,5,opt,name=pagination,proto3" json:"pagination"` +} + +func (x *GetProfilesResponse) Reset() { + *x = GetProfilesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetProfilesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetProfilesResponse) ProtoMessage() {} + +func (x *GetProfilesResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 GetProfilesResponse.ProtoReflect.Descriptor instead. +func (*GetProfilesResponse) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{19} +} + +func (x *GetProfilesResponse) GetProfiles() []*ProfileItem { + if x != nil { + return x.Profiles + } + return nil +} + +func (x *GetProfilesResponse) GetCount() int32 { + if x != nil { + return x.Count + } + return 0 +} + +func (x *GetProfilesResponse) GetLastUpdated() string { + if x != nil { + return x.LastUpdated + } + return "" +} + +func (x *GetProfilesResponse) GetNextUpdate() string { + if x != nil { + return x.NextUpdate + } + return "" +} + +func (x *GetProfilesResponse) GetPagination() *Pagination { + if x != nil { + return x.Pagination + } + return nil +} + +// 邮件配置对象 +type Email struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + To string `protobuf:"bytes,1,opt,name=to,proto3" json:"to"` + Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject"` + Body string `protobuf:"bytes,3,opt,name=body,proto3" json:"body"` +} + +func (x *Email) Reset() { + *x = Email{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Email) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Email) ProtoMessage() {} + +func (x *Email) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 Email.ProtoReflect.Descriptor instead. +func (*Email) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{20} +} + +func (x *Email) GetTo() string { + if x != nil { + return x.To + } + return "" +} + +func (x *Email) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *Email) GetBody() string { + if x != nil { + return x.Body + } + return "" +} + +// 生成JWT请求 +type GenerateJWTRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain"` + PrivateKey string `protobuf:"bytes,2,opt,name=privateKey,proto3" json:"privateKey"` + ProfileKey string `protobuf:"bytes,3,opt,name=profileKey,proto3" json:"profileKey"` + Logout bool `protobuf:"varint,4,opt,name=logout,proto3" json:"logout"` + Redirect string `protobuf:"bytes,5,opt,name=redirect,proto3" json:"redirect"` + AllowedSocial []string `protobuf:"bytes,6,rep,name=allowedSocial,proto3" json:"allowedSocial"` + Verify bool `protobuf:"varint,7,opt,name=verify,proto3" json:"verify"` + Base64 bool `protobuf:"varint,8,opt,name=base64,proto3" json:"base64"` + ExpiresIn int32 `protobuf:"varint,9,opt,name=expiresIn,proto3" json:"expiresIn"` + Email *Email `protobuf:"bytes,10,opt,name=email,proto3" json:"email"` +} + +func (x *GenerateJWTRequest) Reset() { + *x = GenerateJWTRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GenerateJWTRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateJWTRequest) ProtoMessage() {} + +func (x *GenerateJWTRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 GenerateJWTRequest.ProtoReflect.Descriptor instead. +func (*GenerateJWTRequest) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{21} +} + +func (x *GenerateJWTRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *GenerateJWTRequest) GetPrivateKey() string { + if x != nil { + return x.PrivateKey + } + return "" +} + +func (x *GenerateJWTRequest) GetProfileKey() string { + if x != nil { + return x.ProfileKey + } + return "" +} + +func (x *GenerateJWTRequest) GetLogout() bool { + if x != nil { + return x.Logout + } + return false +} + +func (x *GenerateJWTRequest) GetRedirect() string { + if x != nil { + return x.Redirect + } + return "" +} + +func (x *GenerateJWTRequest) GetAllowedSocial() []string { + if x != nil { + return x.AllowedSocial + } + return nil +} + +func (x *GenerateJWTRequest) GetVerify() bool { + if x != nil { + return x.Verify + } + return false +} + +func (x *GenerateJWTRequest) GetBase64() bool { + if x != nil { + return x.Base64 + } + return false +} + +func (x *GenerateJWTRequest) GetExpiresIn() int32 { + if x != nil { + return x.ExpiresIn + } + return 0 +} + +func (x *GenerateJWTRequest) GetEmail() *Email { + if x != nil { + return x.Email + } + return nil +} + +// 生成JWT响应 +type GenerateJWTResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` + Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token"` + Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url"` + EmailSent bool `protobuf:"varint,5,opt,name=emailSent,proto3" json:"emailSent"` + ExpiresIn string `protobuf:"bytes,6,opt,name=expiresIn,proto3" json:"expiresIn"` +} + +func (x *GenerateJWTResponse) Reset() { + *x = GenerateJWTResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GenerateJWTResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateJWTResponse) ProtoMessage() {} + +func (x *GenerateJWTResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 GenerateJWTResponse.ProtoReflect.Descriptor instead. +func (*GenerateJWTResponse) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{22} +} + +func (x *GenerateJWTResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *GenerateJWTResponse) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *GenerateJWTResponse) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +func (x *GenerateJWTResponse) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *GenerateJWTResponse) GetEmailSent() bool { + if x != nil { + return x.EmailSent + } + return false +} + +func (x *GenerateJWTResponse) GetExpiresIn() string { + if x != nil { + return x.ExpiresIn + } + return "" +} + +var File_pb_ayrshare_proto protoreflect.FileDescriptor + +var file_pb_ayrshare_proto_rawDesc = []byte{ + 0x0a, 0x11, 0x70, 0x62, 0x2f, 0x61, 0x79, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x1a, 0x13, 0x70, + 0x62, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x12, 0x70, 0x62, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x41, 0x0a, 0x07, 0x55, 0x73, 0x65, 0x72, 0x54, 0x61, + 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0c, 0x0a, + 0x01, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x79, 0x22, 0x93, 0x03, 0x0a, 0x10, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, + 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x65, 0x6c, 0x73, 0x46, 0x65, 0x65, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x65, + 0x6c, 0x73, 0x46, 0x65, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x6f, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x4e, 0x61, 0x69, + 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x4e, 0x61, + 0x69, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x4e, 0x61, 0x69, 0x6c, 0x4f, + 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x74, 0x68, 0x75, + 0x6d, 0x62, 0x4e, 0x61, 0x69, 0x6c, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, + 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x6c, 0x74, 0x54, 0x65, 0x78, + 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x61, 0x6c, 0x74, 0x54, 0x65, 0x78, 0x74, + 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x2d, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x55, 0x73, + 0x65, 0x72, 0x54, 0x61, 0x67, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x12, + 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, + 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x52, + 0x65, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, + 0xdd, 0x03, 0x0a, 0x0d, 0x54, 0x69, 0x6b, 0x54, 0x6f, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x41, 0x64, 0x64, 0x4d, 0x75, 0x73, 0x69, + 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x41, 0x64, 0x64, + 0x4d, 0x75, 0x73, 0x69, 0x63, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, + 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x75, 0x65, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x75, 0x65, + 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x69, 0x74, + 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x72, 0x61, 0x66, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x64, 0x72, 0x61, 0x66, 0x74, 0x12, 0x24, 0x0a, + 0x0d, 0x69, 0x73, 0x41, 0x49, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x41, 0x49, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x69, 0x73, 0x42, 0x72, 0x61, 0x6e, 0x64, 0x65, 0x64, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, + 0x73, 0x42, 0x72, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, + 0x26, 0x0a, 0x0e, 0x69, 0x73, 0x42, 0x72, 0x61, 0x6e, 0x64, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x42, 0x72, 0x61, 0x6e, 0x64, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x63, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x43, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, + 0x4e, 0x61, 0x69, 0x6c, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x4e, 0x61, 0x69, 0x6c, 0x4f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x4e, 0x61, 0x69, 0x6c, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x4e, 0x61, 0x69, 0x6c, 0x12, + 0x1e, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x22, + 0x89, 0x04, 0x0a, 0x0b, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x32, 0x0a, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe2, + 0xdf, 0x1f, 0x1a, 0x2a, 0x16, 0x70, 0x6f, 0x73, 0x74, 0xe5, 0x86, 0x85, 0xe5, 0xae, 0xb9, 0xe4, + 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x04, 0x70, + 0x6f, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x29, 0xe2, 0xdf, 0x1f, 0x25, 0x2a, 0x21, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0xe5, 0xb9, 0xb3, 0xe5, 0x8f, 0xb0, 0xe5, 0x88, 0x97, + 0xe8, 0xa1, 0xa8, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x60, + 0x01, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x12, 0x1c, 0x0a, 0x09, + 0x6d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x72, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x72, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x56, + 0x69, 0x64, 0x65, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x44, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x65, + 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x46, 0x0a, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, + 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x67, + 0x72, 0x61, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x0a, 0x0d, + 0x74, 0x69, 0x6b, 0x54, 0x6f, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, + 0x69, 0x6b, 0x54, 0x6f, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0d, 0x74, 0x69, + 0x6b, 0x54, 0x6f, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x70, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x22, 0xa4, 0x02, 0x0a, 0x06, + 0x50, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, + 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, + 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, + 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6e, + 0x64, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6e, 0x64, 0x65, 0x64, + 0x12, 0x18, 0x0a, 0x07, 0x69, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x69, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x56, + 0x69, 0x64, 0x65, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x64, 0x51, 0x75, 0x6f, 0x74, + 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x75, 0x73, 0x65, 0x64, 0x51, 0x75, 0x6f, + 0x74, 0x61, 0x22, 0xc4, 0x01, 0x0a, 0x08, 0x50, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, + 0x2a, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x74, + 0x49, 0x64, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, + 0x65, 0x66, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x66, 0x49, + 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x69, 0x74, 0x6c, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x22, 0xa4, 0x01, 0x0a, 0x0c, 0x50, 0x6f, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x6f, 0x73, + 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x73, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x73, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x22, 0x5e, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, + 0xe2, 0xdf, 0x1f, 0x18, 0x2a, 0x14, 0xe5, 0xb8, 0x96, 0xe5, 0xad, 0x90, 0x49, 0x44, 0xe4, 0xb8, + 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, + 0x22, 0xfd, 0x02, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x55, + 0x72, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, + 0x55, 0x72, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, + 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x49, + 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x69, 0x74, + 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, + 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x65, + 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x4c, + 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x22, 0x5c, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, + 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x5b, + 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x07, 0x73, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x5f, 0x73, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x21, 0x0a, 0x0b, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x5f, 0x6e, 0x61, + 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x74, 0x63, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x74, 0x63, 0x22, 0x7a, 0x0a, 0x0c, 0x54, + 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6d, + 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x22, 0x0a, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x52, 0x65, + 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, + 0x6c, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74, 0x22, 0xb5, 0x06, 0x0a, 0x0b, 0x44, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, + 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x12, + 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x41, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x70, + 0x73, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x73, + 0x55, 0x72, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, + 0x09, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x69, + 0x67, 0x49, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x67, 0x49, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x64, 0x51, 0x75, 0x6f, 0x74, 0x61, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x75, 0x73, 0x65, 0x64, 0x51, 0x75, 0x6f, 0x74, + 0x61, 0x12, 0x32, 0x0a, 0x14, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x44, 0x61, 0x79, 0x73, + 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x14, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x44, 0x61, 0x79, 0x73, 0x52, 0x65, 0x6d, 0x61, + 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, + 0x42, 0x0a, 0x1c, 0x69, 0x73, 0x45, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, + 0x47, 0x65, 0x6f, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x69, 0x73, 0x45, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, + 0x65, 0x46, 0x6f, 0x72, 0x47, 0x65, 0x6f, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, + 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x3a, 0x0a, 0x0c, 0x74, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x55, 0x73, 0x61, 0x67, 0x65, 0x18, + 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x2e, 0x54, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x74, + 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x76, + 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x22, + 0x85, 0x05, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x14, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, + 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, + 0x61, 0x6d, 0x65, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x41, + 0x70, 0x69, 0x43, 0x61, 0x6c, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, + 0x73, 0x74, 0x41, 0x70, 0x69, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x4c, 0x0a, 0x21, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x21, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x43, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x6e, 0x74, 0x68, + 0x6c, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x41, 0x70, + 0x69, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6d, 0x6f, + 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x41, 0x70, 0x69, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x2a, 0x0a, + 0x10, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, + 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x6f, 0x6e, + 0x74, 0x68, 0x6c, 0x79, 0x50, 0x6f, 0x73, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x10, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x6f, 0x73, 0x74, + 0x51, 0x75, 0x6f, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x14, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, + 0x41, 0x70, 0x69, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x14, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x41, 0x70, 0x69, 0x43, + 0x61, 0x6c, 0x6c, 0x73, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x66, + 0x49, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x12, + 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x78, + 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0xb7, 0x02, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x2f, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x19, 0xe2, 0xdf, 0x1f, 0x15, 0x2a, 0x11, 0x74, 0x69, 0x74, 0x6c, 0x65, 0xe4, 0xb8, 0x8d, 0xe8, + 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x68, + 0x69, 0x64, 0x65, 0x54, 0x6f, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0d, 0x68, 0x69, 0x64, 0x65, 0x54, 0x6f, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, + 0x24, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, + 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, + 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x73, 0x75, 0x62, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, + 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, + 0x73, 0x22, 0xa5, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x66, + 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x12, + 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x12, + 0x28, 0x0a, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0xc7, 0x02, 0x0a, 0x12, 0x47, 0x65, + 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x17, + 0x68, 0x61, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x68, + 0x61, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x1c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x1c, 0x69, 0x6e, + 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0d, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x42, 0x6f, 0x6f, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x42, 0x6f, + 0x6f, 0x6c, 0x12, 0x24, 0x0a, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x49, + 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x42, 0x0b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x4c, 0x6f, 0x67, 0x22, 0x96, 0x02, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, + 0x74, 0x65, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x69, 0x74, 0x6c, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x2d, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, + 0x54, 0x43, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x55, 0x54, 0x43, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x14, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x1c, + 0x0a, 0x09, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x09, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x22, 0x5c, 0x0a, 0x0a, + 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x61, + 0x73, 0x4d, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x68, 0x61, 0x73, + 0x4d, 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x43, 0x75, 0x72, 0x73, + 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x43, 0x75, + 0x72, 0x73, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xd6, 0x01, 0x0a, 0x13, 0x47, + 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x31, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x08, 0x70, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6c, + 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, + 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, + 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x45, 0x0a, 0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x0e, 0x0a, 0x02, + 0x74, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, + 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x97, 0x03, 0x0a, 0x12, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x57, 0x54, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x32, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x1a, 0xe2, 0xdf, 0x1f, 0x16, 0x2a, 0x12, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0xe4, + 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x06, 0x64, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x3e, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe2, 0xdf, 0x1f, 0x1a, 0x2a, + 0x16, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, + 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x3e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe2, 0xdf, 0x1f, 0x1a, 0x2a, + 0x16, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, + 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x12, 0x1a, 0x0a, + 0x08, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, + 0x6f, 0x77, 0x65, 0x64, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x12, + 0x16, 0x0a, 0x06, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x06, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x61, 0x73, 0x65, 0x36, + 0x34, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x12, + 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x12, 0x25, 0x0a, + 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, + 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x05, 0x65, + 0x6d, 0x61, 0x69, 0x6c, 0x22, 0xa7, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x4a, 0x57, 0x54, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, + 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x53, 0x65, 0x6e, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x53, 0x65, 0x6e, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x32, 0xab, + 0x03, 0x0a, 0x08, 0x41, 0x79, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x50, + 0x6f, 0x73, 0x74, 0x12, 0x15, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, + 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x72, 0x79, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x18, 0x2e, + 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x18, 0x2e, + 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x12, 0x1e, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x73, 0x12, 0x1c, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, + 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x4a, 0x0a, 0x0b, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x57, 0x54, 0x12, + 0x1c, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x4a, 0x57, 0x54, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, + 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x4a, 0x57, 0x54, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0c, 0x5a, 0x0a, + 0x2e, 0x2f, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_pb_ayrshare_proto_rawDescOnce sync.Once + file_pb_ayrshare_proto_rawDescData = file_pb_ayrshare_proto_rawDesc +) + +func file_pb_ayrshare_proto_rawDescGZIP() []byte { + file_pb_ayrshare_proto_rawDescOnce.Do(func() { + file_pb_ayrshare_proto_rawDescData = protoimpl.X.CompressGZIP(file_pb_ayrshare_proto_rawDescData) + }) + return file_pb_ayrshare_proto_rawDescData +} + +var file_pb_ayrshare_proto_msgTypes = make([]protoimpl.MessageInfo, 23) +var file_pb_ayrshare_proto_goTypes = []interface{}{ + (*UserTag)(nil), // 0: aryshare.UserTag + (*InstagramOptions)(nil), // 1: aryshare.InstagramOptions + (*TikTokOptions)(nil), // 2: aryshare.TikTokOptions + (*PostRequest)(nil), // 3: aryshare.PostRequest + (*PostId)(nil), // 4: aryshare.PostId + (*PostItem)(nil), // 5: aryshare.PostItem + (*PostResponse)(nil), // 6: aryshare.PostResponse + (*GetPostRequest)(nil), // 7: aryshare.GetPostRequest + (*GetPostResponse)(nil), // 8: aryshare.GetPostResponse + (*GetUserRequest)(nil), // 9: aryshare.GetUserRequest + (*Timestamp)(nil), // 10: aryshare.Timestamp + (*TwitterUsage)(nil), // 11: aryshare.TwitterUsage + (*DisplayName)(nil), // 12: aryshare.DisplayName + (*GetUserResponse)(nil), // 13: aryshare.GetUserResponse + (*CreateProfileRequest)(nil), // 14: aryshare.CreateProfileRequest + (*CreateProfileResponse)(nil), // 15: aryshare.CreateProfileResponse + (*GetProfilesRequest)(nil), // 16: aryshare.GetProfilesRequest + (*ProfileItem)(nil), // 17: aryshare.ProfileItem + (*Pagination)(nil), // 18: aryshare.Pagination + (*GetProfilesResponse)(nil), // 19: aryshare.GetProfilesResponse + (*Email)(nil), // 20: aryshare.Email + (*GenerateJWTRequest)(nil), // 21: aryshare.GenerateJWTRequest + (*GenerateJWTResponse)(nil), // 22: aryshare.GenerateJWTResponse +} +var file_pb_ayrshare_proto_depIdxs = []int32{ + 0, // 0: aryshare.InstagramOptions.userTags:type_name -> aryshare.UserTag + 1, // 1: aryshare.PostRequest.instagramOptions:type_name -> aryshare.InstagramOptions + 2, // 2: aryshare.PostRequest.tikTokOptions:type_name -> aryshare.TikTokOptions + 4, // 3: aryshare.PostItem.postIds:type_name -> aryshare.PostId + 5, // 4: aryshare.PostResponse.posts:type_name -> aryshare.PostItem + 4, // 5: aryshare.PostResponse.postIds:type_name -> aryshare.PostId + 4, // 6: aryshare.GetPostResponse.postIds:type_name -> aryshare.PostId + 11, // 7: aryshare.DisplayName.twitterUsage:type_name -> aryshare.TwitterUsage + 10, // 8: aryshare.GetUserResponse.created:type_name -> aryshare.Timestamp + 12, // 9: aryshare.GetUserResponse.displayNames:type_name -> aryshare.DisplayName + 10, // 10: aryshare.ProfileItem.created:type_name -> aryshare.Timestamp + 17, // 11: aryshare.GetProfilesResponse.profiles:type_name -> aryshare.ProfileItem + 18, // 12: aryshare.GetProfilesResponse.pagination:type_name -> aryshare.Pagination + 20, // 13: aryshare.GenerateJWTRequest.email:type_name -> aryshare.Email + 3, // 14: aryshare.Ayrshare.Post:input_type -> aryshare.PostRequest + 7, // 15: aryshare.Ayrshare.GetPost:input_type -> aryshare.GetPostRequest + 9, // 16: aryshare.Ayrshare.GetUser:input_type -> aryshare.GetUserRequest + 14, // 17: aryshare.Ayrshare.CreateProfile:input_type -> aryshare.CreateProfileRequest + 16, // 18: aryshare.Ayrshare.GetProfiles:input_type -> aryshare.GetProfilesRequest + 21, // 19: aryshare.Ayrshare.GenerateJWT:input_type -> aryshare.GenerateJWTRequest + 6, // 20: aryshare.Ayrshare.Post:output_type -> aryshare.PostResponse + 8, // 21: aryshare.Ayrshare.GetPost:output_type -> aryshare.GetPostResponse + 13, // 22: aryshare.Ayrshare.GetUser:output_type -> aryshare.GetUserResponse + 15, // 23: aryshare.Ayrshare.CreateProfile:output_type -> aryshare.CreateProfileResponse + 19, // 24: aryshare.Ayrshare.GetProfiles:output_type -> aryshare.GetProfilesResponse + 22, // 25: aryshare.Ayrshare.GenerateJWT:output_type -> aryshare.GenerateJWTResponse + 20, // [20:26] is the sub-list for method output_type + 14, // [14:20] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name +} + +func init() { file_pb_ayrshare_proto_init() } +func file_pb_ayrshare_proto_init() { + if File_pb_ayrshare_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_pb_ayrshare_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserTag); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InstagramOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TikTokOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostId); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPostRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPostResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[9].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_pb_ayrshare_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Timestamp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TwitterUsage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisplayName); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUserResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateProfileRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateProfileResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetProfilesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProfileItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Pagination); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetProfilesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Email); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenerateJWTRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenerateJWTResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_pb_ayrshare_proto_msgTypes[16].OneofWrappers = []interface{}{ + (*GetProfilesRequest_ActionLogBool)(nil), + (*GetProfilesRequest_ActionLogInt)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_pb_ayrshare_proto_rawDesc, + NumEnums: 0, + NumMessages: 23, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_pb_ayrshare_proto_goTypes, + DependencyIndexes: file_pb_ayrshare_proto_depIdxs, + MessageInfos: file_pb_ayrshare_proto_msgTypes, + }.Build() + File_pb_ayrshare_proto = out.File + file_pb_ayrshare_proto_rawDesc = nil + file_pb_ayrshare_proto_goTypes = nil + file_pb_ayrshare_proto_depIdxs = nil +} diff --git a/api/pb/aryshare/ayrshare.validator.pb.go b/api/pb/aryshare/ayrshare.validator.pb.go new file mode 100644 index 0000000..6cc7e5a --- /dev/null +++ b/api/pb/aryshare/ayrshare.validator.pb.go @@ -0,0 +1,194 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: pb/ayrshare.proto + +package aryshare + +import ( + fmt "fmt" + math "math" + + proto "github.com/golang/protobuf/proto" + _ "github.com/mwitkow/go-proto-validators" + github_com_mwitkow_go_proto_validators "github.com/mwitkow/go-proto-validators" + _ "google.golang.org/protobuf/types/descriptorpb" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +func (this *UserTag) Validate() error { + return nil +} +func (this *InstagramOptions) Validate() error { + for _, item := range this.UserTags { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("UserTags", err) + } + } + } + return nil +} +func (this *TikTokOptions) Validate() error { + return nil +} +func (this *PostRequest) Validate() error { + if this.Post == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Post", fmt.Errorf(`post内容不能为空`)) + } + if len(this.Platforms) < 1 { + return github_com_mwitkow_go_proto_validators.FieldError("Platforms", fmt.Errorf(`platforms平台列表不能为空`)) + } + if this.InstagramOptions != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.InstagramOptions); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("InstagramOptions", err) + } + } + if this.TikTokOptions != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.TikTokOptions); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("TikTokOptions", err) + } + } + return nil +} +func (this *PostId) Validate() error { + return nil +} +func (this *PostItem) Validate() error { + for _, item := range this.PostIds { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("PostIds", err) + } + } + } + return nil +} +func (this *PostResponse) Validate() error { + for _, item := range this.Posts { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Posts", err) + } + } + } + for _, item := range this.PostIds { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("PostIds", err) + } + } + } + return nil +} +func (this *GetPostRequest) Validate() error { + if this.Id == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Id", fmt.Errorf(`帖子ID不能为空`)) + } + return nil +} +func (this *GetPostResponse) Validate() error { + for _, item := range this.PostIds { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("PostIds", err) + } + } + } + return nil +} +func (this *GetUserRequest) Validate() error { + return nil +} +func (this *Timestamp) Validate() error { + return nil +} +func (this *TwitterUsage) Validate() error { + return nil +} +func (this *DisplayName) Validate() error { + if this.TwitterUsage != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.TwitterUsage); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("TwitterUsage", err) + } + } + return nil +} +func (this *GetUserResponse) Validate() error { + if this.Created != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Created); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Created", err) + } + } + for _, item := range this.DisplayNames { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("DisplayNames", err) + } + } + } + return nil +} +func (this *CreateProfileRequest) Validate() error { + if this.Title == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Title", fmt.Errorf(`title不能为空`)) + } + return nil +} +func (this *CreateProfileResponse) Validate() error { + return nil +} +func (this *GetProfilesRequest) Validate() error { + return nil +} +func (this *ProfileItem) Validate() error { + if this.Created != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Created); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Created", err) + } + } + return nil +} +func (this *Pagination) Validate() error { + return nil +} +func (this *GetProfilesResponse) Validate() error { + for _, item := range this.Profiles { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Profiles", err) + } + } + } + if this.Pagination != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Pagination); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Pagination", err) + } + } + return nil +} +func (this *Email) Validate() error { + return nil +} +func (this *GenerateJWTRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`domain不能为空`)) + } + if this.PrivateKey == "" { + return github_com_mwitkow_go_proto_validators.FieldError("PrivateKey", fmt.Errorf(`privateKey不能为空`)) + } + if this.ProfileKey == "" { + return github_com_mwitkow_go_proto_validators.FieldError("ProfileKey", fmt.Errorf(`profileKey不能为空`)) + } + if this.Email != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Email); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Email", err) + } + } + return nil +} +func (this *GenerateJWTResponse) Validate() error { + return nil +} diff --git a/api/pb/aryshare/ayrshare_triple.pb.go b/api/pb/aryshare/ayrshare_triple.pb.go new file mode 100644 index 0000000..456bf96 --- /dev/null +++ b/api/pb/aryshare/ayrshare_triple.pb.go @@ -0,0 +1,378 @@ +// Code generated by protoc-gen-go-triple. DO NOT EDIT. +// versions: +// - protoc-gen-go-triple v1.0.8 +// - protoc v3.21.1 +// source: pb/ayrshare.proto + +package aryshare + +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 + +// AyrshareClient is the client API for Ayrshare 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 AyrshareClient interface { + // 帖子相关 api + Post(ctx context.Context, in *PostRequest, opts ...grpc_go.CallOption) (*PostResponse, common.ErrorWithAttachment) + GetPost(ctx context.Context, in *GetPostRequest, opts ...grpc_go.CallOption) (*GetPostResponse, common.ErrorWithAttachment) + // 用户相关 api + GetUser(ctx context.Context, in *GetUserRequest, opts ...grpc_go.CallOption) (*GetUserResponse, common.ErrorWithAttachment) + // 用户配置相关 api + CreateProfile(ctx context.Context, in *CreateProfileRequest, opts ...grpc_go.CallOption) (*CreateProfileResponse, common.ErrorWithAttachment) + GetProfiles(ctx context.Context, in *GetProfilesRequest, opts ...grpc_go.CallOption) (*GetProfilesResponse, common.ErrorWithAttachment) + GenerateJWT(ctx context.Context, in *GenerateJWTRequest, opts ...grpc_go.CallOption) (*GenerateJWTResponse, common.ErrorWithAttachment) +} + +type ayrshareClient struct { + cc *triple.TripleConn +} + +type AyrshareClientImpl struct { + Post func(ctx context.Context, in *PostRequest) (*PostResponse, error) + GetPost func(ctx context.Context, in *GetPostRequest) (*GetPostResponse, error) + GetUser func(ctx context.Context, in *GetUserRequest) (*GetUserResponse, error) + CreateProfile func(ctx context.Context, in *CreateProfileRequest) (*CreateProfileResponse, error) + GetProfiles func(ctx context.Context, in *GetProfilesRequest) (*GetProfilesResponse, error) + GenerateJWT func(ctx context.Context, in *GenerateJWTRequest) (*GenerateJWTResponse, error) +} + +func (c *AyrshareClientImpl) GetDubboStub(cc *triple.TripleConn) AyrshareClient { + return NewAyrshareClient(cc) +} + +func (c *AyrshareClientImpl) XXX_InterfaceName() string { + return "aryshare.Ayrshare" +} + +func NewAyrshareClient(cc *triple.TripleConn) AyrshareClient { + return &ayrshareClient{cc} +} + +func (c *ayrshareClient) Post(ctx context.Context, in *PostRequest, opts ...grpc_go.CallOption) (*PostResponse, common.ErrorWithAttachment) { + out := new(PostResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Post", in, out) +} + +func (c *ayrshareClient) GetPost(ctx context.Context, in *GetPostRequest, opts ...grpc_go.CallOption) (*GetPostResponse, common.ErrorWithAttachment) { + out := new(GetPostResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetPost", in, out) +} + +func (c *ayrshareClient) GetUser(ctx context.Context, in *GetUserRequest, opts ...grpc_go.CallOption) (*GetUserResponse, common.ErrorWithAttachment) { + out := new(GetUserResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetUser", in, out) +} + +func (c *ayrshareClient) CreateProfile(ctx context.Context, in *CreateProfileRequest, opts ...grpc_go.CallOption) (*CreateProfileResponse, common.ErrorWithAttachment) { + out := new(CreateProfileResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateProfile", in, out) +} + +func (c *ayrshareClient) GetProfiles(ctx context.Context, in *GetProfilesRequest, opts ...grpc_go.CallOption) (*GetProfilesResponse, common.ErrorWithAttachment) { + out := new(GetProfilesResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetProfiles", in, out) +} + +func (c *ayrshareClient) GenerateJWT(ctx context.Context, in *GenerateJWTRequest, opts ...grpc_go.CallOption) (*GenerateJWTResponse, common.ErrorWithAttachment) { + out := new(GenerateJWTResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GenerateJWT", in, out) +} + +// AyrshareServer is the server API for Ayrshare service. +// All implementations must embed UnimplementedAyrshareServer +// for forward compatibility +type AyrshareServer interface { + // 帖子相关 api + Post(context.Context, *PostRequest) (*PostResponse, error) + GetPost(context.Context, *GetPostRequest) (*GetPostResponse, error) + // 用户相关 api + GetUser(context.Context, *GetUserRequest) (*GetUserResponse, error) + // 用户配置相关 api + CreateProfile(context.Context, *CreateProfileRequest) (*CreateProfileResponse, error) + GetProfiles(context.Context, *GetProfilesRequest) (*GetProfilesResponse, error) + GenerateJWT(context.Context, *GenerateJWTRequest) (*GenerateJWTResponse, error) + mustEmbedUnimplementedAyrshareServer() +} + +// UnimplementedAyrshareServer must be embedded to have forward compatible implementations. +type UnimplementedAyrshareServer struct { + proxyImpl protocol.Invoker +} + +func (UnimplementedAyrshareServer) Post(context.Context, *PostRequest) (*PostResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Post not implemented") +} +func (UnimplementedAyrshareServer) GetPost(context.Context, *GetPostRequest) (*GetPostResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPost not implemented") +} +func (UnimplementedAyrshareServer) GetUser(context.Context, *GetUserRequest) (*GetUserResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetUser not implemented") +} +func (UnimplementedAyrshareServer) CreateProfile(context.Context, *CreateProfileRequest) (*CreateProfileResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateProfile not implemented") +} +func (UnimplementedAyrshareServer) GetProfiles(context.Context, *GetProfilesRequest) (*GetProfilesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetProfiles not implemented") +} +func (UnimplementedAyrshareServer) GenerateJWT(context.Context, *GenerateJWTRequest) (*GenerateJWTResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GenerateJWT not implemented") +} +func (s *UnimplementedAyrshareServer) XXX_SetProxyImpl(impl protocol.Invoker) { + s.proxyImpl = impl +} + +func (s *UnimplementedAyrshareServer) XXX_GetProxyImpl() protocol.Invoker { + return s.proxyImpl +} + +func (s *UnimplementedAyrshareServer) XXX_ServiceDesc() *grpc_go.ServiceDesc { + return &Ayrshare_ServiceDesc +} +func (s *UnimplementedAyrshareServer) XXX_InterfaceName() string { + return "aryshare.Ayrshare" +} + +func (UnimplementedAyrshareServer) mustEmbedUnimplementedAyrshareServer() {} + +// UnsafeAyrshareServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to AyrshareServer will +// result in compilation errors. +type UnsafeAyrshareServer interface { + mustEmbedUnimplementedAyrshareServer() +} + +func RegisterAyrshareServer(s grpc_go.ServiceRegistrar, srv AyrshareServer) { + s.RegisterService(&Ayrshare_ServiceDesc, srv) +} + +func _Ayrshare_Post_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(PostRequest) + 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("Post", 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 _Ayrshare_GetPost_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetPostRequest) + 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("GetPost", 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 _Ayrshare_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 _Ayrshare_CreateProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateProfileRequest) + 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("CreateProfile", 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 _Ayrshare_GetProfiles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetProfilesRequest) + 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("GetProfiles", 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 _Ayrshare_GenerateJWT_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GenerateJWTRequest) + 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("GenerateJWT", 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) +} + +// Ayrshare_ServiceDesc is the grpc_go.ServiceDesc for Ayrshare service. +// It's only intended for direct use with grpc_go.RegisterService, +// and not to be introspected or modified (even as a copy) +var Ayrshare_ServiceDesc = grpc_go.ServiceDesc{ + ServiceName: "aryshare.Ayrshare", + HandlerType: (*AyrshareServer)(nil), + Methods: []grpc_go.MethodDesc{ + { + MethodName: "Post", + Handler: _Ayrshare_Post_Handler, + }, + { + MethodName: "GetPost", + Handler: _Ayrshare_GetPost_Handler, + }, + { + MethodName: "GetUser", + Handler: _Ayrshare_GetUser_Handler, + }, + { + MethodName: "CreateProfile", + Handler: _Ayrshare_CreateProfile_Handler, + }, + { + MethodName: "GetProfiles", + Handler: _Ayrshare_GetProfiles_Handler, + }, + { + MethodName: "GenerateJWT", + Handler: _Ayrshare_GenerateJWT_Handler, + }, + }, + Streams: []grpc_go.StreamDesc{}, + Metadata: "pb/ayrshare.proto", +} diff --git a/api/pb/ayrshare.proto b/api/pb/ayrshare.proto new file mode 100644 index 0000000..2212cad --- /dev/null +++ b/api/pb/ayrshare.proto @@ -0,0 +1,297 @@ +syntax = "proto3"; + +package aryshare; +option go_package = "./aryshare"; + +import "pb/descriptor.proto"; +import "pb/validator.proto"; + +service Ayrshare { + // 帖子相关 api + rpc Post(PostRequest) returns (PostResponse); + rpc GetPost(GetPostRequest) returns (GetPostResponse); + + // 用户相关 api + rpc GetUser(GetUserRequest) returns (GetUserResponse); + + // 用户配置相关 api + rpc CreateProfile(CreateProfileRequest) returns (CreateProfileResponse); + rpc GetProfiles(GetProfilesRequest) returns (GetProfilesResponse); + rpc GenerateJWT(GenerateJWTRequest) returns (GenerateJWTResponse); +} + +// Instagram 用户标签(带坐标) +message UserTag { + string username = 1 [json_name = "username"]; + double x = 2 [json_name = "x"]; // Required for images, cannot be used with Reels + double y = 3 [json_name = "y"]; // Required for images, cannot be used with Reels +} + +// Instagram 特定发布选项 +message InstagramOptions { + bool shareReelsFeed = 1 [json_name = "shareReelsFeed"]; // Whether Reel can appear in both Feed and Reels tabs + string audioName = 2 [json_name = "audioName"]; // Name of the audio music for Reels + string thumbNail = 3 [json_name = "thumbNail"]; // URL of the Reel cover image (thumbnail) + int32 thumbNailOffset = 4 [json_name = "thumbNailOffset"]; // Offset in milliseconds of the thumbnail frame + bool stories = 5 [json_name = "stories"]; // Whether to post as Instagram Story + repeated string altText = 6 [json_name = "altText"]; // Array of alternative text for images (up to 1000 chars per image) + string locationId = 7 [json_name = "locationId"]; // Facebook Page ID or Page name + repeated UserTag userTags = 8 [json_name = "userTags"]; // Array of user tags with username and coordinates + repeated string collaborators = 9 [json_name = "collaborators"]; // Array of Instagram usernames (up to 3) + bool autoResize = 10 [json_name = "autoResize"]; // Auto resize images to 1080x1080px (Max Pack required) + bool disableComments = 11 [json_name = "disableComments"]; // Disable comments on the published post +} + +// TikTok 特定发布选项 +message TikTokOptions { + bool autoAddMusic = 1 [json_name = "autoAddMusic"]; // Whether to automatically add recommended music (image only) + bool disableComments = 2 [json_name = "disableComments"]; // Whether to disable comments on the published post + bool disableDuet = 3 [json_name = "disableDuet"]; // Disable duets on the published video (video only) + bool disableStitch = 4 [json_name = "disableStitch"]; // Disable stitch on the published video (video only) + bool draft = 5 [json_name = "draft"]; // Whether to create a draft post + bool isAIGenerated = 6 [json_name = "isAIGenerated"]; // Whether to enable AI-generated content toggle (video only) + bool isBrandedContent = 7 [json_name = "isBrandedContent"]; // Whether to enable Branded Content toggle + bool isBrandOrganic = 8 [json_name = "isBrandOrganic"]; // Whether to enable Brand Organic Content toggle + int32 imageCoverIndex = 9 [json_name = "imageCoverIndex"]; // Index of mediaUrls to be used as cover (image only, default 0) + string title = 10 [json_name = "title"]; // Title of the post (image only) + int32 thumbNailOffset = 11 [json_name = "thumbNailOffset"]; // Frame to use for video cover in milliseconds (video only) + string thumbNail = 12 [json_name = "thumbNail"]; // URL of thumbnail image for video (video only) + string visibility = 13 [json_name = "visibility"]; // How the post is shared: "public", "private", "followers", "friends" (image only, default "public") +} + +// 发布帖子到社交媒体平台 +message PostRequest { + string post = 1 [json_name = "post", (validator.field) = {string_not_empty: true, human_error: "post内容不能为空"}]; + repeated string platforms = 2 [json_name = "platforms", (validator.field) = {repeated_count_min: 1, human_error: "platforms平台列表不能为空"}]; + repeated string mediaUrls = 3 [json_name = "mediaUrls"]; + bool isVideo = 4 [json_name = "isVideo"]; + string scheduleDate = 5 [json_name = "scheduleDate"]; + bool validateScheduled = 6 [json_name = "validateScheduled"]; + bool shortenLinks = 7 [json_name = "shortenLinks"]; + bool disableComments = 8 [json_name = "disableComments"]; + InstagramOptions instagramOptions = 9 [json_name = "instagramOptions"]; + TikTokOptions tikTokOptions = 10 [json_name = "tikTokOptions"]; + string profileKey = 11 [json_name = "profileKey"]; +} + +// 单个平台的帖子ID响应 +message PostId { + string status = 1 [json_name = "status"]; + string id = 2 [json_name = "id"]; + string cid = 3 [json_name = "cid"]; + string postUrl = 4 [json_name = "postUrl"]; + string platform = 5 [json_name = "platform"]; + string type = 6 [json_name = "type"]; + string owner = 7 [json_name = "owner"]; + string mediaId = 8 [json_name = "mediaId"]; + string ended = 9 [json_name = "ended"]; + string idShare = 10 [json_name = "idShare"]; + bool isVideo = 11 [json_name = "isVideo"]; + int32 usedQuota = 12 [json_name = "usedQuota"]; +} + +// 帖子项(使用 profile key 时的响应格式) +message PostItem { + string status = 1 [json_name = "status"]; + repeated string errors = 2 [json_name = "errors"]; + repeated PostId postIds = 3 [json_name = "postIds"]; + string id = 4 [json_name = "id"]; + string refId = 5 [json_name = "refId"]; + string profileTitle = 6 [json_name = "profileTitle"]; + string post = 7 [json_name = "post"]; +} + +// 发布帖子响应 +message PostResponse { + string status = 1 [json_name = "status"]; + repeated PostItem posts = 2 [json_name = "posts"]; + // 兼容旧版本响应格式(不使用 profile key 时) + repeated string errors = 3 [json_name = "errors"]; + repeated PostId postIds = 4 [json_name = "postIds"]; + string id = 5 [json_name = "id"]; +} + +// 获取帖子请求 +message GetPostRequest { + string id = 1 [json_name = "id", (validator.field) = {string_not_empty: true, human_error: "帖子ID不能为空"}]; + string profileKey = 2 [json_name = "profileKey"]; +} + +// 获取帖子响应 +message GetPostResponse { + string created = 1 [json_name = "created"]; + repeated string errors = 2 [json_name = "errors"]; + string id = 3 [json_name = "id"]; + repeated string mediaUrls = 4 [json_name = "mediaUrls"]; + repeated string platforms = 5 [json_name = "platforms"]; + string post = 6 [json_name = "post"]; + repeated PostId postIds = 7 [json_name = "postIds"]; + string profileTitle = 8 [json_name = "profileTitle"]; + string refId = 9 [json_name = "refId"]; + string scheduleDate = 10 [json_name = "scheduleDate"]; + bool shortenLinks = 11 [json_name = "shortenLinks"]; + string status = 12 [json_name = "status"]; + string type = 13 [json_name = "type"]; +} + +// 获取用户详情请求 +message GetUserRequest { + string profileKey = 1 [json_name = "profileKey"]; + bool instagramDetails = 2 [json_name = "instagramDetails"]; +} + +// 时间戳 +message Timestamp { + int64 seconds = 1 [json_name = "_seconds"]; + int64 nanoseconds = 2 [json_name = "_nanoseconds"]; + string utc = 3 [json_name = "utc"]; +} + +// Twitter 使用情况 +message TwitterUsage { + int32 monthlyUsage = 1 [json_name = "monthlyUsage"]; + int32 monthlyLimit = 2 [json_name = "monthlyLimit"]; + string monthlyReset = 3 [json_name = "monthlyReset"]; +} + +// 社交媒体账户显示名称和详情 +message DisplayName { + string created = 1 [json_name = "created"]; + string displayName = 2 [json_name = "displayName"]; + string id = 3 [json_name = "id"]; + string platform = 4 [json_name = "platform"]; + string profileUrl = 5 [json_name = "profileUrl"]; + string userImage = 6 [json_name = "userImage"]; + string username = 7 [json_name = "username"]; + string description = 8 [json_name = "description"]; + bool messagingActive = 9 [json_name = "messagingActive"]; + string pageName = 10 [json_name = "pageName"]; + string userId = 11 [json_name = "userId"]; + string mapsUrl = 12 [json_name = "mapsUrl"]; + string placeId = 13 [json_name = "placeId"]; + string reviewUrl = 14 [json_name = "reviewUrl"]; + string igId = 15 [json_name = "igId"]; + string type = 16 [json_name = "type"]; + int32 usedQuota = 17 [json_name = "usedQuota"]; + int32 refreshDaysRemaining = 18 [json_name = "refreshDaysRemaining"]; + string refreshRequired = 19 [json_name = "refreshRequired"]; + bool isEligibleForGeoRestrictions = 20 [json_name = "isEligibleForGeoRestrictions"]; + bool isVerified = 21 [json_name = "isVerified"]; + string subscriptionType = 22 [json_name = "subscriptionType"]; + TwitterUsage twitterUsage = 23 [json_name = "twitterUsage"]; + string verifiedType = 24 [json_name = "verifiedType"]; +} + +// 获取用户详情响应 +message GetUserResponse { + repeated string activeSocialAccounts = 1 [json_name = "activeSocialAccounts"]; + Timestamp created = 2 [json_name = "created"]; + repeated DisplayName displayNames = 3 [json_name = "displayNames"]; + string email = 4 [json_name = "email"]; + string lastApiCall = 5 [json_name = "lastApiCall"]; + int32 messagingConversationMonthlyCount = 6 [json_name = "messagingConversationMonthlyCount"]; + bool messagingEnabled = 7 [json_name = "messagingEnabled"]; + int32 monthlyApiCalls = 8 [json_name = "monthlyApiCalls"]; + int32 monthlyPostCount = 9 [json_name = "monthlyPostCount"]; + int32 monthlyPostQuota = 10 [json_name = "monthlyPostQuota"]; + int32 monthlyApiCallsQuota = 11 [json_name = "monthlyApiCallsQuota"]; + string refId = 12 [json_name = "refId"]; + string title = 13 [json_name = "title"]; + string lastUpdated = 14 [json_name = "lastUpdated"]; + string nextUpdate = 15 [json_name = "nextUpdate"]; +} + +// 创建用户配置请求 +message CreateProfileRequest { + string title = 1 [json_name = "title", (validator.field) = {string_not_empty: true, human_error: "title不能为空"}]; + bool messagingActive = 2 [json_name = "messagingActive"]; + bool hideTopHeader = 3 [json_name = "hideTopHeader"]; + string topHeader = 4 [json_name = "topHeader"]; + repeated string disableSocial = 5 [json_name = "disableSocial"]; + bool team = 6 [json_name = "team"]; + string email = 7 [json_name = "email"]; + string subHeader = 8 [json_name = "subHeader"]; + repeated string tags = 9 [json_name = "tags"]; +} + +// 创建用户配置响应 +message CreateProfileResponse { + string status = 1 [json_name = "status"]; + string title = 2 [json_name = "title"]; + string refId = 3 [json_name = "refId"]; + string profileKey = 4 [json_name = "profileKey"]; + bool messagingActive = 5 [json_name = "messagingActive"]; +} + +// 获取用户配置列表请求 +message GetProfilesRequest { + string title = 1 [json_name = "title"]; + string refId = 2 [json_name = "refId"]; + bool hasActiveSocialAccounts = 3 [json_name = "hasActiveSocialAccounts"]; + repeated string includesActiveSocialAccounts = 4 [json_name = "includesActiveSocialAccounts"]; + oneof actionLog { + bool actionLogBool = 5 [json_name = "actionLogBool"]; + int32 actionLogInt = 6 [json_name = "actionLogInt"]; + } + int32 limit = 7 [json_name = "limit"]; + string cursor = 8 [json_name = "cursor"]; +} + +// 用户配置项 +message ProfileItem { + string status = 1 [json_name = "status"]; + string title = 2 [json_name = "title"]; + string displayTitle = 3 [json_name = "displayTitle"]; + Timestamp created = 4 [json_name = "created"]; + string createdUTC = 5 [json_name = "createdUTC"]; + string refId = 6 [json_name = "refId"]; + repeated string activeSocialAccounts = 7 [json_name = "activeSocialAccounts"]; + bool suspended = 8 [json_name = "suspended"]; +} + +// 分页信息 +message Pagination { + bool hasMore = 1 [json_name = "hasMore"]; + string nextCursor = 2 [json_name = "nextCursor"]; + int32 limit = 3 [json_name = "limit"]; +} + +// 获取用户配置列表响应 +message GetProfilesResponse { + repeated ProfileItem profiles = 1 [json_name = "profiles"]; + int32 count = 2 [json_name = "count"]; + string lastUpdated = 3 [json_name = "lastUpdated"]; + string nextUpdate = 4 [json_name = "nextUpdate"]; + Pagination pagination = 5 [json_name = "pagination"]; +} + +// 邮件配置对象 +message Email { + string to = 1 [json_name = "to"]; + string subject = 2 [json_name = "subject"]; + string body = 3 [json_name = "body"]; +} + +// 生成JWT请求 +message GenerateJWTRequest { + string domain = 1 [json_name = "domain", (validator.field) = {string_not_empty: true, human_error: "domain不能为空"}]; + string privateKey = 2 [json_name = "privateKey", (validator.field) = {string_not_empty: true, human_error: "privateKey不能为空"}]; + string profileKey = 3 [json_name = "profileKey", (validator.field) = {string_not_empty: true, human_error: "profileKey不能为空"}]; + bool logout = 4 [json_name = "logout"]; + string redirect = 5 [json_name = "redirect"]; + repeated string allowedSocial = 6 [json_name = "allowedSocial"]; + bool verify = 7 [json_name = "verify"]; + bool base64 = 8 [json_name = "base64"]; + int32 expiresIn = 9 [json_name = "expiresIn"]; + Email email = 10 [json_name = "email"]; +} + +// 生成JWT响应 +message GenerateJWTResponse { + string status = 1 [json_name = "status"]; + string title = 2 [json_name = "title"]; + string token = 3 [json_name = "token"]; + string url = 4 [json_name = "url"]; + bool emailSent = 5 [json_name = "emailSent"]; + string expiresIn = 6 [json_name = "expiresIn"]; +} diff --git a/api/pb/descriptor.proto b/api/pb/descriptor.proto new file mode 100644 index 0000000..5404b14 --- /dev/null +++ b/api/pb/descriptor.proto @@ -0,0 +1,923 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// The messages in this file describe the definitions found in .proto files. +// A valid .proto file can be translated directly to a FileDescriptorProto +// without any other information (e.g. without reading its imports). + + +syntax = "proto2"; + +package google.protobuf; + +option go_package = "google.golang.org/protobuf/types/descriptorpb"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "DescriptorProtos"; +option csharp_namespace = "Google.Protobuf.Reflection"; +option objc_class_prefix = "GPB"; +option cc_enable_arenas = true; + +// descriptor.proto must be optimized for speed because reflection-based +// algorithms don't work during bootstrapping. +option optimize_for = SPEED; + +// The protocol compiler can output a FileDescriptorSet containing the .proto +// files it parses. +message FileDescriptorSet { + repeated FileDescriptorProto file = 1; +} + +// Describes a complete .proto file. +message FileDescriptorProto { + optional string name = 1; // file name, relative to root of source tree + optional string package = 2; // e.g. "foo", "foo.bar", etc. + + // Names of files imported by this file. + repeated string dependency = 3; + // Indexes of the public imported files in the dependency list above. + repeated int32 public_dependency = 10; + // Indexes of the weak imported files in the dependency list. + // For Google-internal migration only. Do not use. + repeated int32 weak_dependency = 11; + + // All top-level definitions in this file. + repeated DescriptorProto message_type = 4; + repeated EnumDescriptorProto enum_type = 5; + repeated ServiceDescriptorProto service = 6; + repeated FieldDescriptorProto extension = 7; + + optional FileOptions options = 8; + + // This field contains optional information about the original source code. + // You may safely remove this entire field without harming runtime + // functionality of the descriptors -- the information is needed only by + // development tools. + optional SourceCodeInfo source_code_info = 9; + + // The syntax of the proto file. + // The supported values are "proto2", "proto3", and "editions". + // + // If `edition` is present, this value must be "editions". + optional string syntax = 12; + + // The edition of the proto file, which is an opaque string. + optional string edition = 13; +} + +// Describes a message type. +message DescriptorProto { + optional string name = 1; + + repeated FieldDescriptorProto field = 2; + repeated FieldDescriptorProto extension = 6; + + repeated DescriptorProto nested_type = 3; + repeated EnumDescriptorProto enum_type = 4; + + message ExtensionRange { + optional int32 start = 1; // Inclusive. + optional int32 end = 2; // Exclusive. + + optional ExtensionRangeOptions options = 3; + } + repeated ExtensionRange extension_range = 5; + + repeated OneofDescriptorProto oneof_decl = 8; + + optional MessageOptions options = 7; + + // Range of reserved tag numbers. Reserved tag numbers may not be used by + // fields or extension ranges in the same message. Reserved ranges may + // not overlap. + message ReservedRange { + optional int32 start = 1; // Inclusive. + optional int32 end = 2; // Exclusive. + } + repeated ReservedRange reserved_range = 9; + // Reserved field names, which may not be used by fields in the same message. + // A given name may only be reserved once. + repeated string reserved_name = 10; +} + +message ExtensionRangeOptions { + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +// Describes a field within a message. +message FieldDescriptorProto { + enum Type { + // 0 is reserved for errors. + // Order is weird for historical reasons. + TYPE_DOUBLE = 1; + TYPE_FLOAT = 2; + // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if + // negative values are likely. + TYPE_INT64 = 3; + TYPE_UINT64 = 4; + // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if + // negative values are likely. + TYPE_INT32 = 5; + TYPE_FIXED64 = 6; + TYPE_FIXED32 = 7; + TYPE_BOOL = 8; + TYPE_STRING = 9; + // Tag-delimited aggregate. + // Group type is deprecated and not supported in proto3. However, Proto3 + // implementations should still be able to parse the group wire format and + // treat group fields as unknown fields. + TYPE_GROUP = 10; + TYPE_MESSAGE = 11; // Length-delimited aggregate. + + // New in version 2. + TYPE_BYTES = 12; + TYPE_UINT32 = 13; + TYPE_ENUM = 14; + TYPE_SFIXED32 = 15; + TYPE_SFIXED64 = 16; + TYPE_SINT32 = 17; // Uses ZigZag encoding. + TYPE_SINT64 = 18; // Uses ZigZag encoding. + } + + enum Label { + // 0 is reserved for errors + LABEL_OPTIONAL = 1; + LABEL_REQUIRED = 2; + LABEL_REPEATED = 3; + } + + optional string name = 1; + optional int32 number = 3; + optional Label label = 4; + + // If type_name is set, this need not be set. If both this and type_name + // are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. + optional Type type = 5; + + // For message and enum types, this is the name of the type. If the name + // starts with a '.', it is fully-qualified. Otherwise, C++-like scoping + // rules are used to find the type (i.e. first the nested types within this + // message are searched, then within the parent, on up to the root + // namespace). + optional string type_name = 6; + + // For extensions, this is the name of the type being extended. It is + // resolved in the same manner as type_name. + optional string extendee = 2; + + // For numeric types, contains the original text representation of the value. + // For booleans, "true" or "false". + // For strings, contains the default text contents (not escaped in any way). + // For bytes, contains the C escaped value. All bytes >= 128 are escaped. + optional string default_value = 7; + + // If set, gives the index of a oneof in the containing type's oneof_decl + // list. This field is a member of that oneof. + optional int32 oneof_index = 9; + + // JSON name of this field. The value is set by protocol compiler. If the + // user has set a "json_name" option on this field, that option's value + // will be used. Otherwise, it's deduced from the field's name by converting + // it to camelCase. + optional string json_name = 10; + + optional FieldOptions options = 8; + + // If true, this is a proto3 "optional". When a proto3 field is optional, it + // tracks presence regardless of field type. + // + // When proto3_optional is true, this field must be belong to a oneof to + // signal to old proto3 clients that presence is tracked for this field. This + // oneof is known as a "synthetic" oneof, and this field must be its sole + // member (each proto3 optional field gets its own synthetic oneof). Synthetic + // oneofs exist in the descriptor only, and do not generate any API. Synthetic + // oneofs must be ordered after all "real" oneofs. + // + // For message fields, proto3_optional doesn't create any semantic change, + // since non-repeated message fields always track presence. However it still + // indicates the semantic detail of whether the user wrote "optional" or not. + // This can be useful for round-tripping the .proto file. For consistency we + // give message fields a synthetic oneof also, even though it is not required + // to track presence. This is especially important because the parser can't + // tell if a field is a message or an enum, so it must always create a + // synthetic oneof. + // + // Proto2 optional fields do not set this flag, because they already indicate + // optional with `LABEL_OPTIONAL`. + optional bool proto3_optional = 17; +} + +// Describes a oneof. +message OneofDescriptorProto { + optional string name = 1; + optional OneofOptions options = 2; +} + +// Describes an enum type. +message EnumDescriptorProto { + optional string name = 1; + + repeated EnumValueDescriptorProto value = 2; + + optional EnumOptions options = 3; + + // Range of reserved numeric values. Reserved values may not be used by + // entries in the same enum. Reserved ranges may not overlap. + // + // Note that this is distinct from DescriptorProto.ReservedRange in that it + // is inclusive such that it can appropriately represent the entire int32 + // domain. + message EnumReservedRange { + optional int32 start = 1; // Inclusive. + optional int32 end = 2; // Inclusive. + } + + // Range of reserved numeric values. Reserved numeric values may not be used + // by enum values in the same enum declaration. Reserved ranges may not + // overlap. + repeated EnumReservedRange reserved_range = 4; + + // Reserved enum value names, which may not be reused. A given name may only + // be reserved once. + repeated string reserved_name = 5; +} + +// Describes a value within an enum. +message EnumValueDescriptorProto { + optional string name = 1; + optional int32 number = 2; + + optional EnumValueOptions options = 3; +} + +// Describes a service. +message ServiceDescriptorProto { + optional string name = 1; + repeated MethodDescriptorProto method = 2; + + optional ServiceOptions options = 3; +} + +// Describes a method of a service. +message MethodDescriptorProto { + optional string name = 1; + + // Input and output type names. These are resolved in the same way as + // FieldDescriptorProto.type_name, but must refer to a message type. + optional string input_type = 2; + optional string output_type = 3; + + optional MethodOptions options = 4; + + // Identifies if client streams multiple client messages + optional bool client_streaming = 5 [default = false]; + // Identifies if server streams multiple server messages + optional bool server_streaming = 6 [default = false]; +} + + +// =================================================================== +// Options + +// Each of the definitions above may have "options" attached. These are +// just annotations which may cause code to be generated slightly differently +// or may contain hints for code that manipulates protocol messages. +// +// Clients may define custom options as extensions of the *Options messages. +// These extensions may not yet be known at parsing time, so the parser cannot +// store the values in them. Instead it stores them in a field in the *Options +// message called uninterpreted_option. This field must have the same name +// across all *Options messages. We then use this field to populate the +// extensions when we build a descriptor, at which point all protos have been +// parsed and so all extensions are known. +// +// Extension numbers for custom options may be chosen as follows: +// * For options which will only be used within a single application or +// organization, or for experimental options, use field numbers 50000 +// through 99999. It is up to you to ensure that you do not use the +// same number for multiple options. +// * For options which will be published and used publicly by multiple +// independent entities, e-mail protobuf-global-extension-registry@google.com +// to reserve extension numbers. Simply provide your project name (e.g. +// Objective-C plugin) and your project website (if available) -- there's no +// need to explain how you intend to use them. Usually you only need one +// extension number. You can declare multiple options with only one extension +// number by putting them in a sub-message. See the Custom Options section of +// the docs for examples: +// https://developers.google.com/protocol-buffers/docs/proto#options +// If this turns out to be popular, a web service will be set up +// to automatically assign option numbers. + +message FileOptions { + + // Sets the Java package where classes generated from this .proto will be + // placed. By default, the proto package is used, but this is often + // inappropriate because proto packages do not normally start with backwards + // domain names. + optional string java_package = 1; + + + // Controls the name of the wrapper Java class generated for the .proto file. + // That class will always contain the .proto file's getDescriptor() method as + // well as any top-level extensions defined in the .proto file. + // If java_multiple_files is disabled, then all the other classes from the + // .proto file will be nested inside the single wrapper outer class. + optional string java_outer_classname = 8; + + // If enabled, then the Java code generator will generate a separate .java + // file for each top-level message, enum, and service defined in the .proto + // file. Thus, these types will *not* be nested inside the wrapper class + // named by java_outer_classname. However, the wrapper class will still be + // generated to contain the file's getDescriptor() method as well as any + // top-level extensions defined in the file. + optional bool java_multiple_files = 10 [default = false]; + + // This option does nothing. + optional bool java_generate_equals_and_hash = 20 [deprecated=true]; + + // If set true, then the Java2 code generator will generate code that + // throws an exception whenever an attempt is made to assign a non-UTF-8 + // byte sequence to a string field. + // Message reflection will do the same. + // However, an extension field still accepts non-UTF-8 byte sequences. + // This option has no effect on when used with the lite runtime. + optional bool java_string_check_utf8 = 27 [default = false]; + + + // Generated classes can be optimized for speed or code size. + enum OptimizeMode { + SPEED = 1; // Generate complete code for parsing, serialization, + // etc. + CODE_SIZE = 2; // Use ReflectionOps to implement these methods. + LITE_RUNTIME = 3; // Generate code using MessageLite and the lite runtime. + } + optional OptimizeMode optimize_for = 9 [default = SPEED]; + + // Sets the Go package where structs generated from this .proto will be + // placed. If omitted, the Go package will be derived from the following: + // - The basename of the package import path, if provided. + // - Otherwise, the package statement in the .proto file, if present. + // - Otherwise, the basename of the .proto file, without extension. + optional string go_package = 11; + + + + + // Should generic services be generated in each language? "Generic" services + // are not specific to any particular RPC system. They are generated by the + // main code generators in each language (without additional plugins). + // Generic services were the only kind of service generation supported by + // early versions of google.protobuf. + // + // Generic services are now considered deprecated in favor of using plugins + // that generate code specific to your particular RPC system. Therefore, + // these default to false. Old code which depends on generic services should + // explicitly set them to true. + optional bool cc_generic_services = 16 [default = false]; + optional bool java_generic_services = 17 [default = false]; + optional bool py_generic_services = 18 [default = false]; + optional bool php_generic_services = 42 [default = false]; + + // Is this file deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for everything in the file, or it will be completely ignored; in the very + // least, this is a formalization for deprecating files. + optional bool deprecated = 23 [default = false]; + + // Enables the use of arenas for the proto messages in this file. This applies + // only to generated classes for C++. + optional bool cc_enable_arenas = 31 [default = true]; + + + // Sets the objective c class prefix which is prepended to all objective c + // generated classes from this .proto. There is no default. + optional string objc_class_prefix = 36; + + // Namespace for generated classes; defaults to the package. + optional string csharp_namespace = 37; + + // By default Swift generators will take the proto package and CamelCase it + // replacing '.' with underscore and use that to prefix the types/symbols + // defined. When this options is provided, they will use this value instead + // to prefix the types/symbols defined. + optional string swift_prefix = 39; + + // Sets the php class prefix which is prepended to all php generated classes + // from this .proto. Default is empty. + optional string php_class_prefix = 40; + + // Use this option to change the namespace of php generated classes. Default + // is empty. When this option is empty, the package name will be used for + // determining the namespace. + optional string php_namespace = 41; + + // Use this option to change the namespace of php generated metadata classes. + // Default is empty. When this option is empty, the proto file name will be + // used for determining the namespace. + optional string php_metadata_namespace = 44; + + // Use this option to change the package of ruby generated classes. Default + // is empty. When this option is not set, the package name will be used for + // determining the ruby package. + optional string ruby_package = 45; + + + // The parser stores options it doesn't recognize here. + // See the documentation for the "Options" section above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. + // See the documentation for the "Options" section above. + extensions 1000 to max; + + reserved 38; +} + +message MessageOptions { + // Set true to use the old proto1 MessageSet wire format for extensions. + // This is provided for backwards-compatibility with the MessageSet wire + // format. You should not use this for any other reason: It's less + // efficient, has fewer features, and is more complicated. + // + // The message must be defined exactly as follows: + // message Foo { + // option message_set_wire_format = true; + // extensions 4 to max; + // } + // Note that the message cannot have any defined fields; MessageSets only + // have extensions. + // + // All extensions of your type must be singular messages; e.g. they cannot + // be int32s, enums, or repeated messages. + // + // Because this is an option, the above two restrictions are not enforced by + // the protocol compiler. + optional bool message_set_wire_format = 1 [default = false]; + + // Disables the generation of the standard "descriptor()" accessor, which can + // conflict with a field of the same name. This is meant to make migration + // from proto1 easier; new code should avoid fields named "descriptor". + optional bool no_standard_descriptor_accessor = 2 [default = false]; + + // Is this message deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the message, or it will be completely ignored; in the very least, + // this is a formalization for deprecating messages. + optional bool deprecated = 3 [default = false]; + + reserved 4, 5, 6; + + // Whether the message is an automatically generated map entry type for the + // maps field. + // + // For maps fields: + // map map_field = 1; + // The parsed descriptor looks like: + // message MapFieldEntry { + // option map_entry = true; + // optional KeyType key = 1; + // optional ValueType value = 2; + // } + // repeated MapFieldEntry map_field = 1; + // + // Implementations may choose not to generate the map_entry=true message, but + // use a native map in the target language to hold the keys and values. + // The reflection APIs in such implementations still need to work as + // if the field is a repeated message field. + // + // NOTE: Do not set the option in .proto files. Always use the maps syntax + // instead. The option should only be implicitly set by the proto compiler + // parser. + optional bool map_entry = 7; + + reserved 8; // javalite_serializable + reserved 9; // javanano_as_lite + + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message FieldOptions { + // The ctype option instructs the C++ code generator to use a different + // representation of the field than it normally would. See the specific + // options below. This option is not yet implemented in the open source + // release -- sorry, we'll try to include it in a future version! + optional CType ctype = 1 [default = STRING]; + enum CType { + // Default mode. + STRING = 0; + + CORD = 1; + + STRING_PIECE = 2; + } + // The packed option can be enabled for repeated primitive fields to enable + // a more efficient representation on the wire. Rather than repeatedly + // writing the tag and type for each element, the entire array is encoded as + // a single length-delimited blob. In proto3, only explicit setting it to + // false will avoid using packed encoding. + optional bool packed = 2; + + // The jstype option determines the JavaScript type used for values of the + // field. The option is permitted only for 64 bit integral and fixed types + // (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING + // is represented as JavaScript string, which avoids loss of precision that + // can happen when a large value is converted to a floating point JavaScript. + // Specifying JS_NUMBER for the jstype causes the generated JavaScript code to + // use the JavaScript "number" type. The behavior of the default option + // JS_NORMAL is implementation dependent. + // + // This option is an enum to permit additional types to be added, e.g. + // goog.math.Integer. + optional JSType jstype = 6 [default = JS_NORMAL]; + enum JSType { + // Use the default type. + JS_NORMAL = 0; + + // Use JavaScript strings. + JS_STRING = 1; + + // Use JavaScript numbers. + JS_NUMBER = 2; + } + + // Should this field be parsed lazily? Lazy applies only to message-type + // fields. It means that when the outer message is initially parsed, the + // inner message's contents will not be parsed but instead stored in encoded + // form. The inner message will actually be parsed when it is first accessed. + // + // This is only a hint. Implementations are free to choose whether to use + // eager or lazy parsing regardless of the value of this option. However, + // setting this option true suggests that the protocol author believes that + // using lazy parsing on this field is worth the additional bookkeeping + // overhead typically needed to implement it. + // + // This option does not affect the public interface of any generated code; + // all method signatures remain the same. Furthermore, thread-safety of the + // interface is not affected by this option; const methods remain safe to + // call from multiple threads concurrently, while non-const methods continue + // to require exclusive access. + // + // + // Note that implementations may choose not to check required fields within + // a lazy sub-message. That is, calling IsInitialized() on the outer message + // may return true even if the inner message has missing required fields. + // This is necessary because otherwise the inner message would have to be + // parsed in order to perform the check, defeating the purpose of lazy + // parsing. An implementation which chooses not to check required fields + // must be consistent about it. That is, for any particular sub-message, the + // implementation must either *always* check its required fields, or *never* + // check its required fields, regardless of whether or not the message has + // been parsed. + // + // As of May 2022, lazy verifies the contents of the byte stream during + // parsing. An invalid byte stream will cause the overall parsing to fail. + optional bool lazy = 5 [default = false]; + + // unverified_lazy does no correctness checks on the byte stream. This should + // only be used where lazy with verification is prohibitive for performance + // reasons. + optional bool unverified_lazy = 15 [default = false]; + + // Is this field deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for accessors, or it will be completely ignored; in the very least, this + // is a formalization for deprecating fields. + optional bool deprecated = 3 [default = false]; + + // For Google-internal migration only. Do not use. + optional bool weak = 10 [default = false]; + + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; + + reserved 4; // removed jtype +} + +message OneofOptions { + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message EnumOptions { + + // Set this option to true to allow mapping different tag names to the same + // value. + optional bool allow_alias = 2; + + // Is this enum deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the enum, or it will be completely ignored; in the very least, this + // is a formalization for deprecating enums. + optional bool deprecated = 3 [default = false]; + + reserved 5; // javanano_as_lite + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message EnumValueOptions { + // Is this enum value deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the enum value, or it will be completely ignored; in the very least, + // this is a formalization for deprecating enum values. + optional bool deprecated = 1 [default = false]; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message ServiceOptions { + + // Note: Field numbers 1 through 32 are reserved for Google's internal RPC + // framework. We apologize for hoarding these numbers to ourselves, but + // we were already using them long before we decided to release Protocol + // Buffers. + + // Is this service deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the service, or it will be completely ignored; in the very least, + // this is a formalization for deprecating services. + optional bool deprecated = 33 [default = false]; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message MethodOptions { + + // Note: Field numbers 1 through 32 are reserved for Google's internal RPC + // framework. We apologize for hoarding these numbers to ourselves, but + // we were already using them long before we decided to release Protocol + // Buffers. + + // Is this method deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the method, or it will be completely ignored; in the very least, + // this is a formalization for deprecating methods. + optional bool deprecated = 33 [default = false]; + + // Is this method side-effect-free (or safe in HTTP parlance), or idempotent, + // or neither? HTTP based RPC implementation may choose GET verb for safe + // methods, and PUT verb for idempotent methods instead of the default POST. + enum IdempotencyLevel { + IDEMPOTENCY_UNKNOWN = 0; + NO_SIDE_EFFECTS = 1; // implies idempotent + IDEMPOTENT = 2; // idempotent, but may have side effects + } + optional IdempotencyLevel idempotency_level = 34 + [default = IDEMPOTENCY_UNKNOWN]; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + + +// A message representing a option the parser does not recognize. This only +// appears in options protos created by the compiler::Parser class. +// DescriptorPool resolves these when building Descriptor objects. Therefore, +// options protos in descriptor objects (e.g. returned by Descriptor::options(), +// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions +// in them. +message UninterpretedOption { + // The name of the uninterpreted option. Each string represents a segment in + // a dot-separated name. is_extension is true iff a segment represents an + // extension (denoted with parentheses in options specs in .proto files). + // E.g.,{ ["foo", false], ["bar.baz", true], ["moo", false] } represents + // "foo.(bar.baz).moo". + message NamePart { + required string name_part = 1; + required bool is_extension = 2; + } + repeated NamePart name = 2; + + // The value of the uninterpreted option, in whatever type the tokenizer + // identified it as during parsing. Exactly one of these should be set. + optional string identifier_value = 3; + optional uint64 positive_int_value = 4; + optional int64 negative_int_value = 5; + optional double double_value = 6; + optional bytes string_value = 7; + optional string aggregate_value = 8; +} + +// =================================================================== +// Optional source code info + +// Encapsulates information about the original source file from which a +// FileDescriptorProto was generated. +message SourceCodeInfo { + // A Location identifies a piece of source code in a .proto file which + // corresponds to a particular definition. This information is intended + // to be useful to IDEs, code indexers, documentation generators, and similar + // tools. + // + // For example, say we have a file like: + // message Foo { + // optional string foo = 1; + // } + // Let's look at just the field definition: + // optional string foo = 1; + // ^ ^^ ^^ ^ ^^^ + // a bc de f ghi + // We have the following locations: + // span path represents + // [a,i) [ 4, 0, 2, 0 ] The whole field definition. + // [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). + // [c,d) [ 4, 0, 2, 0, 5 ] The type (string). + // [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). + // [g,h) [ 4, 0, 2, 0, 3 ] The number (1). + // + // Notes: + // - A location may refer to a repeated field itself (i.e. not to any + // particular index within it). This is used whenever a set of elements are + // logically enclosed in a single code segment. For example, an entire + // extend block (possibly containing multiple extension definitions) will + // have an outer location whose path refers to the "extensions" repeated + // field without an index. + // - Multiple locations may have the same path. This happens when a single + // logical declaration is spread out across multiple places. The most + // obvious example is the "extend" block again -- there may be multiple + // extend blocks in the same scope, each of which will have the same path. + // - A location's span is not always a subset of its parent's span. For + // example, the "extendee" of an extension declaration appears at the + // beginning of the "extend" block and is shared by all extensions within + // the block. + // - Just because a location's span is a subset of some other location's span + // does not mean that it is a descendant. For example, a "group" defines + // both a type and a field in a single declaration. Thus, the locations + // corresponding to the type and field and their components will overlap. + // - Code which tries to interpret locations should probably be designed to + // ignore those that it doesn't understand, as more types of locations could + // be recorded in the future. + repeated Location location = 1; + message Location { + // Identifies which part of the FileDescriptorProto was defined at this + // location. + // + // Each element is a field number or an index. They form a path from + // the root FileDescriptorProto to the place where the definition occurs. + // For example, this path: + // [ 4, 3, 2, 7, 1 ] + // refers to: + // file.message_type(3) // 4, 3 + // .field(7) // 2, 7 + // .name() // 1 + // This is because FileDescriptorProto.message_type has field number 4: + // repeated DescriptorProto message_type = 4; + // and DescriptorProto.field has field number 2: + // repeated FieldDescriptorProto field = 2; + // and FieldDescriptorProto.name has field number 1: + // optional string name = 1; + // + // Thus, the above path gives the location of a field name. If we removed + // the last element: + // [ 4, 3, 2, 7 ] + // this path refers to the whole field declaration (from the beginning + // of the label to the terminating semicolon). + repeated int32 path = 1 [packed = true]; + + // Always has exactly three or four elements: start line, start column, + // end line (optional, otherwise assumed same as start line), end column. + // These are packed into a single field for efficiency. Note that line + // and column numbers are zero-based -- typically you will want to add + // 1 to each before displaying to a user. + repeated int32 span = 2 [packed = true]; + + // If this SourceCodeInfo represents a complete declaration, these are any + // comments appearing before and after the declaration which appear to be + // attached to the declaration. + // + // A series of line comments appearing on consecutive lines, with no other + // tokens appearing on those lines, will be treated as a single comment. + // + // leading_detached_comments will keep paragraphs of comments that appear + // before (but not connected to) the current element. Each paragraph, + // separated by empty lines, will be one comment element in the repeated + // field. + // + // Only the comment content is provided; comment markers (e.g. //) are + // stripped out. For block comments, leading whitespace and an asterisk + // will be stripped from the beginning of each line other than the first. + // Newlines are included in the output. + // + // Examples: + // + // optional int32 foo = 1; // Comment attached to foo. + // // Comment attached to bar. + // optional int32 bar = 2; + // + // optional string baz = 3; + // // Comment attached to baz. + // // Another line attached to baz. + // + // // Comment attached to moo. + // // + // // Another line attached to moo. + // optional double moo = 4; + // + // // Detached comment for corge. This is not leading or trailing comments + // // to moo or corge because there are blank lines separating it from + // // both. + // + // // Detached comment for corge paragraph 2. + // + // optional string corge = 5; + // /* Block comment attached + // * to corge. Leading asterisks + // * will be removed. */ + // /* Block comment attached to + // * grault. */ + // optional int32 grault = 6; + // + // // ignored detached comments. + optional string leading_comments = 3; + optional string trailing_comments = 4; + repeated string leading_detached_comments = 6; + } +} + +// Describes the relationship between generated code and its original source +// file. A GeneratedCodeInfo message is associated with only one generated +// source file, but may contain references to different source .proto files. +message GeneratedCodeInfo { + // An Annotation connects some span of text in generated code to an element + // of its generating .proto file. + repeated Annotation annotation = 1; + message Annotation { + // Identifies the element in the original source .proto file. This field + // is formatted the same as SourceCodeInfo.Location.path. + repeated int32 path = 1 [packed = true]; + + // Identifies the filesystem path to the original source .proto. + optional string source_file = 2; + + // Identifies the starting offset in bytes in the generated code + // that relates to the identified object. + optional int32 begin = 3; + + // Identifies the ending offset in bytes in the generated code that + // relates to the identified offset. The end offset should be one past + // the last relevant byte (so the length of the text = end - begin). + optional int32 end = 4; + } +} diff --git a/api/pb/validate.proto b/api/pb/validate.proto new file mode 100644 index 0000000..646729e --- /dev/null +++ b/api/pb/validate.proto @@ -0,0 +1,862 @@ +syntax = "proto2"; +package validate; + +option go_package = "github.com/envoyproxy/protoc-gen-validate/validate"; +option java_package = "io.envoyproxy.pgv.validate"; + +import "google/protobuf/descriptor.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; + +// Validation rules applied at the message level +extend google.protobuf.MessageOptions { + // Disabled nullifies any validation rules for this message, including any + // message fields associated with it that do support validation. + optional bool disabled = 1071; + // Ignore skips generation of validation methods for this message. + optional bool ignored = 1072; +} + +// Validation rules applied at the oneof level +extend google.protobuf.OneofOptions { + // Required ensures that exactly one the field options in a oneof is set; + // validation fails if no fields in the oneof are set. + optional bool required = 1071; +} + +// Validation rules applied at the field level +extend google.protobuf.FieldOptions { + // Rules specify the validations to be performed on this field. By default, + // no validation is performed against a field. + optional FieldRules rules = 1071; +} + +// FieldRules encapsulates the rules for each type of field. Depending on the +// field, the correct set should be used to ensure proper validations. +message FieldRules { + optional MessageRules message = 17; + oneof type { + // Scalar Field Types + FloatRules float = 1; + DoubleRules double = 2; + Int32Rules int32 = 3; + Int64Rules int64 = 4; + UInt32Rules uint32 = 5; + UInt64Rules uint64 = 6; + SInt32Rules sint32 = 7; + SInt64Rules sint64 = 8; + Fixed32Rules fixed32 = 9; + Fixed64Rules fixed64 = 10; + SFixed32Rules sfixed32 = 11; + SFixed64Rules sfixed64 = 12; + BoolRules bool = 13; + StringRules string = 14; + BytesRules bytes = 15; + + // Complex Field Types + EnumRules enum = 16; + RepeatedRules repeated = 18; + MapRules map = 19; + + // Well-Known Field Types + AnyRules any = 20; + DurationRules duration = 21; + TimestampRules timestamp = 22; + } +} + +// FloatRules describes the constraints applied to `float` values +message FloatRules { + // Const specifies that this field must be exactly the specified value + optional float const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional float lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional float lte = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional float gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional float gte = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated float in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated float not_in = 7; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 8; +} + +// DoubleRules describes the constraints applied to `double` values +message DoubleRules { + // Const specifies that this field must be exactly the specified value + optional double const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional double lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional double lte = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional double gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional double gte = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated double in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated double not_in = 7; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 8; +} + +// Int32Rules describes the constraints applied to `int32` values +message Int32Rules { + // Const specifies that this field must be exactly the specified value + optional int32 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional int32 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional int32 lte = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional int32 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional int32 gte = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated int32 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated int32 not_in = 7; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 8; +} + +// Int64Rules describes the constraints applied to `int64` values +message Int64Rules { + // Const specifies that this field must be exactly the specified value + optional int64 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional int64 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional int64 lte = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional int64 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional int64 gte = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated int64 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated int64 not_in = 7; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 8; +} + +// UInt32Rules describes the constraints applied to `uint32` values +message UInt32Rules { + // Const specifies that this field must be exactly the specified value + optional uint32 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional uint32 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional uint32 lte = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional uint32 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional uint32 gte = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated uint32 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated uint32 not_in = 7; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 8; +} + +// UInt64Rules describes the constraints applied to `uint64` values +message UInt64Rules { + // Const specifies that this field must be exactly the specified value + optional uint64 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional uint64 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional uint64 lte = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional uint64 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional uint64 gte = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated uint64 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated uint64 not_in = 7; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 8; +} + +// SInt32Rules describes the constraints applied to `sint32` values +message SInt32Rules { + // Const specifies that this field must be exactly the specified value + optional sint32 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional sint32 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional sint32 lte = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional sint32 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional sint32 gte = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated sint32 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated sint32 not_in = 7; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 8; +} + +// SInt64Rules describes the constraints applied to `sint64` values +message SInt64Rules { + // Const specifies that this field must be exactly the specified value + optional sint64 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional sint64 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional sint64 lte = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional sint64 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional sint64 gte = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated sint64 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated sint64 not_in = 7; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 8; +} + +// Fixed32Rules describes the constraints applied to `fixed32` values +message Fixed32Rules { + // Const specifies that this field must be exactly the specified value + optional fixed32 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional fixed32 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional fixed32 lte = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional fixed32 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional fixed32 gte = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated fixed32 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated fixed32 not_in = 7; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 8; +} + +// Fixed64Rules describes the constraints applied to `fixed64` values +message Fixed64Rules { + // Const specifies that this field must be exactly the specified value + optional fixed64 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional fixed64 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional fixed64 lte = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional fixed64 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional fixed64 gte = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated fixed64 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated fixed64 not_in = 7; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 8; +} + +// SFixed32Rules describes the constraints applied to `sfixed32` values +message SFixed32Rules { + // Const specifies that this field must be exactly the specified value + optional sfixed32 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional sfixed32 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional sfixed32 lte = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional sfixed32 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional sfixed32 gte = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated sfixed32 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated sfixed32 not_in = 7; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 8; +} + +// SFixed64Rules describes the constraints applied to `sfixed64` values +message SFixed64Rules { + // Const specifies that this field must be exactly the specified value + optional sfixed64 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional sfixed64 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional sfixed64 lte = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional sfixed64 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional sfixed64 gte = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated sfixed64 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated sfixed64 not_in = 7; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 8; +} + +// BoolRules describes the constraints applied to `bool` values +message BoolRules { + // Const specifies that this field must be exactly the specified value + optional bool const = 1; +} + +// StringRules describe the constraints applied to `string` values +message StringRules { + // Const specifies that this field must be exactly the specified value + optional string const = 1; + + // Len specifies that this field must be the specified number of + // characters (Unicode code points). Note that the number of + // characters may differ from the number of bytes in the string. + optional uint64 len = 19; + + // MinLen specifies that this field must be the specified number of + // characters (Unicode code points) at a minimum. Note that the number of + // characters may differ from the number of bytes in the string. + optional uint64 min_len = 2; + + // MaxLen specifies that this field must be the specified number of + // characters (Unicode code points) at a maximum. Note that the number of + // characters may differ from the number of bytes in the string. + optional uint64 max_len = 3; + + // LenBytes specifies that this field must be the specified number of bytes + optional uint64 len_bytes = 20; + + // MinBytes specifies that this field must be the specified number of bytes + // at a minimum + optional uint64 min_bytes = 4; + + // MaxBytes specifies that this field must be the specified number of bytes + // at a maximum + optional uint64 max_bytes = 5; + + // Pattern specifes that this field must match against the specified + // regular expression (RE2 syntax). The included expression should elide + // any delimiters. + optional string pattern = 6; + + // Prefix specifies that this field must have the specified substring at + // the beginning of the string. + optional string prefix = 7; + + // Suffix specifies that this field must have the specified substring at + // the end of the string. + optional string suffix = 8; + + // Contains specifies that this field must have the specified substring + // anywhere in the string. + optional string contains = 9; + + // NotContains specifies that this field cannot have the specified substring + // anywhere in the string. + optional string not_contains = 23; + + // In specifies that this field must be equal to one of the specified + // values + repeated string in = 10; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated string not_in = 11; + + // WellKnown rules provide advanced constraints against common string + // patterns + oneof well_known { + // Email specifies that the field must be a valid email address as + // defined by RFC 5322 + bool email = 12; + + // Hostname specifies that the field must be a valid hostname as + // defined by RFC 1034. This constraint does not support + // internationalized domain names (IDNs). + bool hostname = 13; + + // Ip specifies that the field must be a valid IP (v4 or v6) address. + // Valid IPv6 addresses should not include surrounding square brackets. + bool ip = 14; + + // Ipv4 specifies that the field must be a valid IPv4 address. + bool ipv4 = 15; + + // Ipv6 specifies that the field must be a valid IPv6 address. Valid + // IPv6 addresses should not include surrounding square brackets. + bool ipv6 = 16; + + // Uri specifies that the field must be a valid, absolute URI as defined + // by RFC 3986 + bool uri = 17; + + // UriRef specifies that the field must be a valid URI as defined by RFC + // 3986 and may be relative or absolute. + bool uri_ref = 18; + + // Address specifies that the field must be either a valid hostname as + // defined by RFC 1034 (which does not support internationalized domain + // names or IDNs), or it can be a valid IP (v4 or v6). + bool address = 21; + + // Uuid specifies that the field must be a valid UUID as defined by + // RFC 4122 + bool uuid = 22; + + // WellKnownRegex specifies a common well known pattern defined as a regex. + KnownRegex well_known_regex = 24; + } + + // This applies to regexes HTTP_HEADER_NAME and HTTP_HEADER_VALUE to enable + // strict header validation. + // By default, this is true, and HTTP header validations are RFC-compliant. + // Setting to false will enable a looser validations that only disallows + // \r\n\0 characters, which can be used to bypass header matching rules. + optional bool strict = 25 [default = true]; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 26; +} + +// WellKnownRegex contain some well-known patterns. +enum KnownRegex { + UNKNOWN = 0; + + // HTTP header name as defined by RFC 7230. + HTTP_HEADER_NAME = 1; + + // HTTP header value as defined by RFC 7230. + HTTP_HEADER_VALUE = 2; +} + +// BytesRules describe the constraints applied to `bytes` values +message BytesRules { + // Const specifies that this field must be exactly the specified value + optional bytes const = 1; + + // Len specifies that this field must be the specified number of bytes + optional uint64 len = 13; + + // MinLen specifies that this field must be the specified number of bytes + // at a minimum + optional uint64 min_len = 2; + + // MaxLen specifies that this field must be the specified number of bytes + // at a maximum + optional uint64 max_len = 3; + + // Pattern specifes that this field must match against the specified + // regular expression (RE2 syntax). The included expression should elide + // any delimiters. + optional string pattern = 4; + + // Prefix specifies that this field must have the specified bytes at the + // beginning of the string. + optional bytes prefix = 5; + + // Suffix specifies that this field must have the specified bytes at the + // end of the string. + optional bytes suffix = 6; + + // Contains specifies that this field must have the specified bytes + // anywhere in the string. + optional bytes contains = 7; + + // In specifies that this field must be equal to one of the specified + // values + repeated bytes in = 8; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated bytes not_in = 9; + + // WellKnown rules provide advanced constraints against common byte + // patterns + oneof well_known { + // Ip specifies that the field must be a valid IP (v4 or v6) address in + // byte format + bool ip = 10; + + // Ipv4 specifies that the field must be a valid IPv4 address in byte + // format + bool ipv4 = 11; + + // Ipv6 specifies that the field must be a valid IPv6 address in byte + // format + bool ipv6 = 12; + } + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 14; +} + +// EnumRules describe the constraints applied to enum values +message EnumRules { + // Const specifies that this field must be exactly the specified value + optional int32 const = 1; + + // DefinedOnly specifies that this field must be only one of the defined + // values for this enum, failing on any undefined value. + optional bool defined_only = 2; + + // In specifies that this field must be equal to one of the specified + // values + repeated int32 in = 3; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated int32 not_in = 4; +} + +// MessageRules describe the constraints applied to embedded message values. +// For message-type fields, validation is performed recursively. +message MessageRules { + // Skip specifies that the validation rules of this field should not be + // evaluated + optional bool skip = 1; + + // Required specifies that this field must be set + optional bool required = 2; +} + +// RepeatedRules describe the constraints applied to `repeated` values +message RepeatedRules { + // MinItems specifies that this field must have the specified number of + // items at a minimum + optional uint64 min_items = 1; + + // MaxItems specifies that this field must have the specified number of + // items at a maximum + optional uint64 max_items = 2; + + // Unique specifies that all elements in this field must be unique. This + // contraint is only applicable to scalar and enum types (messages are not + // supported). + optional bool unique = 3; + + // Items specifies the contraints to be applied to each item in the field. + // Repeated message fields will still execute validation against each item + // unless skip is specified here. + optional FieldRules items = 4; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 5; +} + +// MapRules describe the constraints applied to `map` values +message MapRules { + // MinPairs specifies that this field must have the specified number of + // KVs at a minimum + optional uint64 min_pairs = 1; + + // MaxPairs specifies that this field must have the specified number of + // KVs at a maximum + optional uint64 max_pairs = 2; + + // NoSparse specifies values in this field cannot be unset. This only + // applies to map's with message value types. + optional bool no_sparse = 3; + + // Keys specifies the constraints to be applied to each key in the field. + optional FieldRules keys = 4; + + // Values specifies the constraints to be applied to the value of each key + // in the field. Message values will still have their validations evaluated + // unless skip is specified here. + optional FieldRules values = 5; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 6; +} + +// AnyRules describe constraints applied exclusively to the +// `google.protobuf.Any` well-known type +message AnyRules { + // Required specifies that this field must be set + optional bool required = 1; + + // In specifies that this field's `type_url` must be equal to one of the + // specified values. + repeated string in = 2; + + // NotIn specifies that this field's `type_url` must not be equal to any of + // the specified values. + repeated string not_in = 3; +} + +// DurationRules describe the constraints applied exclusively to the +// `google.protobuf.Duration` well-known type +message DurationRules { + // Required specifies that this field must be set + optional bool required = 1; + + // Const specifies that this field must be exactly the specified value + optional google.protobuf.Duration const = 2; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional google.protobuf.Duration lt = 3; + + // Lt specifies that this field must be less than the specified value, + // inclusive + optional google.protobuf.Duration lte = 4; + + // Gt specifies that this field must be greater than the specified value, + // exclusive + optional google.protobuf.Duration gt = 5; + + // Gte specifies that this field must be greater than the specified value, + // inclusive + optional google.protobuf.Duration gte = 6; + + // In specifies that this field must be equal to one of the specified + // values + repeated google.protobuf.Duration in = 7; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated google.protobuf.Duration not_in = 8; +} + +// TimestampRules describe the constraints applied exclusively to the +// `google.protobuf.Timestamp` well-known type +message TimestampRules { + // Required specifies that this field must be set + optional bool required = 1; + + // Const specifies that this field must be exactly the specified value + optional google.protobuf.Timestamp const = 2; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional google.protobuf.Timestamp lt = 3; + + // Lte specifies that this field must be less than the specified value, + // inclusive + optional google.protobuf.Timestamp lte = 4; + + // Gt specifies that this field must be greater than the specified value, + // exclusive + optional google.protobuf.Timestamp gt = 5; + + // Gte specifies that this field must be greater than the specified value, + // inclusive + optional google.protobuf.Timestamp gte = 6; + + // LtNow specifies that this must be less than the current time. LtNow + // can only be used with the Within rule. + optional bool lt_now = 7; + + // GtNow specifies that this must be greater than the current time. GtNow + // can only be used with the Within rule. + optional bool gt_now = 8; + + // Within specifies that this field must be within this duration of the + // current time. This constraint can be used alone or with the LtNow and + // GtNow rules. + optional google.protobuf.Duration within = 9; +} \ No newline at end of file diff --git a/api/pb/validator.proto b/api/pb/validator.proto new file mode 100644 index 0000000..b78a521 --- /dev/null +++ b/api/pb/validator.proto @@ -0,0 +1,78 @@ +// Copyright 2016 Michal Witkowski. All Rights Reserved. +// See LICENSE for licensing terms. + +// Protocol Buffers extensions for defining auto-generateable validators for messages. + + + +syntax = "proto2"; +package validator; + +import "pb/descriptor.proto"; + +option go_package = "github.com/mwitkow/go-proto-validators;validator"; + + +extend google.protobuf.FieldOptions { + optional FieldValidator field = 65020; +} + +extend google.protobuf.OneofOptions { + optional OneofValidator oneof = 65021; +} + +message FieldValidator { + // Uses a Golang RE2-syntax regex to match the field contents. + optional string regex = 1; + // Field value of integer strictly greater than this value. + optional int64 int_gt = 2; + // Field value of integer strictly smaller than this value. + optional int64 int_lt = 3; + // Used for nested message types, requires that the message type exists. + optional bool msg_exists = 4; + // Human error specifies a user-customizable error that is visible to the user. + optional string human_error = 5; + // Field value of double strictly greater than this value. + // Note that this value can only take on a valid floating point + // value. Use together with float_epsilon if you need something more specific. + optional double float_gt = 6; + // Field value of double strictly smaller than this value. + // Note that this value can only take on a valid floating point + // value. Use together with float_epsilon if you need something more specific. + optional double float_lt = 7; + // Field value of double describing the epsilon within which + // any comparison should be considered to be true. For example, + // when using float_gt = 0.35, using a float_epsilon of 0.05 + // would mean that any value above 0.30 is acceptable. It can be + // thought of as a {float_value_condition} +- {float_epsilon}. + // If unset, no correction for floating point inaccuracies in + // comparisons will be attempted. + optional double float_epsilon = 8; + // Floating-point value compared to which the field content should be greater or equal. + optional double float_gte = 9; + // Floating-point value compared to which the field content should be smaller or equal. + optional double float_lte = 10; + // Used for string fields, requires the string to be not empty (i.e different from ""). + optional bool string_not_empty = 11; + // Repeated field with at least this number of elements. + optional int64 repeated_count_min = 12; + // Repeated field with at most this number of elements. + optional int64 repeated_count_max = 13; + // Field value of length greater than this value. + optional int64 length_gt = 14; + // Field value of length smaller than this value. + optional int64 length_lt = 15; + // Field value of length strictly equal to this value. + optional int64 length_eq = 16; + // Requires that the value is in the enum. + optional bool is_in_enum = 17; + // Ensures that a string value is in UUID format. + // uuid_ver specifies the valid UUID versions. Valid values are: 0-5. + // If uuid_ver is 0 all UUID versions are accepted. + optional int32 uuid_ver = 18; +} + +message OneofValidator { + // Require that one of the oneof fields is set. + optional bool required = 1; +} diff --git a/cmd/config/config.go b/cmd/config/config.go index a4aee58..a28fa6f 100644 --- a/cmd/config/config.go +++ b/cmd/config/config.go @@ -119,6 +119,7 @@ type System struct { ErpHost string FieeHost string AuthRedirectUrl string + AuthCallback string CronOpen bool } type Oss struct { diff --git a/conf/alibabacloud.env b/conf/alibabacloud.env new file mode 100644 index 0000000..570c8e1 --- /dev/null +++ b/conf/alibabacloud.env @@ -0,0 +1,16 @@ +#=========== 阿里云内容安全配置 =========== +# STS登录模式配置 +# RAM用户AccessKey ID(用于获取STS临时凭证) +RAM_ACCESS_KEY_ID=LTAI5tNBzbeEbG1yCitvHsMb + +# RAM用户AccessKey Secret +RAM_ACCESS_KEY_SECRET=G1xAUB8G6WDVo0SLr6DJaJjNWIlpmO + +# 要扮演的RAM角色ARN +RAM_ROLE_ARN=acs:ram::5828544250383902:role/content-secret + +# 阿里云区域(可选,默认为cn-shanghai) +ALIBABA_CLOUD_REGION=ap-southeast-1 + +# 阿里云端点(可选,默认为green.cn-shanghai.aliyuncs.com) +ALIBABA_CLOUD_ENDPOINT=green-cip.ap-southeast-1.aliyuncs.com \ No newline at end of file diff --git a/docs/dev/conf.ini b/docs/dev/conf.ini index 1034f8c..cce0c4e 100644 --- a/docs/dev/conf.ini +++ b/docs/dev/conf.ini @@ -7,6 +7,7 @@ RedirectUri = "/api/redirect/url" ErpHost = "http://erpapi.test.fontree.cn:8081" FieeHost = "http://erpapi.test.fontree.cn:8081" AuthRedirectUrl = "http://saas-erp.test.fontree.cn:8081/media_account" +AuthCallback = "https://saas-test.szjixun.cn/api/fiee/media/as-oauth2callback" CronOpen = false [bos] Ak = "ALTAKxrqOQHnAN525Tb2GX4Bhe" diff --git a/docs/dev/dubbogo.yaml b/docs/dev/dubbogo.yaml index 47ea03d..3636920 100644 --- a/docs/dev/dubbogo.yaml +++ b/docs/dev/dubbogo.yaml @@ -47,6 +47,9 @@ dubbo: protocol: tri retries: 0 interface: com.fontree.microservices.fiee.SecFiling + AyrshareClientImpl: + protocol: tri + interface: com.fontree.microservices.fiee.ayrshare logger: zap-config: level: error # 日志级别 diff --git a/docs/prod/conf.ini b/docs/prod/conf.ini index c139f40..4372877 100644 --- a/docs/prod/conf.ini +++ b/docs/prod/conf.ini @@ -7,6 +7,7 @@ RedirectUri = "/api/redirect/url" ErpHost = "https://erpapi.fontree.cn" FieeHost = "https://erpapi.fiee.com" AuthRedirectUrl = "https://erp.fiee.com/media_account" +AuthCallback = "https://erpapi.fiee.com/api/fiee/media/as-oauth2callback" CronOpen = true [bos] Ak = "ALTAKxrqOQHnAN525Tb2GX4Bhe" diff --git a/docs/prod/dubbogo.yaml b/docs/prod/dubbogo.yaml index 7272e67..deb1c1a 100644 --- a/docs/prod/dubbogo.yaml +++ b/docs/prod/dubbogo.yaml @@ -49,6 +49,9 @@ dubbo: protocol: tri retries: 0 interface: com.fontree.microservices.fiee.SecFiling + AyrshareClientImpl: + protocol: tri + interface: com.fontree.microservices.fiee.ayrshare logger: zap-config: level: error # 日志级别 diff --git a/docs/test/conf.ini b/docs/test/conf.ini index cd1a987..987f914 100644 --- a/docs/test/conf.ini +++ b/docs/test/conf.ini @@ -8,6 +8,7 @@ ErpHost = "http://erpapi.test.fontree.cn:8081" FieeHost = "http://erpapi.test.fontree.cn:8081" FieeApiHost = "https://saas-test.szjixun.cn" AuthRedirectUrl = "http://saas-erp.test.fontree.cn:8081/media_account" +AuthCallback = "https://saas-test.szjixun.cn/api/fiee/media/as-oauth2callback" CronOpen = true [bos] Ak = "ALTAKxrqOQHnAN525Tb2GX4Bhe" diff --git a/docs/test/dubbogo.yaml b/docs/test/dubbogo.yaml index d9f35c6..daee780 100644 --- a/docs/test/dubbogo.yaml +++ b/docs/test/dubbogo.yaml @@ -47,6 +47,9 @@ dubbo: protocol: tri retries: 0 interface: com.fontree.microservices.fiee.SecFiling + AyrshareClientImpl: + protocol: tri + interface: com.fontree.microservices.fiee.ayrshare logger: zap-config: level: error # 日志级别 diff --git a/pkg/common/qwen/image.go b/pkg/common/qwen/image.go index b0e7cf3..73e0765 100644 --- a/pkg/common/qwen/image.go +++ b/pkg/common/qwen/image.go @@ -113,7 +113,6 @@ func ImgTaskResult(taskID string) (*modelQwen.QwenImageResponse, error) { if info.Output.TaskStatus == "FAILED" { return nil, fmt.Errorf("生成失败") } - if len(info.Output.Results) > 0 { zap.L().Info("ImgTaskResult GetBytes success", zap.String("taskID", taskID), zap.Any("results", info)) return &info, nil diff --git a/pkg/cron/task.go b/pkg/cron/task.go index f6955b6..e8f0207 100644 --- a/pkg/cron/task.go +++ b/pkg/cron/task.go @@ -20,6 +20,7 @@ func InitTasks() error { cm := GetCronManager() err := cm.AddTask("refreshWorkApprovalStatus", "0 */1 * * * *", RefreshWorkApprovalStatusTask) err = cm.AddTask("artistAutoConfirm", "0 */1 * * * *", ArtistAutoConfirmTask) + err = cm.AddTask("refreshPublishStatus", "0 */1 * * * *", RefreshPublishStatusTask) if err != nil { log.Printf("添加测试任务失败: %v", err) } @@ -63,3 +64,22 @@ func ArtistAutoConfirmTask() { serverCast.ProcessTask(context.Background(), workUuid) } } + +func RefreshPublishStatusTask() { + // 加上锁 万一上一批没有同步完 + lockKey := "refresh_publish_status:lock" + reply := cache.RedisClient.SetNX(lockKey, "1", 5*time.Minute) + if !reply.Val() { + zap.L().Warn("任务正在被其他实例处理") + return + } + defer func() { + cache.RedisClient.Del(lockKey) + }() + err := serverCast.RefreshPublish() + if err != nil { + zap.L().Error("刷新发布状态失败", zap.Error(err)) + return + } + zap.L().Info("刷新发布状态成功") +} diff --git a/pkg/model/cast/ayrshare.go b/pkg/model/cast/ayrshare.go new file mode 100644 index 0000000..4e6c8aa --- /dev/null +++ b/pkg/model/cast/ayrshare.go @@ -0,0 +1 @@ +package cast diff --git a/pkg/model/cast/media.go b/pkg/model/cast/media.go index 2f1ff37..2cc1442 100644 --- a/pkg/model/cast/media.go +++ b/pkg/model/cast/media.go @@ -15,3 +15,14 @@ var PlatformIDStrKv = map[string]uint8{ "INS": 2, "DM": 4, } +var PlatformNameKv = map[uint32]string{ + 1: "tiktok", + 3: "instagram", + 4: "DM", +} + +var NamePlatformIDKv = map[string]uint32{ + "tiktok": 1, + "instagram": 3, + "DM": 4, +} diff --git a/pkg/model/cast/oauth.go b/pkg/model/cast/oauth.go index fd0e0d9..fa4fbaf 100644 --- a/pkg/model/cast/oauth.go +++ b/pkg/model/cast/oauth.go @@ -1,8 +1,9 @@ package cast type OAuthPlatformReq struct { - MediaAccountUuid string `json:"mediaAccountUuid" form:"mediaAccountUuid" binding:"required"` - PlatformID int `json:"platformID" form:"platformID" binding:"required"` + MediaAccountUuid string `json:"mediaAccountUuid" form:"mediaAccountUuid"` + PlatformID int `json:"platformID" form:"platformID"` + ArtistUuid string `json:"artistUuid" form:"artistUuid"` } type OAuthPlatformResp struct { diff --git a/pkg/router/media.go b/pkg/router/media.go index 8d20e79..269ab8b 100644 --- a/pkg/router/media.go +++ b/pkg/router/media.go @@ -26,7 +26,8 @@ func MediaRouter(r *gin.RouterGroup) { mediaNoLogin := r.Group("media") { mediaNoLogin.GET("oauth2callback", serviceCast.OAuth2Callback) - mediaNoLogin.Any("test", serviceCast.Test) + mediaNoLogin.GET("as-oauth2callback", serviceCast.AsOAuth2Callback) + mediaNoLogin.Any("test", serviceCast.RefreshPost) //mediaNoLogin.GET("dmoauth2callback", serviceCast.DMOAuth2Callback) } diff --git a/pkg/service/cast/media.go b/pkg/service/cast/media.go index 356aca7..853a822 100644 --- a/pkg/service/cast/media.go +++ b/pkg/service/cast/media.go @@ -2,9 +2,11 @@ package cast import ( "context" + "encoding/json" "errors" "fmt" "fonchain-fiee/api/accountFiee" + "fonchain-fiee/api/aryshare" "fonchain-fiee/api/bundle" "fonchain-fiee/api/cast" "fonchain-fiee/cmd/config" @@ -108,20 +110,20 @@ func UpdateMediaAccount(ctx *gin.Context) { // 查询艺人的信息 // 字符串转整型 artistID, err := strconv.ParseUint(req.ArtistUuid, 10, 64) - if config.AppConfig.System.AppMode != "dev" { - infoResp, err = service.AccountFieeProvider.Info(context.Background(), &accountFiee.InfoRequest{ - ID: artistID, - Domain: "app", - }) - if err != nil { - service.Error(ctx, err) - return - } - } else { - infoResp = &accountFiee.UserInfoResponse{ - Name: "小波", - TelNum: "18288888888", - } + infoResp, err = GetArtistAccountInfo(artistID) + if err != nil { + service.Error(ctx, err) + return + } + if infoResp.SubNum == "" { + service.Error(ctx, errors.New("用户不存在")) + return + } + + //TODO 判断是否注册ay + if err = CheckAsProfile(infoResp); err != nil { + service.Error(ctx, err) + return } req.ArtistName = infoResp.Name req.ArtistPhone = infoResp.TelNum @@ -166,8 +168,8 @@ func UpdateMediaAccount(ctx *gin.Context) { // 账号授权 func OAuthAccount(ctx *gin.Context) { - var req *cast.OAuthAccountReq - var resp *cast.OAuthAccountResp + var req *cast.OAuthAccountV2Req + var resp *cast.OAuthAccountV2Resp var err error if err = ctx.ShouldBind(&req); err != nil { service.Error(ctx, err) @@ -177,11 +179,36 @@ func OAuthAccount(ctx *gin.Context) { service.Error(ctx, err) return } - if resp, err = service.CastProvider.OAuthAccount(ctx, req); err != nil { + if resp, err = service.CastProvider.OAuthAccountV2(ctx, req); err != nil { service.Error(ctx, err) return } - service.Success(ctx, resp) + if cast.PlatformIDENUM_DM == cast.PlatformIDENUM(resp.PlatformID) { + service.Success(ctx, resp) + return + } + if resp.ProfileKey == "" { + service.Error(ctx, errors.New("艺人未添加平台账号")) + return + } + jwtReq := &aryshare.GenerateJWTRequest{ + Domain: "", + PrivateKey: "", + ProfileKey: resp.ProfileKey, + Logout: false, + Redirect: fmt.Sprintf("%s?artistUuid=%s&platformID=%d", config.AppConfig.System.AuthCallback, resp.ArtistUuid, resp.PlatformID), + AllowedSocial: []string{modelCast.PlatformNameKv[resp.PlatformID]}, + Verify: false, + Base64: false, + ExpiresIn: 0, + Email: nil, + } + jwtResp, err := service.AyrshareProvider.GenerateJWT(context.Background(), jwtReq) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, jwtResp) return } @@ -230,6 +257,74 @@ func OAuth2Callback(ctx *gin.Context) { return } + +func AsOAuth2Callback(ctx *gin.Context) { + var ( + //platformIds string + //userID string + ) + artistUuid := ctx.Query("artistUuid") + //platformIDs := ctx.Query("platformID") + //platformID, _ := strconv.ParseInt(platformIDs, 10, 64) + // 刷新授权 + var err error + var req modelCast.OAuthPlatformReq + if err = ctx.ShouldBind(&req); err != nil { + //service.Error(ctx, err) + ctx.Redirect(http.StatusFound, fmt.Sprintf("%s?status=%d&message=%s", config.AppConfig.System.AuthRedirectUrl, 1, "参数错误")) + return + } + resp, err := service.CastProvider.GetArtist(context.Background(), &cast.GetArtistReq{ArtistUuid: req.ArtistUuid}) + if err != nil { + ctx.Redirect(http.StatusFound, fmt.Sprintf("%s?status=%d&message=%s", config.AppConfig.System.AuthRedirectUrl, 1, "获取艺人信息错误")) + return + } + if resp == nil || resp.ArtistInfo == nil || resp.ArtistInfo.ProfileKey == "" { + //service.Error(ctx, errors.New("艺人平台信息为空")) + ctx.Redirect(http.StatusFound, fmt.Sprintf("%s?status=%d&message=%s", config.AppConfig.System.AuthRedirectUrl, 1, "艺人未注册")) + return + } + userResp, err := service.AyrshareProvider.GetUser(context.Background(), &aryshare.GetUserRequest{ + ProfileKey: resp.ArtistInfo.ProfileKey, + InstagramDetails: true, + }) + if err != nil { + //service.Error(ctx, errors.New("获取艺人绑定信息错误")) + ctx.Redirect(http.StatusFound, fmt.Sprintf("%s?status=%d&message=%s", config.AppConfig.System.AuthRedirectUrl, 1, "获取艺人绑定信息错误")) + return + } + if len(userResp.DisplayNames) == 0 { + ctx.Redirect(http.StatusFound, fmt.Sprintf("%s?status=%d&message=%s", config.AppConfig.System.AuthRedirectUrl, 1, "没有授权信息")) + return + } + var authReq *cast.UpdateOAuthReq + authReq = &cast.UpdateOAuthReq{Data: make([]*cast.UpdateOAuthReq_Info, 0)} + var asInfoB []byte + for _, v := range userResp.DisplayNames { + asInfoB, _ = json.Marshal(v) + platformIDENUM := cast.PlatformIDENUM(modelCast.NamePlatformIDKv[v.Platform]) + if platformIDENUM == cast.PlatformIDENUM_UNKNOWN { + continue + } + authReq.Data = append(authReq.Data, &cast.UpdateOAuthReq_Info{ + ArtistUuid: artistUuid, + PlatformID: platformIDENUM, + AsID: v.Id, + PlatformUserName: v.Username, + AutInfo: string(asInfoB), + }) + } + if len(authReq.Data) != 0 { + _, err = service.CastProvider.UpdateOAuth(context.Background(), authReq) + if err != nil { + ctx.Redirect(http.StatusFound, fmt.Sprintf("%s?status=%d&message=%s", config.AppConfig.System.AuthRedirectUrl, 1, "同步授权信息失败")) + return + } + } + ctx.Redirect(http.StatusFound, fmt.Sprintf("%s?status=%d&message=%s", config.AppConfig.System.AuthRedirectUrl, 0, "")) + return +} + func RefreshToken(ctx *gin.Context) { var req *cast.RefreshTokenReq var resp *cast.RefreshTokenResp @@ -271,15 +366,85 @@ func ArtistInfo(ctx *gin.Context) { } func Test(ctx *gin.Context) { - // https://cdn-test.szjixun.cn/fonchain-main/test/image/default/artwork/7ed3b5b0-2a05-411d-bf10-c16c7b49da39.jpg - // https://cdn-test.szjixun.cn/fonchain-main/test/image/12345/artwork/习大大.png - resp, err := check.ImageCheckUrlValid("https://cdn-test.szjixun.cn/fonchain-main/test/image/default/artwork/7ed3b5b0-2a05-411d-bf10-c16c7b49da39.jpg") + id := ctx.PostForm("id") + profileKey := ctx.PostForm("profileKey") + resp, err := service.AyrshareProvider.GetPost(context.Background(), &aryshare.GetPostRequest{ + Id: id, + ProfileKey: profileKey, + }) if err != nil { service.Error(ctx, err) return } - fmt.Println(err) - fmt.Println(resp) + + /*profileKey := ctx.PostForm("profileKey") + resp, err := service.AyrshareProvider.GetUser(context.Background(), &aryshare.GetUserRequest{ + ProfileKey: profileKey, + InstagramDetails: true, + }) + if err != nil { + service.Error(ctx, err) + return + }*/ + //profileKey := ctx.PostForm("profileKey") + /*resp, err := service.AyrshareProvider.GetProfiles(context.Background(), &aryshare.GetProfilesRequest{ + Title: "", + RefId: "", + HasActiveSocialAccounts: false, + IncludesActiveSocialAccounts: nil, + ActionLog: nil, + Limit: 0, + Cursor: "", + }) + if err != nil { + service.Error(ctx, err) + return + }*/ service.Success(ctx, resp) return } + +func CheckAsProfile(infoResp *accountFiee.UserInfoResponse) error { + var asArtistResp *cast.GetArtistResp + var err error + title := fmt.Sprintf("%s_%s", config.AppConfig.System.AppMode, infoResp.SubNum) + // 查询艺人的信息 + if asArtistResp, err = service.CastProvider.GetArtist(context.Background(), &cast.GetArtistReq{ + ArtistUuid: fmt.Sprint(infoResp.Id), + }); err != nil { + return err + } + if asArtistResp != nil && asArtistResp.ArtistInfo != nil && asArtistResp.ArtistInfo.ProfileKey != "" { + return nil + } + createProfileResp, err := service.AyrshareProvider.CreateProfile(context.Background(), &aryshare.CreateProfileRequest{ + Title: title, + MessagingActive: true, + HideTopHeader: false, + TopHeader: "", + DisableSocial: nil, + Team: false, + Email: "", + SubHeader: "", + Tags: []string{config.AppConfig.System.AppMode}, + }) + if err != nil { + zap.L().Error("CreateProfile error", zap.Error(err)) + err = errors.New("创建平台艺人账号失败") + return err + } + zap.L().Info("CreateProfile success", zap.Any("createProfileResp", createProfileResp), zap.Any("title", title)) + _, err = service.CastProvider.UpdateArtist(context.Background(), &cast.UpdateArtistReq{ + Uuid: asArtistResp.Uuid, + ArtistInfo: &cast.ArtistInfo{ + ArtistUuid: fmt.Sprint(infoResp.Id), + RefID: createProfileResp.RefId, + ProfileKey: createProfileResp.ProfileKey, + SubNum: infoResp.SubNum, + }, + }) + if err != nil { + return err + } + return nil +} diff --git a/pkg/service/cast/user.go b/pkg/service/cast/user.go index a85825c..8f1c452 100644 --- a/pkg/service/cast/user.go +++ b/pkg/service/cast/user.go @@ -3,8 +3,10 @@ package cast import ( "context" "fmt" + "fonchain-fiee/api/accountFiee" "fonchain-fiee/cmd/config" "fonchain-fiee/pkg/model/login" + "fonchain-fiee/pkg/service" "dubbo.apache.org/dubbo-go/v3/common/constant" "github.com/gin-gonic/gin" @@ -38,3 +40,25 @@ func NewCtxWithUserInfo(ctx *gin.Context) (newCtx context.Context) { newCtx = context.WithValue(context.Background(), constant.DubboCtxKey("attachment"), mm) return } + +func GetArtistAccountInfo(artistID uint64) (*accountFiee.UserInfoResponse, error) { + var infoResp *accountFiee.UserInfoResponse + var err error + if config.AppConfig.System.AppMode != "dev" { + infoResp, err = service.AccountFieeProvider.Info(context.Background(), &accountFiee.InfoRequest{ + ID: artistID, + Domain: "app", + }) + if err != nil { + return nil, err + } + } else { + infoResp = &accountFiee.UserInfoResponse{ + Id: 1234, + Name: "小波", + TelNum: "18288888888", + SubNum: "T12345", + } + } + return infoResp, nil +} diff --git a/pkg/service/cast/work.go b/pkg/service/cast/work.go index 57adda4..a1f9362 100644 --- a/pkg/service/cast/work.go +++ b/pkg/service/cast/work.go @@ -6,6 +6,7 @@ import ( "errors" "fmt" "fonchain-fiee/api/accountFiee" + "fonchain-fiee/api/aryshare" "fonchain-fiee/api/bundle" "fonchain-fiee/api/cast" "fonchain-fiee/cmd/config" @@ -276,8 +277,7 @@ func CheckUserBundleBalance(userID int32, balanceType modelCast.BalanceTypeEnum) func Publish(ctx *gin.Context) { var ( - req *cast.PublishReq - resp *cast.PublishResp + req *cast.PublishReq //workInfoResp *cast.WorkInfoResp ) var err error @@ -286,12 +286,184 @@ func Publish(ctx *gin.Context) { return } newCtx := NewCtxWithUserInfo(ctx) - resp, err = service.CastProvider.Publish(newCtx, req) - if err != nil { + if err = PublishWork(newCtx, req); err != nil { service.Error(ctx, err) return } - service.Success(ctx, resp) + service.Success(ctx, req) + return +} + +// PublishWork 统一发布 +func PublishWork(ctx context.Context, req *cast.PublishReq) error { + var err error + _, err = service.CastProvider.Publish(ctx, req) + if err != nil { + return err + } + var errs []error + errs = PostAS(req.WorkUuids) + if len(errs) > 0 { + var errMsg string + for _, v := range errs { + errMsg += v.Error() + " " + } + return errors.New(errMsg) + } + return nil +} + +func PostAS(workUuids []string) (errs []error) { + for _, workUuid := range workUuids { + workDetail, _err := service.CastProvider.WorkDetail(context.Background(), &cast.WorkDetailReq{ + WorkUuid: workUuid, + }) + if _err != nil { + errs = append(errs, errors.New("获取作品详情失败")) + zap.L().Error("Publish WorkDetail failed", zap.String("workUuid", workUuid), zap.Error(_err)) + continue + } + //if workDetail.WorkStatus != 9 { // 微服务做判断了这边不用判断 + // errs = append(errs, fmt.Errorf("作品状态不正确,标题是:%s", workDetail.Title)) + // continue + //} + var platformNames []string + var needPlatformIDS []uint32 + for _, platformID := range workDetail.PlatformIDs { + switch platformID { + case 1: + if cast.PublishStatusENUM(workDetail.TiktokStatus) == cast.PublishStatusENUM_PublishMediaStatus_NO { + platformNames = append(platformNames, "tiktok") + needPlatformIDS = append(needPlatformIDS, platformID) + } + case 3: + if cast.PublishStatusENUM(workDetail.TiktokStatus) == cast.PublishStatusENUM_PublishMediaStatus_NO { + platformNames = append(platformNames, "instagram") + needPlatformIDS = append(needPlatformIDS, platformID) + } + case 4: + } + } + if len(platformNames) == 0 { + errs = append(errs, errors.New("没有平台可发布")) + continue + } + var mediaUrls []string + var isVideo bool + if workDetail.WorkCategory == 1 { + isVideo = false + mediaUrls = workDetail.Images + } + if workDetail.WorkCategory == 2 { + isVideo = true + mediaUrls = []string{workDetail.VideoUrl} + } + ArtistInfoResp, _err := service.CastProvider.GetArtist(context.Background(), &cast.GetArtistReq{ + ArtistUuid: workDetail.ArtistUuid, + }) + if _err != nil { + errs = append(errs, errors.New("获取艺人信息失败")) + continue + } + if ArtistInfoResp == nil || ArtistInfoResp.ArtistInfo == nil || ArtistInfoResp.ArtistInfo.ProfileKey == "" { + errs = append(errs, errors.New("艺人平台信息未配置")) + continue + } + postReq := &aryshare.PostRequest{ + Post: workDetail.Title, + Platforms: platformNames, + MediaUrls: mediaUrls, + IsVideo: isVideo, + ScheduleDate: "", + ValidateScheduled: true, + ShortenLinks: false, + DisableComments: false, + InstagramOptions: nil, + TikTokOptions: nil, + ProfileKey: ArtistInfoResp.ArtistInfo.ProfileKey, + } + zap.L().Info("Publish Ayrshare PostReq", zap.Any("postReq", postReq), zap.Any("workDetail", workDetail)) + postResp, _err := service.AyrshareProvider.Post(context.Background(), postReq) + if _err != nil { + go func() { + _, _ = service.CastProvider.UpdateWorkPublishLog(context.Background(), &cast.UpdateWorkPublishLogReq{ + WorkUuid: workUuid, + Action: "post", + Detail: _err.Error(), + }) + }() + infoReq := &cast.UpdateWorkPlatformInfoReq{PlatformInfoData: make([]*cast.PlatformInfo, 0)} + for _, id := range needPlatformIDS { + infoReq.PlatformInfoData = append(infoReq.PlatformInfoData, &cast.PlatformInfo{ + WorkUuid: workDetail.WorkUuid, + MediaAccountUuid: "", + PlatformID: id, + PublishType: 2, + PublishResp: _err.Error(), + PublishMediaId: "", + PublishStatus: cast.PublishStatusENUM_PublishMediaStatus_EXCEPTION, + Remark: "", + }) + } + _, _ = service.CastProvider.UpdateWorkPlatformInfo(context.Background(), infoReq) + zap.L().Error("PostAs Post err", zap.Error(_err)) + errs = append(errs, errors.New("发布失败,标题是:"+workDetail.Title)) + continue + } + go func() { + postBytes, _ := json.Marshal(postResp) + _, _ = service.CastProvider.UpdateWorkPublishLog(context.Background(), &cast.UpdateWorkPublishLogReq{ + WorkUuid: workUuid, + Action: "post", + Detail: string(postBytes), + }) + }() + zap.L().Info("PostAs", zap.Any("postResp", postResp), zap.Any("workDetail", workDetail)) + infoReq := &cast.UpdateWorkPlatformInfoReq{ + PlatformInfoData: make([]*cast.PlatformInfo, 0), + } + if postResp == nil || postResp.Posts == nil || len(postResp.Posts) == 0 || postResp.Posts[0].PostIds == nil { + errs = append(errs, fmt.Errorf("标题:%s,请求平台失败", workDetail.Title)) + continue + } + postIDs := postResp.Posts[0].PostIds + postData, _ := json.Marshal(postResp) + for _, postInfo := range postIDs { + var platformID uint32 + switch postInfo.Platform { + case "tiktok": + platformID = 1 + case "instagram": + platformID = 3 + } + publishStatus := cast.PublishStatusENUM_PublishMediaStatus_NO + if postInfo.Status == "success" { + publishStatus = cast.PublishStatusENUM_PublishMediaStatus_ING + } else { + publishStatus = cast.PublishStatusENUM_PublishMediaStatus_FAIL + } + switch postInfo.Id { + case "pending": + publishStatus = cast.PublishStatusENUM_PublishMediaStatus_ING + } + postBytes, _ := json.Marshal(postInfo) + infoReq.PlatformInfoData = append(infoReq.PlatformInfoData, &cast.PlatformInfo{ + WorkUuid: workDetail.WorkUuid, + MediaAccountUuid: "", //FIXME + PlatformID: platformID, + PublishType: 2, + PublishResp: string(postBytes), + PublishMediaId: postResp.Posts[0].Id, + PublishStatus: publishStatus, + Remark: string(postData), + }) + } + _, err := service.CastProvider.UpdateWorkPlatformInfo(context.Background(), infoReq) + if err != nil { + zap.L().Error("Publish UpdateWorkPlatformInfo failed", zap.String("workUuid", workUuid), zap.Error(err)) + } + zap.L().Info("Publish Ayrshare PostResp", zap.Any("postResp", postResp)) + } return } @@ -554,7 +726,9 @@ func ProcessTask(ctx context.Context, workUuid string) { zap.L().Error("从队列移除任务失败", zap.String("workUuid", workUuid), zap.Error(err)) + return } + _ = PublishWork(context.Background(), &cast.PublishReq{WorkUuids: []string{workUuid}}) zap.L().Info("自动确认成功", zap.String("workUuid", workUuid)) } @@ -957,3 +1131,110 @@ func ImportWorkBatch(ctx *gin.Context) { }) return } + +// RefreshPost 刷新帖子状态 +func RefreshPost(ctx *gin.Context) { + err := RefreshPublish() + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, nil) + return +} + +func RefreshPublish() error { + var resp *cast.RefreshWorkListResp + var err error + resp, err = service.CastProvider.RefreshWorkList(context.Background(), &cast.RefreshWorkListReq{PublishStatus: 0}) + if err != nil { + return err + } + for _, workInfo := range resp.Data { + if workInfo.PublishMediaID == "" || workInfo.ProfileKey == "" { + continue + } + postResp, _err := service.AyrshareProvider.GetPost(context.Background(), &aryshare.GetPostRequest{ + Id: workInfo.PublishMediaID, + ProfileKey: workInfo.ProfileKey, + }) + var infoReq = &cast.UpdateWorkPlatformInfoReq{ + PlatformInfoData: make([]*cast.PlatformInfo, 0), + } + if _err != nil { + zap.L().Error("GetPost err", zap.Error(_err)) + go func(v *cast.RefreshWorkListResp_Info) { + _, _ = service.CastProvider.UpdateWorkPublishLog(context.Background(), &cast.UpdateWorkPublishLogReq{ + WorkUuid: v.WorkUuid, + Detail: _err.Error(), + Action: "get", + }) + }(workInfo) + for _, vv := range workInfo.PlatformIDs { + infoReq.PlatformInfoData = append(infoReq.PlatformInfoData, &cast.PlatformInfo{ + WorkUuid: workInfo.WorkUuid, + MediaAccountUuid: "", + PlatformID: vv, + PublishType: 2, + PublishResp: _err.Error(), + PublishMediaId: workInfo.PublishMediaID, + PublishStatus: cast.PublishStatusENUM_PublishMediaStatus_EXCEPTION, + Remark: "", + }) + } + _, _ = service.CastProvider.UpdateWorkPlatformInfo(context.Background(), infoReq) + continue + } + + if postResp.Errors != nil { + + } + var postBytes []byte + postBytes, _ = json.Marshal(postResp) + if len(postResp.PostIds) == 0 || len(postResp.Errors) > 0 { + for _, vv := range workInfo.PlatformIDs { + if cast.PlatformIDENUM(vv) != cast.PlatformIDENUM_TIKTOK && cast.PlatformIDENUM(vv) != cast.PlatformIDENUM_TIKTOK { + continue + } + infoReq.PlatformInfoData = append(infoReq.PlatformInfoData, &cast.PlatformInfo{ + WorkUuid: workInfo.WorkUuid, + MediaAccountUuid: "", + PlatformID: vv, + PublishType: 2, + PublishResp: string(postBytes), + PublishMediaId: workInfo.PublishMediaID, + PublishStatus: cast.PublishStatusENUM_PublishMediaStatus_FAIL, + Remark: "", + }) + } + _, _ = service.CastProvider.UpdateWorkPlatformInfo(context.Background(), infoReq) + } + if len(postResp.PostIds) > 0 { + for _, vv := range postResp.PostIds { + if vv.Status == "pending" || vv.Status == "awaiting approval" { + continue + } + var publishStatus cast.PublishStatusENUM + if vv.Status == "deleted" || vv.Status == "error" { + publishStatus = cast.PublishStatusENUM_PublishMediaStatus_FAIL + } + if vv.Status == "success" { + publishStatus = cast.PublishStatusENUM_PublishMediaStatus_DONE + } + platformID := modelCast.NamePlatformIDKv[vv.Platform] + infoReq.PlatformInfoData = append(infoReq.PlatformInfoData, &cast.PlatformInfo{ + WorkUuid: workInfo.WorkUuid, + MediaAccountUuid: "", + PlatformID: platformID, + PublishType: 2, + PublishResp: string(postBytes), + PublishMediaId: workInfo.PublishMediaID, + PublishStatus: publishStatus, + Remark: "", + }) + } + _, _ = service.CastProvider.UpdateWorkPlatformInfo(context.Background(), infoReq) + } + } + return nil +} diff --git a/pkg/service/init.go b/pkg/service/init.go index 8b7f052..b692582 100644 --- a/pkg/service/init.go +++ b/pkg/service/init.go @@ -7,6 +7,7 @@ import ( "fmt" "fonchain-fiee/api/account" "fonchain-fiee/api/accountFiee" + "fonchain-fiee/api/aryshare" "fonchain-fiee/api/bundle" "fonchain-fiee/api/cast" "fonchain-fiee/api/emailAlerts" @@ -36,6 +37,7 @@ var SecFilingProvider = new(secFilings.SecFilingsClientImpl) var ReportsProvider = new(reports.ReportsClientImpl) var EmailAlertsProvider = new(emailAlerts.EmailAlertsClientImpl) var MembersProvider = new(members.MembersClientImpl) +var AyrshareProvider = new(aryshare.AyrshareClientImpl) func init() { config.SetConsumerService(BundleProvider) @@ -51,7 +53,7 @@ func init() { config.SetConsumerService(ReportsProvider) config.SetConsumerService(EmailAlertsProvider) config.SetConsumerService(MembersProvider) - + config.SetConsumerService(AyrshareProvider) if err := config.Load(); err != nil { panic(err) }