// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0-devel // protoc v4.22.3 // source: common.proto package common import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type UserAndPartnerIdentifyIdParam struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PartnerIdentifyId string `protobuf:"bytes,1,opt,name=partnerIdentifyId,proto3" json:"partnerIdentifyId"` UserIdentifyId string `protobuf:"bytes,2,opt,name=userIdentifyId,proto3" json:"userIdentifyId"` } func (x *UserAndPartnerIdentifyIdParam) Reset() { *x = UserAndPartnerIdentifyIdParam{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserAndPartnerIdentifyIdParam) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserAndPartnerIdentifyIdParam) ProtoMessage() {} func (x *UserAndPartnerIdentifyIdParam) ProtoReflect() protoreflect.Message { mi := &file_common_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 UserAndPartnerIdentifyIdParam.ProtoReflect.Descriptor instead. func (*UserAndPartnerIdentifyIdParam) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{0} } func (x *UserAndPartnerIdentifyIdParam) GetPartnerIdentifyId() string { if x != nil { return x.PartnerIdentifyId } return "" } func (x *UserAndPartnerIdentifyIdParam) GetUserIdentifyId() string { if x != nil { return x.UserIdentifyId } return "" } type UserAndPartnerParam struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PartnerId string `protobuf:"bytes,1,opt,name=partnerId,proto3" json:"partnerId"` PartnerIdentifyID string `protobuf:"bytes,2,opt,name=partnerIdentifyID,proto3" json:"partnerIdentifyID"` // 身份ID UserId string `protobuf:"bytes,3,opt,name=userId,proto3" json:"userId"` UserIdentifyID string `protobuf:"bytes,4,opt,name=userIdentifyID,proto3" json:"userIdentifyID"` // 身份ID } func (x *UserAndPartnerParam) Reset() { *x = UserAndPartnerParam{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserAndPartnerParam) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserAndPartnerParam) ProtoMessage() {} func (x *UserAndPartnerParam) ProtoReflect() protoreflect.Message { mi := &file_common_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 UserAndPartnerParam.ProtoReflect.Descriptor instead. func (*UserAndPartnerParam) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{1} } func (x *UserAndPartnerParam) GetPartnerId() string { if x != nil { return x.PartnerId } return "" } func (x *UserAndPartnerParam) GetPartnerIdentifyID() string { if x != nil { return x.PartnerIdentifyID } return "" } func (x *UserAndPartnerParam) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *UserAndPartnerParam) GetUserIdentifyID() string { if x != nil { return x.UserIdentifyID } return "" } type User1AndUser2IdParam struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields User1 string `protobuf:"bytes,1,opt,name=user1,proto3" json:"user1"` User2 string `protobuf:"bytes,2,opt,name=user2,proto3" json:"user2"` } func (x *User1AndUser2IdParam) Reset() { *x = User1AndUser2IdParam{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *User1AndUser2IdParam) String() string { return protoimpl.X.MessageStringOf(x) } func (*User1AndUser2IdParam) ProtoMessage() {} func (x *User1AndUser2IdParam) ProtoReflect() protoreflect.Message { mi := &file_common_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 User1AndUser2IdParam.ProtoReflect.Descriptor instead. func (*User1AndUser2IdParam) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{2} } func (x *User1AndUser2IdParam) GetUser1() string { if x != nil { return x.User1 } return "" } func (x *User1AndUser2IdParam) GetUser2() string { if x != nil { return x.User2 } return "" } type PartnerIDParam struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PartnerID string `protobuf:"bytes,1,opt,name=partnerID,proto3" json:"partnerID"` } func (x *PartnerIDParam) Reset() { *x = PartnerIDParam{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PartnerIDParam) String() string { return protoimpl.X.MessageStringOf(x) } func (*PartnerIDParam) ProtoMessage() {} func (x *PartnerIDParam) ProtoReflect() protoreflect.Message { mi := &file_common_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 PartnerIDParam.ProtoReflect.Descriptor instead. func (*PartnerIDParam) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{3} } func (x *PartnerIDParam) GetPartnerID() string { if x != nil { return x.PartnerID } return "" } type PersonIDParam struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonID string `protobuf:"bytes,1,opt,name=personID,proto3" json:"personID"` } func (x *PersonIDParam) Reset() { *x = PersonIDParam{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PersonIDParam) String() string { return protoimpl.X.MessageStringOf(x) } func (*PersonIDParam) ProtoMessage() {} func (x *PersonIDParam) ProtoReflect() protoreflect.Message { mi := &file_common_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 PersonIDParam.ProtoReflect.Descriptor instead. func (*PersonIDParam) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{4} } func (x *PersonIDParam) GetPersonID() string { if x != nil { return x.PersonID } return "" } type IDParam struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` } func (x *IDParam) Reset() { *x = IDParam{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IDParam) String() string { return protoimpl.X.MessageStringOf(x) } func (*IDParam) ProtoMessage() {} func (x *IDParam) ProtoReflect() protoreflect.Message { mi := &file_common_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 IDParam.ProtoReflect.Descriptor instead. func (*IDParam) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{5} } func (x *IDParam) GetId() int64 { if x != nil { return x.Id } return 0 } type PersonParam struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonID string `protobuf:"bytes,1,opt,name=personID,proto3" json:"personID"` // 查询目标的ID } func (x *PersonParam) Reset() { *x = PersonParam{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PersonParam) String() string { return protoimpl.X.MessageStringOf(x) } func (*PersonParam) ProtoMessage() {} func (x *PersonParam) ProtoReflect() protoreflect.Message { mi := &file_common_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 PersonParam.ProtoReflect.Descriptor instead. func (*PersonParam) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{6} } func (x *PersonParam) GetPersonID() string { if x != nil { return x.PersonID } return "" } type CreateChatRoomParam struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonID string `protobuf:"bytes,1,opt,name=personID,proto3" json:"personID"` // 查询目标的ID Source string `protobuf:"bytes,3,opt,name=source,proto3" json:"source"` // 来源 } func (x *CreateChatRoomParam) Reset() { *x = CreateChatRoomParam{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateChatRoomParam) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateChatRoomParam) ProtoMessage() {} func (x *CreateChatRoomParam) ProtoReflect() protoreflect.Message { mi := &file_common_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 CreateChatRoomParam.ProtoReflect.Descriptor instead. func (*CreateChatRoomParam) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{7} } func (x *CreateChatRoomParam) GetPersonID() string { if x != nil { return x.PersonID } return "" } func (x *CreateChatRoomParam) GetSource() string { if x != nil { return x.Source } return "" } type ChatCardInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` // id Nickname string `protobuf:"bytes,2,opt,name=nickname,proto3" json:"nickname"` // 昵称 AvatarUrl string `protobuf:"bytes,3,opt,name=avatarUrl,proto3" json:"avatarUrl"` // 头像链接 Sex int64 `protobuf:"varint,4,opt,name=sex,proto3" json:"sex"` // 性别 Age int64 `protobuf:"varint,6,opt,name=age,proto3" json:"age"` // 年龄 Constellation string `protobuf:"bytes,7,opt,name=constellation,proto3" json:"constellation"` // 星座 List []string `protobuf:"bytes,9,rep,name=list,proto3" json:"list"` // 相册列表 IntroduceVoice string `protobuf:"bytes,10,opt,name=introduceVoice,proto3" json:"introduceVoice"` // 介绍语音 Province string `protobuf:"bytes,11,opt,name=province,proto3" json:"province"` // 省 City string `protobuf:"bytes,12,opt,name=city,proto3" json:"city"` // 市 Area string `protobuf:"bytes,13,opt,name=area,proto3" json:"area"` // 区 IsFinishInformation bool `protobuf:"varint,14,opt,name=isFinishInformation,proto3" json:"isFinishInformation"` //是否完善资料 Signature string `protobuf:"bytes,15,opt,name=signature,proto3" json:"signature"` // 签名 IsVip bool `protobuf:"varint,22,opt,name=isVip,proto3" json:"isVip"` // 是否是Vip VipLevel int64 `protobuf:"varint,23,opt,name=vipLevel,proto3" json:"vipLevel"` // vip等级 IsYearVip bool `protobuf:"varint,24,opt,name=isYearVip,proto3" json:"isYearVip"` // 是否是年费Vip VipFunctions []string `protobuf:"bytes,25,rep,name=vipFunctions,proto3" json:"vipFunctions"` // vip功能 IsCertification bool `protobuf:"varint,26,opt,name=isCertification,proto3" json:"isCertification"` // 是否实名认证 } func (x *ChatCardInfo) Reset() { *x = ChatCardInfo{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChatCardInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChatCardInfo) ProtoMessage() {} func (x *ChatCardInfo) ProtoReflect() protoreflect.Message { mi := &file_common_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 ChatCardInfo.ProtoReflect.Descriptor instead. func (*ChatCardInfo) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{8} } func (x *ChatCardInfo) GetId() string { if x != nil { return x.Id } return "" } func (x *ChatCardInfo) GetNickname() string { if x != nil { return x.Nickname } return "" } func (x *ChatCardInfo) GetAvatarUrl() string { if x != nil { return x.AvatarUrl } return "" } func (x *ChatCardInfo) GetSex() int64 { if x != nil { return x.Sex } return 0 } func (x *ChatCardInfo) GetAge() int64 { if x != nil { return x.Age } return 0 } func (x *ChatCardInfo) GetConstellation() string { if x != nil { return x.Constellation } return "" } func (x *ChatCardInfo) GetList() []string { if x != nil { return x.List } return make([]string, 0) } func (x *ChatCardInfo) GetIntroduceVoice() string { if x != nil { return x.IntroduceVoice } return "" } func (x *ChatCardInfo) GetProvince() string { if x != nil { return x.Province } return "" } func (x *ChatCardInfo) GetCity() string { if x != nil { return x.City } return "" } func (x *ChatCardInfo) GetArea() string { if x != nil { return x.Area } return "" } func (x *ChatCardInfo) GetIsFinishInformation() bool { if x != nil { return x.IsFinishInformation } return false } func (x *ChatCardInfo) GetSignature() string { if x != nil { return x.Signature } return "" } func (x *ChatCardInfo) GetIsVip() bool { if x != nil { return x.IsVip } return false } func (x *ChatCardInfo) GetVipLevel() int64 { if x != nil { return x.VipLevel } return 0 } func (x *ChatCardInfo) GetIsYearVip() bool { if x != nil { return x.IsYearVip } return false } func (x *ChatCardInfo) GetVipFunctions() []string { if x != nil { return x.VipFunctions } return make([]string, 0) } func (x *ChatCardInfo) GetIsCertification() bool { if x != nil { return x.IsCertification } return false } type UserIDParam struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId string `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId"` } func (x *UserIDParam) Reset() { *x = UserIDParam{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserIDParam) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserIDParam) ProtoMessage() {} func (x *UserIDParam) ProtoReflect() protoreflect.Message { mi := &file_common_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 UserIDParam.ProtoReflect.Descriptor instead. func (*UserIDParam) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{9} } func (x *UserIDParam) GetUserId() string { if x != nil { return x.UserId } return "" } type WxConfReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url"` } func (x *WxConfReq) Reset() { *x = WxConfReq{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WxConfReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*WxConfReq) ProtoMessage() {} func (x *WxConfReq) ProtoReflect() protoreflect.Message { mi := &file_common_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 WxConfReq.ProtoReflect.Descriptor instead. func (*WxConfReq) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{10} } func (x *WxConfReq) GetUrl() string { if x != nil { return x.Url } return "" } type WxConfResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AppId string `protobuf:"bytes,1,opt,name=appId,proto3" json:"appId"` // 必填,公众号的唯一标识 Timestamp int64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp"` // 必填,生成签名的时间戳 NonceStr string `protobuf:"bytes,3,opt,name=nonceStr,proto3" json:"nonceStr"` // 必填,生成签名的随机串 Signature string `protobuf:"bytes,4,opt,name=signature,proto3" json:"signature"` // 必填,签名 Url string `protobuf:"bytes,5,opt,name=url,proto3" json:"url"` // 传入的url } func (x *WxConfResponse) Reset() { *x = WxConfResponse{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WxConfResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*WxConfResponse) ProtoMessage() {} func (x *WxConfResponse) ProtoReflect() protoreflect.Message { mi := &file_common_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 WxConfResponse.ProtoReflect.Descriptor instead. func (*WxConfResponse) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{11} } func (x *WxConfResponse) GetAppId() string { if x != nil { return x.AppId } return "" } func (x *WxConfResponse) GetTimestamp() int64 { if x != nil { return x.Timestamp } return 0 } func (x *WxConfResponse) GetNonceStr() string { if x != nil { return x.NonceStr } return "" } func (x *WxConfResponse) GetSignature() string { if x != nil { return x.Signature } return "" } func (x *WxConfResponse) GetUrl() string { if x != nil { return x.Url } return "" } // 主页信息 type HomeInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` // id Nickname string `protobuf:"bytes,2,opt,name=nickname,proto3" json:"nickname"` // 昵称 AvatarUrl string `protobuf:"bytes,3,opt,name=avatarUrl,proto3" json:"avatarUrl"` // 头像链接 Sex int64 `protobuf:"varint,4,opt,name=sex,proto3" json:"sex"` // 性别 Pictures []string `protobuf:"bytes,5,rep,name=pictures,proto3" json:"pictures"` // 图片 Age int64 `protobuf:"varint,6,opt,name=age,proto3" json:"age"` // 年龄 Constellation string `protobuf:"bytes,7,opt,name=constellation,proto3" json:"constellation"` // 星座 TagList []*TagList `protobuf:"bytes,8,rep,name=tagList,proto3" json:"tagList"` // 标签 Signature string `protobuf:"bytes,9,opt,name=signature,proto3" json:"signature"` // 签名 IntroduceVoice string `protobuf:"bytes,10,opt,name=introduceVoice,proto3" json:"introduceVoice"` // 介绍语音 Province string `protobuf:"bytes,11,opt,name=province,proto3" json:"province"` // 省 City string `protobuf:"bytes,12,opt,name=city,proto3" json:"city"` // 市 Area string `protobuf:"bytes,13,opt,name=area,proto3" json:"area"` // 区 IsBlack bool `protobuf:"varint,14,opt,name=isBlack,proto3" json:"isBlack"` // 是否被封号 UpdateNicknameNum int64 `protobuf:"varint,17,opt,name=UpdateNicknameNum,proto3" json:"UpdateNicknameNum"` // 今日更新昵称数 UpdateAvatarUrlNum int64 `protobuf:"varint,18,opt,name=UpdateAvatarUrlNum,proto3" json:"UpdateAvatarUrlNum"` // 今日更新头像数 UpdatePicturesNum int64 `protobuf:"varint,19,opt,name=UpdatePicturesNum,proto3" json:"UpdatePicturesNum"` // 今日更新相册数 UpdateSignatureNum int64 `protobuf:"varint,20,opt,name=UpdateSignatureNum,proto3" json:"UpdateSignatureNum"` // 今日更新签名数 IsSuperLove bool `protobuf:"varint,21,opt,name=isSuperLove,proto3" json:"isSuperLove"` // 是否是超级喜欢 IsVip bool `protobuf:"varint,22,opt,name=isVip,proto3" json:"isVip"` // 是否是Vip VipLevel int64 `protobuf:"varint,23,opt,name=vipLevel,proto3" json:"vipLevel"` // vip等级 IsYearVip bool `protobuf:"varint,24,opt,name=isYearVip,proto3" json:"isYearVip"` // 是否是年费Vip VipFunctions []string `protobuf:"bytes,25,rep,name=vipFunctions,proto3" json:"vipFunctions"` // vip功能 IsCertification bool `protobuf:"varint,26,opt,name=isCertification,proto3" json:"isCertification"` // 是否实名认证 } func (x *HomeInfo) Reset() { *x = HomeInfo{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HomeInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*HomeInfo) ProtoMessage() {} func (x *HomeInfo) ProtoReflect() protoreflect.Message { mi := &file_common_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 HomeInfo.ProtoReflect.Descriptor instead. func (*HomeInfo) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{12} } func (x *HomeInfo) GetId() string { if x != nil { return x.Id } return "" } func (x *HomeInfo) GetNickname() string { if x != nil { return x.Nickname } return "" } func (x *HomeInfo) GetAvatarUrl() string { if x != nil { return x.AvatarUrl } return "" } func (x *HomeInfo) GetSex() int64 { if x != nil { return x.Sex } return 0 } func (x *HomeInfo) GetPictures() []string { if x != nil { return x.Pictures } return make([]string, 0) } func (x *HomeInfo) GetAge() int64 { if x != nil { return x.Age } return 0 } func (x *HomeInfo) GetConstellation() string { if x != nil { return x.Constellation } return "" } func (x *HomeInfo) GetTagList() []*TagList { if x != nil { return x.TagList } return make([]*TagList, 0) } func (x *HomeInfo) GetSignature() string { if x != nil { return x.Signature } return "" } func (x *HomeInfo) GetIntroduceVoice() string { if x != nil { return x.IntroduceVoice } return "" } func (x *HomeInfo) GetProvince() string { if x != nil { return x.Province } return "" } func (x *HomeInfo) GetCity() string { if x != nil { return x.City } return "" } func (x *HomeInfo) GetArea() string { if x != nil { return x.Area } return "" } func (x *HomeInfo) GetIsBlack() bool { if x != nil { return x.IsBlack } return false } func (x *HomeInfo) GetUpdateNicknameNum() int64 { if x != nil { return x.UpdateNicknameNum } return 0 } func (x *HomeInfo) GetUpdateAvatarUrlNum() int64 { if x != nil { return x.UpdateAvatarUrlNum } return 0 } func (x *HomeInfo) GetUpdatePicturesNum() int64 { if x != nil { return x.UpdatePicturesNum } return 0 } func (x *HomeInfo) GetUpdateSignatureNum() int64 { if x != nil { return x.UpdateSignatureNum } return 0 } func (x *HomeInfo) GetIsSuperLove() bool { if x != nil { return x.IsSuperLove } return false } func (x *HomeInfo) GetIsVip() bool { if x != nil { return x.IsVip } return false } func (x *HomeInfo) GetVipLevel() int64 { if x != nil { return x.VipLevel } return 0 } func (x *HomeInfo) GetIsYearVip() bool { if x != nil { return x.IsYearVip } return false } func (x *HomeInfo) GetVipFunctions() []string { if x != nil { return x.VipFunctions } return make([]string, 0) } func (x *HomeInfo) GetIsCertification() bool { if x != nil { return x.IsCertification } return false } type PersonMsg struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` // id Nickname string `protobuf:"bytes,2,opt,name=nickname,proto3" json:"nickname"` // 昵称 AvatarUrl string `protobuf:"bytes,3,opt,name=avatarUrl,proto3" json:"avatarUrl"` // 头像链接 Sex int64 `protobuf:"varint,4,opt,name=sex,proto3" json:"sex"` // 性别 Pictures []string `protobuf:"bytes,5,rep,name=pictures,proto3" json:"pictures"` // 图片 Age int64 `protobuf:"varint,6,opt,name=age,proto3" json:"age"` // 年龄 Constellation string `protobuf:"bytes,7,opt,name=constellation,proto3" json:"constellation"` // 星座 TagList []int64 `protobuf:"varint,8,rep,packed,name=tagList,proto3" json:"tagList"` // 标签 Signature string `protobuf:"bytes,9,opt,name=signature,proto3" json:"signature"` // 签名 IntroduceVoice string `protobuf:"bytes,10,opt,name=introduceVoice,proto3" json:"introduceVoice"` // 介绍语音 Province string `protobuf:"bytes,11,opt,name=province,proto3" json:"province"` // 省 City string `protobuf:"bytes,12,opt,name=city,proto3" json:"city"` // 市 Area string `protobuf:"bytes,13,opt,name=area,proto3" json:"area"` // 区 IsFinishInformation bool `protobuf:"varint,14,opt,name=isFinishInformation,proto3" json:"isFinishInformation"` // 是否完成注册 IsBlack bool `protobuf:"varint,15,opt,name=isBlack,proto3" json:"isBlack"` // 是否被封禁 Weight int64 `protobuf:"varint,16,opt,name=weight,proto3" json:"weight"` // 权重 WorkingStatus string `protobuf:"bytes,17,opt,name=workingStatus,proto3" json:"workingStatus"` // 工作状态 LastScripID int64 `protobuf:"varint,18,opt,name=lastScripID,proto3" json:"lastScripID"` // 上次观看小纸条ID } func (x *PersonMsg) Reset() { *x = PersonMsg{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PersonMsg) String() string { return protoimpl.X.MessageStringOf(x) } func (*PersonMsg) ProtoMessage() {} func (x *PersonMsg) ProtoReflect() protoreflect.Message { mi := &file_common_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 PersonMsg.ProtoReflect.Descriptor instead. func (*PersonMsg) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{13} } func (x *PersonMsg) GetId() string { if x != nil { return x.Id } return "" } func (x *PersonMsg) GetNickname() string { if x != nil { return x.Nickname } return "" } func (x *PersonMsg) GetAvatarUrl() string { if x != nil { return x.AvatarUrl } return "" } func (x *PersonMsg) GetSex() int64 { if x != nil { return x.Sex } return 0 } func (x *PersonMsg) GetPictures() []string { if x != nil { return x.Pictures } return make([]string, 0) } func (x *PersonMsg) GetAge() int64 { if x != nil { return x.Age } return 0 } func (x *PersonMsg) GetConstellation() string { if x != nil { return x.Constellation } return "" } func (x *PersonMsg) GetTagList() []int64 { if x != nil { return x.TagList } return make([]int64, 0) } func (x *PersonMsg) GetSignature() string { if x != nil { return x.Signature } return "" } func (x *PersonMsg) GetIntroduceVoice() string { if x != nil { return x.IntroduceVoice } return "" } func (x *PersonMsg) GetProvince() string { if x != nil { return x.Province } return "" } func (x *PersonMsg) GetCity() string { if x != nil { return x.City } return "" } func (x *PersonMsg) GetArea() string { if x != nil { return x.Area } return "" } func (x *PersonMsg) GetIsFinishInformation() bool { if x != nil { return x.IsFinishInformation } return false } func (x *PersonMsg) GetIsBlack() bool { if x != nil { return x.IsBlack } return false } func (x *PersonMsg) GetWeight() int64 { if x != nil { return x.Weight } return 0 } func (x *PersonMsg) GetWorkingStatus() string { if x != nil { return x.WorkingStatus } return "" } func (x *PersonMsg) GetLastScripID() int64 { if x != nil { return x.LastScripID } return 0 } type LookedAndLikedNum struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` // id LookedNum int64 `protobuf:"varint,2,opt,name=lookedNum,proto3" json:"lookedNum"` // 看过ta的数量 LikedNum int64 `protobuf:"varint,3,opt,name=likedNum,proto3" json:"likedNum"` // 喜欢ta的数量 } func (x *LookedAndLikedNum) Reset() { *x = LookedAndLikedNum{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LookedAndLikedNum) String() string { return protoimpl.X.MessageStringOf(x) } func (*LookedAndLikedNum) ProtoMessage() {} func (x *LookedAndLikedNum) ProtoReflect() protoreflect.Message { mi := &file_common_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 LookedAndLikedNum.ProtoReflect.Descriptor instead. func (*LookedAndLikedNum) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{14} } func (x *LookedAndLikedNum) GetId() string { if x != nil { return x.Id } return "" } func (x *LookedAndLikedNum) GetLookedNum() int64 { if x != nil { return x.LookedNum } return 0 } func (x *LookedAndLikedNum) GetLikedNum() int64 { if x != nil { return x.LikedNum } return 0 } // 添加好友页面信息 type AddFriendMessageInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` // id Nickname string `protobuf:"bytes,2,opt,name=nickname,proto3" json:"nickname"` // 昵称 AvatarUrl string `protobuf:"bytes,3,opt,name=avatarUrl,proto3" json:"avatarUrl"` // 头像链接 Sex int64 `protobuf:"varint,4,opt,name=sex,proto3" json:"sex"` // 性别 Pictures []string `protobuf:"bytes,5,rep,name=pictures,proto3" json:"pictures"` // 图片 FromOpenId string `protobuf:"bytes,6,opt,name=fromOpenId,proto3" json:"fromOpenId"` // 来源公众号对应的openID IsRegister bool `protobuf:"varint,7,opt,name=isRegister,proto3" json:"isRegister"` // 是否注册 IsChat bool `protobuf:"varint,8,opt,name=isChat,proto3" json:"isChat"` // 是否聊天 IsFromUs bool `protobuf:"varint,9,opt,name=isFromUs,proto3" json:"isFromUs"` // 是否是来源我们 FromAppId string `protobuf:"bytes,10,opt,name=fromAppId,proto3" json:"fromAppId"` // 来源公众号对应的appID FromName string `protobuf:"bytes,11,opt,name=fromName,proto3" json:"fromName"` // 来源公众号对应的公众号名称 Constellation string `protobuf:"bytes,12,opt,name=constellation,proto3" json:"constellation"` // 星座 Signature string `protobuf:"bytes,13,opt,name=signature,proto3" json:"signature"` // 介绍(签名) Province string `protobuf:"bytes,14,opt,name=province,proto3" json:"province"` // 省 City string `protobuf:"bytes,15,opt,name=city,proto3" json:"city"` // 市 Area string `protobuf:"bytes,16,opt,name=area,proto3" json:"area"` // 区 RoomId int64 `protobuf:"varint,17,opt,name=roomId,proto3" json:"roomId"` // 聊过天的话返回房间ID IsVip bool `protobuf:"varint,18,opt,name=isVip,proto3" json:"isVip"` // 是否是vip VipLevel int64 `protobuf:"varint,19,opt,name=vipLevel,proto3" json:"vipLevel"` // vip 等级 IsYearVip bool `protobuf:"varint,20,opt,name=isYearVip,proto3" json:"isYearVip"` // 是否是年费vip VipFunctions []string `protobuf:"bytes,22,rep,name=vipFunctions,proto3" json:"vipFunctions"` // vip功能 IsCertification bool `protobuf:"varint,26,opt,name=isCertification,proto3" json:"isCertification"` // 是否实名认证 } func (x *AddFriendMessageInfo) Reset() { *x = AddFriendMessageInfo{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AddFriendMessageInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*AddFriendMessageInfo) ProtoMessage() {} func (x *AddFriendMessageInfo) ProtoReflect() protoreflect.Message { mi := &file_common_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 AddFriendMessageInfo.ProtoReflect.Descriptor instead. func (*AddFriendMessageInfo) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{15} } func (x *AddFriendMessageInfo) GetId() string { if x != nil { return x.Id } return "" } func (x *AddFriendMessageInfo) GetNickname() string { if x != nil { return x.Nickname } return "" } func (x *AddFriendMessageInfo) GetAvatarUrl() string { if x != nil { return x.AvatarUrl } return "" } func (x *AddFriendMessageInfo) GetSex() int64 { if x != nil { return x.Sex } return 0 } func (x *AddFriendMessageInfo) GetPictures() []string { if x != nil { return x.Pictures } return make([]string, 0) } func (x *AddFriendMessageInfo) GetFromOpenId() string { if x != nil { return x.FromOpenId } return "" } func (x *AddFriendMessageInfo) GetIsRegister() bool { if x != nil { return x.IsRegister } return false } func (x *AddFriendMessageInfo) GetIsChat() bool { if x != nil { return x.IsChat } return false } func (x *AddFriendMessageInfo) GetIsFromUs() bool { if x != nil { return x.IsFromUs } return false } func (x *AddFriendMessageInfo) GetFromAppId() string { if x != nil { return x.FromAppId } return "" } func (x *AddFriendMessageInfo) GetFromName() string { if x != nil { return x.FromName } return "" } func (x *AddFriendMessageInfo) GetConstellation() string { if x != nil { return x.Constellation } return "" } func (x *AddFriendMessageInfo) GetSignature() string { if x != nil { return x.Signature } return "" } func (x *AddFriendMessageInfo) GetProvince() string { if x != nil { return x.Province } return "" } func (x *AddFriendMessageInfo) GetCity() string { if x != nil { return x.City } return "" } func (x *AddFriendMessageInfo) GetArea() string { if x != nil { return x.Area } return "" } func (x *AddFriendMessageInfo) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } func (x *AddFriendMessageInfo) GetIsVip() bool { if x != nil { return x.IsVip } return false } func (x *AddFriendMessageInfo) GetVipLevel() int64 { if x != nil { return x.VipLevel } return 0 } func (x *AddFriendMessageInfo) GetIsYearVip() bool { if x != nil { return x.IsYearVip } return false } func (x *AddFriendMessageInfo) GetVipFunctions() []string { if x != nil { return x.VipFunctions } return make([]string, 0) } func (x *AddFriendMessageInfo) GetIsCertification() bool { if x != nil { return x.IsCertification } return false } type PersonIDList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonIds []string `protobuf:"bytes,1,rep,name=personIds,proto3" json:"personIds"` } func (x *PersonIDList) Reset() { *x = PersonIDList{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PersonIDList) String() string { return protoimpl.X.MessageStringOf(x) } func (*PersonIDList) ProtoMessage() {} func (x *PersonIDList) ProtoReflect() protoreflect.Message { mi := &file_common_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 PersonIDList.ProtoReflect.Descriptor instead. func (*PersonIDList) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{16} } func (x *PersonIDList) GetPersonIds() []string { if x != nil { return x.PersonIds } return make([]string, 0) } type PersonDBReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*PersonDB `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` } func (x *PersonDBReply) Reset() { *x = PersonDBReply{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PersonDBReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*PersonDBReply) ProtoMessage() {} func (x *PersonDBReply) ProtoReflect() protoreflect.Message { mi := &file_common_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 PersonDBReply.ProtoReflect.Descriptor instead. func (*PersonDBReply) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{17} } func (x *PersonDBReply) GetList() []*PersonDB { if x != nil { return x.List } return make([]*PersonDB, 0) } type PersonDB struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` // id Nickname string `protobuf:"bytes,2,opt,name=nickname,proto3" json:"nickname"` // 昵称 AvatarUrl string `protobuf:"bytes,3,opt,name=avatarUrl,proto3" json:"avatarUrl"` // 头像链接 Sex int64 `protobuf:"varint,4,opt,name=sex,proto3" json:"sex"` // 性别 Pictures []string `protobuf:"bytes,5,rep,name=pictures,proto3" json:"pictures"` // 图片 Age int64 `protobuf:"varint,6,opt,name=age,proto3" json:"age"` // 年龄 Constellation string `protobuf:"bytes,7,opt,name=constellation,proto3" json:"constellation"` // 星座 IntroduceVoice string `protobuf:"bytes,8,opt,name=introduceVoice,proto3" json:"introduceVoice"` // 介绍语音 Province string `protobuf:"bytes,9,opt,name=province,proto3" json:"province"` // 省 City string `protobuf:"bytes,10,opt,name=city,proto3" json:"city"` // 市 Area string `protobuf:"bytes,11,opt,name=area,proto3" json:"area"` // 区 Signature string `protobuf:"bytes,12,opt,name=signature,proto3" json:"signature"` //介绍 IsFinishInformation bool `protobuf:"varint,13,opt,name=isFinishInformation,proto3" json:"isFinishInformation"` //是否完善消息 TagList []int64 `protobuf:"varint,14,rep,packed,name=tagList,proto3" json:"tagList"` // 标签列表 PersonId int64 `protobuf:"varint,16,opt,name=personId,proto3" json:"personId"` // 用户id(number) IsBlack bool `protobuf:"varint,17,opt,name=isBlack,proto3" json:"isBlack"` // 是否是黑名单用户 } func (x *PersonDB) Reset() { *x = PersonDB{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PersonDB) String() string { return protoimpl.X.MessageStringOf(x) } func (*PersonDB) ProtoMessage() {} func (x *PersonDB) ProtoReflect() protoreflect.Message { mi := &file_common_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 PersonDB.ProtoReflect.Descriptor instead. func (*PersonDB) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{18} } func (x *PersonDB) GetId() string { if x != nil { return x.Id } return "" } func (x *PersonDB) GetNickname() string { if x != nil { return x.Nickname } return "" } func (x *PersonDB) GetAvatarUrl() string { if x != nil { return x.AvatarUrl } return "" } func (x *PersonDB) GetSex() int64 { if x != nil { return x.Sex } return 0 } func (x *PersonDB) GetPictures() []string { if x != nil { return x.Pictures } return make([]string, 0) } func (x *PersonDB) GetAge() int64 { if x != nil { return x.Age } return 0 } func (x *PersonDB) GetConstellation() string { if x != nil { return x.Constellation } return "" } func (x *PersonDB) GetIntroduceVoice() string { if x != nil { return x.IntroduceVoice } return "" } func (x *PersonDB) GetProvince() string { if x != nil { return x.Province } return "" } func (x *PersonDB) GetCity() string { if x != nil { return x.City } return "" } func (x *PersonDB) GetArea() string { if x != nil { return x.Area } return "" } func (x *PersonDB) GetSignature() string { if x != nil { return x.Signature } return "" } func (x *PersonDB) GetIsFinishInformation() bool { if x != nil { return x.IsFinishInformation } return false } func (x *PersonDB) GetTagList() []int64 { if x != nil { return x.TagList } return make([]int64, 0) } func (x *PersonDB) GetPersonId() int64 { if x != nil { return x.PersonId } return 0 } func (x *PersonDB) GetIsBlack() bool { if x != nil { return x.IsBlack } return false } type PersonDBDetails struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` // id Nickname string `protobuf:"bytes,2,opt,name=nickname,proto3" json:"nickname"` // 昵称 AvatarUrl string `protobuf:"bytes,3,opt,name=avatarUrl,proto3" json:"avatarUrl"` // 头像链接 Sex int64 `protobuf:"varint,4,opt,name=sex,proto3" json:"sex"` // 性别 Pictures []string `protobuf:"bytes,5,rep,name=pictures,proto3" json:"pictures"` // 图片 Age int64 `protobuf:"varint,6,opt,name=age,proto3" json:"age"` // 年龄 Constellation string `protobuf:"bytes,7,opt,name=constellation,proto3" json:"constellation"` // 星座 IntroduceVoice string `protobuf:"bytes,8,opt,name=introduceVoice,proto3" json:"introduceVoice"` // 介绍语音 Province string `protobuf:"bytes,9,opt,name=province,proto3" json:"province"` // 省 City string `protobuf:"bytes,10,opt,name=city,proto3" json:"city"` // 市 Area string `protobuf:"bytes,11,opt,name=area,proto3" json:"area"` // 区 Signature string `protobuf:"bytes,12,opt,name=signature,proto3" json:"signature"` //介绍 IsFinishInformation bool `protobuf:"varint,13,opt,name=isFinishInformation,proto3" json:"isFinishInformation"` //是否完善消息 TagList []int64 `protobuf:"varint,14,rep,packed,name=tagList,proto3" json:"tagList"` // 标签列表 PersonId int64 `protobuf:"varint,16,opt,name=personId,proto3" json:"personId"` // 用户id(number) IsBlack bool `protobuf:"varint,17,opt,name=isBlack,proto3" json:"isBlack"` // 是否是黑名单用户 TodaySendUnreadReminderNum int64 `protobuf:"varint,18,opt,name=todaySendUnreadReminderNum,proto3" json:"todaySendUnreadReminderNum"` LastSendTemplateTime int64 `protobuf:"varint,19,opt,name=lastSendTemplateTime,proto3" json:"lastSendTemplateTime"` TodaySendVisitorReminderNum int64 `protobuf:"varint,20,opt,name=todaySendVisitorReminderNum,proto3" json:"todaySendVisitorReminderNum"` } func (x *PersonDBDetails) Reset() { *x = PersonDBDetails{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PersonDBDetails) String() string { return protoimpl.X.MessageStringOf(x) } func (*PersonDBDetails) ProtoMessage() {} func (x *PersonDBDetails) ProtoReflect() protoreflect.Message { mi := &file_common_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 PersonDBDetails.ProtoReflect.Descriptor instead. func (*PersonDBDetails) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{19} } func (x *PersonDBDetails) GetId() string { if x != nil { return x.Id } return "" } func (x *PersonDBDetails) GetNickname() string { if x != nil { return x.Nickname } return "" } func (x *PersonDBDetails) GetAvatarUrl() string { if x != nil { return x.AvatarUrl } return "" } func (x *PersonDBDetails) GetSex() int64 { if x != nil { return x.Sex } return 0 } func (x *PersonDBDetails) GetPictures() []string { if x != nil { return x.Pictures } return make([]string, 0) } func (x *PersonDBDetails) GetAge() int64 { if x != nil { return x.Age } return 0 } func (x *PersonDBDetails) GetConstellation() string { if x != nil { return x.Constellation } return "" } func (x *PersonDBDetails) GetIntroduceVoice() string { if x != nil { return x.IntroduceVoice } return "" } func (x *PersonDBDetails) GetProvince() string { if x != nil { return x.Province } return "" } func (x *PersonDBDetails) GetCity() string { if x != nil { return x.City } return "" } func (x *PersonDBDetails) GetArea() string { if x != nil { return x.Area } return "" } func (x *PersonDBDetails) GetSignature() string { if x != nil { return x.Signature } return "" } func (x *PersonDBDetails) GetIsFinishInformation() bool { if x != nil { return x.IsFinishInformation } return false } func (x *PersonDBDetails) GetTagList() []int64 { if x != nil { return x.TagList } return make([]int64, 0) } func (x *PersonDBDetails) GetPersonId() int64 { if x != nil { return x.PersonId } return 0 } func (x *PersonDBDetails) GetIsBlack() bool { if x != nil { return x.IsBlack } return false } func (x *PersonDBDetails) GetTodaySendUnreadReminderNum() int64 { if x != nil { return x.TodaySendUnreadReminderNum } return 0 } func (x *PersonDBDetails) GetLastSendTemplateTime() int64 { if x != nil { return x.LastSendTemplateTime } return 0 } func (x *PersonDBDetails) GetTodaySendVisitorReminderNum() int64 { if x != nil { return x.TodaySendVisitorReminderNum } return 0 } type GetUserDBAndInitReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonId string `protobuf:"bytes,1,opt,name=personId,proto3" json:"personId"` IsInit bool `protobuf:"varint,2,opt,name=isInit,proto3" json:"isInit"` } func (x *GetUserDBAndInitReq) Reset() { *x = GetUserDBAndInitReq{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetUserDBAndInitReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetUserDBAndInitReq) ProtoMessage() {} func (x *GetUserDBAndInitReq) ProtoReflect() protoreflect.Message { mi := &file_common_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 GetUserDBAndInitReq.ProtoReflect.Descriptor instead. func (*GetUserDBAndInitReq) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{20} } func (x *GetUserDBAndInitReq) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *GetUserDBAndInitReq) GetIsInit() bool { if x != nil { return x.IsInit } return false } type ScripIdRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ScripId int64 `protobuf:"varint,1,opt,name=scripId,proto3" json:"scripId"` // 纸条id } func (x *ScripIdRequest) Reset() { *x = ScripIdRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScripIdRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScripIdRequest) ProtoMessage() {} func (x *ScripIdRequest) ProtoReflect() protoreflect.Message { mi := &file_common_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 ScripIdRequest.ProtoReflect.Descriptor instead. func (*ScripIdRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{21} } func (x *ScripIdRequest) GetScripId() int64 { if x != nil { return x.ScripId } return 0 } type ListPageRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NextId int64 `protobuf:"varint,1,opt,name=nextId,proto3" json:"nextId"` Offset int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset"` } func (x *ListPageRequest) Reset() { *x = ListPageRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListPageRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListPageRequest) ProtoMessage() {} func (x *ListPageRequest) ProtoReflect() protoreflect.Message { mi := &file_common_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 ListPageRequest.ProtoReflect.Descriptor instead. func (*ListPageRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{22} } func (x *ListPageRequest) GetNextId() int64 { if x != nil { return x.NextId } return 0 } func (x *ListPageRequest) GetOffset() int64 { if x != nil { return x.Offset } return 0 } type ListPageAndSexRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NextId int64 `protobuf:"varint,1,opt,name=nextId,proto3" json:"nextId"` Offset int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset"` Sex int64 `protobuf:"varint,3,opt,name=sex,proto3" json:"sex"` // 对方的性别 } func (x *ListPageAndSexRequest) Reset() { *x = ListPageAndSexRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListPageAndSexRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListPageAndSexRequest) ProtoMessage() {} func (x *ListPageAndSexRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListPageAndSexRequest.ProtoReflect.Descriptor instead. func (*ListPageAndSexRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{23} } func (x *ListPageAndSexRequest) GetNextId() int64 { if x != nil { return x.NextId } return 0 } func (x *ListPageAndSexRequest) GetOffset() int64 { if x != nil { return x.Offset } return 0 } func (x *ListPageAndSexRequest) GetSex() int64 { if x != nil { return x.Sex } return 0 } type FindChatTopicRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type"` // 话题类型 Sex int64 `protobuf:"varint,2,opt,name=sex,proto3" json:"sex"` // 对方的性别 } func (x *FindChatTopicRequest) Reset() { *x = FindChatTopicRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindChatTopicRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindChatTopicRequest) ProtoMessage() {} func (x *FindChatTopicRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FindChatTopicRequest.ProtoReflect.Descriptor instead. func (*FindChatTopicRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{24} } func (x *FindChatTopicRequest) GetType() string { if x != nil { return x.Type } return "" } func (x *FindChatTopicRequest) GetSex() int64 { if x != nil { return x.Sex } return 0 } type ListPage2Request struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NextId string `protobuf:"bytes,1,opt,name=nextId,proto3" json:"nextId"` Offset int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset"` } func (x *ListPage2Request) Reset() { *x = ListPage2Request{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListPage2Request) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListPage2Request) ProtoMessage() {} func (x *ListPage2Request) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListPage2Request.ProtoReflect.Descriptor instead. func (*ListPage2Request) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{25} } func (x *ListPage2Request) GetNextId() string { if x != nil { return x.NextId } return "" } func (x *ListPage2Request) GetOffset() int64 { if x != nil { return x.Offset } return 0 } type ListPageAndPersonRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NextId string `protobuf:"bytes,1,opt,name=nextId,proto3" json:"nextId"` Offset int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset"` PersonID string `protobuf:"bytes,3,opt,name=personID,proto3" json:"personID"` // 查询目标的ID } func (x *ListPageAndPersonRequest) Reset() { *x = ListPageAndPersonRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListPageAndPersonRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListPageAndPersonRequest) ProtoMessage() {} func (x *ListPageAndPersonRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListPageAndPersonRequest.ProtoReflect.Descriptor instead. func (*ListPageAndPersonRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{26} } func (x *ListPageAndPersonRequest) GetNextId() string { if x != nil { return x.NextId } return "" } func (x *ListPageAndPersonRequest) GetOffset() int64 { if x != nil { return x.Offset } return 0 } func (x *ListPageAndPersonRequest) GetPersonID() string { if x != nil { return x.PersonID } return "" } type SendPhoneCodeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Phone string `protobuf:"bytes,1,opt,name=phone,proto3" json:"phone"` } func (x *SendPhoneCodeRequest) Reset() { *x = SendPhoneCodeRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SendPhoneCodeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SendPhoneCodeRequest) ProtoMessage() {} func (x *SendPhoneCodeRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SendPhoneCodeRequest.ProtoReflect.Descriptor instead. func (*SendPhoneCodeRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{27} } func (x *SendPhoneCodeRequest) GetPhone() string { if x != nil { return x.Phone } return "" } type CheckPhoneCodeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Phone string `protobuf:"bytes,1,opt,name=phone,proto3" json:"phone"` Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code"` Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type"` } func (x *CheckPhoneCodeRequest) Reset() { *x = CheckPhoneCodeRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckPhoneCodeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckPhoneCodeRequest) ProtoMessage() {} func (x *CheckPhoneCodeRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CheckPhoneCodeRequest.ProtoReflect.Descriptor instead. func (*CheckPhoneCodeRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{28} } func (x *CheckPhoneCodeRequest) GetPhone() string { if x != nil { return x.Phone } return "" } func (x *CheckPhoneCodeRequest) GetCode() string { if x != nil { return x.Code } return "" } func (x *CheckPhoneCodeRequest) GetType() string { if x != nil { return x.Type } return "" } type ManagerLoginRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account"` // 账号 Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password"` // 密码 } func (x *ManagerLoginRequest) Reset() { *x = ManagerLoginRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerLoginRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerLoginRequest) ProtoMessage() {} func (x *ManagerLoginRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerLoginRequest.ProtoReflect.Descriptor instead. func (*ManagerLoginRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{29} } func (x *ManagerLoginRequest) GetAccount() string { if x != nil { return x.Account } return "" } func (x *ManagerLoginRequest) GetPassword() string { if x != nil { return x.Password } return "" } type LoginToken struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token"` } func (x *LoginToken) Reset() { *x = LoginToken{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LoginToken) String() string { return protoimpl.X.MessageStringOf(x) } func (*LoginToken) ProtoMessage() {} func (x *LoginToken) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LoginToken.ProtoReflect.Descriptor instead. func (*LoginToken) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{30} } func (x *LoginToken) GetToken() string { if x != nil { return x.Token } return "" } type UploadMaterialResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Link string `protobuf:"bytes,1,opt,name=link,proto3" json:"link"` } func (x *UploadMaterialResponse) Reset() { *x = UploadMaterialResponse{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UploadMaterialResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UploadMaterialResponse) ProtoMessage() {} func (x *UploadMaterialResponse) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UploadMaterialResponse.ProtoReflect.Descriptor instead. func (*UploadMaterialResponse) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{31} } func (x *UploadMaterialResponse) GetLink() string { if x != nil { return x.Link } return "" } type Ids struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Ids []int64 `protobuf:"varint,1,rep,packed,name=ids,proto3" json:"ids"` // 标签ID } func (x *Ids) Reset() { *x = Ids{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Ids) String() string { return protoimpl.X.MessageStringOf(x) } func (*Ids) ProtoMessage() {} func (x *Ids) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Ids.ProtoReflect.Descriptor instead. func (*Ids) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{32} } func (x *Ids) GetIds() []int64 { if x != nil { return x.Ids } return make([]int64, 0) } type TagListReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*TagList `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` // 标签列表 } func (x *TagListReply) Reset() { *x = TagListReply{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TagListReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*TagListReply) ProtoMessage() {} func (x *TagListReply) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TagListReply.ProtoReflect.Descriptor instead. func (*TagListReply) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{33} } func (x *TagListReply) GetList() []*TagList { if x != nil { return x.List } return make([]*TagList, 0) } type TagList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` // 标签ID Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` // 分组名 } func (x *TagList) Reset() { *x = TagList{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TagList) String() string { return protoimpl.X.MessageStringOf(x) } func (*TagList) ProtoMessage() {} func (x *TagList) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TagList.ProtoReflect.Descriptor instead. func (*TagList) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{34} } func (x *TagList) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *TagList) GetName() string { if x != nil { return x.Name } return "" } type SexReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Sex int64 `protobuf:"varint,1,opt,name=sex,proto3" json:"sex"` } func (x *SexReq) Reset() { *x = SexReq{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SexReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*SexReq) ProtoMessage() {} func (x *SexReq) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SexReq.ProtoReflect.Descriptor instead. func (*SexReq) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{35} } func (x *SexReq) GetSex() int64 { if x != nil { return x.Sex } return 0 } type GetMatchingPartnerInfoReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` // id Nickname string `protobuf:"bytes,2,opt,name=nickname,proto3" json:"nickname"` // 昵称 AvatarUrl string `protobuf:"bytes,3,opt,name=avatarUrl,proto3" json:"avatarUrl"` // 头像链接 Sex int64 `protobuf:"varint,4,opt,name=sex,proto3" json:"sex"` // 性别 City string `protobuf:"bytes,5,opt,name=city,proto3" json:"city"` // 城市 } func (x *GetMatchingPartnerInfoReply) Reset() { *x = GetMatchingPartnerInfoReply{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetMatchingPartnerInfoReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetMatchingPartnerInfoReply) ProtoMessage() {} func (x *GetMatchingPartnerInfoReply) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetMatchingPartnerInfoReply.ProtoReflect.Descriptor instead. func (*GetMatchingPartnerInfoReply) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{36} } func (x *GetMatchingPartnerInfoReply) GetId() string { if x != nil { return x.Id } return "" } func (x *GetMatchingPartnerInfoReply) GetNickname() string { if x != nil { return x.Nickname } return "" } func (x *GetMatchingPartnerInfoReply) GetAvatarUrl() string { if x != nil { return x.AvatarUrl } return "" } func (x *GetMatchingPartnerInfoReply) GetSex() int64 { if x != nil { return x.Sex } return 0 } func (x *GetMatchingPartnerInfoReply) GetCity() string { if x != nil { return x.City } return "" } type RandomIntroduceReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Introduce string `protobuf:"bytes,1,opt,name=introduce,proto3" json:"introduce"` } func (x *RandomIntroduceReply) Reset() { *x = RandomIntroduceReply{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RandomIntroduceReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*RandomIntroduceReply) ProtoMessage() {} func (x *RandomIntroduceReply) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RandomIntroduceReply.ProtoReflect.Descriptor instead. func (*RandomIntroduceReply) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{37} } func (x *RandomIntroduceReply) GetIntroduce() string { if x != nil { return x.Introduce } return "" } type UpdateInformationRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Nickname string `protobuf:"bytes,1,opt,name=nickname,proto3" json:"nickname"` // 昵称 AvatarUrl string `protobuf:"bytes,2,opt,name=avatarUrl,proto3" json:"avatarUrl"` // 头像 Sex int64 `protobuf:"varint,3,opt,name=sex,proto3" json:"sex"` // 性别 Birthday int64 `protobuf:"varint,4,opt,name=birthday,proto3" json:"birthday"` // 出生日期(毫秒级时间戳) TagList []int64 `protobuf:"varint,5,rep,packed,name=tagList,proto3" json:"tagList"` // 标签id列表 IntroduceVoice string `protobuf:"bytes,6,opt,name=introduceVoice,proto3" json:"introduceVoice"` // 介绍语音的链接 Signature string `protobuf:"bytes,7,opt,name=signature,proto3" json:"signature"` // 介绍(签名) Pictures []string `protobuf:"bytes,8,rep,name=pictures,proto3" json:"pictures"` // 相册(主页图片) Province string `protobuf:"bytes,9,opt,name=province,proto3" json:"province"` // 省 City string `protobuf:"bytes,10,opt,name=city,proto3" json:"city"` // 市 Area string `protobuf:"bytes,11,opt,name=area,proto3" json:"area"` // 区 } func (x *UpdateInformationRequest) Reset() { *x = UpdateInformationRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateInformationRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateInformationRequest) ProtoMessage() {} func (x *UpdateInformationRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpdateInformationRequest.ProtoReflect.Descriptor instead. func (*UpdateInformationRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{38} } func (x *UpdateInformationRequest) GetNickname() string { if x != nil { return x.Nickname } return "" } func (x *UpdateInformationRequest) GetAvatarUrl() string { if x != nil { return x.AvatarUrl } return "" } func (x *UpdateInformationRequest) GetSex() int64 { if x != nil { return x.Sex } return 0 } func (x *UpdateInformationRequest) GetBirthday() int64 { if x != nil { return x.Birthday } return 0 } func (x *UpdateInformationRequest) GetTagList() []int64 { if x != nil { return x.TagList } return make([]int64, 0) } func (x *UpdateInformationRequest) GetIntroduceVoice() string { if x != nil { return x.IntroduceVoice } return "" } func (x *UpdateInformationRequest) GetSignature() string { if x != nil { return x.Signature } return "" } func (x *UpdateInformationRequest) GetPictures() []string { if x != nil { return x.Pictures } return make([]string, 0) } func (x *UpdateInformationRequest) GetProvince() string { if x != nil { return x.Province } return "" } func (x *UpdateInformationRequest) GetCity() string { if x != nil { return x.City } return "" } func (x *UpdateInformationRequest) GetArea() string { if x != nil { return x.Area } return "" } type ChatRecordListReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*ChatRecordInfo `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` NextId int64 `protobuf:"varint,2,opt,name=nextId,proto3" json:"nextId"` } func (x *ChatRecordListReply) Reset() { *x = ChatRecordListReply{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChatRecordListReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChatRecordListReply) ProtoMessage() {} func (x *ChatRecordListReply) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ChatRecordListReply.ProtoReflect.Descriptor instead. func (*ChatRecordListReply) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{39} } func (x *ChatRecordListReply) GetList() []*ChatRecordInfo { if x != nil { return x.List } return make([]*ChatRecordInfo, 0) } func (x *ChatRecordListReply) GetNextId() int64 { if x != nil { return x.NextId } return 0 } type ChatRoomMsg struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RoomId int64 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId"` // 房间ID Self *ChatPersonMsg `protobuf:"bytes,2,opt,name=self,proto3" json:"self"` // 自己的信息 Other *ChatPersonMsg `protobuf:"bytes,3,opt,name=other,proto3" json:"other"` // 对方的信息 Likeability int64 `protobuf:"varint,5,opt,name=likeability,proto3" json:"likeability"` // 对对方的好感度 IsFirstChat bool `protobuf:"varint,6,opt,name=isFirstChat,proto3" json:"isFirstChat"` // 是否是第一次聊天 } func (x *ChatRoomMsg) Reset() { *x = ChatRoomMsg{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChatRoomMsg) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChatRoomMsg) ProtoMessage() {} func (x *ChatRoomMsg) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ChatRoomMsg.ProtoReflect.Descriptor instead. func (*ChatRoomMsg) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{40} } func (x *ChatRoomMsg) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } func (x *ChatRoomMsg) GetSelf() *ChatPersonMsg { if x != nil && x.Self != nil { return x.Self } return &ChatPersonMsg{} } func (x *ChatRoomMsg) GetOther() *ChatPersonMsg { if x != nil && x.Other != nil { return x.Other } return &ChatPersonMsg{} } func (x *ChatRoomMsg) GetLikeability() int64 { if x != nil { return x.Likeability } return 0 } func (x *ChatRoomMsg) GetIsFirstChat() bool { if x != nil { return x.IsFirstChat } return false } type ChatPersonMsg struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` // id Nickname string `protobuf:"bytes,3,opt,name=nickname,proto3" json:"nickname"` // 昵称 Avatar string `protobuf:"bytes,4,opt,name=avatar,proto3" json:"avatar"` // 头像 Sex int64 `protobuf:"varint,5,opt,name=sex,proto3" json:"sex"` // 性别 IsLove bool `protobuf:"varint,6,opt,name=isLove,proto3" json:"isLove"` // 是否爆灯 IsVip bool `protobuf:"varint,15,opt,name=isVip,proto3" json:"isVip"` // 是否是Vip VipLevel int64 `protobuf:"varint,16,opt,name=vipLevel,proto3" json:"vipLevel"` // vip等级 IsYearVip bool `protobuf:"varint,17,opt,name=isYearVip,proto3" json:"isYearVip"` // 是否是年费Vip VipFunctions []string `protobuf:"bytes,22,rep,name=vipFunctions,proto3" json:"vipFunctions"` // vip功能 IsCertification bool `protobuf:"varint,26,opt,name=isCertification,proto3" json:"isCertification"` // 是否实名认证 } func (x *ChatPersonMsg) Reset() { *x = ChatPersonMsg{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChatPersonMsg) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChatPersonMsg) ProtoMessage() {} func (x *ChatPersonMsg) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ChatPersonMsg.ProtoReflect.Descriptor instead. func (*ChatPersonMsg) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{41} } func (x *ChatPersonMsg) GetId() string { if x != nil { return x.Id } return "" } func (x *ChatPersonMsg) GetNickname() string { if x != nil { return x.Nickname } return "" } func (x *ChatPersonMsg) GetAvatar() string { if x != nil { return x.Avatar } return "" } func (x *ChatPersonMsg) GetSex() int64 { if x != nil { return x.Sex } return 0 } func (x *ChatPersonMsg) GetIsLove() bool { if x != nil { return x.IsLove } return false } func (x *ChatPersonMsg) GetIsVip() bool { if x != nil { return x.IsVip } return false } func (x *ChatPersonMsg) GetVipLevel() int64 { if x != nil { return x.VipLevel } return 0 } func (x *ChatPersonMsg) GetIsYearVip() bool { if x != nil { return x.IsYearVip } return false } func (x *ChatPersonMsg) GetVipFunctions() []string { if x != nil { return x.VipFunctions } return make([]string, 0) } func (x *ChatPersonMsg) GetIsCertification() bool { if x != nil { return x.IsCertification } return false } type ChatRecordInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MessageId int64 `protobuf:"varint,1,opt,name=messageId,proto3" json:"messageId"` // 消息的ID MsgType string `protobuf:"bytes,2,opt,name=msgType,proto3" json:"msgType"` // 消息类型 Message *Message `protobuf:"bytes,3,opt,name=message,proto3" json:"message"` // 消息的结构 RoomId int64 `protobuf:"varint,4,opt,name=roomId,proto3" json:"roomId"` // 房间ID IsSelf bool `protobuf:"varint,5,opt,name=isSelf,proto3" json:"isSelf"` // 是否是自己 SendTime int64 `protobuf:"varint,6,opt,name=sendTime,proto3" json:"sendTime"` // 发送时间 Status string `protobuf:"bytes,7,opt,name=status,proto3" json:"status"` // 消息状态 StatusMsg string `protobuf:"bytes,8,opt,name=statusMsg,proto3" json:"statusMsg"` // 状态说明 IsRead bool `protobuf:"varint,9,opt,name=isRead,proto3" json:"isRead"` // 对方是否已读 } func (x *ChatRecordInfo) Reset() { *x = ChatRecordInfo{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChatRecordInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChatRecordInfo) ProtoMessage() {} func (x *ChatRecordInfo) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ChatRecordInfo.ProtoReflect.Descriptor instead. func (*ChatRecordInfo) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{42} } func (x *ChatRecordInfo) GetMessageId() int64 { if x != nil { return x.MessageId } return 0 } func (x *ChatRecordInfo) GetMsgType() string { if x != nil { return x.MsgType } return "" } func (x *ChatRecordInfo) GetMessage() *Message { if x != nil && x.Message != nil { return x.Message } return &Message{} } func (x *ChatRecordInfo) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } func (x *ChatRecordInfo) GetIsSelf() bool { if x != nil { return x.IsSelf } return false } func (x *ChatRecordInfo) GetSendTime() int64 { if x != nil { return x.SendTime } return 0 } func (x *ChatRecordInfo) GetStatus() string { if x != nil { return x.Status } return "" } func (x *ChatRecordInfo) GetStatusMsg() string { if x != nil { return x.StatusMsg } return "" } func (x *ChatRecordInfo) GetIsRead() bool { if x != nil { return x.IsRead } return false } type ChatIsReadInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MessageId int64 `protobuf:"varint,1,opt,name=messageId,proto3" json:"messageId"` // 消息的ID RoomId int64 `protobuf:"varint,2,opt,name=roomId,proto3" json:"roomId"` // 房间ID WebsocketTag string `protobuf:"bytes,3,opt,name=websocketTag,proto3" json:"websocketTag"` } func (x *ChatIsReadInfo) Reset() { *x = ChatIsReadInfo{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChatIsReadInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChatIsReadInfo) ProtoMessage() {} func (x *ChatIsReadInfo) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ChatIsReadInfo.ProtoReflect.Descriptor instead. func (*ChatIsReadInfo) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{43} } func (x *ChatIsReadInfo) GetMessageId() int64 { if x != nil { return x.MessageId } return 0 } func (x *ChatIsReadInfo) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } func (x *ChatIsReadInfo) GetWebsocketTag() string { if x != nil { return x.WebsocketTag } return "" } type GoToRoom struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RoomId int64 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId"` // 房间ID WebsocketTag string `protobuf:"bytes,2,opt,name=websocketTag,proto3" json:"websocketTag"` } func (x *GoToRoom) Reset() { *x = GoToRoom{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GoToRoom) String() string { return protoimpl.X.MessageStringOf(x) } func (*GoToRoom) ProtoMessage() {} func (x *GoToRoom) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GoToRoom.ProtoReflect.Descriptor instead. func (*GoToRoom) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{44} } func (x *GoToRoom) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } func (x *GoToRoom) GetWebsocketTag() string { if x != nil { return x.WebsocketTag } return "" } type Message struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content"` // 文本内容 MaterialUrl string `protobuf:"bytes,2,opt,name=materialUrl,proto3" json:"materialUrl"` // 素材链接 ScripContent string `protobuf:"bytes,3,opt,name=scripContent,proto3" json:"scripContent"` // 小纸条的内容 ScripMaterialUrl string `protobuf:"bytes,4,opt,name=scripMaterialUrl,proto3" json:"scripMaterialUrl"` // 小纸条的素材链接 ReplyScripContent string `protobuf:"bytes,5,opt,name=replyScripContent,proto3" json:"replyScripContent"` // 回复小纸条的内容 ReplyScripMaterialUrl string `protobuf:"bytes,6,opt,name=replyScripMaterialUrl,proto3" json:"replyScripMaterialUrl"` // 回复小纸条的素材链接 } func (x *Message) Reset() { *x = Message{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Message) String() string { return protoimpl.X.MessageStringOf(x) } func (*Message) ProtoMessage() {} func (x *Message) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Message.ProtoReflect.Descriptor instead. func (*Message) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{45} } func (x *Message) GetContent() string { if x != nil { return x.Content } return "" } func (x *Message) GetMaterialUrl() string { if x != nil { return x.MaterialUrl } return "" } func (x *Message) GetScripContent() string { if x != nil { return x.ScripContent } return "" } func (x *Message) GetScripMaterialUrl() string { if x != nil { return x.ScripMaterialUrl } return "" } func (x *Message) GetReplyScripContent() string { if x != nil { return x.ReplyScripContent } return "" } func (x *Message) GetReplyScripMaterialUrl() string { if x != nil { return x.ReplyScripMaterialUrl } return "" } type FindChatRoomMsgRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RoomId int64 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId"` } func (x *FindChatRoomMsgRequest) Reset() { *x = FindChatRoomMsgRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindChatRoomMsgRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindChatRoomMsgRequest) ProtoMessage() {} func (x *FindChatRoomMsgRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FindChatRoomMsgRequest.ProtoReflect.Descriptor instead. func (*FindChatRoomMsgRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{46} } func (x *FindChatRoomMsgRequest) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } type RoomIDRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RoomId int64 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId"` } func (x *RoomIDRequest) Reset() { *x = RoomIDRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RoomIDRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RoomIDRequest) ProtoMessage() {} func (x *RoomIDRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RoomIDRequest.ProtoReflect.Descriptor instead. func (*RoomIDRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{47} } func (x *RoomIDRequest) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } type FindChatRecordListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NextId int64 `protobuf:"varint,1,opt,name=nextId,proto3" json:"nextId"` Offset int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset"` RoomId int64 `protobuf:"varint,3,opt,name=roomId,proto3" json:"roomId"` } func (x *FindChatRecordListRequest) Reset() { *x = FindChatRecordListRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindChatRecordListRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindChatRecordListRequest) ProtoMessage() {} func (x *FindChatRecordListRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FindChatRecordListRequest.ProtoReflect.Descriptor instead. func (*FindChatRecordListRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{48} } func (x *FindChatRecordListRequest) GetNextId() int64 { if x != nil { return x.NextId } return 0 } func (x *FindChatRecordListRequest) GetOffset() int64 { if x != nil { return x.Offset } return 0 } func (x *FindChatRecordListRequest) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } type IsLike struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields IsLike bool `protobuf:"varint,1,opt,name=isLike,proto3" json:"isLike"` // 是否喜欢(关注) } func (x *IsLike) Reset() { *x = IsLike{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IsLike) String() string { return protoimpl.X.MessageStringOf(x) } func (*IsLike) ProtoMessage() {} func (x *IsLike) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use IsLike.ProtoReflect.Descriptor instead. func (*IsLike) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{49} } func (x *IsLike) GetIsLike() bool { if x != nil { return x.IsLike } return false } type RandomNum struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Num int64 `protobuf:"varint,1,opt,name=num,proto3" json:"num"` // 随机的数量 } func (x *RandomNum) Reset() { *x = RandomNum{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RandomNum) String() string { return protoimpl.X.MessageStringOf(x) } func (*RandomNum) ProtoMessage() {} func (x *RandomNum) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RandomNum.ProtoReflect.Descriptor instead. func (*RandomNum) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{50} } func (x *RandomNum) GetNum() int64 { if x != nil { return x.Num } return 0 } type RandomNumAndSex struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Num int64 `protobuf:"varint,1,opt,name=num,proto3" json:"num"` // 随机的数量 Sex int64 `protobuf:"varint,2,opt,name=sex,proto3" json:"sex"` // 对方的性别 } func (x *RandomNumAndSex) Reset() { *x = RandomNumAndSex{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RandomNumAndSex) String() string { return protoimpl.X.MessageStringOf(x) } func (*RandomNumAndSex) ProtoMessage() {} func (x *RandomNumAndSex) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RandomNumAndSex.ProtoReflect.Descriptor instead. func (*RandomNumAndSex) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{51} } func (x *RandomNumAndSex) GetNum() int64 { if x != nil { return x.Num } return 0 } func (x *RandomNumAndSex) GetSex() int64 { if x != nil { return x.Sex } return 0 } type MemeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NextId int64 `protobuf:"varint,1,opt,name=nextId,proto3" json:"nextId"` Offset int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset"` Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type"` } func (x *MemeRequest) Reset() { *x = MemeRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MemeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*MemeRequest) ProtoMessage() {} func (x *MemeRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MemeRequest.ProtoReflect.Descriptor instead. func (*MemeRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{52} } func (x *MemeRequest) GetNextId() int64 { if x != nil { return x.NextId } return 0 } func (x *MemeRequest) GetOffset() int64 { if x != nil { return x.Offset } return 0 } func (x *MemeRequest) GetType() string { if x != nil { return x.Type } return "" } type CommonTextList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []string `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` // 需要的数据集合(随机表情包、随机打招呼) } func (x *CommonTextList) Reset() { *x = CommonTextList{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommonTextList) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommonTextList) ProtoMessage() {} func (x *CommonTextList) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommonTextList.ProtoReflect.Descriptor instead. func (*CommonTextList) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{53} } func (x *CommonTextList) GetList() []string { if x != nil { return x.List } return make([]string, 0) } type MemeTitleList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*MemeTitle `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` // 需要的数据集合(随机表情包、随机打招呼) } func (x *MemeTitleList) Reset() { *x = MemeTitleList{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MemeTitleList) String() string { return protoimpl.X.MessageStringOf(x) } func (*MemeTitleList) ProtoMessage() {} func (x *MemeTitleList) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MemeTitleList.ProtoReflect.Descriptor instead. func (*MemeTitleList) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{54} } func (x *MemeTitleList) GetList() []*MemeTitle { if x != nil { return x.List } return make([]*MemeTitle, 0) } type MemeTitle struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` // 名称 Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type"` // 类型 } func (x *MemeTitle) Reset() { *x = MemeTitle{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MemeTitle) String() string { return protoimpl.X.MessageStringOf(x) } func (*MemeTitle) ProtoMessage() {} func (x *MemeTitle) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MemeTitle.ProtoReflect.Descriptor instead. func (*MemeTitle) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{55} } func (x *MemeTitle) GetName() string { if x != nil { return x.Name } return "" } func (x *MemeTitle) GetType() string { if x != nil { return x.Type } return "" } type MemeList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []string `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` // 表情包列表 NextId int64 `protobuf:"varint,2,opt,name=nextId,proto3" json:"nextId"` } func (x *MemeList) Reset() { *x = MemeList{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MemeList) String() string { return protoimpl.X.MessageStringOf(x) } func (*MemeList) ProtoMessage() {} func (x *MemeList) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MemeList.ProtoReflect.Descriptor instead. func (*MemeList) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{56} } func (x *MemeList) GetList() []string { if x != nil { return x.List } return make([]string, 0) } func (x *MemeList) GetNextId() int64 { if x != nil { return x.NextId } return 0 } type ChatTopicList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []string `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` // 话题列表 } func (x *ChatTopicList) Reset() { *x = ChatTopicList{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChatTopicList) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChatTopicList) ProtoMessage() {} func (x *ChatTopicList) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ChatTopicList.ProtoReflect.Descriptor instead. func (*ChatTopicList) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{57} } func (x *ChatTopicList) GetList() []string { if x != nil { return x.List } return make([]string, 0) } type ReportChatRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ReportMsg string `protobuf:"bytes,1,opt,name=reportMsg,proto3" json:"reportMsg"` // 举报的详情 Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type"` // 举报类型 MessageId int64 `protobuf:"varint,3,opt,name=messageId,proto3" json:"messageId"` // 举报对象的ID(纸条、房间) ReportedPersonId string `protobuf:"bytes,4,opt,name=reportedPersonId,proto3" json:"reportedPersonId"` // 被举报的人的ID ContactInformation string `protobuf:"bytes,6,opt,name=contactInformation,proto3" json:"contactInformation"` // 联系方式 Picture []string `protobuf:"bytes,7,rep,name=picture,proto3" json:"picture"` // 图片 Category []string `protobuf:"bytes,8,rep,name=category,proto3" json:"category"` // 类别 } func (x *ReportChatRequest) Reset() { *x = ReportChatRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReportChatRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReportChatRequest) ProtoMessage() {} func (x *ReportChatRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ReportChatRequest.ProtoReflect.Descriptor instead. func (*ReportChatRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{58} } func (x *ReportChatRequest) GetReportMsg() string { if x != nil { return x.ReportMsg } return "" } func (x *ReportChatRequest) GetType() string { if x != nil { return x.Type } return "" } func (x *ReportChatRequest) GetMessageId() int64 { if x != nil { return x.MessageId } return 0 } func (x *ReportChatRequest) GetReportedPersonId() string { if x != nil { return x.ReportedPersonId } return "" } func (x *ReportChatRequest) GetContactInformation() string { if x != nil { return x.ContactInformation } return "" } func (x *ReportChatRequest) GetPicture() []string { if x != nil { return x.Picture } return make([]string, 0) } func (x *ReportChatRequest) GetCategory() []string { if x != nil { return x.Category } return make([]string, 0) } type ReportRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type"` // 举报类型 PersonId string `protobuf:"bytes,2,opt,name=personId,proto3" json:"personId"` // 发起举报的人的ID MessageId int64 `protobuf:"varint,3,opt,name=messageId,proto3" json:"messageId"` // 举报对象的ID(纸条、房间) ReportedPersonId string `protobuf:"bytes,5,opt,name=reportedPersonId,proto3" json:"reportedPersonId"` // 被举报的人的ID ContactInformation string `protobuf:"bytes,7,opt,name=contactInformation,proto3" json:"contactInformation"` // 联系方式 Picture []string `protobuf:"bytes,8,rep,name=picture,proto3" json:"picture"` // 图片 Category []string `protobuf:"bytes,9,rep,name=category,proto3" json:"category"` // 类别 ReportMsg string `protobuf:"bytes,10,opt,name=reportMsg,proto3" json:"reportMsg"` // 举报的详情 } func (x *ReportRequest) Reset() { *x = ReportRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReportRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReportRequest) ProtoMessage() {} func (x *ReportRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ReportRequest.ProtoReflect.Descriptor instead. func (*ReportRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{59} } func (x *ReportRequest) GetType() string { if x != nil { return x.Type } return "" } func (x *ReportRequest) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *ReportRequest) GetMessageId() int64 { if x != nil { return x.MessageId } return 0 } func (x *ReportRequest) GetReportedPersonId() string { if x != nil { return x.ReportedPersonId } return "" } func (x *ReportRequest) GetContactInformation() string { if x != nil { return x.ContactInformation } return "" } func (x *ReportRequest) GetPicture() []string { if x != nil { return x.Picture } return make([]string, 0) } func (x *ReportRequest) GetCategory() []string { if x != nil { return x.Category } return make([]string, 0) } func (x *ReportRequest) GetReportMsg() string { if x != nil { return x.ReportMsg } return "" } type RoomChatMsg struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Source string `protobuf:"bytes,6,opt,name=source,proto3" json:"source"` // 来源 Type string `protobuf:"bytes,7,opt,name=type,proto3" json:"type"` // 类型(新客:new,付费:pay) Benefit int64 `protobuf:"varint,8,opt,name=benefit,proto3" json:"benefit"` // 收益 IsUnlockVoice bool `protobuf:"varint,9,opt,name=isUnlockVoice,proto3" json:"isUnlockVoice"` // 是否解锁语音 IsUnlockPicture bool `protobuf:"varint,10,opt,name=isUnlockPicture,proto3" json:"isUnlockPicture"` // 是否解锁图片 UnlockVoicePrice int64 `protobuf:"varint,11,opt,name=unlockVoicePrice,proto3" json:"unlockVoicePrice"` // 解锁语音奖励 UnlockPicturePrice int64 `protobuf:"varint,12,opt,name=unlockPicturePrice,proto3" json:"unlockPicturePrice"` // 解锁图片奖励 IsGetVoicePrice bool `protobuf:"varint,13,opt,name=isGetVoicePrice,proto3" json:"isGetVoicePrice"` // 是否领取了语音奖励 IsGetPicturePrice bool `protobuf:"varint,14,opt,name=isGetPicturePrice,proto3" json:"isGetPicturePrice"` // 是否领取了图片奖励 } func (x *RoomChatMsg) Reset() { *x = RoomChatMsg{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RoomChatMsg) String() string { return protoimpl.X.MessageStringOf(x) } func (*RoomChatMsg) ProtoMessage() {} func (x *RoomChatMsg) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RoomChatMsg.ProtoReflect.Descriptor instead. func (*RoomChatMsg) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{60} } func (x *RoomChatMsg) GetSource() string { if x != nil { return x.Source } return "" } func (x *RoomChatMsg) GetType() string { if x != nil { return x.Type } return "" } func (x *RoomChatMsg) GetBenefit() int64 { if x != nil { return x.Benefit } return 0 } func (x *RoomChatMsg) GetIsUnlockVoice() bool { if x != nil { return x.IsUnlockVoice } return false } func (x *RoomChatMsg) GetIsUnlockPicture() bool { if x != nil { return x.IsUnlockPicture } return false } func (x *RoomChatMsg) GetUnlockVoicePrice() int64 { if x != nil { return x.UnlockVoicePrice } return 0 } func (x *RoomChatMsg) GetUnlockPicturePrice() int64 { if x != nil { return x.UnlockPicturePrice } return 0 } func (x *RoomChatMsg) GetIsGetVoicePrice() bool { if x != nil { return x.IsGetVoicePrice } return false } func (x *RoomChatMsg) GetIsGetPicturePrice() bool { if x != nil { return x.IsGetPicturePrice } return false } type RecommendPersonListReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ManList []*RecommendPersonInfo `protobuf:"bytes,1,rep,name=manList,proto3" json:"manList"` // 男生列表 WomanList []*RecommendPersonInfo `protobuf:"bytes,2,rep,name=womanList,proto3" json:"womanList"` // 女生列表 } func (x *RecommendPersonListReply) Reset() { *x = RecommendPersonListReply{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RecommendPersonListReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*RecommendPersonListReply) ProtoMessage() {} func (x *RecommendPersonListReply) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RecommendPersonListReply.ProtoReflect.Descriptor instead. func (*RecommendPersonListReply) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{61} } func (x *RecommendPersonListReply) GetManList() []*RecommendPersonInfo { if x != nil { return x.ManList } return make([]*RecommendPersonInfo, 0) } func (x *RecommendPersonListReply) GetWomanList() []*RecommendPersonInfo { if x != nil { return x.WomanList } return make([]*RecommendPersonInfo, 0) } type HandpickPersonListReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ManList []*HandpickPersonInfo `protobuf:"bytes,1,rep,name=manList,proto3" json:"manList"` // 男生列表 WomanList []*HandpickPersonInfo `protobuf:"bytes,2,rep,name=womanList,proto3" json:"womanList"` // 女生列表 } func (x *HandpickPersonListReply) Reset() { *x = HandpickPersonListReply{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HandpickPersonListReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*HandpickPersonListReply) ProtoMessage() {} func (x *HandpickPersonListReply) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HandpickPersonListReply.ProtoReflect.Descriptor instead. func (*HandpickPersonListReply) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{62} } func (x *HandpickPersonListReply) GetManList() []*HandpickPersonInfo { if x != nil { return x.ManList } return make([]*HandpickPersonInfo, 0) } func (x *HandpickPersonListReply) GetWomanList() []*HandpickPersonInfo { if x != nil { return x.WomanList } return make([]*HandpickPersonInfo, 0) } type HandpickPersonInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonID string `protobuf:"bytes,1,opt,name=personID,proto3" json:"personID"` // 查询目标的ID Nickname string `protobuf:"bytes,3,opt,name=nickname,proto3" json:"nickname"` // 昵称 AvatarUrl string `protobuf:"bytes,4,opt,name=avatarUrl,proto3" json:"avatarUrl"` // 头像链接 Sex int64 `protobuf:"varint,5,opt,name=sex,proto3" json:"sex"` // 性别 Age int64 `protobuf:"varint,6,opt,name=age,proto3" json:"age"` // 年龄 Constellation string `protobuf:"bytes,7,opt,name=constellation,proto3" json:"constellation"` // 星座 Signature string `protobuf:"bytes,8,opt,name=signature,proto3" json:"signature"` // 签名 Province string `protobuf:"bytes,9,opt,name=province,proto3" json:"province"` // 省 City string `protobuf:"bytes,10,opt,name=city,proto3" json:"city"` // 市 Area string `protobuf:"bytes,11,opt,name=area,proto3" json:"area"` // 区 IntroduceVoice string `protobuf:"bytes,12,opt,name=introduceVoice,proto3" json:"introduceVoice"` // 介绍语音 IsOnline bool `protobuf:"varint,14,opt,name=isOnline,proto3" json:"isOnline"` // 是否在线 IsVip bool `protobuf:"varint,15,opt,name=isVip,proto3" json:"isVip"` // 是否是Vip VipLevel int64 `protobuf:"varint,16,opt,name=vipLevel,proto3" json:"vipLevel"` // vip等级 IsYearVip bool `protobuf:"varint,17,opt,name=isYearVip,proto3" json:"isYearVip"` // 是否是年费Vip VipFunctions []string `protobuf:"bytes,22,rep,name=vipFunctions,proto3" json:"vipFunctions"` // vip功能 Picture string `protobuf:"bytes,23,opt,name=picture,proto3" json:"picture"` // 精选图片 IsCertification bool `protobuf:"varint,26,opt,name=isCertification,proto3" json:"isCertification"` // 是否实名认证 } func (x *HandpickPersonInfo) Reset() { *x = HandpickPersonInfo{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HandpickPersonInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*HandpickPersonInfo) ProtoMessage() {} func (x *HandpickPersonInfo) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HandpickPersonInfo.ProtoReflect.Descriptor instead. func (*HandpickPersonInfo) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{63} } func (x *HandpickPersonInfo) GetPersonID() string { if x != nil { return x.PersonID } return "" } func (x *HandpickPersonInfo) GetNickname() string { if x != nil { return x.Nickname } return "" } func (x *HandpickPersonInfo) GetAvatarUrl() string { if x != nil { return x.AvatarUrl } return "" } func (x *HandpickPersonInfo) GetSex() int64 { if x != nil { return x.Sex } return 0 } func (x *HandpickPersonInfo) GetAge() int64 { if x != nil { return x.Age } return 0 } func (x *HandpickPersonInfo) GetConstellation() string { if x != nil { return x.Constellation } return "" } func (x *HandpickPersonInfo) GetSignature() string { if x != nil { return x.Signature } return "" } func (x *HandpickPersonInfo) GetProvince() string { if x != nil { return x.Province } return "" } func (x *HandpickPersonInfo) GetCity() string { if x != nil { return x.City } return "" } func (x *HandpickPersonInfo) GetArea() string { if x != nil { return x.Area } return "" } func (x *HandpickPersonInfo) GetIntroduceVoice() string { if x != nil { return x.IntroduceVoice } return "" } func (x *HandpickPersonInfo) GetIsOnline() bool { if x != nil { return x.IsOnline } return false } func (x *HandpickPersonInfo) GetIsVip() bool { if x != nil { return x.IsVip } return false } func (x *HandpickPersonInfo) GetVipLevel() int64 { if x != nil { return x.VipLevel } return 0 } func (x *HandpickPersonInfo) GetIsYearVip() bool { if x != nil { return x.IsYearVip } return false } func (x *HandpickPersonInfo) GetVipFunctions() []string { if x != nil { return x.VipFunctions } return make([]string, 0) } func (x *HandpickPersonInfo) GetPicture() string { if x != nil { return x.Picture } return "" } func (x *HandpickPersonInfo) GetIsCertification() bool { if x != nil { return x.IsCertification } return false } type RecommendPersonInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonID string `protobuf:"bytes,1,opt,name=personID,proto3" json:"personID"` // 查询目标的ID Nickname string `protobuf:"bytes,3,opt,name=nickname,proto3" json:"nickname"` // 昵称 AvatarUrl string `protobuf:"bytes,4,opt,name=avatarUrl,proto3" json:"avatarUrl"` // 头像链接 Sex int64 `protobuf:"varint,5,opt,name=sex,proto3" json:"sex"` // 性别 Age int64 `protobuf:"varint,6,opt,name=age,proto3" json:"age"` // 年龄 Constellation string `protobuf:"bytes,7,opt,name=constellation,proto3" json:"constellation"` // 星座 Signature string `protobuf:"bytes,8,opt,name=signature,proto3" json:"signature"` // 签名 Province string `protobuf:"bytes,9,opt,name=province,proto3" json:"province"` // 省 City string `protobuf:"bytes,10,opt,name=city,proto3" json:"city"` // 市 Area string `protobuf:"bytes,11,opt,name=area,proto3" json:"area"` // 区 IntroduceVoice string `protobuf:"bytes,12,opt,name=introduceVoice,proto3" json:"introduceVoice"` // 介绍语音 TagList []string `protobuf:"bytes,13,rep,name=tagList,proto3" json:"tagList"` // 标签 IsOnline bool `protobuf:"varint,14,opt,name=isOnline,proto3" json:"isOnline"` // 是否在线 IsVip bool `protobuf:"varint,15,opt,name=isVip,proto3" json:"isVip"` // 是否是Vip VipLevel int64 `protobuf:"varint,16,opt,name=vipLevel,proto3" json:"vipLevel"` // vip等级 IsYearVip bool `protobuf:"varint,17,opt,name=isYearVip,proto3" json:"isYearVip"` // 是否是年费Vip VipFunctions []string `protobuf:"bytes,22,rep,name=vipFunctions,proto3" json:"vipFunctions"` // vip功能 Pictures []string `protobuf:"bytes,23,rep,name=pictures,proto3" json:"pictures"` // 相册 IsCertification bool `protobuf:"varint,26,opt,name=isCertification,proto3" json:"isCertification"` // 是否实名认证 } func (x *RecommendPersonInfo) Reset() { *x = RecommendPersonInfo{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RecommendPersonInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*RecommendPersonInfo) ProtoMessage() {} func (x *RecommendPersonInfo) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RecommendPersonInfo.ProtoReflect.Descriptor instead. func (*RecommendPersonInfo) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{64} } func (x *RecommendPersonInfo) GetPersonID() string { if x != nil { return x.PersonID } return "" } func (x *RecommendPersonInfo) GetNickname() string { if x != nil { return x.Nickname } return "" } func (x *RecommendPersonInfo) GetAvatarUrl() string { if x != nil { return x.AvatarUrl } return "" } func (x *RecommendPersonInfo) GetSex() int64 { if x != nil { return x.Sex } return 0 } func (x *RecommendPersonInfo) GetAge() int64 { if x != nil { return x.Age } return 0 } func (x *RecommendPersonInfo) GetConstellation() string { if x != nil { return x.Constellation } return "" } func (x *RecommendPersonInfo) GetSignature() string { if x != nil { return x.Signature } return "" } func (x *RecommendPersonInfo) GetProvince() string { if x != nil { return x.Province } return "" } func (x *RecommendPersonInfo) GetCity() string { if x != nil { return x.City } return "" } func (x *RecommendPersonInfo) GetArea() string { if x != nil { return x.Area } return "" } func (x *RecommendPersonInfo) GetIntroduceVoice() string { if x != nil { return x.IntroduceVoice } return "" } func (x *RecommendPersonInfo) GetTagList() []string { if x != nil { return x.TagList } return make([]string, 0) } func (x *RecommendPersonInfo) GetIsOnline() bool { if x != nil { return x.IsOnline } return false } func (x *RecommendPersonInfo) GetIsVip() bool { if x != nil { return x.IsVip } return false } func (x *RecommendPersonInfo) GetVipLevel() int64 { if x != nil { return x.VipLevel } return 0 } func (x *RecommendPersonInfo) GetIsYearVip() bool { if x != nil { return x.IsYearVip } return false } func (x *RecommendPersonInfo) GetVipFunctions() []string { if x != nil { return x.VipFunctions } return make([]string, 0) } func (x *RecommendPersonInfo) GetPictures() []string { if x != nil { return x.Pictures } return make([]string, 0) } func (x *RecommendPersonInfo) GetIsCertification() bool { if x != nil { return x.IsCertification } return false } type FindOverSevenDayAvatarReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []string `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` // 头像列表 } func (x *FindOverSevenDayAvatarReply) Reset() { *x = FindOverSevenDayAvatarReply{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindOverSevenDayAvatarReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindOverSevenDayAvatarReply) ProtoMessage() {} func (x *FindOverSevenDayAvatarReply) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FindOverSevenDayAvatarReply.ProtoReflect.Descriptor instead. func (*FindOverSevenDayAvatarReply) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{65} } func (x *FindOverSevenDayAvatarReply) GetList() []string { if x != nil { return x.List } return make([]string, 0) } type PersonLookScripRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonId string `protobuf:"bytes,1,opt,name=personId,proto3" json:"personId"` ScripId int64 `protobuf:"varint,3,opt,name=scripId,proto3" json:"scripId"` // 纸条id } func (x *PersonLookScripRequest) Reset() { *x = PersonLookScripRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PersonLookScripRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*PersonLookScripRequest) ProtoMessage() {} func (x *PersonLookScripRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PersonLookScripRequest.ProtoReflect.Descriptor instead. func (*PersonLookScripRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{66} } func (x *PersonLookScripRequest) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *PersonLookScripRequest) GetScripId() int64 { if x != nil { return x.ScripId } return 0 } type FindScripRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonId string `protobuf:"bytes,1,opt,name=personId,proto3" json:"personId"` Province string `protobuf:"bytes,2,opt,name=province,proto3" json:"province"` NextId int64 `protobuf:"varint,3,opt,name=nextId,proto3" json:"nextId"` Offset int64 `protobuf:"varint,4,opt,name=offset,proto3" json:"offset"` AccountId int64 `protobuf:"varint,5,opt,name=accountId,proto3" json:"accountId"` } func (x *FindScripRequest) Reset() { *x = FindScripRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindScripRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindScripRequest) ProtoMessage() {} func (x *FindScripRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FindScripRequest.ProtoReflect.Descriptor instead. func (*FindScripRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{67} } func (x *FindScripRequest) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *FindScripRequest) GetProvince() string { if x != nil { return x.Province } return "" } func (x *FindScripRequest) GetNextId() int64 { if x != nil { return x.NextId } return 0 } func (x *FindScripRequest) GetOffset() int64 { if x != nil { return x.Offset } return 0 } func (x *FindScripRequest) GetAccountId() int64 { if x != nil { return x.AccountId } return 0 } type FindOtherScripRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonId string `protobuf:"bytes,1,opt,name=personId,proto3" json:"personId"` MyPersonId string `protobuf:"bytes,3,opt,name=myPersonId,proto3" json:"myPersonId"` NextId int64 `protobuf:"varint,5,opt,name=nextId,proto3" json:"nextId"` Offset int64 `protobuf:"varint,6,opt,name=offset,proto3" json:"offset"` } func (x *FindOtherScripRequest) Reset() { *x = FindOtherScripRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindOtherScripRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindOtherScripRequest) ProtoMessage() {} func (x *FindOtherScripRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FindOtherScripRequest.ProtoReflect.Descriptor instead. func (*FindOtherScripRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{68} } func (x *FindOtherScripRequest) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *FindOtherScripRequest) GetMyPersonId() string { if x != nil { return x.MyPersonId } return "" } func (x *FindOtherScripRequest) GetNextId() int64 { if x != nil { return x.NextId } return 0 } func (x *FindOtherScripRequest) GetOffset() int64 { if x != nil { return x.Offset } return 0 } type ScripReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*ScripInfo `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` NextId int64 `protobuf:"varint,2,opt,name=nextId,proto3" json:"nextId"` } func (x *ScripReply) Reset() { *x = ScripReply{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScripReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScripReply) ProtoMessage() {} func (x *ScripReply) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScripReply.ProtoReflect.Descriptor instead. func (*ScripReply) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{69} } func (x *ScripReply) GetList() []*ScripInfo { if x != nil { return x.List } return make([]*ScripInfo, 0) } func (x *ScripReply) GetNextId() int64 { if x != nil { return x.NextId } return 0 } type ScripInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ScripId int64 `protobuf:"varint,1,opt,name=scripId,proto3" json:"scripId"` // 纸条ID PersonId string `protobuf:"bytes,2,opt,name=personId,proto3" json:"personId"` // 创建者ID Text string `protobuf:"bytes,4,opt,name=text,proto3" json:"text"` // 纸条内容 PictureUrl string `protobuf:"bytes,5,opt,name=pictureUrl,proto3" json:"pictureUrl"` // 纸条配图 PersonName string `protobuf:"bytes,6,opt,name=personName,proto3" json:"personName"` // 创建者名称 PersonSex int64 `protobuf:"varint,7,opt,name=personSex,proto3" json:"personSex"` // 创建者性别 PersonAge int64 `protobuf:"varint,8,opt,name=personAge,proto3" json:"personAge"` // 创建者性别 PersonAvatar string `protobuf:"bytes,9,opt,name=personAvatar,proto3" json:"personAvatar"` // 创建者头像 ReplyNum int64 `protobuf:"varint,10,opt,name=replyNum,proto3" json:"replyNum"` // 回复数 IsCanReply bool `protobuf:"varint,11,opt,name=isCanReply,proto3" json:"isCanReply"` // 是否可以回复 MyReply *ScripReplyMessage `protobuf:"bytes,12,opt,name=myReply,proto3" json:"myReply"` // 我的回复内容 CreateTime int64 `protobuf:"varint,13,opt,name=createTime,proto3" json:"createTime"` // 创建时间 Constellation string `protobuf:"bytes,14,opt,name=constellation,proto3" json:"constellation"` // 星座 IsVip bool `protobuf:"varint,19,opt,name=isVip,proto3" json:"isVip"` // 是否是Vip VipLevel int64 `protobuf:"varint,20,opt,name=vipLevel,proto3" json:"vipLevel"` // vip等级 IsYearVip bool `protobuf:"varint,21,opt,name=isYearVip,proto3" json:"isYearVip"` // 是否是年费Vip VipFunctions []string `protobuf:"bytes,22,rep,name=vipFunctions,proto3" json:"vipFunctions"` // vip功能 Province string `protobuf:"bytes,23,opt,name=province,proto3" json:"province"` // 省份 City string `protobuf:"bytes,24,opt,name=city,proto3" json:"city"` // 市 WatchNum int64 `protobuf:"varint,25,opt,name=watchNum,proto3" json:"watchNum"` // 浏览次数 StarNum int64 `protobuf:"varint,26,opt,name=starNum,proto3" json:"starNum"` // 点赞次数 IsStar bool `protobuf:"varint,27,opt,name=isStar,proto3" json:"isStar"` // 是否点赞 IsCertification bool `protobuf:"varint,28,opt,name=isCertification,proto3" json:"isCertification"` // 是否实名认证 } func (x *ScripInfo) Reset() { *x = ScripInfo{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScripInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScripInfo) ProtoMessage() {} func (x *ScripInfo) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScripInfo.ProtoReflect.Descriptor instead. func (*ScripInfo) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{70} } func (x *ScripInfo) GetScripId() int64 { if x != nil { return x.ScripId } return 0 } func (x *ScripInfo) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *ScripInfo) GetText() string { if x != nil { return x.Text } return "" } func (x *ScripInfo) GetPictureUrl() string { if x != nil { return x.PictureUrl } return "" } func (x *ScripInfo) GetPersonName() string { if x != nil { return x.PersonName } return "" } func (x *ScripInfo) GetPersonSex() int64 { if x != nil { return x.PersonSex } return 0 } func (x *ScripInfo) GetPersonAge() int64 { if x != nil { return x.PersonAge } return 0 } func (x *ScripInfo) GetPersonAvatar() string { if x != nil { return x.PersonAvatar } return "" } func (x *ScripInfo) GetReplyNum() int64 { if x != nil { return x.ReplyNum } return 0 } func (x *ScripInfo) GetIsCanReply() bool { if x != nil { return x.IsCanReply } return false } func (x *ScripInfo) GetMyReply() *ScripReplyMessage { if x != nil && x.MyReply != nil { return x.MyReply } return &ScripReplyMessage{} } func (x *ScripInfo) GetCreateTime() int64 { if x != nil { return x.CreateTime } return 0 } func (x *ScripInfo) GetConstellation() string { if x != nil { return x.Constellation } return "" } func (x *ScripInfo) GetIsVip() bool { if x != nil { return x.IsVip } return false } func (x *ScripInfo) GetVipLevel() int64 { if x != nil { return x.VipLevel } return 0 } func (x *ScripInfo) GetIsYearVip() bool { if x != nil { return x.IsYearVip } return false } func (x *ScripInfo) GetVipFunctions() []string { if x != nil { return x.VipFunctions } return make([]string, 0) } func (x *ScripInfo) GetProvince() string { if x != nil { return x.Province } return "" } func (x *ScripInfo) GetCity() string { if x != nil { return x.City } return "" } func (x *ScripInfo) GetWatchNum() int64 { if x != nil { return x.WatchNum } return 0 } func (x *ScripInfo) GetStarNum() int64 { if x != nil { return x.StarNum } return 0 } func (x *ScripInfo) GetIsStar() bool { if x != nil { return x.IsStar } return false } func (x *ScripInfo) GetIsCertification() bool { if x != nil { return x.IsCertification } return false } type ScripReplyMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MessageType string `protobuf:"bytes,1,opt,name=messageType,proto3" json:"messageType"` // 小纸条回复的类型 ScripContent string `protobuf:"bytes,2,opt,name=scripContent,proto3" json:"scripContent"` // 小纸条回复的文本内容 ScripPictureUrl string `protobuf:"bytes,3,opt,name=scripPictureUrl,proto3" json:"scripPictureUrl"` // 小纸条回复的图片链接 } func (x *ScripReplyMessage) Reset() { *x = ScripReplyMessage{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScripReplyMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScripReplyMessage) ProtoMessage() {} func (x *ScripReplyMessage) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScripReplyMessage.ProtoReflect.Descriptor instead. func (*ScripReplyMessage) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{71} } func (x *ScripReplyMessage) GetMessageType() string { if x != nil { return x.MessageType } return "" } func (x *ScripReplyMessage) GetScripContent() string { if x != nil { return x.ScripContent } return "" } func (x *ScripReplyMessage) GetScripPictureUrl() string { if x != nil { return x.ScripPictureUrl } return "" } type DeleteScripRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` PersonId string `protobuf:"bytes,2,opt,name=personId,proto3" json:"personId"` } func (x *DeleteScripRequest) Reset() { *x = DeleteScripRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeleteScripRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeleteScripRequest) ProtoMessage() {} func (x *DeleteScripRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DeleteScripRequest.ProtoReflect.Descriptor instead. func (*DeleteScripRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{72} } func (x *DeleteScripRequest) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *DeleteScripRequest) GetPersonId() string { if x != nil { return x.PersonId } return "" } type CreateScripRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonId string `protobuf:"bytes,1,opt,name=personId,proto3" json:"personId"` IsMiniProgram bool `protobuf:"varint,2,opt,name=isMiniProgram,proto3" json:"isMiniProgram"` Text string `protobuf:"bytes,4,opt,name=text,proto3" json:"text"` PictureUrl string `protobuf:"bytes,5,opt,name=pictureUrl,proto3" json:"pictureUrl"` AppId string `protobuf:"bytes,7,opt,name=appId,proto3" json:"appId"` OpenId string `protobuf:"bytes,8,opt,name=openId,proto3" json:"openId"` IsOldVersion bool `protobuf:"varint,9,opt,name=isOldVersion,proto3" json:"isOldVersion"` IsVip bool `protobuf:"varint,10,opt,name=isVip,proto3" json:"isVip"` Province string `protobuf:"bytes,11,opt,name=province,proto3" json:"province"` City string `protobuf:"bytes,12,opt,name=city,proto3" json:"city"` Age int64 `protobuf:"varint,13,opt,name=age,proto3" json:"age"` Sex int64 `protobuf:"varint,14,opt,name=sex,proto3" json:"sex"` Constellation string `protobuf:"bytes,15,opt,name=constellation,proto3" json:"constellation"` } func (x *CreateScripRequest) Reset() { *x = CreateScripRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateScripRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateScripRequest) ProtoMessage() {} func (x *CreateScripRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CreateScripRequest.ProtoReflect.Descriptor instead. func (*CreateScripRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{73} } func (x *CreateScripRequest) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *CreateScripRequest) GetIsMiniProgram() bool { if x != nil { return x.IsMiniProgram } return false } func (x *CreateScripRequest) GetText() string { if x != nil { return x.Text } return "" } func (x *CreateScripRequest) GetPictureUrl() string { if x != nil { return x.PictureUrl } return "" } func (x *CreateScripRequest) GetAppId() string { if x != nil { return x.AppId } return "" } func (x *CreateScripRequest) GetOpenId() string { if x != nil { return x.OpenId } return "" } func (x *CreateScripRequest) GetIsOldVersion() bool { if x != nil { return x.IsOldVersion } return false } func (x *CreateScripRequest) GetIsVip() bool { if x != nil { return x.IsVip } return false } func (x *CreateScripRequest) GetProvince() string { if x != nil { return x.Province } return "" } func (x *CreateScripRequest) GetCity() string { if x != nil { return x.City } return "" } func (x *CreateScripRequest) GetAge() int64 { if x != nil { return x.Age } return 0 } func (x *CreateScripRequest) GetSex() int64 { if x != nil { return x.Sex } return 0 } func (x *CreateScripRequest) GetConstellation() string { if x != nil { return x.Constellation } return "" } type ScripID struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` } func (x *ScripID) Reset() { *x = ScripID{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScripID) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScripID) ProtoMessage() {} func (x *ScripID) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScripID.ProtoReflect.Descriptor instead. func (*ScripID) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{74} } func (x *ScripID) GetId() int64 { if x != nil { return x.Id } return 0 } type ReplyScripRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonId string `protobuf:"bytes,1,opt,name=personId,proto3" json:"personId"` ScripId int64 `protobuf:"varint,4,opt,name=scripId,proto3" json:"scripId"` // 小纸条ID Message *Message `protobuf:"bytes,5,opt,name=message,proto3" json:"message"` // 回复内容 MsgType string `protobuf:"bytes,6,opt,name=msgType,proto3" json:"msgType"` IsOldVersion bool `protobuf:"varint,9,opt,name=isOldVersion,proto3" json:"isOldVersion"` } func (x *ReplyScripRequest) Reset() { *x = ReplyScripRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReplyScripRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReplyScripRequest) ProtoMessage() {} func (x *ReplyScripRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ReplyScripRequest.ProtoReflect.Descriptor instead. func (*ReplyScripRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{75} } func (x *ReplyScripRequest) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *ReplyScripRequest) GetScripId() int64 { if x != nil { return x.ScripId } return 0 } func (x *ReplyScripRequest) GetMessage() *Message { if x != nil && x.Message != nil { return x.Message } return &Message{} } func (x *ReplyScripRequest) GetMsgType() string { if x != nil { return x.MsgType } return "" } func (x *ReplyScripRequest) GetIsOldVersion() bool { if x != nil { return x.IsOldVersion } return false } type ReplyStarRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonId string `protobuf:"bytes,1,opt,name=personId,proto3" json:"personId"` ScripId int64 `protobuf:"varint,4,opt,name=scripId,proto3" json:"scripId"` // 小纸条ID } func (x *ReplyStarRequest) Reset() { *x = ReplyStarRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReplyStarRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReplyStarRequest) ProtoMessage() {} func (x *ReplyStarRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ReplyStarRequest.ProtoReflect.Descriptor instead. func (*ReplyStarRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{76} } func (x *ReplyStarRequest) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *ReplyStarRequest) GetScripId() int64 { if x != nil { return x.ScripId } return 0 } type UpdateLastScripIDRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ScripId int64 `protobuf:"varint,2,opt,name=scripId,proto3" json:"scripId"` // 纸条id } func (x *UpdateLastScripIDRequest) Reset() { *x = UpdateLastScripIDRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateLastScripIDRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateLastScripIDRequest) ProtoMessage() {} func (x *UpdateLastScripIDRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpdateLastScripIDRequest.ProtoReflect.Descriptor instead. func (*UpdateLastScripIDRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{77} } func (x *UpdateLastScripIDRequest) GetScripId() int64 { if x != nil { return x.ScripId } return 0 } type UpdateLastScripIDDBRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonId string `protobuf:"bytes,1,opt,name=personId,proto3" json:"personId"` ScripId int64 `protobuf:"varint,2,opt,name=scripId,proto3" json:"scripId"` // 纸条id } func (x *UpdateLastScripIDDBRequest) Reset() { *x = UpdateLastScripIDDBRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateLastScripIDDBRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateLastScripIDDBRequest) ProtoMessage() {} func (x *UpdateLastScripIDDBRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpdateLastScripIDDBRequest.ProtoReflect.Descriptor instead. func (*UpdateLastScripIDDBRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{78} } func (x *UpdateLastScripIDDBRequest) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *UpdateLastScripIDDBRequest) GetScripId() int64 { if x != nil { return x.ScripId } return 0 } type MatchingRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonId string `protobuf:"bytes,1,opt,name=personId,proto3" json:"personId"` // 查询目标的ID Sex int64 `protobuf:"varint,4,opt,name=sex,proto3" json:"sex"` // 性别 IsNeedCheckSex bool `protobuf:"varint,5,opt,name=isNeedCheckSex,proto3" json:"isNeedCheckSex"` // 是否跟性别强相关 Province string `protobuf:"bytes,7,opt,name=province,proto3" json:"province"` // 省 City string `protobuf:"bytes,8,opt,name=city,proto3" json:"city"` // 市 MaxAge int64 `protobuf:"varint,9,opt,name=maxAge,proto3" json:"maxAge"` // 最大年龄 MinAge int64 `protobuf:"varint,10,opt,name=minAge,proto3" json:"minAge"` // 最小年龄 } func (x *MatchingRequest) Reset() { *x = MatchingRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MatchingRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*MatchingRequest) ProtoMessage() {} func (x *MatchingRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MatchingRequest.ProtoReflect.Descriptor instead. func (*MatchingRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{79} } func (x *MatchingRequest) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *MatchingRequest) GetSex() int64 { if x != nil { return x.Sex } return 0 } func (x *MatchingRequest) GetIsNeedCheckSex() bool { if x != nil { return x.IsNeedCheckSex } return false } func (x *MatchingRequest) GetProvince() string { if x != nil { return x.Province } return "" } func (x *MatchingRequest) GetCity() string { if x != nil { return x.City } return "" } func (x *MatchingRequest) GetMaxAge() int64 { if x != nil { return x.MaxAge } return 0 } func (x *MatchingRequest) GetMinAge() int64 { if x != nil { return x.MinAge } return 0 } type UserIDsParam struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MyUserID string `protobuf:"bytes,1,opt,name=myUserID,proto3" json:"myUserID"` OtherUserID string `protobuf:"bytes,2,opt,name=otherUserID,proto3" json:"otherUserID"` } func (x *UserIDsParam) Reset() { *x = UserIDsParam{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserIDsParam) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserIDsParam) ProtoMessage() {} func (x *UserIDsParam) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UserIDsParam.ProtoReflect.Descriptor instead. func (*UserIDsParam) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{80} } func (x *UserIDsParam) GetMyUserID() string { if x != nil { return x.MyUserID } return "" } func (x *UserIDsParam) GetOtherUserID() string { if x != nil { return x.OtherUserID } return "" } type ManagerFindPersonListReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*ManagerFindPersonInfo `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` NextId string `protobuf:"bytes,2,opt,name=nextId,proto3" json:"nextId"` Total int64 `protobuf:"varint,3,opt,name=total,proto3" json:"total"` } func (x *ManagerFindPersonListReply) Reset() { *x = ManagerFindPersonListReply{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerFindPersonListReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerFindPersonListReply) ProtoMessage() {} func (x *ManagerFindPersonListReply) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerFindPersonListReply.ProtoReflect.Descriptor instead. func (*ManagerFindPersonListReply) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{81} } func (x *ManagerFindPersonListReply) GetList() []*ManagerFindPersonInfo { if x != nil { return x.List } return make([]*ManagerFindPersonInfo, 0) } func (x *ManagerFindPersonListReply) GetNextId() string { if x != nil { return x.NextId } return "" } func (x *ManagerFindPersonListReply) GetTotal() int64 { if x != nil { return x.Total } return 0 } type ManagerFindPersonListReply2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*ManagerFindPersonInfo `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` Last bool `protobuf:"varint,2,opt,name=last,proto3" json:"last"` Total int64 `protobuf:"varint,3,opt,name=total,proto3" json:"total"` Page int64 `protobuf:"varint,4,opt,name=page,proto3" json:"page"` PageSize int64 `protobuf:"varint,5,opt,name=pageSize,proto3" json:"pageSize"` } func (x *ManagerFindPersonListReply2) Reset() { *x = ManagerFindPersonListReply2{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerFindPersonListReply2) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerFindPersonListReply2) ProtoMessage() {} func (x *ManagerFindPersonListReply2) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerFindPersonListReply2.ProtoReflect.Descriptor instead. func (*ManagerFindPersonListReply2) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{82} } func (x *ManagerFindPersonListReply2) GetList() []*ManagerFindPersonInfo { if x != nil { return x.List } return make([]*ManagerFindPersonInfo, 0) } func (x *ManagerFindPersonListReply2) GetLast() bool { if x != nil { return x.Last } return false } func (x *ManagerFindPersonListReply2) GetTotal() int64 { if x != nil { return x.Total } return 0 } func (x *ManagerFindPersonListReply2) GetPage() int64 { if x != nil { return x.Page } return 0 } func (x *ManagerFindPersonListReply2) GetPageSize() int64 { if x != nil { return x.PageSize } return 0 } type ManagerFindPersonListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NextId string `protobuf:"bytes,1,opt,name=nextId,proto3" json:"nextId"` Offset int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset"` Id int64 `protobuf:"varint,3,opt,name=id,proto3" json:"id"` // 用户ID Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name"` // 姓名 Sex int64 `protobuf:"varint,5,opt,name=sex,proto3" json:"sex"` // 性别 IsFinishInformation bool `protobuf:"varint,6,opt,name=isFinishInformation,proto3" json:"isFinishInformation"` // 是否筛选完善过资料的人 StartTime int64 `protobuf:"varint,7,opt,name=startTime,proto3" json:"startTime"` // 筛选开始时间 EndTime int64 `protobuf:"varint,8,opt,name=endTime,proto3" json:"endTime"` // 筛选结束时间 IsBlack bool `protobuf:"varint,9,opt,name=isBlack,proto3" json:"isBlack"` // 是否筛选拉黑用户 IsHighQuality bool `protobuf:"varint,10,opt,name=isHighQuality,proto3" json:"isHighQuality"` // 是否是优质用户 IsSelectByActivity bool `protobuf:"varint,11,opt,name=isSelectByActivity,proto3" json:"isSelectByActivity"` // 是否按活跃时间来筛选 } func (x *ManagerFindPersonListRequest) Reset() { *x = ManagerFindPersonListRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerFindPersonListRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerFindPersonListRequest) ProtoMessage() {} func (x *ManagerFindPersonListRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerFindPersonListRequest.ProtoReflect.Descriptor instead. func (*ManagerFindPersonListRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{83} } func (x *ManagerFindPersonListRequest) GetNextId() string { if x != nil { return x.NextId } return "" } func (x *ManagerFindPersonListRequest) GetOffset() int64 { if x != nil { return x.Offset } return 0 } func (x *ManagerFindPersonListRequest) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *ManagerFindPersonListRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *ManagerFindPersonListRequest) GetSex() int64 { if x != nil { return x.Sex } return 0 } func (x *ManagerFindPersonListRequest) GetIsFinishInformation() bool { if x != nil { return x.IsFinishInformation } return false } func (x *ManagerFindPersonListRequest) GetStartTime() int64 { if x != nil { return x.StartTime } return 0 } func (x *ManagerFindPersonListRequest) GetEndTime() int64 { if x != nil { return x.EndTime } return 0 } func (x *ManagerFindPersonListRequest) GetIsBlack() bool { if x != nil { return x.IsBlack } return false } func (x *ManagerFindPersonListRequest) GetIsHighQuality() bool { if x != nil { return x.IsHighQuality } return false } func (x *ManagerFindPersonListRequest) GetIsSelectByActivity() bool { if x != nil { return x.IsSelectByActivity } return false } type ManagerFindPersonInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` Nickname string `protobuf:"bytes,2,opt,name=nickname,proto3" json:"nickname"` // 昵称 AvatarUrl string `protobuf:"bytes,3,opt,name=avatarUrl,proto3" json:"avatarUrl"` // 头像链接 Sex int64 `protobuf:"varint,4,opt,name=sex,proto3" json:"sex"` // 性别 Pictures []string `protobuf:"bytes,5,rep,name=pictures,proto3" json:"pictures"` // 图片 Age int64 `protobuf:"varint,6,opt,name=age,proto3" json:"age"` // 年龄 Constellation string `protobuf:"bytes,7,opt,name=constellation,proto3" json:"constellation"` // 星座 Credit int64 `protobuf:"varint,8,opt,name=credit,proto3" json:"credit"` // 积分 Signature string `protobuf:"bytes,9,opt,name=signature,proto3" json:"signature"` // 签名 IntroduceVoice string `protobuf:"bytes,10,opt,name=introduceVoice,proto3" json:"introduceVoice"` // 介绍语音 Province string `protobuf:"bytes,11,opt,name=province,proto3" json:"province"` // 省 City string `protobuf:"bytes,12,opt,name=city,proto3" json:"city"` // 市 PersonId int64 `protobuf:"varint,13,opt,name=personId,proto3" json:"personId"` // 用户id(Number) IsHighQuality bool `protobuf:"varint,14,opt,name=isHighQuality,proto3" json:"isHighQuality"` // 是否是优质用户 IsBlack bool `protobuf:"varint,15,opt,name=isBlack,proto3" json:"isBlack"` // 是否被封禁 Weight int64 `protobuf:"varint,16,opt,name=weight,proto3" json:"weight"` // 权重 LastLoginTime int64 `protobuf:"varint,17,opt,name=lastLoginTime,proto3" json:"lastLoginTime"` // 上次登录时间 BlackDetails string `protobuf:"bytes,18,opt,name=blackDetails,proto3" json:"blackDetails"` // 拉黑理由(只有被拉黑的用户才会有) IsVip bool `protobuf:"varint,19,opt,name=isVip,proto3" json:"isVip"` // 是否是Vip VipLevel int64 `protobuf:"varint,20,opt,name=vipLevel,proto3" json:"vipLevel"` // vip等级 IsYearVip bool `protobuf:"varint,21,opt,name=isYearVip,proto3" json:"isYearVip"` // 是否是年费Vip VipFunctions []string `protobuf:"bytes,22,rep,name=vipFunctions,proto3" json:"vipFunctions"` // vip功能 IsHandpickUser bool `protobuf:"varint,23,opt,name=isHandpickUser,proto3" json:"isHandpickUser"` // 是否是精选 HandpickPicture string `protobuf:"bytes,24,opt,name=handpickPicture,proto3" json:"handpickPicture"` // 精选图片 Phone string `protobuf:"bytes,25,opt,name=phone,proto3" json:"phone"` // 手机号 IsCertification bool `protobuf:"varint,26,opt,name=isCertification,proto3" json:"isCertification"` // 是否实名认证 } func (x *ManagerFindPersonInfo) Reset() { *x = ManagerFindPersonInfo{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerFindPersonInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerFindPersonInfo) ProtoMessage() {} func (x *ManagerFindPersonInfo) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerFindPersonInfo.ProtoReflect.Descriptor instead. func (*ManagerFindPersonInfo) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{84} } func (x *ManagerFindPersonInfo) GetId() string { if x != nil { return x.Id } return "" } func (x *ManagerFindPersonInfo) GetNickname() string { if x != nil { return x.Nickname } return "" } func (x *ManagerFindPersonInfo) GetAvatarUrl() string { if x != nil { return x.AvatarUrl } return "" } func (x *ManagerFindPersonInfo) GetSex() int64 { if x != nil { return x.Sex } return 0 } func (x *ManagerFindPersonInfo) GetPictures() []string { if x != nil { return x.Pictures } return make([]string, 0) } func (x *ManagerFindPersonInfo) GetAge() int64 { if x != nil { return x.Age } return 0 } func (x *ManagerFindPersonInfo) GetConstellation() string { if x != nil { return x.Constellation } return "" } func (x *ManagerFindPersonInfo) GetCredit() int64 { if x != nil { return x.Credit } return 0 } func (x *ManagerFindPersonInfo) GetSignature() string { if x != nil { return x.Signature } return "" } func (x *ManagerFindPersonInfo) GetIntroduceVoice() string { if x != nil { return x.IntroduceVoice } return "" } func (x *ManagerFindPersonInfo) GetProvince() string { if x != nil { return x.Province } return "" } func (x *ManagerFindPersonInfo) GetCity() string { if x != nil { return x.City } return "" } func (x *ManagerFindPersonInfo) GetPersonId() int64 { if x != nil { return x.PersonId } return 0 } func (x *ManagerFindPersonInfo) GetIsHighQuality() bool { if x != nil { return x.IsHighQuality } return false } func (x *ManagerFindPersonInfo) GetIsBlack() bool { if x != nil { return x.IsBlack } return false } func (x *ManagerFindPersonInfo) GetWeight() int64 { if x != nil { return x.Weight } return 0 } func (x *ManagerFindPersonInfo) GetLastLoginTime() int64 { if x != nil { return x.LastLoginTime } return 0 } func (x *ManagerFindPersonInfo) GetBlackDetails() string { if x != nil { return x.BlackDetails } return "" } func (x *ManagerFindPersonInfo) GetIsVip() bool { if x != nil { return x.IsVip } return false } func (x *ManagerFindPersonInfo) GetVipLevel() int64 { if x != nil { return x.VipLevel } return 0 } func (x *ManagerFindPersonInfo) GetIsYearVip() bool { if x != nil { return x.IsYearVip } return false } func (x *ManagerFindPersonInfo) GetVipFunctions() []string { if x != nil { return x.VipFunctions } return make([]string, 0) } func (x *ManagerFindPersonInfo) GetIsHandpickUser() bool { if x != nil { return x.IsHandpickUser } return false } func (x *ManagerFindPersonInfo) GetHandpickPicture() string { if x != nil { return x.HandpickPicture } return "" } func (x *ManagerFindPersonInfo) GetPhone() string { if x != nil { return x.Phone } return "" } func (x *ManagerFindPersonInfo) GetIsCertification() bool { if x != nil { return x.IsCertification } return false } type ManagerUpdatePersonVoiceRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonId string `protobuf:"bytes,1,opt,name=personId,proto3" json:"personId"` // Id (string) IntroduceVoice string `protobuf:"bytes,2,opt,name=introduceVoice,proto3" json:"introduceVoice"` // 语音 } func (x *ManagerUpdatePersonVoiceRequest) Reset() { *x = ManagerUpdatePersonVoiceRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerUpdatePersonVoiceRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerUpdatePersonVoiceRequest) ProtoMessage() {} func (x *ManagerUpdatePersonVoiceRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerUpdatePersonVoiceRequest.ProtoReflect.Descriptor instead. func (*ManagerUpdatePersonVoiceRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{85} } func (x *ManagerUpdatePersonVoiceRequest) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *ManagerUpdatePersonVoiceRequest) GetIntroduceVoice() string { if x != nil { return x.IntroduceVoice } return "" } type ManagerUpdatePersonPicturesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonId string `protobuf:"bytes,1,opt,name=personId,proto3" json:"personId"` // Id (string) Pictures []string `protobuf:"bytes,2,rep,name=pictures,proto3" json:"pictures"` // 相册(主页图片) } func (x *ManagerUpdatePersonPicturesRequest) Reset() { *x = ManagerUpdatePersonPicturesRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerUpdatePersonPicturesRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerUpdatePersonPicturesRequest) ProtoMessage() {} func (x *ManagerUpdatePersonPicturesRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerUpdatePersonPicturesRequest.ProtoReflect.Descriptor instead. func (*ManagerUpdatePersonPicturesRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{86} } func (x *ManagerUpdatePersonPicturesRequest) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *ManagerUpdatePersonPicturesRequest) GetPictures() []string { if x != nil { return x.Pictures } return make([]string, 0) } type ManagerUpdatePersonSignatureRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonId string `protobuf:"bytes,1,opt,name=personId,proto3" json:"personId"` // Id (string) Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature"` // 介绍(签名) } func (x *ManagerUpdatePersonSignatureRequest) Reset() { *x = ManagerUpdatePersonSignatureRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerUpdatePersonSignatureRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerUpdatePersonSignatureRequest) ProtoMessage() {} func (x *ManagerUpdatePersonSignatureRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerUpdatePersonSignatureRequest.ProtoReflect.Descriptor instead. func (*ManagerUpdatePersonSignatureRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{87} } func (x *ManagerUpdatePersonSignatureRequest) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *ManagerUpdatePersonSignatureRequest) GetSignature() string { if x != nil { return x.Signature } return "" } type ManagerUpdatePersonAvatarRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonId string `protobuf:"bytes,1,opt,name=personId,proto3" json:"personId"` // Id (string) AvatarUrl string `protobuf:"bytes,2,opt,name=avatarUrl,proto3" json:"avatarUrl"` // 头像 } func (x *ManagerUpdatePersonAvatarRequest) Reset() { *x = ManagerUpdatePersonAvatarRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerUpdatePersonAvatarRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerUpdatePersonAvatarRequest) ProtoMessage() {} func (x *ManagerUpdatePersonAvatarRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerUpdatePersonAvatarRequest.ProtoReflect.Descriptor instead. func (*ManagerUpdatePersonAvatarRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{88} } func (x *ManagerUpdatePersonAvatarRequest) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *ManagerUpdatePersonAvatarRequest) GetAvatarUrl() string { if x != nil { return x.AvatarUrl } return "" } type ManagerUpdatePersonNameRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonId string `protobuf:"bytes,1,opt,name=personId,proto3" json:"personId"` // Id (string) Nickname string `protobuf:"bytes,2,opt,name=nickname,proto3" json:"nickname"` // 昵称 } func (x *ManagerUpdatePersonNameRequest) Reset() { *x = ManagerUpdatePersonNameRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerUpdatePersonNameRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerUpdatePersonNameRequest) ProtoMessage() {} func (x *ManagerUpdatePersonNameRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerUpdatePersonNameRequest.ProtoReflect.Descriptor instead. func (*ManagerUpdatePersonNameRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{89} } func (x *ManagerUpdatePersonNameRequest) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *ManagerUpdatePersonNameRequest) GetNickname() string { if x != nil { return x.Nickname } return "" } type ManagerUpdatePersonWeightRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonId string `protobuf:"bytes,1,opt,name=personId,proto3" json:"personId"` // Id (string) Weight int64 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight"` // 权重等级 } func (x *ManagerUpdatePersonWeightRequest) Reset() { *x = ManagerUpdatePersonWeightRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerUpdatePersonWeightRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerUpdatePersonWeightRequest) ProtoMessage() {} func (x *ManagerUpdatePersonWeightRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerUpdatePersonWeightRequest.ProtoReflect.Descriptor instead. func (*ManagerUpdatePersonWeightRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{90} } func (x *ManagerUpdatePersonWeightRequest) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *ManagerUpdatePersonWeightRequest) GetWeight() int64 { if x != nil { return x.Weight } return 0 } type ManagerUpdatePersonIsBlackRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonId string `protobuf:"bytes,1,opt,name=personId,proto3" json:"personId"` // Id (string) IsBlack bool `protobuf:"varint,2,opt,name=isBlack,proto3" json:"isBlack"` // 是否拉黑 } func (x *ManagerUpdatePersonIsBlackRequest) Reset() { *x = ManagerUpdatePersonIsBlackRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerUpdatePersonIsBlackRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerUpdatePersonIsBlackRequest) ProtoMessage() {} func (x *ManagerUpdatePersonIsBlackRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerUpdatePersonIsBlackRequest.ProtoReflect.Descriptor instead. func (*ManagerUpdatePersonIsBlackRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{91} } func (x *ManagerUpdatePersonIsBlackRequest) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *ManagerUpdatePersonIsBlackRequest) GetIsBlack() bool { if x != nil { return x.IsBlack } return false } type ManagerFindRoomListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RoomId int64 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId"` //房间ID PersonId int64 `protobuf:"varint,2,opt,name=personId,proto3" json:"personId"` //用户ID NextId int64 `protobuf:"varint,3,opt,name=nextId,proto3" json:"nextId"` Offset int64 `protobuf:"varint,4,opt,name=offset,proto3" json:"offset"` } func (x *ManagerFindRoomListRequest) Reset() { *x = ManagerFindRoomListRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerFindRoomListRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerFindRoomListRequest) ProtoMessage() {} func (x *ManagerFindRoomListRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerFindRoomListRequest.ProtoReflect.Descriptor instead. func (*ManagerFindRoomListRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{92} } func (x *ManagerFindRoomListRequest) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } func (x *ManagerFindRoomListRequest) GetPersonId() int64 { if x != nil { return x.PersonId } return 0 } func (x *ManagerFindRoomListRequest) GetNextId() int64 { if x != nil { return x.NextId } return 0 } func (x *ManagerFindRoomListRequest) GetOffset() int64 { if x != nil { return x.Offset } return 0 } type ManagerFindRoomListReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*RoomInfo `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` NextId int64 `protobuf:"varint,2,opt,name=nextId,proto3" json:"nextId"` } func (x *ManagerFindRoomListReply) Reset() { *x = ManagerFindRoomListReply{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerFindRoomListReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerFindRoomListReply) ProtoMessage() {} func (x *ManagerFindRoomListReply) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[93] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerFindRoomListReply.ProtoReflect.Descriptor instead. func (*ManagerFindRoomListReply) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{93} } func (x *ManagerFindRoomListReply) GetList() []*RoomInfo { if x != nil { return x.List } return make([]*RoomInfo, 0) } func (x *ManagerFindRoomListReply) GetNextId() int64 { if x != nil { return x.NextId } return 0 } type RoomInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Person1Id string `protobuf:"bytes,1,opt,name=person1Id,proto3" json:"person1Id"` // 用户1ID Person1UnreadNum int64 `protobuf:"varint,3,opt,name=person1UnreadNum,proto3" json:"person1UnreadNum"` // 用户1未读数 Person1SendNum int64 `protobuf:"varint,4,opt,name=person1SendNum,proto3" json:"person1SendNum"` // 用户1发送数 Person1AvatarUrl string `protobuf:"bytes,5,opt,name=person1AvatarUrl,proto3" json:"person1AvatarUrl"` // 用户1头像 Person1Nickname string `protobuf:"bytes,6,opt,name=person1Nickname,proto3" json:"person1Nickname"` // 用户1昵称 Person1Age int64 `protobuf:"varint,7,opt,name=person1Age,proto3" json:"person1Age"` // 用户1年龄 Person1Sex int64 `protobuf:"varint,8,opt,name=person1Sex,proto3" json:"person1Sex"` // 用户1性别 Person2Id string `protobuf:"bytes,9,opt,name=person2Id,proto3" json:"person2Id"` // 用户2ID Person2UnreadNum int64 `protobuf:"varint,11,opt,name=person2UnreadNum,proto3" json:"person2UnreadNum"` // 用户2未读数 Person2SendNum int64 `protobuf:"varint,12,opt,name=person2SendNum,proto3" json:"person2SendNum"` // 用户2发送数 Person2AvatarUrl string `protobuf:"bytes,13,opt,name=person2AvatarUrl,proto3" json:"person2AvatarUrl"` // 用户2头像 Person2Nickname string `protobuf:"bytes,14,opt,name=person2Nickname,proto3" json:"person2Nickname"` // 用户2昵称 Person2Age int64 `protobuf:"varint,15,opt,name=person2Age,proto3" json:"person2Age"` // 用户2年龄 Person2Sex int64 `protobuf:"varint,16,opt,name=person2Sex,proto3" json:"person2Sex"` // 用户2性别 LastContent string `protobuf:"bytes,17,opt,name=lastContent,proto3" json:"lastContent"` // 上次发送内容 LastTime int64 `protobuf:"varint,18,opt,name=lastTime,proto3" json:"lastTime"` // 上次发送时间 Likeability int64 `protobuf:"varint,19,opt,name=likeability,proto3" json:"likeability"` // 好感度 RoomId int64 `protobuf:"varint,20,opt,name=roomId,proto3" json:"roomId"` // 房间ID UserId1 int64 `protobuf:"varint,21,opt,name=userId1,proto3" json:"userId1"` // 用户的ID1 UserId2 int64 `protobuf:"varint,22,opt,name=userId2,proto3" json:"userId2"` // 用户的ID2 } func (x *RoomInfo) Reset() { *x = RoomInfo{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RoomInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*RoomInfo) ProtoMessage() {} func (x *RoomInfo) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[94] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RoomInfo.ProtoReflect.Descriptor instead. func (*RoomInfo) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{94} } func (x *RoomInfo) GetPerson1Id() string { if x != nil { return x.Person1Id } return "" } func (x *RoomInfo) GetPerson1UnreadNum() int64 { if x != nil { return x.Person1UnreadNum } return 0 } func (x *RoomInfo) GetPerson1SendNum() int64 { if x != nil { return x.Person1SendNum } return 0 } func (x *RoomInfo) GetPerson1AvatarUrl() string { if x != nil { return x.Person1AvatarUrl } return "" } func (x *RoomInfo) GetPerson1Nickname() string { if x != nil { return x.Person1Nickname } return "" } func (x *RoomInfo) GetPerson1Age() int64 { if x != nil { return x.Person1Age } return 0 } func (x *RoomInfo) GetPerson1Sex() int64 { if x != nil { return x.Person1Sex } return 0 } func (x *RoomInfo) GetPerson2Id() string { if x != nil { return x.Person2Id } return "" } func (x *RoomInfo) GetPerson2UnreadNum() int64 { if x != nil { return x.Person2UnreadNum } return 0 } func (x *RoomInfo) GetPerson2SendNum() int64 { if x != nil { return x.Person2SendNum } return 0 } func (x *RoomInfo) GetPerson2AvatarUrl() string { if x != nil { return x.Person2AvatarUrl } return "" } func (x *RoomInfo) GetPerson2Nickname() string { if x != nil { return x.Person2Nickname } return "" } func (x *RoomInfo) GetPerson2Age() int64 { if x != nil { return x.Person2Age } return 0 } func (x *RoomInfo) GetPerson2Sex() int64 { if x != nil { return x.Person2Sex } return 0 } func (x *RoomInfo) GetLastContent() string { if x != nil { return x.LastContent } return "" } func (x *RoomInfo) GetLastTime() int64 { if x != nil { return x.LastTime } return 0 } func (x *RoomInfo) GetLikeability() int64 { if x != nil { return x.Likeability } return 0 } func (x *RoomInfo) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } func (x *RoomInfo) GetUserId1() int64 { if x != nil { return x.UserId1 } return 0 } func (x *RoomInfo) GetUserId2() int64 { if x != nil { return x.UserId2 } return 0 } type ManagerFindChatRecordListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NextId int64 `protobuf:"varint,1,opt,name=nextId,proto3" json:"nextId"` Offset int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset"` RoomId int64 `protobuf:"varint,3,opt,name=roomId,proto3" json:"roomId"` PersonID string `protobuf:"bytes,5,opt,name=personID,proto3" json:"personID"` // 查询目标的ID } func (x *ManagerFindChatRecordListRequest) Reset() { *x = ManagerFindChatRecordListRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerFindChatRecordListRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerFindChatRecordListRequest) ProtoMessage() {} func (x *ManagerFindChatRecordListRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[95] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerFindChatRecordListRequest.ProtoReflect.Descriptor instead. func (*ManagerFindChatRecordListRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{95} } func (x *ManagerFindChatRecordListRequest) GetNextId() int64 { if x != nil { return x.NextId } return 0 } func (x *ManagerFindChatRecordListRequest) GetOffset() int64 { if x != nil { return x.Offset } return 0 } func (x *ManagerFindChatRecordListRequest) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } func (x *ManagerFindChatRecordListRequest) GetPersonID() string { if x != nil { return x.PersonID } return "" } type ManagerUpdateScripTextRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ScripId int64 `protobuf:"varint,1,opt,name=scripId,proto3" json:"scripId"` Text string `protobuf:"bytes,2,opt,name=text,proto3" json:"text"` // 纸条内容 } func (x *ManagerUpdateScripTextRequest) Reset() { *x = ManagerUpdateScripTextRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerUpdateScripTextRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerUpdateScripTextRequest) ProtoMessage() {} func (x *ManagerUpdateScripTextRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[96] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerUpdateScripTextRequest.ProtoReflect.Descriptor instead. func (*ManagerUpdateScripTextRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{96} } func (x *ManagerUpdateScripTextRequest) GetScripId() int64 { if x != nil { return x.ScripId } return 0 } func (x *ManagerUpdateScripTextRequest) GetText() string { if x != nil { return x.Text } return "" } type ManagerUpdateScripPictureRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ScripId int64 `protobuf:"varint,1,opt,name=scripId,proto3" json:"scripId"` PictureUrl string `protobuf:"bytes,2,opt,name=pictureUrl,proto3" json:"pictureUrl"` // 纸条配图链接 } func (x *ManagerUpdateScripPictureRequest) Reset() { *x = ManagerUpdateScripPictureRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerUpdateScripPictureRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerUpdateScripPictureRequest) ProtoMessage() {} func (x *ManagerUpdateScripPictureRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerUpdateScripPictureRequest.ProtoReflect.Descriptor instead. func (*ManagerUpdateScripPictureRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{97} } func (x *ManagerUpdateScripPictureRequest) GetScripId() int64 { if x != nil { return x.ScripId } return 0 } func (x *ManagerUpdateScripPictureRequest) GetPictureUrl() string { if x != nil { return x.PictureUrl } return "" } type ManagerFindScripListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NextId int64 `protobuf:"varint,1,opt,name=nextId,proto3" json:"nextId"` Offset int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset"` ScripId int64 `protobuf:"varint,3,opt,name=scripId,proto3" json:"scripId"` PersonId int64 `protobuf:"varint,4,opt,name=personId,proto3" json:"personId"` //用户ID (number) } func (x *ManagerFindScripListRequest) Reset() { *x = ManagerFindScripListRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerFindScripListRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerFindScripListRequest) ProtoMessage() {} func (x *ManagerFindScripListRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerFindScripListRequest.ProtoReflect.Descriptor instead. func (*ManagerFindScripListRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{98} } func (x *ManagerFindScripListRequest) GetNextId() int64 { if x != nil { return x.NextId } return 0 } func (x *ManagerFindScripListRequest) GetOffset() int64 { if x != nil { return x.Offset } return 0 } func (x *ManagerFindScripListRequest) GetScripId() int64 { if x != nil { return x.ScripId } return 0 } func (x *ManagerFindScripListRequest) GetPersonId() int64 { if x != nil { return x.PersonId } return 0 } type ManagerScripReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*ManagerScripInfo `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` NextId int64 `protobuf:"varint,2,opt,name=nextId,proto3" json:"nextId"` } func (x *ManagerScripReply) Reset() { *x = ManagerScripReply{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerScripReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerScripReply) ProtoMessage() {} func (x *ManagerScripReply) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerScripReply.ProtoReflect.Descriptor instead. func (*ManagerScripReply) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{99} } func (x *ManagerScripReply) GetList() []*ManagerScripInfo { if x != nil { return x.List } return make([]*ManagerScripInfo, 0) } func (x *ManagerScripReply) GetNextId() int64 { if x != nil { return x.NextId } return 0 } type ManagerFindScripListV2Request struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Page int64 `protobuf:"varint,1,opt,name=page,proto3" json:"page"` PageSize int64 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize"` ScripId int64 `protobuf:"varint,3,opt,name=scripId,proto3" json:"scripId"` PersonId int64 `protobuf:"varint,4,opt,name=personId,proto3" json:"personId"` //用户ID (number) } func (x *ManagerFindScripListV2Request) Reset() { *x = ManagerFindScripListV2Request{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerFindScripListV2Request) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerFindScripListV2Request) ProtoMessage() {} func (x *ManagerFindScripListV2Request) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerFindScripListV2Request.ProtoReflect.Descriptor instead. func (*ManagerFindScripListV2Request) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{100} } func (x *ManagerFindScripListV2Request) GetPage() int64 { if x != nil { return x.Page } return 0 } func (x *ManagerFindScripListV2Request) GetPageSize() int64 { if x != nil { return x.PageSize } return 0 } func (x *ManagerFindScripListV2Request) GetScripId() int64 { if x != nil { return x.ScripId } return 0 } func (x *ManagerFindScripListV2Request) GetPersonId() int64 { if x != nil { return x.PersonId } return 0 } type ManagerScripV2Reply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*ManagerScripInfo `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` Last bool `protobuf:"varint,2,opt,name=last,proto3" json:"last"` Total int64 `protobuf:"varint,3,opt,name=total,proto3" json:"total"` Page int64 `protobuf:"varint,4,opt,name=page,proto3" json:"page"` PageSize int64 `protobuf:"varint,5,opt,name=pageSize,proto3" json:"pageSize"` } func (x *ManagerScripV2Reply) Reset() { *x = ManagerScripV2Reply{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerScripV2Reply) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerScripV2Reply) ProtoMessage() {} func (x *ManagerScripV2Reply) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerScripV2Reply.ProtoReflect.Descriptor instead. func (*ManagerScripV2Reply) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{101} } func (x *ManagerScripV2Reply) GetList() []*ManagerScripInfo { if x != nil { return x.List } return make([]*ManagerScripInfo, 0) } func (x *ManagerScripV2Reply) GetLast() bool { if x != nil { return x.Last } return false } func (x *ManagerScripV2Reply) GetTotal() int64 { if x != nil { return x.Total } return 0 } func (x *ManagerScripV2Reply) GetPage() int64 { if x != nil { return x.Page } return 0 } func (x *ManagerScripV2Reply) GetPageSize() int64 { if x != nil { return x.PageSize } return 0 } type ManagerScripInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ScripId int64 `protobuf:"varint,1,opt,name=scripId,proto3" json:"scripId"` // 纸条ID PersonId string `protobuf:"bytes,2,opt,name=personId,proto3" json:"personId"` // 创建者ID Text string `protobuf:"bytes,4,opt,name=text,proto3" json:"text"` // 纸条内容 PictureUrl string `protobuf:"bytes,5,opt,name=pictureUrl,proto3" json:"pictureUrl"` // 纸条配图 PersonName string `protobuf:"bytes,6,opt,name=personName,proto3" json:"personName"` // 创建者名称 PersonSex int64 `protobuf:"varint,7,opt,name=personSex,proto3" json:"personSex"` // 创建者性别 PersonAge int64 `protobuf:"varint,8,opt,name=personAge,proto3" json:"personAge"` // 创建者性别 PersonAvatar string `protobuf:"bytes,9,opt,name=personAvatar,proto3" json:"personAvatar"` // 创建者头像 ReplyNum int64 `protobuf:"varint,10,opt,name=replyNum,proto3" json:"replyNum"` // 回复数 CreateTime int64 `protobuf:"varint,12,opt,name=createTime,proto3" json:"createTime"` // 创建时间 Constellation string `protobuf:"bytes,13,opt,name=constellation,proto3" json:"constellation"` // 星座 Id int64 `protobuf:"varint,14,opt,name=id,proto3" json:"id"` // id(number) } func (x *ManagerScripInfo) Reset() { *x = ManagerScripInfo{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerScripInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerScripInfo) ProtoMessage() {} func (x *ManagerScripInfo) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerScripInfo.ProtoReflect.Descriptor instead. func (*ManagerScripInfo) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{102} } func (x *ManagerScripInfo) GetScripId() int64 { if x != nil { return x.ScripId } return 0 } func (x *ManagerScripInfo) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *ManagerScripInfo) GetText() string { if x != nil { return x.Text } return "" } func (x *ManagerScripInfo) GetPictureUrl() string { if x != nil { return x.PictureUrl } return "" } func (x *ManagerScripInfo) GetPersonName() string { if x != nil { return x.PersonName } return "" } func (x *ManagerScripInfo) GetPersonSex() int64 { if x != nil { return x.PersonSex } return 0 } func (x *ManagerScripInfo) GetPersonAge() int64 { if x != nil { return x.PersonAge } return 0 } func (x *ManagerScripInfo) GetPersonAvatar() string { if x != nil { return x.PersonAvatar } return "" } func (x *ManagerScripInfo) GetReplyNum() int64 { if x != nil { return x.ReplyNum } return 0 } func (x *ManagerScripInfo) GetCreateTime() int64 { if x != nil { return x.CreateTime } return 0 } func (x *ManagerScripInfo) GetConstellation() string { if x != nil { return x.Constellation } return "" } func (x *ManagerScripInfo) GetId() int64 { if x != nil { return x.Id } return 0 } type ManagerFindReportListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NextId int64 `protobuf:"varint,1,opt,name=nextId,proto3" json:"nextId"` Offset int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset"` } func (x *ManagerFindReportListRequest) Reset() { *x = ManagerFindReportListRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerFindReportListRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerFindReportListRequest) ProtoMessage() {} func (x *ManagerFindReportListRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[103] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerFindReportListRequest.ProtoReflect.Descriptor instead. func (*ManagerFindReportListRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{103} } func (x *ManagerFindReportListRequest) GetNextId() int64 { if x != nil { return x.NextId } return 0 } func (x *ManagerFindReportListRequest) GetOffset() int64 { if x != nil { return x.Offset } return 0 } type ManagerFindReportListReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*ManagerFindReportInfo `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` NextId int64 `protobuf:"varint,2,opt,name=nextId,proto3" json:"nextId"` } func (x *ManagerFindReportListReply) Reset() { *x = ManagerFindReportListReply{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerFindReportListReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerFindReportListReply) ProtoMessage() {} func (x *ManagerFindReportListReply) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[104] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerFindReportListReply.ProtoReflect.Descriptor instead. func (*ManagerFindReportListReply) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{104} } func (x *ManagerFindReportListReply) GetList() []*ManagerFindReportInfo { if x != nil { return x.List } return make([]*ManagerFindReportInfo, 0) } func (x *ManagerFindReportListReply) GetNextId() int64 { if x != nil { return x.NextId } return 0 } type ManagerFindReportInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` // 举报的ID PersonId string `protobuf:"bytes,2,opt,name=personId,proto3" json:"personId"` // 被举报者的ID Num int64 `protobuf:"varint,4,opt,name=num,proto3" json:"num"` // 被举报的次数 PersonName string `protobuf:"bytes,6,opt,name=personName,proto3" json:"personName"` // 被举报者的名称 PersonSex int64 `protobuf:"varint,7,opt,name=personSex,proto3" json:"personSex"` // 被举报者的性别 PersonAge int64 `protobuf:"varint,8,opt,name=personAge,proto3" json:"personAge"` // 被举报者的年龄 PersonAvatar string `protobuf:"bytes,9,opt,name=personAvatar,proto3" json:"personAvatar"` // 被举报者的头像 } func (x *ManagerFindReportInfo) Reset() { *x = ManagerFindReportInfo{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerFindReportInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerFindReportInfo) ProtoMessage() {} func (x *ManagerFindReportInfo) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[105] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerFindReportInfo.ProtoReflect.Descriptor instead. func (*ManagerFindReportInfo) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{105} } func (x *ManagerFindReportInfo) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *ManagerFindReportInfo) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *ManagerFindReportInfo) GetNum() int64 { if x != nil { return x.Num } return 0 } func (x *ManagerFindReportInfo) GetPersonName() string { if x != nil { return x.PersonName } return "" } func (x *ManagerFindReportInfo) GetPersonSex() int64 { if x != nil { return x.PersonSex } return 0 } func (x *ManagerFindReportInfo) GetPersonAge() int64 { if x != nil { return x.PersonAge } return 0 } func (x *ManagerFindReportInfo) GetPersonAvatar() string { if x != nil { return x.PersonAvatar } return "" } type ManagerFindReportDetailsListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NextId int64 `protobuf:"varint,1,opt,name=nextId,proto3" json:"nextId"` Offset int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset"` PersonId string `protobuf:"bytes,3,opt,name=personId,proto3" json:"personId"` // 被举报人的ID } func (x *ManagerFindReportDetailsListRequest) Reset() { *x = ManagerFindReportDetailsListRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerFindReportDetailsListRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerFindReportDetailsListRequest) ProtoMessage() {} func (x *ManagerFindReportDetailsListRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerFindReportDetailsListRequest.ProtoReflect.Descriptor instead. func (*ManagerFindReportDetailsListRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{106} } func (x *ManagerFindReportDetailsListRequest) GetNextId() int64 { if x != nil { return x.NextId } return 0 } func (x *ManagerFindReportDetailsListRequest) GetOffset() int64 { if x != nil { return x.Offset } return 0 } func (x *ManagerFindReportDetailsListRequest) GetPersonId() string { if x != nil { return x.PersonId } return "" } type ManagerFindReportDetailsListReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*ManagerFindReportDetailsInfo `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` NextId int64 `protobuf:"varint,2,opt,name=nextId,proto3" json:"nextId"` } func (x *ManagerFindReportDetailsListReply) Reset() { *x = ManagerFindReportDetailsListReply{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerFindReportDetailsListReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerFindReportDetailsListReply) ProtoMessage() {} func (x *ManagerFindReportDetailsListReply) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerFindReportDetailsListReply.ProtoReflect.Descriptor instead. func (*ManagerFindReportDetailsListReply) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{107} } func (x *ManagerFindReportDetailsListReply) GetList() []*ManagerFindReportDetailsInfo { if x != nil { return x.List } return make([]*ManagerFindReportDetailsInfo, 0) } func (x *ManagerFindReportDetailsListReply) GetNextId() int64 { if x != nil { return x.NextId } return 0 } type ManagerFindReportDetailsInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` // 举报详情的ID PersonId string `protobuf:"bytes,2,opt,name=personId,proto3" json:"personId"` // 被举报者的ID AccountId int64 `protobuf:"varint,3,opt,name=accountId,proto3" json:"accountId"` // 被举报者的ID(number) PersonName string `protobuf:"bytes,4,opt,name=personName,proto3" json:"personName"` // 被举报者的昵称 PersonAvatar string `protobuf:"bytes,5,opt,name=personAvatar,proto3" json:"personAvatar"` // 被举报者的头像 ReportPersonId string `protobuf:"bytes,6,opt,name=reportPersonId,proto3" json:"reportPersonId"` // 举报者的ID ReportAccountId int64 `protobuf:"varint,7,opt,name=reportAccountId,proto3" json:"reportAccountId"` // 举报者的ID(number) ReportPersonName string `protobuf:"bytes,8,opt,name=reportPersonName,proto3" json:"reportPersonName"` // 举报者的昵称 ReportPersonAvatar string `protobuf:"bytes,9,opt,name=reportPersonAvatar,proto3" json:"reportPersonAvatar"` // 举报者的头像 ReportResult string `protobuf:"bytes,10,opt,name=reportResult,proto3" json:"reportResult"` // 被举报的理由 ReportPicture []string `protobuf:"bytes,11,rep,name=reportPicture,proto3" json:"reportPicture"` // 被举报的图片 Category []string `protobuf:"bytes,12,rep,name=category,proto3" json:"category"` // 举报的类型 CreateTime int64 `protobuf:"varint,13,opt,name=createTime,proto3" json:"createTime"` // 举报时间 TypeId int64 `protobuf:"varint,14,opt,name=typeId,proto3" json:"typeId"` // 聊天房间ID Type string `protobuf:"bytes,15,opt,name=type,proto3" json:"type"` // 报错类型 } func (x *ManagerFindReportDetailsInfo) Reset() { *x = ManagerFindReportDetailsInfo{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerFindReportDetailsInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerFindReportDetailsInfo) ProtoMessage() {} func (x *ManagerFindReportDetailsInfo) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerFindReportDetailsInfo.ProtoReflect.Descriptor instead. func (*ManagerFindReportDetailsInfo) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{108} } func (x *ManagerFindReportDetailsInfo) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *ManagerFindReportDetailsInfo) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *ManagerFindReportDetailsInfo) GetAccountId() int64 { if x != nil { return x.AccountId } return 0 } func (x *ManagerFindReportDetailsInfo) GetPersonName() string { if x != nil { return x.PersonName } return "" } func (x *ManagerFindReportDetailsInfo) GetPersonAvatar() string { if x != nil { return x.PersonAvatar } return "" } func (x *ManagerFindReportDetailsInfo) GetReportPersonId() string { if x != nil { return x.ReportPersonId } return "" } func (x *ManagerFindReportDetailsInfo) GetReportAccountId() int64 { if x != nil { return x.ReportAccountId } return 0 } func (x *ManagerFindReportDetailsInfo) GetReportPersonName() string { if x != nil { return x.ReportPersonName } return "" } func (x *ManagerFindReportDetailsInfo) GetReportPersonAvatar() string { if x != nil { return x.ReportPersonAvatar } return "" } func (x *ManagerFindReportDetailsInfo) GetReportResult() string { if x != nil { return x.ReportResult } return "" } func (x *ManagerFindReportDetailsInfo) GetReportPicture() []string { if x != nil { return x.ReportPicture } return make([]string, 0) } func (x *ManagerFindReportDetailsInfo) GetCategory() []string { if x != nil { return x.Category } return make([]string, 0) } func (x *ManagerFindReportDetailsInfo) GetCreateTime() int64 { if x != nil { return x.CreateTime } return 0 } func (x *ManagerFindReportDetailsInfo) GetTypeId() int64 { if x != nil { return x.TypeId } return 0 } func (x *ManagerFindReportDetailsInfo) GetType() string { if x != nil { return x.Type } return "" } type GetLoginConfigRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Appid string `protobuf:"bytes,1,opt,name=appid,proto3" json:"appid"` } func (x *GetLoginConfigRequest) Reset() { *x = GetLoginConfigRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetLoginConfigRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetLoginConfigRequest) ProtoMessage() {} func (x *GetLoginConfigRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[109] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetLoginConfigRequest.ProtoReflect.Descriptor instead. func (*GetLoginConfigRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{109} } func (x *GetLoginConfigRequest) GetAppid() string { if x != nil { return x.Appid } return "" } type GetLoginConfigReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Appid string `protobuf:"bytes,1,opt,name=appid,proto3" json:"appid"` } func (x *GetLoginConfigReply) Reset() { *x = GetLoginConfigReply{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetLoginConfigReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetLoginConfigReply) ProtoMessage() {} func (x *GetLoginConfigReply) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[110] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetLoginConfigReply.ProtoReflect.Descriptor instead. func (*GetLoginConfigReply) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{110} } func (x *GetLoginConfigReply) GetAppid() string { if x != nil { return x.Appid } return "" } type SendMessageReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields IsSelfOnline bool `protobuf:"varint,1,opt,name=isSelfOnline,proto3" json:"isSelfOnline"` // 自己是否在线 } func (x *SendMessageReply) Reset() { *x = SendMessageReply{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SendMessageReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*SendMessageReply) ProtoMessage() {} func (x *SendMessageReply) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[111] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SendMessageReply.ProtoReflect.Descriptor instead. func (*SendMessageReply) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{111} } func (x *SendMessageReply) GetIsSelfOnline() bool { if x != nil { return x.IsSelfOnline } return false } type ManagerFindCanHandpickUserListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NextId string `protobuf:"bytes,1,opt,name=nextId,proto3" json:"nextId"` Offset int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset"` IsHandpickUser bool `protobuf:"varint,3,opt,name=isHandpickUser,proto3" json:"isHandpickUser"` // 是则筛选 已经是精选的用户 否则筛选还未检查过的优质用户 } func (x *ManagerFindCanHandpickUserListRequest) Reset() { *x = ManagerFindCanHandpickUserListRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerFindCanHandpickUserListRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerFindCanHandpickUserListRequest) ProtoMessage() {} func (x *ManagerFindCanHandpickUserListRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[112] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerFindCanHandpickUserListRequest.ProtoReflect.Descriptor instead. func (*ManagerFindCanHandpickUserListRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{112} } func (x *ManagerFindCanHandpickUserListRequest) GetNextId() string { if x != nil { return x.NextId } return "" } func (x *ManagerFindCanHandpickUserListRequest) GetOffset() int64 { if x != nil { return x.Offset } return 0 } func (x *ManagerFindCanHandpickUserListRequest) GetIsHandpickUser() bool { if x != nil { return x.IsHandpickUser } return false } type ManagerSetHandpickUserRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PassList []*SetHandpickUserInfo `protobuf:"bytes,1,rep,name=passList,proto3" json:"passList"` UnPassList []*SetHandpickUserInfo `protobuf:"bytes,2,rep,name=unPassList,proto3" json:"unPassList"` } func (x *ManagerSetHandpickUserRequest) Reset() { *x = ManagerSetHandpickUserRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerSetHandpickUserRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerSetHandpickUserRequest) ProtoMessage() {} func (x *ManagerSetHandpickUserRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[113] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerSetHandpickUserRequest.ProtoReflect.Descriptor instead. func (*ManagerSetHandpickUserRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{113} } func (x *ManagerSetHandpickUserRequest) GetPassList() []*SetHandpickUserInfo { if x != nil { return x.PassList } return make([]*SetHandpickUserInfo, 0) } func (x *ManagerSetHandpickUserRequest) GetUnPassList() []*SetHandpickUserInfo { if x != nil { return x.UnPassList } return make([]*SetHandpickUserInfo, 0) } type ManagerSetHandpickUserOneRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId string `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId"` Picture string `protobuf:"bytes,2,opt,name=picture,proto3" json:"picture"` IsHandpickUser bool `protobuf:"varint,3,opt,name=isHandpickUser,proto3" json:"isHandpickUser"` } func (x *ManagerSetHandpickUserOneRequest) Reset() { *x = ManagerSetHandpickUserOneRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerSetHandpickUserOneRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerSetHandpickUserOneRequest) ProtoMessage() {} func (x *ManagerSetHandpickUserOneRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[114] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerSetHandpickUserOneRequest.ProtoReflect.Descriptor instead. func (*ManagerSetHandpickUserOneRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{114} } func (x *ManagerSetHandpickUserOneRequest) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *ManagerSetHandpickUserOneRequest) GetPicture() string { if x != nil { return x.Picture } return "" } func (x *ManagerSetHandpickUserOneRequest) GetIsHandpickUser() bool { if x != nil { return x.IsHandpickUser } return false } type SetHandpickUserInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId string `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId"` Picture string `protobuf:"bytes,2,opt,name=picture,proto3" json:"picture"` } func (x *SetHandpickUserInfo) Reset() { *x = SetHandpickUserInfo{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SetHandpickUserInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetHandpickUserInfo) ProtoMessage() {} func (x *SetHandpickUserInfo) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[115] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SetHandpickUserInfo.ProtoReflect.Descriptor instead. func (*SetHandpickUserInfo) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{115} } func (x *SetHandpickUserInfo) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *SetHandpickUserInfo) GetPicture() string { if x != nil { return x.Picture } return "" } type ManagerFindCanHandpickUserListReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*ManagerFindCanHandpickUserInfo `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` NextId string `protobuf:"bytes,2,opt,name=nextId,proto3" json:"nextId"` Total int64 `protobuf:"varint,3,opt,name=total,proto3" json:"total"` } func (x *ManagerFindCanHandpickUserListReply) Reset() { *x = ManagerFindCanHandpickUserListReply{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerFindCanHandpickUserListReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerFindCanHandpickUserListReply) ProtoMessage() {} func (x *ManagerFindCanHandpickUserListReply) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[116] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerFindCanHandpickUserListReply.ProtoReflect.Descriptor instead. func (*ManagerFindCanHandpickUserListReply) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{116} } func (x *ManagerFindCanHandpickUserListReply) GetList() []*ManagerFindCanHandpickUserInfo { if x != nil { return x.List } return make([]*ManagerFindCanHandpickUserInfo, 0) } func (x *ManagerFindCanHandpickUserListReply) GetNextId() string { if x != nil { return x.NextId } return "" } func (x *ManagerFindCanHandpickUserListReply) GetTotal() int64 { if x != nil { return x.Total } return 0 } type ManagerFindCanHandpickUserInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` Nickname string `protobuf:"bytes,2,opt,name=nickname,proto3" json:"nickname"` // 昵称 AvatarUrl string `protobuf:"bytes,3,opt,name=avatarUrl,proto3" json:"avatarUrl"` // 头像链接 Sex int64 `protobuf:"varint,4,opt,name=sex,proto3" json:"sex"` // 性别 Pictures []string `protobuf:"bytes,5,rep,name=pictures,proto3" json:"pictures"` // 图片 Age int64 `protobuf:"varint,6,opt,name=age,proto3" json:"age"` // 年龄 Constellation string `protobuf:"bytes,7,opt,name=constellation,proto3" json:"constellation"` // 星座 Credit int64 `protobuf:"varint,8,opt,name=credit,proto3" json:"credit"` // 积分 Signature string `protobuf:"bytes,9,opt,name=signature,proto3" json:"signature"` // 签名 IntroduceVoice string `protobuf:"bytes,10,opt,name=introduceVoice,proto3" json:"introduceVoice"` // 介绍语音 Province string `protobuf:"bytes,11,opt,name=province,proto3" json:"province"` // 省 City string `protobuf:"bytes,12,opt,name=city,proto3" json:"city"` // 市 PersonId int64 `protobuf:"varint,13,opt,name=personId,proto3" json:"personId"` // 用户id(Number) IsHighQuality bool `protobuf:"varint,14,opt,name=isHighQuality,proto3" json:"isHighQuality"` // 是否是优质用户 IsBlack bool `protobuf:"varint,15,opt,name=isBlack,proto3" json:"isBlack"` // 是否被封禁 Weight int64 `protobuf:"varint,16,opt,name=weight,proto3" json:"weight"` // 权重 LastLoginTime int64 `protobuf:"varint,17,opt,name=lastLoginTime,proto3" json:"lastLoginTime"` // 上次登录时间 BlackDetails string `protobuf:"bytes,18,opt,name=blackDetails,proto3" json:"blackDetails"` // 拉黑理由(只有被拉黑的用户才会有) IsVip bool `protobuf:"varint,19,opt,name=isVip,proto3" json:"isVip"` // 是否是Vip VipLevel int64 `protobuf:"varint,20,opt,name=vipLevel,proto3" json:"vipLevel"` // vip等级 IsYearVip bool `protobuf:"varint,21,opt,name=isYearVip,proto3" json:"isYearVip"` // 是否是年费Vip VipFunctions []string `protobuf:"bytes,22,rep,name=vipFunctions,proto3" json:"vipFunctions"` // vip功能 IsHandpickUser bool `protobuf:"varint,23,opt,name=isHandpickUser,proto3" json:"isHandpickUser"` // 是否是精选 HandpickPicture string `protobuf:"bytes,24,opt,name=handpickPicture,proto3" json:"handpickPicture"` // 精选图片 } func (x *ManagerFindCanHandpickUserInfo) Reset() { *x = ManagerFindCanHandpickUserInfo{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManagerFindCanHandpickUserInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManagerFindCanHandpickUserInfo) ProtoMessage() {} func (x *ManagerFindCanHandpickUserInfo) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[117] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ManagerFindCanHandpickUserInfo.ProtoReflect.Descriptor instead. func (*ManagerFindCanHandpickUserInfo) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{117} } func (x *ManagerFindCanHandpickUserInfo) GetId() string { if x != nil { return x.Id } return "" } func (x *ManagerFindCanHandpickUserInfo) GetNickname() string { if x != nil { return x.Nickname } return "" } func (x *ManagerFindCanHandpickUserInfo) GetAvatarUrl() string { if x != nil { return x.AvatarUrl } return "" } func (x *ManagerFindCanHandpickUserInfo) GetSex() int64 { if x != nil { return x.Sex } return 0 } func (x *ManagerFindCanHandpickUserInfo) GetPictures() []string { if x != nil { return x.Pictures } return make([]string, 0) } func (x *ManagerFindCanHandpickUserInfo) GetAge() int64 { if x != nil { return x.Age } return 0 } func (x *ManagerFindCanHandpickUserInfo) GetConstellation() string { if x != nil { return x.Constellation } return "" } func (x *ManagerFindCanHandpickUserInfo) GetCredit() int64 { if x != nil { return x.Credit } return 0 } func (x *ManagerFindCanHandpickUserInfo) GetSignature() string { if x != nil { return x.Signature } return "" } func (x *ManagerFindCanHandpickUserInfo) GetIntroduceVoice() string { if x != nil { return x.IntroduceVoice } return "" } func (x *ManagerFindCanHandpickUserInfo) GetProvince() string { if x != nil { return x.Province } return "" } func (x *ManagerFindCanHandpickUserInfo) GetCity() string { if x != nil { return x.City } return "" } func (x *ManagerFindCanHandpickUserInfo) GetPersonId() int64 { if x != nil { return x.PersonId } return 0 } func (x *ManagerFindCanHandpickUserInfo) GetIsHighQuality() bool { if x != nil { return x.IsHighQuality } return false } func (x *ManagerFindCanHandpickUserInfo) GetIsBlack() bool { if x != nil { return x.IsBlack } return false } func (x *ManagerFindCanHandpickUserInfo) GetWeight() int64 { if x != nil { return x.Weight } return 0 } func (x *ManagerFindCanHandpickUserInfo) GetLastLoginTime() int64 { if x != nil { return x.LastLoginTime } return 0 } func (x *ManagerFindCanHandpickUserInfo) GetBlackDetails() string { if x != nil { return x.BlackDetails } return "" } func (x *ManagerFindCanHandpickUserInfo) GetIsVip() bool { if x != nil { return x.IsVip } return false } func (x *ManagerFindCanHandpickUserInfo) GetVipLevel() int64 { if x != nil { return x.VipLevel } return 0 } func (x *ManagerFindCanHandpickUserInfo) GetIsYearVip() bool { if x != nil { return x.IsYearVip } return false } func (x *ManagerFindCanHandpickUserInfo) GetVipFunctions() []string { if x != nil { return x.VipFunctions } return make([]string, 0) } func (x *ManagerFindCanHandpickUserInfo) GetIsHandpickUser() bool { if x != nil { return x.IsHandpickUser } return false } func (x *ManagerFindCanHandpickUserInfo) GetHandpickPicture() string { if x != nil { return x.HandpickPicture } return "" } type SendMessageRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RoomId int64 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId"` // 房间ID Message *Message `protobuf:"bytes,2,opt,name=message,proto3" json:"message"` // 消息 MsgType string `protobuf:"bytes,3,opt,name=msgType,proto3" json:"msgType"` // 消息类型 WebsocketTag string `protobuf:"bytes,4,opt,name=websocketTag,proto3" json:"websocketTag"` UserId string `protobuf:"bytes,5,opt,name=userId,proto3" json:"userId"` AccountId int64 `protobuf:"varint,6,opt,name=accountId,proto3" json:"accountId"` IsMiniProgram bool `protobuf:"varint,7,opt,name=isMiniProgram,proto3" json:"isMiniProgram"` Appid string `protobuf:"bytes,8,opt,name=appid,proto3" json:"appid"` } func (x *SendMessageRequest) Reset() { *x = SendMessageRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SendMessageRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SendMessageRequest) ProtoMessage() {} func (x *SendMessageRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[118] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SendMessageRequest.ProtoReflect.Descriptor instead. func (*SendMessageRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{118} } func (x *SendMessageRequest) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } func (x *SendMessageRequest) GetMessage() *Message { if x != nil && x.Message != nil { return x.Message } return &Message{} } func (x *SendMessageRequest) GetMsgType() string { if x != nil { return x.MsgType } return "" } func (x *SendMessageRequest) GetWebsocketTag() string { if x != nil { return x.WebsocketTag } return "" } func (x *SendMessageRequest) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *SendMessageRequest) GetAccountId() int64 { if x != nil { return x.AccountId } return 0 } func (x *SendMessageRequest) GetIsMiniProgram() bool { if x != nil { return x.IsMiniProgram } return false } func (x *SendMessageRequest) GetAppid() string { if x != nil { return x.Appid } return "" } type TokenMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AccountId int64 `protobuf:"varint,1,opt,name=accountId,proto3" json:"accountId"` } func (x *TokenMessage) Reset() { *x = TokenMessage{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TokenMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*TokenMessage) ProtoMessage() {} func (x *TokenMessage) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[119] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TokenMessage.ProtoReflect.Descriptor instead. func (*TokenMessage) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{119} } func (x *TokenMessage) GetAccountId() int64 { if x != nil { return x.AccountId } return 0 } type CheckIdentifyRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` IdCard string `protobuf:"bytes,2,opt,name=IdCard,proto3" json:"IdCard"` } func (x *CheckIdentifyRequest) Reset() { *x = CheckIdentifyRequest{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckIdentifyRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckIdentifyRequest) ProtoMessage() {} func (x *CheckIdentifyRequest) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[120] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CheckIdentifyRequest.ProtoReflect.Descriptor instead. func (*CheckIdentifyRequest) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{120} } func (x *CheckIdentifyRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *CheckIdentifyRequest) GetIdCard() string { if x != nil { return x.IdCard } return "" } type CheckIdentifyReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields IsPass bool `protobuf:"varint,1,opt,name=isPass,proto3" json:"isPass"` Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description"` } func (x *CheckIdentifyReply) Reset() { *x = CheckIdentifyReply{} if protoimpl.UnsafeEnabled { mi := &file_common_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckIdentifyReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckIdentifyReply) ProtoMessage() {} func (x *CheckIdentifyReply) ProtoReflect() protoreflect.Message { mi := &file_common_proto_msgTypes[121] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CheckIdentifyReply.ProtoReflect.Descriptor instead. func (*CheckIdentifyReply) Descriptor() ([]byte, []int) { return file_common_proto_rawDescGZIP(), []int{121} } func (x *CheckIdentifyReply) GetIsPass() bool { if x != nil { return x.IsPass } return false } func (x *CheckIdentifyReply) GetDescription() string { if x != nil { return x.Description } return "" } var File_common_proto protoreflect.FileDescriptor var file_common_proto_rawDesc = []byte{ 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x22, 0x75, 0x0a, 0x1d, 0x55, 0x73, 0x65, 0x72, 0x41, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x49, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x49, 0x64, 0x22, 0xa1, 0x01, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x41, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x49, 0x44, 0x22, 0x42, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x31, 0x41, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x32, 0x49, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x31, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x32, 0x22, 0x2e, 0x0a, 0x0e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x22, 0x2b, 0x0a, 0x0d, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x19, 0x0a, 0x07, 0x49, 0x44, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x29, 0x0a, 0x0b, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x49, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x90, 0x04, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x74, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x65, 0x61, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x65, 0x61, 0x12, 0x30, 0x0a, 0x13, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x56, 0x69, 0x70, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x56, 0x69, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x17, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x76, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x59, 0x65, 0x61, 0x72, 0x56, 0x69, 0x70, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x59, 0x65, 0x61, 0x72, 0x56, 0x69, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x76, 0x69, 0x70, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x69, 0x70, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x25, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x1d, 0x0a, 0x09, 0x57, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x90, 0x01, 0x0a, 0x0e, 0x57, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x89, 0x06, 0x0a, 0x08, 0x48, 0x6f, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x74, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x65, 0x61, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x65, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x12, 0x2c, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x2e, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x2c, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x12, 0x2e, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x53, 0x75, 0x70, 0x65, 0x72, 0x4c, 0x6f, 0x76, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x53, 0x75, 0x70, 0x65, 0x72, 0x4c, 0x6f, 0x76, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x56, 0x69, 0x70, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x56, 0x69, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x17, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x76, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x59, 0x65, 0x61, 0x72, 0x56, 0x69, 0x70, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x59, 0x65, 0x61, 0x72, 0x56, 0x69, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x76, 0x69, 0x70, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x69, 0x70, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8b, 0x04, 0x0a, 0x09, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07, 0x74, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x65, 0x61, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x65, 0x61, 0x12, 0x30, 0x0a, 0x13, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x49, 0x44, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x49, 0x44, 0x22, 0x5d, 0x0a, 0x11, 0x4c, 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6c, 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x69, 0x6b, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c, 0x69, 0x6b, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x22, 0xfa, 0x04, 0x0a, 0x14, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x43, 0x68, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x43, 0x68, 0x61, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x41, 0x70, 0x70, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x41, 0x70, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x65, 0x61, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x65, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x56, 0x69, 0x70, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x56, 0x69, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x76, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x59, 0x65, 0x61, 0x72, 0x56, 0x69, 0x70, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x59, 0x65, 0x61, 0x72, 0x56, 0x69, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x76, 0x69, 0x70, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x69, 0x70, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x0c, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x22, 0x39, 0x0a, 0x0d, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x44, 0x42, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x28, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x44, 0x42, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0xc6, 0x03, 0x0a, 0x08, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x44, 0x42, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x65, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x65, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07, 0x74, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x22, 0x83, 0x05, 0x0a, 0x0f, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x44, 0x42, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x65, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x65, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07, 0x74, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x12, 0x3e, 0x0a, 0x1a, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x53, 0x65, 0x6e, 0x64, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x52, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1a, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x53, 0x65, 0x6e, 0x64, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x52, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x32, 0x0a, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x1b, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x53, 0x65, 0x6e, 0x64, 0x56, 0x69, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1b, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x53, 0x65, 0x6e, 0x64, 0x56, 0x69, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x22, 0x49, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x42, 0x41, 0x6e, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x49, 0x6e, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x49, 0x6e, 0x69, 0x74, 0x22, 0x2a, 0x0a, 0x0e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x49, 0x64, 0x22, 0x41, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x59, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x22, 0x3c, 0x0a, 0x14, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x22, 0x42, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x66, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x41, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x2c, 0x0a, 0x14, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x22, 0x55, 0x0a, 0x15, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x4b, 0x0a, 0x13, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x22, 0x0a, 0x0a, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x2c, 0x0a, 0x16, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x17, 0x0a, 0x03, 0x49, 0x64, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x37, 0x0a, 0x0c, 0x54, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x27, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x2d, 0x0a, 0x07, 0x54, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x1a, 0x0a, 0x06, 0x53, 0x65, 0x78, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x22, 0x8d, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x22, 0x34, 0x0a, 0x14, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x22, 0xc2, 0x02, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07, 0x74, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x65, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x65, 0x61, 0x22, 0x5d, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2e, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x22, 0xc9, 0x01, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x04, 0x73, 0x65, 0x6c, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x52, 0x04, 0x73, 0x65, 0x6c, 0x66, 0x12, 0x2f, 0x0a, 0x05, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x52, 0x05, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x69, 0x6b, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6c, 0x69, 0x6b, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x46, 0x69, 0x72, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x46, 0x69, 0x72, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x22, 0x9b, 0x02, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x4c, 0x6f, 0x76, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4c, 0x6f, 0x76, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x56, 0x69, 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x56, 0x69, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x76, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x59, 0x65, 0x61, 0x72, 0x56, 0x69, 0x70, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x59, 0x65, 0x61, 0x72, 0x56, 0x69, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x76, 0x69, 0x70, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x69, 0x70, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x91, 0x02, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x53, 0x65, 0x6c, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x65, 0x6c, 0x66, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x73, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x73, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x52, 0x65, 0x61, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x52, 0x65, 0x61, 0x64, 0x22, 0x6a, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x74, 0x49, 0x73, 0x52, 0x65, 0x61, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x61, 0x67, 0x22, 0x46, 0x0a, 0x08, 0x47, 0x6f, 0x54, 0x6f, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x61, 0x67, 0x22, 0xf9, 0x01, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x55, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x55, 0x72, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x63, 0x72, 0x69, 0x70, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x63, 0x72, 0x69, 0x70, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x55, 0x72, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x53, 0x63, 0x72, 0x69, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x53, 0x63, 0x72, 0x69, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x53, 0x63, 0x72, 0x69, 0x70, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x55, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x53, 0x63, 0x72, 0x69, 0x70, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x55, 0x72, 0x6c, 0x22, 0x30, 0x0a, 0x16, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x27, 0x0a, 0x0d, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x63, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x20, 0x0a, 0x06, 0x49, 0x73, 0x4c, 0x69, 0x6b, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x4c, 0x69, 0x6b, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4c, 0x69, 0x6b, 0x65, 0x22, 0x1d, 0x0a, 0x09, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4e, 0x75, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x22, 0x35, 0x0a, 0x0f, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4e, 0x75, 0x6d, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x22, 0x51, 0x0a, 0x0b, 0x4d, 0x65, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x24, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x3a, 0x0a, 0x0d, 0x4d, 0x65, 0x6d, 0x65, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x6d, 0x65, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x33, 0x0a, 0x09, 0x4d, 0x65, 0x6d, 0x65, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x36, 0x0a, 0x08, 0x4d, 0x65, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x22, 0x23, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0xf5, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x22, 0x8d, 0x02, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x73, 0x67, 0x22, 0xd7, 0x02, 0x0a, 0x0b, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x65, 0x6e, 0x65, 0x66, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x65, 0x6e, 0x65, 0x66, 0x69, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x73, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x73, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x73, 0x47, 0x65, 0x74, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x47, 0x65, 0x74, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x69, 0x73, 0x47, 0x65, 0x74, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x73, 0x47, 0x65, 0x74, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x94, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x39, 0x0a, 0x07, 0x6d, 0x61, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x09, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x91, 0x01, 0x0a, 0x17, 0x48, 0x61, 0x6e, 0x64, 0x70, 0x69, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x38, 0x0a, 0x07, 0x6d, 0x61, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x70, 0x69, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x09, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x70, 0x69, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x92, 0x04, 0x0a, 0x12, 0x48, 0x61, 0x6e, 0x64, 0x70, 0x69, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x65, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x65, 0x61, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x56, 0x69, 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x56, 0x69, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x76, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x59, 0x65, 0x61, 0x72, 0x56, 0x69, 0x70, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x59, 0x65, 0x61, 0x72, 0x56, 0x69, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x76, 0x69, 0x70, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x69, 0x70, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaf, 0x04, 0x0a, 0x13, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x65, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x65, 0x61, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x74, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x56, 0x69, 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x56, 0x69, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x76, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x59, 0x65, 0x61, 0x72, 0x56, 0x69, 0x70, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x59, 0x65, 0x61, 0x72, 0x56, 0x69, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x76, 0x69, 0x70, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x69, 0x70, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x31, 0x0a, 0x1b, 0x46, 0x69, 0x6e, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x4e, 0x0a, 0x16, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x49, 0x64, 0x22, 0x98, 0x01, 0x0a, 0x10, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x83, 0x01, 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x64, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x4f, 0x0a, 0x0a, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x29, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x22, 0xcc, 0x05, 0x0a, 0x09, 0x53, 0x63, 0x72, 0x69, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x53, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x53, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x41, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x41, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x4e, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x43, 0x61, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x43, 0x61, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x37, 0x0a, 0x07, 0x6d, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x6d, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x56, 0x69, 0x70, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x56, 0x69, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x76, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x59, 0x65, 0x61, 0x72, 0x56, 0x69, 0x70, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x59, 0x65, 0x61, 0x72, 0x56, 0x69, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x76, 0x69, 0x70, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x69, 0x70, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x75, 0x6d, 0x18, 0x19, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x77, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x61, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x53, 0x74, 0x61, 0x72, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x74, 0x61, 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x55, 0x72, 0x6c, 0x22, 0x40, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xec, 0x02, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x73, 0x4d, 0x69, 0x6e, 0x69, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x4d, 0x69, 0x6e, 0x69, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x4f, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x4f, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x56, 0x69, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x56, 0x69, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x19, 0x0a, 0x07, 0x53, 0x63, 0x72, 0x69, 0x70, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0xb6, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x4f, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x4f, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x48, 0x0a, 0x10, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x49, 0x64, 0x22, 0x34, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x49, 0x64, 0x22, 0x52, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x49, 0x44, 0x44, 0x42, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x49, 0x64, 0x22, 0xc7, 0x01, 0x0a, 0x0f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x73, 0x4e, 0x65, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x4e, 0x65, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x78, 0x41, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x41, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x69, 0x6e, 0x41, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x41, 0x67, 0x65, 0x22, 0x4c, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x81, 0x01, 0x0a, 0x1a, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x35, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0xae, 0x01, 0x0a, 0x1b, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x32, 0x12, 0x35, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6c, 0x61, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xde, 0x02, 0x0a, 0x1c, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x30, 0x0a, 0x13, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x73, 0x48, 0x69, 0x67, 0x68, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x48, 0x69, 0x67, 0x68, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x2e, 0x0a, 0x12, 0x69, 0x73, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x42, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x42, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x22, 0x99, 0x06, 0x0a, 0x15, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x73, 0x48, 0x69, 0x67, 0x68, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x48, 0x69, 0x67, 0x68, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x56, 0x69, 0x70, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x56, 0x69, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x76, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x59, 0x65, 0x61, 0x72, 0x56, 0x69, 0x70, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x59, 0x65, 0x61, 0x72, 0x56, 0x69, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x76, 0x69, 0x70, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x69, 0x70, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x73, 0x48, 0x61, 0x6e, 0x64, 0x70, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x48, 0x61, 0x6e, 0x64, 0x70, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x68, 0x61, 0x6e, 0x64, 0x70, 0x69, 0x63, 0x6b, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x68, 0x61, 0x6e, 0x64, 0x70, 0x69, 0x63, 0x6b, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x65, 0x0a, 0x1f, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x5c, 0x0a, 0x22, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0x5f, 0x0a, 0x23, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x5c, 0x0a, 0x20, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x22, 0x58, 0x0a, 0x1e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x56, 0x0a, 0x20, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x59, 0x0a, 0x21, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x73, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x22, 0x80, 0x01, 0x0a, 0x1a, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x5c, 0x0a, 0x18, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x28, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x22, 0xc6, 0x05, 0x0a, 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x31, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x31, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x31, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x31, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x31, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x31, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x31, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x31, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x31, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x31, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x31, 0x41, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x31, 0x41, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x31, 0x53, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x31, 0x53, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x32, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x32, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x32, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x32, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x32, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x32, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x32, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x32, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x32, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x32, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x32, 0x41, 0x67, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x32, 0x41, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x32, 0x53, 0x65, 0x78, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x32, 0x53, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x69, 0x6b, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6c, 0x69, 0x6b, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x31, 0x18, 0x15, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x31, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x32, 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x32, 0x22, 0x86, 0x01, 0x0a, 0x20, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x4d, 0x0a, 0x1d, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0x5c, 0x0a, 0x20, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x55, 0x72, 0x6c, 0x22, 0x83, 0x01, 0x0a, 0x1b, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x11, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x30, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x22, 0x85, 0x01, 0x0a, 0x1d, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xa1, 0x01, 0x0a, 0x13, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x56, 0x32, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x30, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6c, 0x61, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xee, 0x02, 0x0a, 0x10, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x53, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x53, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x41, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x41, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x4e, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4e, 0x0a, 0x1c, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x6b, 0x0a, 0x1a, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x35, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x22, 0xd5, 0x01, 0x0a, 0x15, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x53, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x53, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x41, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x41, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x22, 0x71, 0x0a, 0x23, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x79, 0x0a, 0x21, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3c, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x22, 0x8c, 0x04, 0x0a, 0x1c, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x2d, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x22, 0x2b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x22, 0x36, 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x53, 0x65, 0x6c, 0x66, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x53, 0x65, 0x6c, 0x66, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x7f, 0x0a, 0x25, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x61, 0x6e, 0x48, 0x61, 0x6e, 0x64, 0x70, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x73, 0x48, 0x61, 0x6e, 0x64, 0x70, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x48, 0x61, 0x6e, 0x64, 0x70, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x22, 0x9d, 0x01, 0x0a, 0x1d, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x65, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x70, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x70, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x0a, 0x75, 0x6e, 0x50, 0x61, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x70, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x75, 0x6e, 0x50, 0x61, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x7c, 0x0a, 0x20, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x65, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x70, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x73, 0x48, 0x61, 0x6e, 0x64, 0x70, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x48, 0x61, 0x6e, 0x64, 0x70, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x22, 0x47, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x70, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x22, 0x93, 0x01, 0x0a, 0x23, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x61, 0x6e, 0x48, 0x61, 0x6e, 0x64, 0x70, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3e, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x61, 0x6e, 0x48, 0x61, 0x6e, 0x64, 0x70, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0xe2, 0x05, 0x0a, 0x1e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x61, 0x6e, 0x48, 0x61, 0x6e, 0x64, 0x70, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x73, 0x48, 0x69, 0x67, 0x68, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x48, 0x69, 0x67, 0x68, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x56, 0x69, 0x70, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x56, 0x69, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x76, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x59, 0x65, 0x61, 0x72, 0x56, 0x69, 0x70, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x59, 0x65, 0x61, 0x72, 0x56, 0x69, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x76, 0x69, 0x70, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x69, 0x70, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x73, 0x48, 0x61, 0x6e, 0x64, 0x70, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x48, 0x61, 0x6e, 0x64, 0x70, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x68, 0x61, 0x6e, 0x64, 0x70, 0x69, 0x63, 0x6b, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x68, 0x61, 0x6e, 0x64, 0x70, 0x69, 0x63, 0x6b, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x22, 0x8b, 0x02, 0x0a, 0x12, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x73, 0x4d, 0x69, 0x6e, 0x69, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x4d, 0x69, 0x6e, 0x69, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x22, 0x2c, 0x0a, 0x0c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x42, 0x0a, 0x14, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x22, 0x4e, 0x0a, 0x12, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x50, 0x61, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x50, 0x61, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x43, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x01, 0x5a, 0x33, 0x67, 0x69, 0x74, 0x2e, 0x69, 0x6b, 0x75, 0x62, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x77, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_common_proto_rawDescOnce sync.Once file_common_proto_rawDescData = file_common_proto_rawDesc ) func file_common_proto_rawDescGZIP() []byte { file_common_proto_rawDescOnce.Do(func() { file_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_common_proto_rawDescData) }) return file_common_proto_rawDescData } var file_common_proto_msgTypes = make([]protoimpl.MessageInfo, 122) var file_common_proto_goTypes = []interface{}{ (*UserAndPartnerIdentifyIdParam)(nil), // 0: api.common.UserAndPartnerIdentifyIdParam (*UserAndPartnerParam)(nil), // 1: api.common.UserAndPartnerParam (*User1AndUser2IdParam)(nil), // 2: api.common.User1AndUser2IdParam (*PartnerIDParam)(nil), // 3: api.common.PartnerIDParam (*PersonIDParam)(nil), // 4: api.common.PersonIDParam (*IDParam)(nil), // 5: api.common.IDParam (*PersonParam)(nil), // 6: api.common.PersonParam (*CreateChatRoomParam)(nil), // 7: api.common.CreateChatRoomParam (*ChatCardInfo)(nil), // 8: api.common.ChatCardInfo (*UserIDParam)(nil), // 9: api.common.UserIDParam (*WxConfReq)(nil), // 10: api.common.WxConfReq (*WxConfResponse)(nil), // 11: api.common.WxConfResponse (*HomeInfo)(nil), // 12: api.common.HomeInfo (*PersonMsg)(nil), // 13: api.common.PersonMsg (*LookedAndLikedNum)(nil), // 14: api.common.LookedAndLikedNum (*AddFriendMessageInfo)(nil), // 15: api.common.AddFriendMessageInfo (*PersonIDList)(nil), // 16: api.common.PersonIDList (*PersonDBReply)(nil), // 17: api.common.PersonDBReply (*PersonDB)(nil), // 18: api.common.PersonDB (*PersonDBDetails)(nil), // 19: api.common.PersonDBDetails (*GetUserDBAndInitReq)(nil), // 20: api.common.GetUserDBAndInitReq (*ScripIdRequest)(nil), // 21: api.common.ScripIdRequest (*ListPageRequest)(nil), // 22: api.common.ListPageRequest (*ListPageAndSexRequest)(nil), // 23: api.common.ListPageAndSexRequest (*FindChatTopicRequest)(nil), // 24: api.common.FindChatTopicRequest (*ListPage2Request)(nil), // 25: api.common.ListPage2Request (*ListPageAndPersonRequest)(nil), // 26: api.common.ListPageAndPersonRequest (*SendPhoneCodeRequest)(nil), // 27: api.common.SendPhoneCodeRequest (*CheckPhoneCodeRequest)(nil), // 28: api.common.CheckPhoneCodeRequest (*ManagerLoginRequest)(nil), // 29: api.common.ManagerLoginRequest (*LoginToken)(nil), // 30: api.common.LoginToken (*UploadMaterialResponse)(nil), // 31: api.common.UploadMaterialResponse (*Ids)(nil), // 32: api.common.Ids (*TagListReply)(nil), // 33: api.common.TagListReply (*TagList)(nil), // 34: api.common.TagList (*SexReq)(nil), // 35: api.common.SexReq (*GetMatchingPartnerInfoReply)(nil), // 36: api.common.GetMatchingPartnerInfoReply (*RandomIntroduceReply)(nil), // 37: api.common.RandomIntroduceReply (*UpdateInformationRequest)(nil), // 38: api.common.UpdateInformationRequest (*ChatRecordListReply)(nil), // 39: api.common.ChatRecordListReply (*ChatRoomMsg)(nil), // 40: api.common.ChatRoomMsg (*ChatPersonMsg)(nil), // 41: api.common.ChatPersonMsg (*ChatRecordInfo)(nil), // 42: api.common.ChatRecordInfo (*ChatIsReadInfo)(nil), // 43: api.common.ChatIsReadInfo (*GoToRoom)(nil), // 44: api.common.GoToRoom (*Message)(nil), // 45: api.common.Message (*FindChatRoomMsgRequest)(nil), // 46: api.common.FindChatRoomMsgRequest (*RoomIDRequest)(nil), // 47: api.common.RoomIDRequest (*FindChatRecordListRequest)(nil), // 48: api.common.FindChatRecordListRequest (*IsLike)(nil), // 49: api.common.IsLike (*RandomNum)(nil), // 50: api.common.RandomNum (*RandomNumAndSex)(nil), // 51: api.common.RandomNumAndSex (*MemeRequest)(nil), // 52: api.common.MemeRequest (*CommonTextList)(nil), // 53: api.common.CommonTextList (*MemeTitleList)(nil), // 54: api.common.MemeTitleList (*MemeTitle)(nil), // 55: api.common.MemeTitle (*MemeList)(nil), // 56: api.common.MemeList (*ChatTopicList)(nil), // 57: api.common.ChatTopicList (*ReportChatRequest)(nil), // 58: api.common.ReportChatRequest (*ReportRequest)(nil), // 59: api.common.ReportRequest (*RoomChatMsg)(nil), // 60: api.common.RoomChatMsg (*RecommendPersonListReply)(nil), // 61: api.common.RecommendPersonListReply (*HandpickPersonListReply)(nil), // 62: api.common.HandpickPersonListReply (*HandpickPersonInfo)(nil), // 63: api.common.HandpickPersonInfo (*RecommendPersonInfo)(nil), // 64: api.common.RecommendPersonInfo (*FindOverSevenDayAvatarReply)(nil), // 65: api.common.FindOverSevenDayAvatarReply (*PersonLookScripRequest)(nil), // 66: api.common.PersonLookScripRequest (*FindScripRequest)(nil), // 67: api.common.FindScripRequest (*FindOtherScripRequest)(nil), // 68: api.common.FindOtherScripRequest (*ScripReply)(nil), // 69: api.common.ScripReply (*ScripInfo)(nil), // 70: api.common.ScripInfo (*ScripReplyMessage)(nil), // 71: api.common.ScripReplyMessage (*DeleteScripRequest)(nil), // 72: api.common.DeleteScripRequest (*CreateScripRequest)(nil), // 73: api.common.CreateScripRequest (*ScripID)(nil), // 74: api.common.ScripID (*ReplyScripRequest)(nil), // 75: api.common.ReplyScripRequest (*ReplyStarRequest)(nil), // 76: api.common.ReplyStarRequest (*UpdateLastScripIDRequest)(nil), // 77: api.common.UpdateLastScripIDRequest (*UpdateLastScripIDDBRequest)(nil), // 78: api.common.UpdateLastScripIDDBRequest (*MatchingRequest)(nil), // 79: api.common.MatchingRequest (*UserIDsParam)(nil), // 80: api.common.UserIDsParam (*ManagerFindPersonListReply)(nil), // 81: api.common.ManagerFindPersonListReply (*ManagerFindPersonListReply2)(nil), // 82: api.common.ManagerFindPersonListReply2 (*ManagerFindPersonListRequest)(nil), // 83: api.common.ManagerFindPersonListRequest (*ManagerFindPersonInfo)(nil), // 84: api.common.ManagerFindPersonInfo (*ManagerUpdatePersonVoiceRequest)(nil), // 85: api.common.ManagerUpdatePersonVoiceRequest (*ManagerUpdatePersonPicturesRequest)(nil), // 86: api.common.ManagerUpdatePersonPicturesRequest (*ManagerUpdatePersonSignatureRequest)(nil), // 87: api.common.ManagerUpdatePersonSignatureRequest (*ManagerUpdatePersonAvatarRequest)(nil), // 88: api.common.ManagerUpdatePersonAvatarRequest (*ManagerUpdatePersonNameRequest)(nil), // 89: api.common.ManagerUpdatePersonNameRequest (*ManagerUpdatePersonWeightRequest)(nil), // 90: api.common.ManagerUpdatePersonWeightRequest (*ManagerUpdatePersonIsBlackRequest)(nil), // 91: api.common.ManagerUpdatePersonIsBlackRequest (*ManagerFindRoomListRequest)(nil), // 92: api.common.ManagerFindRoomListRequest (*ManagerFindRoomListReply)(nil), // 93: api.common.ManagerFindRoomListReply (*RoomInfo)(nil), // 94: api.common.RoomInfo (*ManagerFindChatRecordListRequest)(nil), // 95: api.common.ManagerFindChatRecordListRequest (*ManagerUpdateScripTextRequest)(nil), // 96: api.common.ManagerUpdateScripTextRequest (*ManagerUpdateScripPictureRequest)(nil), // 97: api.common.ManagerUpdateScripPictureRequest (*ManagerFindScripListRequest)(nil), // 98: api.common.ManagerFindScripListRequest (*ManagerScripReply)(nil), // 99: api.common.ManagerScripReply (*ManagerFindScripListV2Request)(nil), // 100: api.common.ManagerFindScripListV2Request (*ManagerScripV2Reply)(nil), // 101: api.common.ManagerScripV2Reply (*ManagerScripInfo)(nil), // 102: api.common.ManagerScripInfo (*ManagerFindReportListRequest)(nil), // 103: api.common.ManagerFindReportListRequest (*ManagerFindReportListReply)(nil), // 104: api.common.ManagerFindReportListReply (*ManagerFindReportInfo)(nil), // 105: api.common.ManagerFindReportInfo (*ManagerFindReportDetailsListRequest)(nil), // 106: api.common.ManagerFindReportDetailsListRequest (*ManagerFindReportDetailsListReply)(nil), // 107: api.common.ManagerFindReportDetailsListReply (*ManagerFindReportDetailsInfo)(nil), // 108: api.common.ManagerFindReportDetailsInfo (*GetLoginConfigRequest)(nil), // 109: api.common.GetLoginConfigRequest (*GetLoginConfigReply)(nil), // 110: api.common.GetLoginConfigReply (*SendMessageReply)(nil), // 111: api.common.SendMessageReply (*ManagerFindCanHandpickUserListRequest)(nil), // 112: api.common.ManagerFindCanHandpickUserListRequest (*ManagerSetHandpickUserRequest)(nil), // 113: api.common.ManagerSetHandpickUserRequest (*ManagerSetHandpickUserOneRequest)(nil), // 114: api.common.ManagerSetHandpickUserOneRequest (*SetHandpickUserInfo)(nil), // 115: api.common.SetHandpickUserInfo (*ManagerFindCanHandpickUserListReply)(nil), // 116: api.common.ManagerFindCanHandpickUserListReply (*ManagerFindCanHandpickUserInfo)(nil), // 117: api.common.ManagerFindCanHandpickUserInfo (*SendMessageRequest)(nil), // 118: api.common.SendMessageRequest (*TokenMessage)(nil), // 119: api.common.TokenMessage (*CheckIdentifyRequest)(nil), // 120: api.common.CheckIdentifyRequest (*CheckIdentifyReply)(nil), // 121: api.common.CheckIdentifyReply } var file_common_proto_depIdxs = []int32{ 34, // 0: api.common.HomeInfo.tagList:type_name -> api.common.TagList 18, // 1: api.common.PersonDBReply.list:type_name -> api.common.PersonDB 34, // 2: api.common.TagListReply.list:type_name -> api.common.TagList 42, // 3: api.common.ChatRecordListReply.list:type_name -> api.common.ChatRecordInfo 41, // 4: api.common.ChatRoomMsg.self:type_name -> api.common.ChatPersonMsg 41, // 5: api.common.ChatRoomMsg.other:type_name -> api.common.ChatPersonMsg 45, // 6: api.common.ChatRecordInfo.message:type_name -> api.common.Message 55, // 7: api.common.MemeTitleList.list:type_name -> api.common.MemeTitle 64, // 8: api.common.RecommendPersonListReply.manList:type_name -> api.common.RecommendPersonInfo 64, // 9: api.common.RecommendPersonListReply.womanList:type_name -> api.common.RecommendPersonInfo 63, // 10: api.common.HandpickPersonListReply.manList:type_name -> api.common.HandpickPersonInfo 63, // 11: api.common.HandpickPersonListReply.womanList:type_name -> api.common.HandpickPersonInfo 70, // 12: api.common.ScripReply.list:type_name -> api.common.ScripInfo 71, // 13: api.common.ScripInfo.myReply:type_name -> api.common.ScripReplyMessage 45, // 14: api.common.ReplyScripRequest.message:type_name -> api.common.Message 84, // 15: api.common.ManagerFindPersonListReply.list:type_name -> api.common.ManagerFindPersonInfo 84, // 16: api.common.ManagerFindPersonListReply2.list:type_name -> api.common.ManagerFindPersonInfo 94, // 17: api.common.ManagerFindRoomListReply.list:type_name -> api.common.RoomInfo 102, // 18: api.common.ManagerScripReply.list:type_name -> api.common.ManagerScripInfo 102, // 19: api.common.ManagerScripV2Reply.list:type_name -> api.common.ManagerScripInfo 105, // 20: api.common.ManagerFindReportListReply.list:type_name -> api.common.ManagerFindReportInfo 108, // 21: api.common.ManagerFindReportDetailsListReply.list:type_name -> api.common.ManagerFindReportDetailsInfo 115, // 22: api.common.ManagerSetHandpickUserRequest.passList:type_name -> api.common.SetHandpickUserInfo 115, // 23: api.common.ManagerSetHandpickUserRequest.unPassList:type_name -> api.common.SetHandpickUserInfo 117, // 24: api.common.ManagerFindCanHandpickUserListReply.list:type_name -> api.common.ManagerFindCanHandpickUserInfo 45, // 25: api.common.SendMessageRequest.message:type_name -> api.common.Message 26, // [26:26] is the sub-list for method output_type 26, // [26:26] is the sub-list for method input_type 26, // [26:26] is the sub-list for extension type_name 26, // [26:26] is the sub-list for extension extendee 0, // [0:26] is the sub-list for field type_name } func init() { file_common_proto_init() } func file_common_proto_init() { if File_common_proto != nil { return } if !protoimpl.UnsafeEnabled { file_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserAndPartnerIdentifyIdParam); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserAndPartnerParam); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*User1AndUser2IdParam); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PartnerIDParam); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PersonIDParam); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IDParam); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PersonParam); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateChatRoomParam); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChatCardInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserIDParam); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WxConfReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WxConfResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HomeInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PersonMsg); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LookedAndLikedNum); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AddFriendMessageInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PersonIDList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PersonDBReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PersonDB); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PersonDBDetails); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetUserDBAndInitReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScripIdRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListPageRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListPageAndSexRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindChatTopicRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListPage2Request); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListPageAndPersonRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SendPhoneCodeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckPhoneCodeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerLoginRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoginToken); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UploadMaterialResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ids); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TagListReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TagList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SexReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetMatchingPartnerInfoReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RandomIntroduceReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateInformationRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChatRecordListReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChatRoomMsg); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChatPersonMsg); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChatRecordInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChatIsReadInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GoToRoom); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Message); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindChatRoomMsgRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RoomIDRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindChatRecordListRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IsLike); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RandomNum); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RandomNumAndSex); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MemeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommonTextList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MemeTitleList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MemeTitle); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MemeList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChatTopicList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReportChatRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReportRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RoomChatMsg); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RecommendPersonListReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HandpickPersonListReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HandpickPersonInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RecommendPersonInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindOverSevenDayAvatarReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PersonLookScripRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindScripRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindOtherScripRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScripReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScripInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScripReplyMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteScripRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateScripRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScripID); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReplyScripRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReplyStarRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateLastScripIDRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateLastScripIDDBRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MatchingRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserIDsParam); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerFindPersonListReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerFindPersonListReply2); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerFindPersonListRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerFindPersonInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerUpdatePersonVoiceRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerUpdatePersonPicturesRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerUpdatePersonSignatureRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerUpdatePersonAvatarRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerUpdatePersonNameRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerUpdatePersonWeightRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerUpdatePersonIsBlackRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerFindRoomListRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerFindRoomListReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RoomInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerFindChatRecordListRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerUpdateScripTextRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerUpdateScripPictureRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerFindScripListRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerScripReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerFindScripListV2Request); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerScripV2Reply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerScripInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerFindReportListRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerFindReportListReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerFindReportInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerFindReportDetailsListRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerFindReportDetailsListReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerFindReportDetailsInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetLoginConfigRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetLoginConfigReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SendMessageReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerFindCanHandpickUserListRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerSetHandpickUserRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerSetHandpickUserOneRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetHandpickUserInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerFindCanHandpickUserListReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagerFindCanHandpickUserInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SendMessageRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TokenMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckIdentifyRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_common_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckIdentifyReply); 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_common_proto_rawDesc, NumEnums: 0, NumMessages: 122, NumExtensions: 0, NumServices: 0, }, GoTypes: file_common_proto_goTypes, DependencyIndexes: file_common_proto_depIdxs, MessageInfos: file_common_proto_msgTypes, }.Build() File_common_proto = out.File file_common_proto_rawDesc = nil file_common_proto_goTypes = nil file_common_proto_depIdxs = nil }