// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 // protoc v5.29.1 // source: w_reward.proto package w_rewardpb 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 ListReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"` //当前页 PerPage int32 `protobuf:"varint,2,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"` //每页条数 PageLang string `protobuf:"bytes,3,opt,name=page_lang,json=pageLang,proto3" json:"page_lang,omitempty"` //页面语言 ProjectHashId string `protobuf:"bytes,4,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id Title string `protobuf:"bytes,5,opt,name=title,proto3" json:"title,omitempty"` //奖品名称 LangMark string `protobuf:"bytes,6,opt,name=lang_mark,json=langMark,proto3" json:"lang_mark,omitempty"` //奖品语言,多个用逗号分开 RewardTitle string `protobuf:"bytes,7,opt,name=reward_title,json=rewardTitle,proto3" json:"reward_title,omitempty"` //奖品标题 OrderType int32 `protobuf:"varint,8,opt,name=order_type,json=orderType,proto3" json:"order_type,omitempty"` //排序类型(1-创建时间升序),其他默认 } func (x *ListReq) Reset() { *x = ListReq{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListReq) ProtoMessage() {} func (x *ListReq) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 ListReq.ProtoReflect.Descriptor instead. func (*ListReq) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{0} } func (x *ListReq) GetPage() int32 { if x != nil { return x.Page } return 0 } func (x *ListReq) GetPerPage() int32 { if x != nil { return x.PerPage } return 0 } func (x *ListReq) GetPageLang() string { if x != nil { return x.PageLang } return "" } func (x *ListReq) GetProjectHashId() string { if x != nil { return x.ProjectHashId } return "" } func (x *ListReq) GetTitle() string { if x != nil { return x.Title } return "" } func (x *ListReq) GetLangMark() string { if x != nil { return x.LangMark } return "" } func (x *ListReq) GetRewardTitle() string { if x != nil { return x.RewardTitle } return "" } func (x *ListReq) GetOrderType() int32 { if x != nil { return x.OrderType } return 0 } type ListRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*ListRes_One `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` //列表数据 Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"` //列表总数 } func (x *ListRes) Reset() { *x = ListRes{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListRes) ProtoMessage() {} func (x *ListRes) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 ListRes.ProtoReflect.Descriptor instead. func (*ListRes) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{1} } func (x *ListRes) GetList() []*ListRes_One { if x != nil { return x.List } return nil } func (x *ListRes) GetTotal() int64 { if x != nil { return x.Total } return 0 } type SelectReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectHashId string `protobuf:"bytes,1,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id LangMark string `protobuf:"bytes,2,opt,name=lang_mark,json=langMark,proto3" json:"lang_mark,omitempty"` //奖品语言 ReceiveType int32 `protobuf:"varint,3,opt,name=receive_type,json=receiveType,proto3" json:"receive_type,omitempty"` //发放类型(1-系统发放,2-联系客服,4-提交表单) } func (x *SelectReq) Reset() { *x = SelectReq{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SelectReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*SelectReq) ProtoMessage() {} func (x *SelectReq) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 SelectReq.ProtoReflect.Descriptor instead. func (*SelectReq) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{2} } func (x *SelectReq) GetProjectHashId() string { if x != nil { return x.ProjectHashId } return "" } func (x *SelectReq) GetLangMark() string { if x != nil { return x.LangMark } return "" } func (x *SelectReq) GetReceiveType() int32 { if x != nil { return x.ReceiveType } return 0 } type SelectRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*SelectRes_One `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` //列表数据 } func (x *SelectRes) Reset() { *x = SelectRes{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SelectRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*SelectRes) ProtoMessage() {} func (x *SelectRes) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 SelectRes.ProtoReflect.Descriptor instead. func (*SelectRes) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{3} } func (x *SelectRes) GetList() []*SelectRes_One { if x != nil { return x.List } return nil } type ShowReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectHashId string `protobuf:"bytes,1,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id Id int64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` //奖品id } func (x *ShowReq) Reset() { *x = ShowReq{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ShowReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*ShowReq) ProtoMessage() {} func (x *ShowReq) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 ShowReq.ProtoReflect.Descriptor instead. func (*ShowReq) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{4} } func (x *ShowReq) GetProjectHashId() string { if x != nil { return x.ProjectHashId } return "" } func (x *ShowReq) GetId() int64 { if x != nil { return x.Id } return 0 } type ShowRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //奖品id RewardTitle string `protobuf:"bytes,2,opt,name=reward_title,json=rewardTitle,proto3" json:"reward_title,omitempty"` //奖品标题 ReceiveType int32 `protobuf:"varint,3,opt,name=receive_type,json=receiveType,proto3" json:"receive_type,omitempty"` //发放类型(1-系统发放,2-联系客服,4-提交表单) UrlId int64 `protobuf:"varint,4,opt,name=url_id,json=urlId,proto3" json:"url_id,omitempty"` //回调地址id Contact string `protobuf:"bytes,5,opt,name=contact,proto3" json:"contact,omitempty"` //联系方式 KvData []*ShowRes_KV `protobuf:"bytes,6,rep,name=kv_data,json=kvData,proto3" json:"kv_data,omitempty"` //键值数据 Langs []*ShowRes_Lang `protobuf:"bytes,7,rep,name=langs,proto3" json:"langs,omitempty"` //语言数据 FormId int64 `protobuf:"varint,8,opt,name=form_id,json=formId,proto3" json:"form_id,omitempty"` //表单Id RelateNum int64 `protobuf:"varint,9,opt,name=relate_num,json=relateNum,proto3" json:"relate_num,omitempty"` //关联使用的数量 DyRewardType int32 `protobuf:"varint,10,opt,name=dy_reward_type,json=dyRewardType,proto3" json:"dy_reward_type,omitempty"` //动态奖品内容类型(0-无,1-兑换码) } func (x *ShowRes) Reset() { *x = ShowRes{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ShowRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*ShowRes) ProtoMessage() {} func (x *ShowRes) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 ShowRes.ProtoReflect.Descriptor instead. func (*ShowRes) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{5} } func (x *ShowRes) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *ShowRes) GetRewardTitle() string { if x != nil { return x.RewardTitle } return "" } func (x *ShowRes) GetReceiveType() int32 { if x != nil { return x.ReceiveType } return 0 } func (x *ShowRes) GetUrlId() int64 { if x != nil { return x.UrlId } return 0 } func (x *ShowRes) GetContact() string { if x != nil { return x.Contact } return "" } func (x *ShowRes) GetKvData() []*ShowRes_KV { if x != nil { return x.KvData } return nil } func (x *ShowRes) GetLangs() []*ShowRes_Lang { if x != nil { return x.Langs } return nil } func (x *ShowRes) GetFormId() int64 { if x != nil { return x.FormId } return 0 } func (x *ShowRes) GetRelateNum() int64 { if x != nil { return x.RelateNum } return 0 } func (x *ShowRes) GetDyRewardType() int32 { if x != nil { return x.DyRewardType } return 0 } type StoreReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectHashId string `protobuf:"bytes,1,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id RewardTitle string `protobuf:"bytes,2,opt,name=reward_title,json=rewardTitle,proto3" json:"reward_title,omitempty"` //奖品标题 ReceiveType int32 `protobuf:"varint,3,opt,name=receive_type,json=receiveType,proto3" json:"receive_type,omitempty"` //发放类型(1-系统发放,2-联系客服,4-提交表单) UrlId int64 `protobuf:"varint,4,opt,name=url_id,json=urlId,proto3" json:"url_id,omitempty"` //回调地址id Contact string `protobuf:"bytes,5,opt,name=contact,proto3" json:"contact,omitempty"` //联系方式 KvData []*StoreReq_KV `protobuf:"bytes,6,rep,name=kv_data,json=kvData,proto3" json:"kv_data,omitempty"` //键值数据 Langs []*StoreReq_Lang `protobuf:"bytes,7,rep,name=langs,proto3" json:"langs,omitempty"` //语言数据 FormId int64 `protobuf:"varint,8,opt,name=form_id,json=formId,proto3" json:"form_id,omitempty"` //表单id DyRewardType int32 `protobuf:"varint,9,opt,name=dy_reward_type,json=dyRewardType,proto3" json:"dy_reward_type,omitempty"` //动态奖品内容类型(0-无,1-兑换码) Source int32 `protobuf:"varint,10,opt,name=source,proto3" json:"source,omitempty"` //数据来源(0-后台创建,1-奖品数据迁移,2-api创建) } func (x *StoreReq) Reset() { *x = StoreReq{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StoreReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*StoreReq) ProtoMessage() {} func (x *StoreReq) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 StoreReq.ProtoReflect.Descriptor instead. func (*StoreReq) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{6} } func (x *StoreReq) GetProjectHashId() string { if x != nil { return x.ProjectHashId } return "" } func (x *StoreReq) GetRewardTitle() string { if x != nil { return x.RewardTitle } return "" } func (x *StoreReq) GetReceiveType() int32 { if x != nil { return x.ReceiveType } return 0 } func (x *StoreReq) GetUrlId() int64 { if x != nil { return x.UrlId } return 0 } func (x *StoreReq) GetContact() string { if x != nil { return x.Contact } return "" } func (x *StoreReq) GetKvData() []*StoreReq_KV { if x != nil { return x.KvData } return nil } func (x *StoreReq) GetLangs() []*StoreReq_Lang { if x != nil { return x.Langs } return nil } func (x *StoreReq) GetFormId() int64 { if x != nil { return x.FormId } return 0 } func (x *StoreReq) GetDyRewardType() int32 { if x != nil { return x.DyRewardType } return 0 } func (x *StoreReq) GetSource() int32 { if x != nil { return x.Source } return 0 } type StoreRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //奖品id } func (x *StoreRes) Reset() { *x = StoreRes{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StoreRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*StoreRes) ProtoMessage() {} func (x *StoreRes) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 StoreRes.ProtoReflect.Descriptor instead. func (*StoreRes) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{7} } func (x *StoreRes) GetId() int64 { if x != nil { return x.Id } return 0 } type UpdateReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectHashId string `protobuf:"bytes,1,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id Id int64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` //奖品id RewardTitle string `protobuf:"bytes,3,opt,name=reward_title,json=rewardTitle,proto3" json:"reward_title,omitempty"` //奖品标题 ReceiveType int32 `protobuf:"varint,4,opt,name=receive_type,json=receiveType,proto3" json:"receive_type,omitempty"` //发放类型(1-系统发放,2-联系客服,4-提交表单) UrlId int64 `protobuf:"varint,5,opt,name=url_id,json=urlId,proto3" json:"url_id,omitempty"` //回调地址id Contact string `protobuf:"bytes,6,opt,name=contact,proto3" json:"contact,omitempty"` //联系方式 KvData []*UpdateReq_KV `protobuf:"bytes,7,rep,name=kv_data,json=kvData,proto3" json:"kv_data,omitempty"` //键值数据 Langs []*UpdateReq_Lang `protobuf:"bytes,8,rep,name=langs,proto3" json:"langs,omitempty"` //语言数据 FormId int64 `protobuf:"varint,9,opt,name=form_id,json=formId,proto3" json:"form_id,omitempty"` //表单id DyRewardType int32 `protobuf:"varint,10,opt,name=dy_reward_type,json=dyRewardType,proto3" json:"dy_reward_type,omitempty"` //动态奖品内容类型(0-无,1-兑换码) } func (x *UpdateReq) Reset() { *x = UpdateReq{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateReq) ProtoMessage() {} func (x *UpdateReq) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 UpdateReq.ProtoReflect.Descriptor instead. func (*UpdateReq) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{8} } func (x *UpdateReq) GetProjectHashId() string { if x != nil { return x.ProjectHashId } return "" } func (x *UpdateReq) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *UpdateReq) GetRewardTitle() string { if x != nil { return x.RewardTitle } return "" } func (x *UpdateReq) GetReceiveType() int32 { if x != nil { return x.ReceiveType } return 0 } func (x *UpdateReq) GetUrlId() int64 { if x != nil { return x.UrlId } return 0 } func (x *UpdateReq) GetContact() string { if x != nil { return x.Contact } return "" } func (x *UpdateReq) GetKvData() []*UpdateReq_KV { if x != nil { return x.KvData } return nil } func (x *UpdateReq) GetLangs() []*UpdateReq_Lang { if x != nil { return x.Langs } return nil } func (x *UpdateReq) GetFormId() int64 { if x != nil { return x.FormId } return 0 } func (x *UpdateReq) GetDyRewardType() int32 { if x != nil { return x.DyRewardType } return 0 } type UpdateRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //奖品id } func (x *UpdateRes) Reset() { *x = UpdateRes{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateRes) ProtoMessage() {} func (x *UpdateRes) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 UpdateRes.ProtoReflect.Descriptor instead. func (*UpdateRes) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{9} } func (x *UpdateRes) GetId() int64 { if x != nil { return x.Id } return 0 } type DestroyReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectHashId string `protobuf:"bytes,1,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id Ids string `protobuf:"bytes,2,opt,name=ids,proto3" json:"ids,omitempty"` //奖品id,多个用逗号分割 } func (x *DestroyReq) Reset() { *x = DestroyReq{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DestroyReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*DestroyReq) ProtoMessage() {} func (x *DestroyReq) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 DestroyReq.ProtoReflect.Descriptor instead. func (*DestroyReq) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{10} } func (x *DestroyReq) GetProjectHashId() string { if x != nil { return x.ProjectHashId } return "" } func (x *DestroyReq) GetIds() string { if x != nil { return x.Ids } return "" } type DestroyRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"` //还关联活动的奖品id } func (x *DestroyRes) Reset() { *x = DestroyRes{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DestroyRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*DestroyRes) ProtoMessage() {} func (x *DestroyRes) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 DestroyRes.ProtoReflect.Descriptor instead. func (*DestroyRes) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{11} } func (x *DestroyRes) GetIds() []string { if x != nil { return x.Ids } return nil } type UrlListReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectHashId string `protobuf:"bytes,1,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id OrderType int32 `protobuf:"varint,2,opt,name=order_type,json=orderType,proto3" json:"order_type,omitempty"` //排序类型(1-创建时间升序),其他默认 } func (x *UrlListReq) Reset() { *x = UrlListReq{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UrlListReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*UrlListReq) ProtoMessage() {} func (x *UrlListReq) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 UrlListReq.ProtoReflect.Descriptor instead. func (*UrlListReq) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{12} } func (x *UrlListReq) GetProjectHashId() string { if x != nil { return x.ProjectHashId } return "" } func (x *UrlListReq) GetOrderType() int32 { if x != nil { return x.OrderType } return 0 } type UrlListRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*UrlListRes_One `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` //列表数据 } func (x *UrlListRes) Reset() { *x = UrlListRes{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UrlListRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*UrlListRes) ProtoMessage() {} func (x *UrlListRes) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 UrlListRes.ProtoReflect.Descriptor instead. func (*UrlListRes) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{13} } func (x *UrlListRes) GetList() []*UrlListRes_One { if x != nil { return x.List } return nil } type UrlStoreReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectHashId string `protobuf:"bytes,1,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` //回调地址说明 Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"` //回调地址 Source int32 `protobuf:"varint,4,opt,name=source,proto3" json:"source,omitempty"` //数据来源(0-后台创建,1-奖品数据迁移,2-api创建) Headers []*UrlStoreReq_Header `protobuf:"bytes,5,rep,name=headers,proto3" json:"headers,omitempty"` //头信息 } func (x *UrlStoreReq) Reset() { *x = UrlStoreReq{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UrlStoreReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*UrlStoreReq) ProtoMessage() {} func (x *UrlStoreReq) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 UrlStoreReq.ProtoReflect.Descriptor instead. func (*UrlStoreReq) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{14} } func (x *UrlStoreReq) GetProjectHashId() string { if x != nil { return x.ProjectHashId } return "" } func (x *UrlStoreReq) GetTitle() string { if x != nil { return x.Title } return "" } func (x *UrlStoreReq) GetUrl() string { if x != nil { return x.Url } return "" } func (x *UrlStoreReq) GetSource() int32 { if x != nil { return x.Source } return 0 } func (x *UrlStoreReq) GetHeaders() []*UrlStoreReq_Header { if x != nil { return x.Headers } return nil } type UrlStoreRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //地址id } func (x *UrlStoreRes) Reset() { *x = UrlStoreRes{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UrlStoreRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*UrlStoreRes) ProtoMessage() {} func (x *UrlStoreRes) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 UrlStoreRes.ProtoReflect.Descriptor instead. func (*UrlStoreRes) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{15} } func (x *UrlStoreRes) GetId() int64 { if x != nil { return x.Id } return 0 } type UrlUpdateReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectHashId string `protobuf:"bytes,1,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id Id int64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` //地址id Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` //回调地址说明 Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url,omitempty"` //回调地址 Headers []*UrlUpdateReq_Header `protobuf:"bytes,5,rep,name=headers,proto3" json:"headers,omitempty"` //头信息 } func (x *UrlUpdateReq) Reset() { *x = UrlUpdateReq{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UrlUpdateReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*UrlUpdateReq) ProtoMessage() {} func (x *UrlUpdateReq) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 UrlUpdateReq.ProtoReflect.Descriptor instead. func (*UrlUpdateReq) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{16} } func (x *UrlUpdateReq) GetProjectHashId() string { if x != nil { return x.ProjectHashId } return "" } func (x *UrlUpdateReq) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *UrlUpdateReq) GetTitle() string { if x != nil { return x.Title } return "" } func (x *UrlUpdateReq) GetUrl() string { if x != nil { return x.Url } return "" } func (x *UrlUpdateReq) GetHeaders() []*UrlUpdateReq_Header { if x != nil { return x.Headers } return nil } type UrlUpdateRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //地址id } func (x *UrlUpdateRes) Reset() { *x = UrlUpdateRes{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UrlUpdateRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*UrlUpdateRes) ProtoMessage() {} func (x *UrlUpdateRes) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 UrlUpdateRes.ProtoReflect.Descriptor instead. func (*UrlUpdateRes) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{17} } func (x *UrlUpdateRes) GetId() int64 { if x != nil { return x.Id } return 0 } type UrlDestroyReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectHashId string `protobuf:"bytes,1,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id Id int64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` //地址id } func (x *UrlDestroyReq) Reset() { *x = UrlDestroyReq{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UrlDestroyReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*UrlDestroyReq) ProtoMessage() {} func (x *UrlDestroyReq) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 UrlDestroyReq.ProtoReflect.Descriptor instead. func (*UrlDestroyReq) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{18} } func (x *UrlDestroyReq) GetProjectHashId() string { if x != nil { return x.ProjectHashId } return "" } func (x *UrlDestroyReq) GetId() int64 { if x != nil { return x.Id } return 0 } type UrlDestroyRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *UrlDestroyRes) Reset() { *x = UrlDestroyRes{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UrlDestroyRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*UrlDestroyRes) ProtoMessage() {} func (x *UrlDestroyRes) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 UrlDestroyRes.ProtoReflect.Descriptor instead. func (*UrlDestroyRes) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{19} } type FormListReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"` //当前页 PerPage int32 `protobuf:"varint,2,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"` //每页条数 ProjectHashId string `protobuf:"bytes,3,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` //表单标题 } func (x *FormListReq) Reset() { *x = FormListReq{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FormListReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*FormListReq) ProtoMessage() {} func (x *FormListReq) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 FormListReq.ProtoReflect.Descriptor instead. func (*FormListReq) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{20} } func (x *FormListReq) GetPage() int32 { if x != nil { return x.Page } return 0 } func (x *FormListReq) GetPerPage() int32 { if x != nil { return x.PerPage } return 0 } func (x *FormListReq) GetProjectHashId() string { if x != nil { return x.ProjectHashId } return "" } func (x *FormListReq) GetTitle() string { if x != nil { return x.Title } return "" } type FormListRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*FormListRes_One `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` //列表数据 Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"` //列表总数 } func (x *FormListRes) Reset() { *x = FormListRes{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FormListRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*FormListRes) ProtoMessage() {} func (x *FormListRes) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 FormListRes.ProtoReflect.Descriptor instead. func (*FormListRes) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{21} } func (x *FormListRes) GetList() []*FormListRes_One { if x != nil { return x.List } return nil } func (x *FormListRes) GetTotal() int64 { if x != nil { return x.Total } return 0 } type FormSelectReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectHashId string `protobuf:"bytes,1,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id } func (x *FormSelectReq) Reset() { *x = FormSelectReq{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FormSelectReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*FormSelectReq) ProtoMessage() {} func (x *FormSelectReq) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 FormSelectReq.ProtoReflect.Descriptor instead. func (*FormSelectReq) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{22} } func (x *FormSelectReq) GetProjectHashId() string { if x != nil { return x.ProjectHashId } return "" } type FormSelectRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*FormSelectRes_One `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` //列表数据 } func (x *FormSelectRes) Reset() { *x = FormSelectRes{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FormSelectRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*FormSelectRes) ProtoMessage() {} func (x *FormSelectRes) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 FormSelectRes.ProtoReflect.Descriptor instead. func (*FormSelectRes) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{23} } func (x *FormSelectRes) GetList() []*FormSelectRes_One { if x != nil { return x.List } return nil } type FormStoreReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectHashId string `protobuf:"bytes,1,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` //表单标题 Items []*FormStoreReq_Item `protobuf:"bytes,3,rep,name=items,proto3" json:"items,omitempty"` //表单项 } func (x *FormStoreReq) Reset() { *x = FormStoreReq{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FormStoreReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*FormStoreReq) ProtoMessage() {} func (x *FormStoreReq) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 FormStoreReq.ProtoReflect.Descriptor instead. func (*FormStoreReq) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{24} } func (x *FormStoreReq) GetProjectHashId() string { if x != nil { return x.ProjectHashId } return "" } func (x *FormStoreReq) GetTitle() string { if x != nil { return x.Title } return "" } func (x *FormStoreReq) GetItems() []*FormStoreReq_Item { if x != nil { return x.Items } return nil } type FormStoreRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //表单id } func (x *FormStoreRes) Reset() { *x = FormStoreRes{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FormStoreRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*FormStoreRes) ProtoMessage() {} func (x *FormStoreRes) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 FormStoreRes.ProtoReflect.Descriptor instead. func (*FormStoreRes) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{25} } func (x *FormStoreRes) GetId() int64 { if x != nil { return x.Id } return 0 } type FormUpdateReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //表单ID Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` //表单标题 Items []*FormUpdateReq_Item `protobuf:"bytes,3,rep,name=items,proto3" json:"items,omitempty"` //表单项 } func (x *FormUpdateReq) Reset() { *x = FormUpdateReq{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FormUpdateReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*FormUpdateReq) ProtoMessage() {} func (x *FormUpdateReq) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 FormUpdateReq.ProtoReflect.Descriptor instead. func (*FormUpdateReq) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{26} } func (x *FormUpdateReq) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *FormUpdateReq) GetTitle() string { if x != nil { return x.Title } return "" } func (x *FormUpdateReq) GetItems() []*FormUpdateReq_Item { if x != nil { return x.Items } return nil } type FormUpdateRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //表单id } func (x *FormUpdateRes) Reset() { *x = FormUpdateRes{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FormUpdateRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*FormUpdateRes) ProtoMessage() {} func (x *FormUpdateRes) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 FormUpdateRes.ProtoReflect.Descriptor instead. func (*FormUpdateRes) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{27} } func (x *FormUpdateRes) GetId() int64 { if x != nil { return x.Id } return 0 } type FormDestroyReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectHashId string `protobuf:"bytes,1,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id Id int64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` //表单ID } func (x *FormDestroyReq) Reset() { *x = FormDestroyReq{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FormDestroyReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*FormDestroyReq) ProtoMessage() {} func (x *FormDestroyReq) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 FormDestroyReq.ProtoReflect.Descriptor instead. func (*FormDestroyReq) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{28} } func (x *FormDestroyReq) GetProjectHashId() string { if x != nil { return x.ProjectHashId } return "" } func (x *FormDestroyReq) GetId() int64 { if x != nil { return x.Id } return 0 } type FormDestroyRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //表单id } func (x *FormDestroyRes) Reset() { *x = FormDestroyRes{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FormDestroyRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*FormDestroyRes) ProtoMessage() {} func (x *FormDestroyRes) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 FormDestroyRes.ProtoReflect.Descriptor instead. func (*FormDestroyRes) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{29} } func (x *FormDestroyRes) GetId() int64 { if x != nil { return x.Id } return 0 } type FormsReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId int64 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` //项目id Ids []int64 `protobuf:"varint,2,rep,packed,name=ids,proto3" json:"ids,omitempty"` //表单id } func (x *FormsReq) Reset() { *x = FormsReq{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FormsReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*FormsReq) ProtoMessage() {} func (x *FormsReq) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 FormsReq.ProtoReflect.Descriptor instead. func (*FormsReq) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{30} } func (x *FormsReq) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *FormsReq) GetIds() []int64 { if x != nil { return x.Ids } return nil } type FormsRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*FormsRes_One `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` //列表数据 } func (x *FormsRes) Reset() { *x = FormsRes{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FormsRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*FormsRes) ProtoMessage() {} func (x *FormsRes) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 FormsRes.ProtoReflect.Descriptor instead. func (*FormsRes) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{31} } func (x *FormsRes) GetList() []*FormsRes_One { if x != nil { return x.List } return nil } type UrlsReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId int64 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` //项目id Ids []int64 `protobuf:"varint,2,rep,packed,name=ids,proto3" json:"ids,omitempty"` //地址id } func (x *UrlsReq) Reset() { *x = UrlsReq{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UrlsReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*UrlsReq) ProtoMessage() {} func (x *UrlsReq) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 UrlsReq.ProtoReflect.Descriptor instead. func (*UrlsReq) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{32} } func (x *UrlsReq) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *UrlsReq) GetIds() []int64 { if x != nil { return x.Ids } return nil } type UrlsRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*UrlsRes_One `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` //列表数据 } func (x *UrlsRes) Reset() { *x = UrlsRes{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UrlsRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*UrlsRes) ProtoMessage() {} func (x *UrlsRes) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 UrlsRes.ProtoReflect.Descriptor instead. func (*UrlsRes) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{33} } func (x *UrlsRes) GetList() []*UrlsRes_One { if x != nil { return x.List } return nil } type RewardsReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId int64 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` //项目id Ids []int64 `protobuf:"varint,2,rep,packed,name=ids,proto3" json:"ids,omitempty"` //奖品id LangMark string `protobuf:"bytes,3,opt,name=lang_mark,json=langMark,proto3" json:"lang_mark,omitempty"` //语言标识 } func (x *RewardsReq) Reset() { *x = RewardsReq{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RewardsReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*RewardsReq) ProtoMessage() {} func (x *RewardsReq) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 RewardsReq.ProtoReflect.Descriptor instead. func (*RewardsReq) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{34} } func (x *RewardsReq) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *RewardsReq) GetIds() []int64 { if x != nil { return x.Ids } return nil } func (x *RewardsReq) GetLangMark() string { if x != nil { return x.LangMark } return "" } type RewardsRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*RewardsRes_One `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` //列表数据 } func (x *RewardsRes) Reset() { *x = RewardsRes{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RewardsRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*RewardsRes) ProtoMessage() {} func (x *RewardsRes) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 RewardsRes.ProtoReflect.Descriptor instead. func (*RewardsRes) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{35} } func (x *RewardsRes) GetList() []*RewardsRes_One { if x != nil { return x.List } return nil } type RelateRewardReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId int64 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` //项目id RelateId int64 `protobuf:"varint,2,opt,name=relate_id,json=relateId,proto3" json:"relate_id,omitempty"` //关联id RelateTable string `protobuf:"bytes,3,opt,name=relate_table,json=relateTable,proto3" json:"relate_table,omitempty"` //关联表名字,如果不是dplk_db库,建议带上库名字如dbname.relate_table_name RewardIds []int64 `protobuf:"varint,4,rep,packed,name=reward_ids,json=rewardIds,proto3" json:"reward_ids,omitempty"` //关联的奖品id集合 } func (x *RelateRewardReq) Reset() { *x = RelateRewardReq{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RelateRewardReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*RelateRewardReq) ProtoMessage() {} func (x *RelateRewardReq) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 RelateRewardReq.ProtoReflect.Descriptor instead. func (*RelateRewardReq) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{36} } func (x *RelateRewardReq) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *RelateRewardReq) GetRelateId() int64 { if x != nil { return x.RelateId } return 0 } func (x *RelateRewardReq) GetRelateTable() string { if x != nil { return x.RelateTable } return "" } func (x *RelateRewardReq) GetRewardIds() []int64 { if x != nil { return x.RewardIds } return nil } type RelateRewardRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RelateRewardRes) Reset() { *x = RelateRewardRes{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RelateRewardRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*RelateRewardRes) ProtoMessage() {} func (x *RelateRewardRes) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 RelateRewardRes.ProtoReflect.Descriptor instead. func (*RelateRewardRes) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{37} } type PushRewardReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Source string `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` //来源标识,wall-积分墙,center-任务中心 SourceId int64 `protobuf:"varint,2,opt,name=source_id,json=sourceId,proto3" json:"source_id,omitempty"` //来源id,如:来源是campaign,这个就写campaign_id,没有填写0 SourceHashId string `protobuf:"bytes,3,opt,name=source_hash_id,json=sourceHashId,proto3" json:"source_hash_id,omitempty"` //来源hash_id,推送 SourceSecondId int64 `protobuf:"varint,4,opt,name=source_second_id,json=sourceSecondId,proto3" json:"source_second_id,omitempty"` //来源第二级id,如:来源是任务中心,奖品任务中心的某个模块发放,这里就是模块id,没有填写0 RelateId int64 `protobuf:"varint,5,opt,name=relate_id,json=relateId,proto3" json:"relate_id,omitempty"` //关联id,用于后续对比查询,如:发放记录的ID RelateHashId string `protobuf:"bytes,6,opt,name=relate_hash_id,json=relateHashId,proto3" json:"relate_hash_id,omitempty"` //推送时给第三方的id Title string `protobuf:"bytes,7,opt,name=title,proto3" json:"title,omitempty"` //关联id,用于后续对比查询,如:发放记录的ID RewardId int64 `protobuf:"varint,8,opt,name=reward_id,json=rewardId,proto3" json:"reward_id,omitempty"` //推送的奖品库存id Num int32 `protobuf:"varint,9,opt,name=num,proto3" json:"num,omitempty"` //奖品发放数量 UserId string `protobuf:"bytes,10,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` //第三方应用的用户id UserPlatform string `protobuf:"bytes,11,opt,name=user_platform,json=userPlatform,proto3" json:"user_platform,omitempty"` //活动用户设备平台 ParentUserId string `protobuf:"bytes,12,opt,name=parent_user_id,json=parentUserId,proto3" json:"parent_user_id,omitempty"` //上级用户id ParentPlatform string `protobuf:"bytes,13,opt,name=parent_platform,json=parentPlatform,proto3" json:"parent_platform,omitempty"` //活动用户的上级用户设备平台 Lang string `protobuf:"bytes,14,opt,name=lang,proto3" json:"lang,omitempty"` //用户语言标识 Sync int32 `protobuf:"varint,15,opt,name=sync,proto3" json:"sync,omitempty"` //是否同步请求(0-否,1-是) RewardType int32 `protobuf:"varint,16,opt,name=reward_type,json=rewardType,proto3" json:"reward_type,omitempty"` //发放类型(1-活动奖品,2-站外活动奖品,3-额外奖品,4-新人奖品,5-养成阶段奖励,6-任务奖励,7-子活动奖励,8-兑换奖励),没有合适的要加 CampaignId int64 `protobuf:"varint,17,opt,name=campaign_id,json=campaignId,proto3" json:"campaign_id,omitempty"` //推送的活动id } func (x *PushRewardReq) Reset() { *x = PushRewardReq{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PushRewardReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*PushRewardReq) ProtoMessage() {} func (x *PushRewardReq) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 PushRewardReq.ProtoReflect.Descriptor instead. func (*PushRewardReq) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{38} } func (x *PushRewardReq) GetSource() string { if x != nil { return x.Source } return "" } func (x *PushRewardReq) GetSourceId() int64 { if x != nil { return x.SourceId } return 0 } func (x *PushRewardReq) GetSourceHashId() string { if x != nil { return x.SourceHashId } return "" } func (x *PushRewardReq) GetSourceSecondId() int64 { if x != nil { return x.SourceSecondId } return 0 } func (x *PushRewardReq) GetRelateId() int64 { if x != nil { return x.RelateId } return 0 } func (x *PushRewardReq) GetRelateHashId() string { if x != nil { return x.RelateHashId } return "" } func (x *PushRewardReq) GetTitle() string { if x != nil { return x.Title } return "" } func (x *PushRewardReq) GetRewardId() int64 { if x != nil { return x.RewardId } return 0 } func (x *PushRewardReq) GetNum() int32 { if x != nil { return x.Num } return 0 } func (x *PushRewardReq) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *PushRewardReq) GetUserPlatform() string { if x != nil { return x.UserPlatform } return "" } func (x *PushRewardReq) GetParentUserId() string { if x != nil { return x.ParentUserId } return "" } func (x *PushRewardReq) GetParentPlatform() string { if x != nil { return x.ParentPlatform } return "" } func (x *PushRewardReq) GetLang() string { if x != nil { return x.Lang } return "" } func (x *PushRewardReq) GetSync() int32 { if x != nil { return x.Sync } return 0 } func (x *PushRewardReq) GetRewardType() int32 { if x != nil { return x.RewardType } return 0 } func (x *PushRewardReq) GetCampaignId() int64 { if x != nil { return x.CampaignId } return 0 } type PushRewardRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` //当前发放任务id,固定20位字符串 RewardVal string `protobuf:"bytes,2,opt,name=reward_val,json=rewardVal,proto3" json:"reward_val,omitempty"` //回调后接收到的数据 Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status,omitempty"` //状态(1-推送中,2-完成,3-失败) FailType string `protobuf:"bytes,4,opt,name=fail_type,json=failType,proto3" json:"fail_type,omitempty"` //失败类型,system-系统出错,client-客户的错误,undefined-未知错误 FailMsg string `protobuf:"bytes,5,opt,name=fail_msg,json=failMsg,proto3" json:"fail_msg,omitempty"` //错误信息 } func (x *PushRewardRes) Reset() { *x = PushRewardRes{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PushRewardRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*PushRewardRes) ProtoMessage() {} func (x *PushRewardRes) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 PushRewardRes.ProtoReflect.Descriptor instead. func (*PushRewardRes) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{39} } func (x *PushRewardRes) GetTaskId() string { if x != nil { return x.TaskId } return "" } func (x *PushRewardRes) GetRewardVal() string { if x != nil { return x.RewardVal } return "" } func (x *PushRewardRes) GetStatus() int32 { if x != nil { return x.Status } return 0 } func (x *PushRewardRes) GetFailType() string { if x != nil { return x.FailType } return "" } func (x *PushRewardRes) GetFailMsg() string { if x != nil { return x.FailMsg } return "" } type RewardIdsReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId int64 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` //项目id RewardTitle string `protobuf:"bytes,2,opt,name=reward_title,json=rewardTitle,proto3" json:"reward_title,omitempty"` //获取奖品标题 } func (x *RewardIdsReq) Reset() { *x = RewardIdsReq{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RewardIdsReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*RewardIdsReq) ProtoMessage() {} func (x *RewardIdsReq) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 RewardIdsReq.ProtoReflect.Descriptor instead. func (*RewardIdsReq) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{40} } func (x *RewardIdsReq) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *RewardIdsReq) GetRewardTitle() string { if x != nil { return x.RewardTitle } return "" } type RewardIdsRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Ids []int64 `protobuf:"varint,1,rep,packed,name=ids,proto3" json:"ids,omitempty"` //列表数据 } func (x *RewardIdsRes) Reset() { *x = RewardIdsRes{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RewardIdsRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*RewardIdsRes) ProtoMessage() {} func (x *RewardIdsRes) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 RewardIdsRes.ProtoReflect.Descriptor instead. func (*RewardIdsRes) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{41} } func (x *RewardIdsRes) GetIds() []int64 { if x != nil { return x.Ids } return nil } type ListRes_One struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //奖品id RewardTitle string `protobuf:"bytes,2,opt,name=reward_title,json=rewardTitle,proto3" json:"reward_title,omitempty"` //奖品标题 Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` //奖品名称 ImgUrl string `protobuf:"bytes,4,opt,name=img_url,json=imgUrl,proto3" json:"img_url,omitempty"` //奖品图片 ReceiveType int32 `protobuf:"varint,5,opt,name=receive_type,json=receiveType,proto3" json:"receive_type,omitempty"` //发放类型(1-系统发放,2-联系客服,4-提交表单) RelatedNum int64 `protobuf:"varint,6,opt,name=related_num,json=relatedNum,proto3" json:"related_num,omitempty"` //关联数量 KvData []*ListRes_KV `protobuf:"bytes,7,rep,name=kv_data,json=kvData,proto3" json:"kv_data,omitempty"` //键值数据 Langs []*ListRes_Lang `protobuf:"bytes,8,rep,name=langs,proto3" json:"langs,omitempty"` //语言数据 DyRewardType int32 `protobuf:"varint,9,opt,name=dy_reward_type,json=dyRewardType,proto3" json:"dy_reward_type,omitempty"` //动态奖品内容类型(0-无,1-兑换码) CreatedAt int64 `protobuf:"varint,10,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` //创建时间 Contact string `protobuf:"bytes,11,opt,name=contact,proto3" json:"contact,omitempty"` //联系方式 UrlId int64 `protobuf:"varint,12,opt,name=url_id,json=urlId,proto3" json:"url_id,omitempty"` //回调地址id } func (x *ListRes_One) Reset() { *x = ListRes_One{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListRes_One) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListRes_One) ProtoMessage() {} func (x *ListRes_One) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 ListRes_One.ProtoReflect.Descriptor instead. func (*ListRes_One) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{1, 0} } func (x *ListRes_One) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *ListRes_One) GetRewardTitle() string { if x != nil { return x.RewardTitle } return "" } func (x *ListRes_One) GetTitle() string { if x != nil { return x.Title } return "" } func (x *ListRes_One) GetImgUrl() string { if x != nil { return x.ImgUrl } return "" } func (x *ListRes_One) GetReceiveType() int32 { if x != nil { return x.ReceiveType } return 0 } func (x *ListRes_One) GetRelatedNum() int64 { if x != nil { return x.RelatedNum } return 0 } func (x *ListRes_One) GetKvData() []*ListRes_KV { if x != nil { return x.KvData } return nil } func (x *ListRes_One) GetLangs() []*ListRes_Lang { if x != nil { return x.Langs } return nil } func (x *ListRes_One) GetDyRewardType() int32 { if x != nil { return x.DyRewardType } return 0 } func (x *ListRes_One) GetCreatedAt() int64 { if x != nil { return x.CreatedAt } return 0 } func (x *ListRes_One) GetContact() string { if x != nil { return x.Contact } return "" } func (x *ListRes_One) GetUrlId() int64 { if x != nil { return x.UrlId } return 0 } type ListRes_KV struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` //键 Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` //值 IsShow int32 `protobuf:"varint,3,opt,name=is_show,json=isShow,proto3" json:"is_show,omitempty"` //是否展示(0-否,1-是) } func (x *ListRes_KV) Reset() { *x = ListRes_KV{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListRes_KV) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListRes_KV) ProtoMessage() {} func (x *ListRes_KV) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 ListRes_KV.ProtoReflect.Descriptor instead. func (*ListRes_KV) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{1, 1} } func (x *ListRes_KV) GetKey() string { if x != nil { return x.Key } return "" } func (x *ListRes_KV) GetValue() string { if x != nil { return x.Value } return "" } func (x *ListRes_KV) GetIsShow() int32 { if x != nil { return x.IsShow } return 0 } type ListRes_Lang struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Mark string `protobuf:"bytes,1,opt,name=mark,proto3" json:"mark,omitempty"` //语言标识 Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` //奖品名称 ImgUrl string `protobuf:"bytes,3,opt,name=img_url,json=imgUrl,proto3" json:"img_url,omitempty"` //奖品图片 IsDefault int32 `protobuf:"varint,4,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"` //是否默认语言(0-否,1-是) LangType int32 `protobuf:"varint,5,opt,name=lang_type,json=langType,proto3" json:"lang_type,omitempty"` //语言数字标识 ImgId int64 `protobuf:"varint,6,opt,name=img_id,json=imgId,proto3" json:"img_id,omitempty"` //奖品图片id } func (x *ListRes_Lang) Reset() { *x = ListRes_Lang{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListRes_Lang) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListRes_Lang) ProtoMessage() {} func (x *ListRes_Lang) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 ListRes_Lang.ProtoReflect.Descriptor instead. func (*ListRes_Lang) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{1, 2} } func (x *ListRes_Lang) GetMark() string { if x != nil { return x.Mark } return "" } func (x *ListRes_Lang) GetTitle() string { if x != nil { return x.Title } return "" } func (x *ListRes_Lang) GetImgUrl() string { if x != nil { return x.ImgUrl } return "" } func (x *ListRes_Lang) GetIsDefault() int32 { if x != nil { return x.IsDefault } return 0 } func (x *ListRes_Lang) GetLangType() int32 { if x != nil { return x.LangType } return 0 } func (x *ListRes_Lang) GetImgId() int64 { if x != nil { return x.ImgId } return 0 } type SelectRes_One struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //奖品id RewardTitle string `protobuf:"bytes,2,opt,name=reward_title,json=rewardTitle,proto3" json:"reward_title,omitempty"` //奖品标题 Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` //奖品名称 ImgUrl string `protobuf:"bytes,4,opt,name=img_url,json=imgUrl,proto3" json:"img_url,omitempty"` //奖品图片 LangMark string `protobuf:"bytes,5,opt,name=lang_mark,json=langMark,proto3" json:"lang_mark,omitempty"` //奖品语言 ReceiveType int32 `protobuf:"varint,6,opt,name=receive_type,json=receiveType,proto3" json:"receive_type,omitempty"` //发放类型(1-系统发放,2-联系客服,4-提交表单) KvData []*SelectRes_KV `protobuf:"bytes,7,rep,name=kv_data,json=kvData,proto3" json:"kv_data,omitempty"` //键值数据 Contact string `protobuf:"bytes,8,opt,name=contact,proto3" json:"contact,omitempty"` //联系方式 Url string `protobuf:"bytes,9,opt,name=url,proto3" json:"url,omitempty"` //回调地址 FormTitle string `protobuf:"bytes,10,opt,name=form_title,json=formTitle,proto3" json:"form_title,omitempty"` //表单标题 } func (x *SelectRes_One) Reset() { *x = SelectRes_One{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SelectRes_One) String() string { return protoimpl.X.MessageStringOf(x) } func (*SelectRes_One) ProtoMessage() {} func (x *SelectRes_One) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 SelectRes_One.ProtoReflect.Descriptor instead. func (*SelectRes_One) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{3, 0} } func (x *SelectRes_One) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *SelectRes_One) GetRewardTitle() string { if x != nil { return x.RewardTitle } return "" } func (x *SelectRes_One) GetTitle() string { if x != nil { return x.Title } return "" } func (x *SelectRes_One) GetImgUrl() string { if x != nil { return x.ImgUrl } return "" } func (x *SelectRes_One) GetLangMark() string { if x != nil { return x.LangMark } return "" } func (x *SelectRes_One) GetReceiveType() int32 { if x != nil { return x.ReceiveType } return 0 } func (x *SelectRes_One) GetKvData() []*SelectRes_KV { if x != nil { return x.KvData } return nil } func (x *SelectRes_One) GetContact() string { if x != nil { return x.Contact } return "" } func (x *SelectRes_One) GetUrl() string { if x != nil { return x.Url } return "" } func (x *SelectRes_One) GetFormTitle() string { if x != nil { return x.FormTitle } return "" } type SelectRes_KV struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` //键 Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` //值 IsShow int32 `protobuf:"varint,3,opt,name=is_show,json=isShow,proto3" json:"is_show,omitempty"` //是否展示(0-否,1-是) } func (x *SelectRes_KV) Reset() { *x = SelectRes_KV{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SelectRes_KV) String() string { return protoimpl.X.MessageStringOf(x) } func (*SelectRes_KV) ProtoMessage() {} func (x *SelectRes_KV) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 SelectRes_KV.ProtoReflect.Descriptor instead. func (*SelectRes_KV) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{3, 1} } func (x *SelectRes_KV) GetKey() string { if x != nil { return x.Key } return "" } func (x *SelectRes_KV) GetValue() string { if x != nil { return x.Value } return "" } func (x *SelectRes_KV) GetIsShow() int32 { if x != nil { return x.IsShow } return 0 } type ShowRes_KV struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` //键 Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` //值 IsShow int32 `protobuf:"varint,3,opt,name=is_show,json=isShow,proto3" json:"is_show,omitempty"` //是否展示(0-否,1-是) } func (x *ShowRes_KV) Reset() { *x = ShowRes_KV{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ShowRes_KV) String() string { return protoimpl.X.MessageStringOf(x) } func (*ShowRes_KV) ProtoMessage() {} func (x *ShowRes_KV) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 ShowRes_KV.ProtoReflect.Descriptor instead. func (*ShowRes_KV) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{5, 0} } func (x *ShowRes_KV) GetKey() string { if x != nil { return x.Key } return "" } func (x *ShowRes_KV) GetValue() string { if x != nil { return x.Value } return "" } func (x *ShowRes_KV) GetIsShow() int32 { if x != nil { return x.IsShow } return 0 } type ShowRes_Lang struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Mark string `protobuf:"bytes,1,opt,name=mark,proto3" json:"mark,omitempty"` //语言标识 Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` //奖品名称 ImgUrl string `protobuf:"bytes,3,opt,name=img_url,json=imgUrl,proto3" json:"img_url,omitempty"` //奖品图片 IsDefault int32 `protobuf:"varint,4,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"` //是否默认语言(0-否,1-是) LangType int32 `protobuf:"varint,5,opt,name=lang_type,json=langType,proto3" json:"lang_type,omitempty"` //语言数字标识 OpenToUse int32 `protobuf:"varint,6,opt,name=open_to_use,json=openToUse,proto3" json:"open_to_use,omitempty"` //开启去使用(0-否,1-是) WebUrl string `protobuf:"bytes,7,opt,name=web_url,json=webUrl,proto3" json:"web_url,omitempty"` //Web端的跳转地址 AppParam string `protobuf:"bytes,8,opt,name=app_param,json=appParam,proto3" json:"app_param,omitempty"` //App端的跳转参数 PcParam string `protobuf:"bytes,9,opt,name=pc_param,json=pcParam,proto3" json:"pc_param,omitempty"` //App端的跳转参数 } func (x *ShowRes_Lang) Reset() { *x = ShowRes_Lang{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ShowRes_Lang) String() string { return protoimpl.X.MessageStringOf(x) } func (*ShowRes_Lang) ProtoMessage() {} func (x *ShowRes_Lang) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 ShowRes_Lang.ProtoReflect.Descriptor instead. func (*ShowRes_Lang) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{5, 1} } func (x *ShowRes_Lang) GetMark() string { if x != nil { return x.Mark } return "" } func (x *ShowRes_Lang) GetTitle() string { if x != nil { return x.Title } return "" } func (x *ShowRes_Lang) GetImgUrl() string { if x != nil { return x.ImgUrl } return "" } func (x *ShowRes_Lang) GetIsDefault() int32 { if x != nil { return x.IsDefault } return 0 } func (x *ShowRes_Lang) GetLangType() int32 { if x != nil { return x.LangType } return 0 } func (x *ShowRes_Lang) GetOpenToUse() int32 { if x != nil { return x.OpenToUse } return 0 } func (x *ShowRes_Lang) GetWebUrl() string { if x != nil { return x.WebUrl } return "" } func (x *ShowRes_Lang) GetAppParam() string { if x != nil { return x.AppParam } return "" } func (x *ShowRes_Lang) GetPcParam() string { if x != nil { return x.PcParam } return "" } type StoreReq_KV struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` //键 Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` //值 IsShow int32 `protobuf:"varint,3,opt,name=is_show,json=isShow,proto3" json:"is_show,omitempty"` //是否展示(0-否,1-是) } func (x *StoreReq_KV) Reset() { *x = StoreReq_KV{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StoreReq_KV) String() string { return protoimpl.X.MessageStringOf(x) } func (*StoreReq_KV) ProtoMessage() {} func (x *StoreReq_KV) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 StoreReq_KV.ProtoReflect.Descriptor instead. func (*StoreReq_KV) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{6, 0} } func (x *StoreReq_KV) GetKey() string { if x != nil { return x.Key } return "" } func (x *StoreReq_KV) GetValue() string { if x != nil { return x.Value } return "" } func (x *StoreReq_KV) GetIsShow() int32 { if x != nil { return x.IsShow } return 0 } type StoreReq_Lang struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Mark string `protobuf:"bytes,1,opt,name=mark,proto3" json:"mark,omitempty"` //语言标识 Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` //奖品名称 ImgUrl string `protobuf:"bytes,3,opt,name=img_url,json=imgUrl,proto3" json:"img_url,omitempty"` //奖品图片 IsDefault int32 `protobuf:"varint,4,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"` //是否默认语言(0-否,1-是) OpenToUse int32 `protobuf:"varint,5,opt,name=open_to_use,json=openToUse,proto3" json:"open_to_use,omitempty"` //开启去使用(0-否,1-是) WebUrl string `protobuf:"bytes,6,opt,name=web_url,json=webUrl,proto3" json:"web_url,omitempty"` //Web端的跳转地址 AppParam string `protobuf:"bytes,7,opt,name=app_param,json=appParam,proto3" json:"app_param,omitempty"` //App端的跳转参数 ImageId int64 `protobuf:"varint,8,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"` //图片id PcParam string `protobuf:"bytes,9,opt,name=pc_param,json=pcParam,proto3" json:"pc_param,omitempty"` //App端的跳转参数 } func (x *StoreReq_Lang) Reset() { *x = StoreReq_Lang{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StoreReq_Lang) String() string { return protoimpl.X.MessageStringOf(x) } func (*StoreReq_Lang) ProtoMessage() {} func (x *StoreReq_Lang) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 StoreReq_Lang.ProtoReflect.Descriptor instead. func (*StoreReq_Lang) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{6, 1} } func (x *StoreReq_Lang) GetMark() string { if x != nil { return x.Mark } return "" } func (x *StoreReq_Lang) GetTitle() string { if x != nil { return x.Title } return "" } func (x *StoreReq_Lang) GetImgUrl() string { if x != nil { return x.ImgUrl } return "" } func (x *StoreReq_Lang) GetIsDefault() int32 { if x != nil { return x.IsDefault } return 0 } func (x *StoreReq_Lang) GetOpenToUse() int32 { if x != nil { return x.OpenToUse } return 0 } func (x *StoreReq_Lang) GetWebUrl() string { if x != nil { return x.WebUrl } return "" } func (x *StoreReq_Lang) GetAppParam() string { if x != nil { return x.AppParam } return "" } func (x *StoreReq_Lang) GetImageId() int64 { if x != nil { return x.ImageId } return 0 } func (x *StoreReq_Lang) GetPcParam() string { if x != nil { return x.PcParam } return "" } type UpdateReq_KV struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` //键 Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` //值 IsShow int32 `protobuf:"varint,3,opt,name=is_show,json=isShow,proto3" json:"is_show,omitempty"` //是否展示(0-否,1-是) } func (x *UpdateReq_KV) Reset() { *x = UpdateReq_KV{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateReq_KV) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateReq_KV) ProtoMessage() {} func (x *UpdateReq_KV) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 UpdateReq_KV.ProtoReflect.Descriptor instead. func (*UpdateReq_KV) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{8, 0} } func (x *UpdateReq_KV) GetKey() string { if x != nil { return x.Key } return "" } func (x *UpdateReq_KV) GetValue() string { if x != nil { return x.Value } return "" } func (x *UpdateReq_KV) GetIsShow() int32 { if x != nil { return x.IsShow } return 0 } type UpdateReq_Lang struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Mark string `protobuf:"bytes,1,opt,name=mark,proto3" json:"mark,omitempty"` //语言标识 Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` //奖品名称 ImgUrl string `protobuf:"bytes,3,opt,name=img_url,json=imgUrl,proto3" json:"img_url,omitempty"` //奖品图片 IsDefault int32 `protobuf:"varint,4,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"` //是否默认语言(0-否,1-是) OpenToUse int32 `protobuf:"varint,5,opt,name=open_to_use,json=openToUse,proto3" json:"open_to_use,omitempty"` //开启去使用(0-否,1-是) WebUrl string `protobuf:"bytes,6,opt,name=web_url,json=webUrl,proto3" json:"web_url,omitempty"` //Web端的跳转地址 AppParam string `protobuf:"bytes,7,opt,name=app_param,json=appParam,proto3" json:"app_param,omitempty"` //App端的跳转参数 ImageId int64 `protobuf:"varint,8,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"` //图片id PcParam string `protobuf:"bytes,9,opt,name=pc_param,json=pcParam,proto3" json:"pc_param,omitempty"` //App端的跳转参数 } func (x *UpdateReq_Lang) Reset() { *x = UpdateReq_Lang{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateReq_Lang) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateReq_Lang) ProtoMessage() {} func (x *UpdateReq_Lang) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 UpdateReq_Lang.ProtoReflect.Descriptor instead. func (*UpdateReq_Lang) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{8, 1} } func (x *UpdateReq_Lang) GetMark() string { if x != nil { return x.Mark } return "" } func (x *UpdateReq_Lang) GetTitle() string { if x != nil { return x.Title } return "" } func (x *UpdateReq_Lang) GetImgUrl() string { if x != nil { return x.ImgUrl } return "" } func (x *UpdateReq_Lang) GetIsDefault() int32 { if x != nil { return x.IsDefault } return 0 } func (x *UpdateReq_Lang) GetOpenToUse() int32 { if x != nil { return x.OpenToUse } return 0 } func (x *UpdateReq_Lang) GetWebUrl() string { if x != nil { return x.WebUrl } return "" } func (x *UpdateReq_Lang) GetAppParam() string { if x != nil { return x.AppParam } return "" } func (x *UpdateReq_Lang) GetImageId() int64 { if x != nil { return x.ImageId } return 0 } func (x *UpdateReq_Lang) GetPcParam() string { if x != nil { return x.PcParam } return "" } type UrlListRes_One struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //回调地址id Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` //回调地址说明 Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"` //回调地址 Num int64 `protobuf:"varint,4,opt,name=num,proto3" json:"num,omitempty"` //关联奖品数量 CreatedAt int64 `protobuf:"varint,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` //创建时间 Headers []*UrlListRes_Header `protobuf:"bytes,6,rep,name=headers,proto3" json:"headers,omitempty"` //头信息 } func (x *UrlListRes_One) Reset() { *x = UrlListRes_One{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UrlListRes_One) String() string { return protoimpl.X.MessageStringOf(x) } func (*UrlListRes_One) ProtoMessage() {} func (x *UrlListRes_One) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 UrlListRes_One.ProtoReflect.Descriptor instead. func (*UrlListRes_One) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{13, 0} } func (x *UrlListRes_One) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *UrlListRes_One) GetTitle() string { if x != nil { return x.Title } return "" } func (x *UrlListRes_One) GetUrl() string { if x != nil { return x.Url } return "" } func (x *UrlListRes_One) GetNum() int64 { if x != nil { return x.Num } return 0 } func (x *UrlListRes_One) GetCreatedAt() int64 { if x != nil { return x.CreatedAt } return 0 } func (x *UrlListRes_One) GetHeaders() []*UrlListRes_Header { if x != nil { return x.Headers } return nil } type UrlListRes_Header struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` //回调头键 Mark string `protobuf:"bytes,2,opt,name=mark,proto3" json:"mark,omitempty"` //特殊键标识 Val string `protobuf:"bytes,3,opt,name=val,proto3" json:"val,omitempty"` //回调数值 } func (x *UrlListRes_Header) Reset() { *x = UrlListRes_Header{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UrlListRes_Header) String() string { return protoimpl.X.MessageStringOf(x) } func (*UrlListRes_Header) ProtoMessage() {} func (x *UrlListRes_Header) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 UrlListRes_Header.ProtoReflect.Descriptor instead. func (*UrlListRes_Header) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{13, 1} } func (x *UrlListRes_Header) GetKey() string { if x != nil { return x.Key } return "" } func (x *UrlListRes_Header) GetMark() string { if x != nil { return x.Mark } return "" } func (x *UrlListRes_Header) GetVal() string { if x != nil { return x.Val } return "" } type UrlStoreReq_Header struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` //回调头键 Mark string `protobuf:"bytes,2,opt,name=mark,proto3" json:"mark,omitempty"` //特殊键标识 Val string `protobuf:"bytes,3,opt,name=val,proto3" json:"val,omitempty"` //回调数值 } func (x *UrlStoreReq_Header) Reset() { *x = UrlStoreReq_Header{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UrlStoreReq_Header) String() string { return protoimpl.X.MessageStringOf(x) } func (*UrlStoreReq_Header) ProtoMessage() {} func (x *UrlStoreReq_Header) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 UrlStoreReq_Header.ProtoReflect.Descriptor instead. func (*UrlStoreReq_Header) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{14, 0} } func (x *UrlStoreReq_Header) GetKey() string { if x != nil { return x.Key } return "" } func (x *UrlStoreReq_Header) GetMark() string { if x != nil { return x.Mark } return "" } func (x *UrlStoreReq_Header) GetVal() string { if x != nil { return x.Val } return "" } type UrlUpdateReq_Header struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` //回调头键 Mark string `protobuf:"bytes,2,opt,name=mark,proto3" json:"mark,omitempty"` //特殊键标识 Val string `protobuf:"bytes,3,opt,name=val,proto3" json:"val,omitempty"` //回调数值 } func (x *UrlUpdateReq_Header) Reset() { *x = UrlUpdateReq_Header{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UrlUpdateReq_Header) String() string { return protoimpl.X.MessageStringOf(x) } func (*UrlUpdateReq_Header) ProtoMessage() {} func (x *UrlUpdateReq_Header) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 UrlUpdateReq_Header.ProtoReflect.Descriptor instead. func (*UrlUpdateReq_Header) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{16, 0} } func (x *UrlUpdateReq_Header) GetKey() string { if x != nil { return x.Key } return "" } func (x *UrlUpdateReq_Header) GetMark() string { if x != nil { return x.Mark } return "" } func (x *UrlUpdateReq_Header) GetVal() string { if x != nil { return x.Val } return "" } type FormListRes_One struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //表单ID Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` //表单标题 CreatedAt int64 `protobuf:"varint,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` //创建时间 Items []*FormListRes_Item `protobuf:"bytes,4,rep,name=items,proto3" json:"items,omitempty"` //表单项 Num int64 `protobuf:"varint,5,opt,name=num,proto3" json:"num,omitempty"` //关联奖品数量 } func (x *FormListRes_One) Reset() { *x = FormListRes_One{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FormListRes_One) String() string { return protoimpl.X.MessageStringOf(x) } func (*FormListRes_One) ProtoMessage() {} func (x *FormListRes_One) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 FormListRes_One.ProtoReflect.Descriptor instead. func (*FormListRes_One) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{21, 0} } func (x *FormListRes_One) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *FormListRes_One) GetTitle() string { if x != nil { return x.Title } return "" } func (x *FormListRes_One) GetCreatedAt() int64 { if x != nil { return x.CreatedAt } return 0 } func (x *FormListRes_One) GetItems() []*FormListRes_Item { if x != nil { return x.Items } return nil } func (x *FormListRes_One) GetNum() int64 { if x != nil { return x.Num } return 0 } type FormListRes_Item struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` //表单项名称 } func (x *FormListRes_Item) Reset() { *x = FormListRes_Item{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FormListRes_Item) String() string { return protoimpl.X.MessageStringOf(x) } func (*FormListRes_Item) ProtoMessage() {} func (x *FormListRes_Item) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 FormListRes_Item.ProtoReflect.Descriptor instead. func (*FormListRes_Item) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{21, 1} } func (x *FormListRes_Item) GetName() string { if x != nil { return x.Name } return "" } type FormSelectRes_One struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //表单ID Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` //表单标题 } func (x *FormSelectRes_One) Reset() { *x = FormSelectRes_One{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FormSelectRes_One) String() string { return protoimpl.X.MessageStringOf(x) } func (*FormSelectRes_One) ProtoMessage() {} func (x *FormSelectRes_One) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 FormSelectRes_One.ProtoReflect.Descriptor instead. func (*FormSelectRes_One) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{23, 0} } func (x *FormSelectRes_One) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *FormSelectRes_One) GetTitle() string { if x != nil { return x.Title } return "" } type FormStoreReq_Item struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` //表单项名称 Trans []*FormStoreReq_Tran `protobuf:"bytes,2,rep,name=trans,proto3" json:"trans,omitempty"` //字段语言翻译 } func (x *FormStoreReq_Item) Reset() { *x = FormStoreReq_Item{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FormStoreReq_Item) String() string { return protoimpl.X.MessageStringOf(x) } func (*FormStoreReq_Item) ProtoMessage() {} func (x *FormStoreReq_Item) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 FormStoreReq_Item.ProtoReflect.Descriptor instead. func (*FormStoreReq_Item) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{24, 0} } func (x *FormStoreReq_Item) GetName() string { if x != nil { return x.Name } return "" } func (x *FormStoreReq_Item) GetTrans() []*FormStoreReq_Tran { if x != nil { return x.Trans } return nil } type FormStoreReq_Tran struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Mark string `protobuf:"bytes,1,opt,name=mark,proto3" json:"mark,omitempty"` //语言标识 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` //字段对应语言的名称 IsDefault int32 `protobuf:"varint,3,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"` //字段语言翻译 } func (x *FormStoreReq_Tran) Reset() { *x = FormStoreReq_Tran{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FormStoreReq_Tran) String() string { return protoimpl.X.MessageStringOf(x) } func (*FormStoreReq_Tran) ProtoMessage() {} func (x *FormStoreReq_Tran) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 FormStoreReq_Tran.ProtoReflect.Descriptor instead. func (*FormStoreReq_Tran) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{24, 1} } func (x *FormStoreReq_Tran) GetMark() string { if x != nil { return x.Mark } return "" } func (x *FormStoreReq_Tran) GetName() string { if x != nil { return x.Name } return "" } func (x *FormStoreReq_Tran) GetIsDefault() int32 { if x != nil { return x.IsDefault } return 0 } type FormUpdateReq_Item struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` //表单项名称 Trans []*FormUpdateReq_Tran `protobuf:"bytes,2,rep,name=trans,proto3" json:"trans,omitempty"` //字段语言翻译 } func (x *FormUpdateReq_Item) Reset() { *x = FormUpdateReq_Item{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FormUpdateReq_Item) String() string { return protoimpl.X.MessageStringOf(x) } func (*FormUpdateReq_Item) ProtoMessage() {} func (x *FormUpdateReq_Item) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 FormUpdateReq_Item.ProtoReflect.Descriptor instead. func (*FormUpdateReq_Item) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{26, 0} } func (x *FormUpdateReq_Item) GetName() string { if x != nil { return x.Name } return "" } func (x *FormUpdateReq_Item) GetTrans() []*FormUpdateReq_Tran { if x != nil { return x.Trans } return nil } type FormUpdateReq_Tran struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Mark string `protobuf:"bytes,1,opt,name=mark,proto3" json:"mark,omitempty"` //语言标识 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` //字段对应语言的名称 IsDefault int32 `protobuf:"varint,3,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"` //字段语言翻译 } func (x *FormUpdateReq_Tran) Reset() { *x = FormUpdateReq_Tran{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FormUpdateReq_Tran) String() string { return protoimpl.X.MessageStringOf(x) } func (*FormUpdateReq_Tran) ProtoMessage() {} func (x *FormUpdateReq_Tran) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 FormUpdateReq_Tran.ProtoReflect.Descriptor instead. func (*FormUpdateReq_Tran) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{26, 1} } func (x *FormUpdateReq_Tran) GetMark() string { if x != nil { return x.Mark } return "" } func (x *FormUpdateReq_Tran) GetName() string { if x != nil { return x.Name } return "" } func (x *FormUpdateReq_Tran) GetIsDefault() int32 { if x != nil { return x.IsDefault } return 0 } type FormsRes_One struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //表单ID Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` //表单标题 CreatedAt int64 `protobuf:"varint,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` //创建时间 Items []*FormsRes_Item `protobuf:"bytes,4,rep,name=items,proto3" json:"items,omitempty"` //表单项 } func (x *FormsRes_One) Reset() { *x = FormsRes_One{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FormsRes_One) String() string { return protoimpl.X.MessageStringOf(x) } func (*FormsRes_One) ProtoMessage() {} func (x *FormsRes_One) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 FormsRes_One.ProtoReflect.Descriptor instead. func (*FormsRes_One) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{31, 0} } func (x *FormsRes_One) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *FormsRes_One) GetTitle() string { if x != nil { return x.Title } return "" } func (x *FormsRes_One) GetCreatedAt() int64 { if x != nil { return x.CreatedAt } return 0 } func (x *FormsRes_One) GetItems() []*FormsRes_Item { if x != nil { return x.Items } return nil } type FormsRes_Item struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` //表单项名称 } func (x *FormsRes_Item) Reset() { *x = FormsRes_Item{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FormsRes_Item) String() string { return protoimpl.X.MessageStringOf(x) } func (*FormsRes_Item) ProtoMessage() {} func (x *FormsRes_Item) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 FormsRes_Item.ProtoReflect.Descriptor instead. func (*FormsRes_Item) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{31, 1} } func (x *FormsRes_Item) GetName() string { if x != nil { return x.Name } return "" } type UrlsRes_One struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //回调地址id Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` //回调地址说明 Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"` //回调地址 CreatedAt int64 `protobuf:"varint,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` //创建时间 Headers []*UrlsRes_Header `protobuf:"bytes,5,rep,name=headers,proto3" json:"headers,omitempty"` //头信息 } func (x *UrlsRes_One) Reset() { *x = UrlsRes_One{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UrlsRes_One) String() string { return protoimpl.X.MessageStringOf(x) } func (*UrlsRes_One) ProtoMessage() {} func (x *UrlsRes_One) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 UrlsRes_One.ProtoReflect.Descriptor instead. func (*UrlsRes_One) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{33, 0} } func (x *UrlsRes_One) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *UrlsRes_One) GetTitle() string { if x != nil { return x.Title } return "" } func (x *UrlsRes_One) GetUrl() string { if x != nil { return x.Url } return "" } func (x *UrlsRes_One) GetCreatedAt() int64 { if x != nil { return x.CreatedAt } return 0 } func (x *UrlsRes_One) GetHeaders() []*UrlsRes_Header { if x != nil { return x.Headers } return nil } type UrlsRes_Header struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` //回调头键 Mark string `protobuf:"bytes,2,opt,name=mark,proto3" json:"mark,omitempty"` //特殊键标识 Val string `protobuf:"bytes,3,opt,name=val,proto3" json:"val,omitempty"` //回调数值 } func (x *UrlsRes_Header) Reset() { *x = UrlsRes_Header{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UrlsRes_Header) String() string { return protoimpl.X.MessageStringOf(x) } func (*UrlsRes_Header) ProtoMessage() {} func (x *UrlsRes_Header) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 UrlsRes_Header.ProtoReflect.Descriptor instead. func (*UrlsRes_Header) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{33, 1} } func (x *UrlsRes_Header) GetKey() string { if x != nil { return x.Key } return "" } func (x *UrlsRes_Header) GetMark() string { if x != nil { return x.Mark } return "" } func (x *UrlsRes_Header) GetVal() string { if x != nil { return x.Val } return "" } type RewardsRes_One struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //奖品id RewardTitle string `protobuf:"bytes,2,opt,name=reward_title,json=rewardTitle,proto3" json:"reward_title,omitempty"` //奖品标题 ReceiveType int32 `protobuf:"varint,3,opt,name=receive_type,json=receiveType,proto3" json:"receive_type,omitempty"` //发放类型(1-系统发放,2-联系客服,4-提交表单) UrlId int64 `protobuf:"varint,4,opt,name=url_id,json=urlId,proto3" json:"url_id,omitempty"` //回调地址id Contact string `protobuf:"bytes,5,opt,name=contact,proto3" json:"contact,omitempty"` //联系方式 KvData []*RewardsRes_KV `protobuf:"bytes,6,rep,name=kv_data,json=kvData,proto3" json:"kv_data,omitempty"` //键值数据 Lang *RewardsRes_Lang `protobuf:"bytes,7,opt,name=lang,proto3" json:"lang,omitempty"` //语言数据 FormId int64 `protobuf:"varint,8,opt,name=form_id,json=formId,proto3" json:"form_id,omitempty"` //表单Id DyRewardType int32 `protobuf:"varint,9,opt,name=dy_reward_type,json=dyRewardType,proto3" json:"dy_reward_type,omitempty"` //动态奖品内容类型(0-无,1-兑换码) } func (x *RewardsRes_One) Reset() { *x = RewardsRes_One{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RewardsRes_One) String() string { return protoimpl.X.MessageStringOf(x) } func (*RewardsRes_One) ProtoMessage() {} func (x *RewardsRes_One) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 RewardsRes_One.ProtoReflect.Descriptor instead. func (*RewardsRes_One) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{35, 0} } func (x *RewardsRes_One) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *RewardsRes_One) GetRewardTitle() string { if x != nil { return x.RewardTitle } return "" } func (x *RewardsRes_One) GetReceiveType() int32 { if x != nil { return x.ReceiveType } return 0 } func (x *RewardsRes_One) GetUrlId() int64 { if x != nil { return x.UrlId } return 0 } func (x *RewardsRes_One) GetContact() string { if x != nil { return x.Contact } return "" } func (x *RewardsRes_One) GetKvData() []*RewardsRes_KV { if x != nil { return x.KvData } return nil } func (x *RewardsRes_One) GetLang() *RewardsRes_Lang { if x != nil { return x.Lang } return nil } func (x *RewardsRes_One) GetFormId() int64 { if x != nil { return x.FormId } return 0 } func (x *RewardsRes_One) GetDyRewardType() int32 { if x != nil { return x.DyRewardType } return 0 } type RewardsRes_KV struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` //键 Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` //值 IsShow int32 `protobuf:"varint,3,opt,name=is_show,json=isShow,proto3" json:"is_show,omitempty"` //是否展示(0-否,1-是) } func (x *RewardsRes_KV) Reset() { *x = RewardsRes_KV{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RewardsRes_KV) String() string { return protoimpl.X.MessageStringOf(x) } func (*RewardsRes_KV) ProtoMessage() {} func (x *RewardsRes_KV) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 RewardsRes_KV.ProtoReflect.Descriptor instead. func (*RewardsRes_KV) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{35, 1} } func (x *RewardsRes_KV) GetKey() string { if x != nil { return x.Key } return "" } func (x *RewardsRes_KV) GetValue() string { if x != nil { return x.Value } return "" } func (x *RewardsRes_KV) GetIsShow() int32 { if x != nil { return x.IsShow } return 0 } type RewardsRes_Lang struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Mark string `protobuf:"bytes,1,opt,name=mark,proto3" json:"mark,omitempty"` //语言标识 Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` //奖品名称 ImgUrl string `protobuf:"bytes,3,opt,name=img_url,json=imgUrl,proto3" json:"img_url,omitempty"` //奖品图片 IsDefault int32 `protobuf:"varint,4,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"` //是否默认语言(0-否,1-是) OpenToUse int32 `protobuf:"varint,5,opt,name=open_to_use,json=openToUse,proto3" json:"open_to_use,omitempty"` //开启去使用(0-否,1-是) WebUrl string `protobuf:"bytes,6,opt,name=web_url,json=webUrl,proto3" json:"web_url,omitempty"` //Web端的跳转地址 AppParam string `protobuf:"bytes,7,opt,name=app_param,json=appParam,proto3" json:"app_param,omitempty"` //App端的跳转参数 PcParam string `protobuf:"bytes,8,opt,name=pc_param,json=pcParam,proto3" json:"pc_param,omitempty"` //pc端的跳转参数 } func (x *RewardsRes_Lang) Reset() { *x = RewardsRes_Lang{} if protoimpl.UnsafeEnabled { mi := &file_w_reward_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RewardsRes_Lang) String() string { return protoimpl.X.MessageStringOf(x) } func (*RewardsRes_Lang) ProtoMessage() {} func (x *RewardsRes_Lang) ProtoReflect() protoreflect.Message { mi := &file_w_reward_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 RewardsRes_Lang.ProtoReflect.Descriptor instead. func (*RewardsRes_Lang) Descriptor() ([]byte, []int) { return file_w_reward_proto_rawDescGZIP(), []int{35, 2} } func (x *RewardsRes_Lang) GetMark() string { if x != nil { return x.Mark } return "" } func (x *RewardsRes_Lang) GetTitle() string { if x != nil { return x.Title } return "" } func (x *RewardsRes_Lang) GetImgUrl() string { if x != nil { return x.ImgUrl } return "" } func (x *RewardsRes_Lang) GetIsDefault() int32 { if x != nil { return x.IsDefault } return 0 } func (x *RewardsRes_Lang) GetOpenToUse() int32 { if x != nil { return x.OpenToUse } return 0 } func (x *RewardsRes_Lang) GetWebUrl() string { if x != nil { return x.WebUrl } return "" } func (x *RewardsRes_Lang) GetAppParam() string { if x != nil { return x.AppParam } return "" } func (x *RewardsRes_Lang) GetPcParam() string { if x != nil { return x.PcParam } return "" } var File_w_reward_proto protoreflect.FileDescriptor var file_w_reward_proto_rawDesc = []byte{ 0x0a, 0x0e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x22, 0xf2, 0x01, 0x0a, 0x07, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x4d, 0x61, 0x72, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x22, 0xb7, 0x05, 0x0a, 0x07, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x2e, 0x4f, 0x6e, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x1a, 0x82, 0x03, 0x0a, 0x03, 0x4f, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x6d, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x6d, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x2f, 0x0a, 0x07, 0x6b, 0x76, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x2e, 0x4b, 0x56, 0x52, 0x06, 0x6b, 0x76, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2e, 0x0a, 0x05, 0x6c, 0x61, 0x6e, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x05, 0x6c, 0x61, 0x6e, 0x67, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x79, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x75, 0x72, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x75, 0x72, 0x6c, 0x49, 0x64, 0x1a, 0x45, 0x0a, 0x02, 0x4b, 0x56, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x1a, 0x9c, 0x01, 0x0a, 0x04, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x6d, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x6d, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x6d, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x69, 0x6d, 0x67, 0x49, 0x64, 0x22, 0x73, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x4d, 0x61, 0x72, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0xa9, 0x03, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x2e, 0x4f, 0x6e, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0xa5, 0x02, 0x0a, 0x03, 0x4f, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x6d, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x6d, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x4d, 0x61, 0x72, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x31, 0x0a, 0x07, 0x6b, 0x76, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x2e, 0x4b, 0x56, 0x52, 0x06, 0x6b, 0x76, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x1a, 0x45, 0x0a, 0x02, 0x4b, 0x56, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x22, 0x41, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x8f, 0x05, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x75, 0x72, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x75, 0x72, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x12, 0x2f, 0x0a, 0x07, 0x6b, 0x76, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x2e, 0x4b, 0x56, 0x52, 0x06, 0x6b, 0x76, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2e, 0x0a, 0x05, 0x6c, 0x61, 0x6e, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x05, 0x6c, 0x61, 0x6e, 0x67, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x79, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x45, 0x0a, 0x02, 0x4b, 0x56, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x1a, 0xf6, 0x01, 0x0a, 0x04, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x6d, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x6d, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x65, 0x62, 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x70, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x63, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x22, 0xa1, 0x05, 0x0a, 0x08, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x75, 0x72, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x75, 0x72, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x12, 0x30, 0x0a, 0x07, 0x6b, 0x76, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x4b, 0x56, 0x52, 0x06, 0x6b, 0x76, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2f, 0x0a, 0x05, 0x6c, 0x61, 0x6e, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x05, 0x6c, 0x61, 0x6e, 0x67, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x79, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x45, 0x0a, 0x02, 0x4b, 0x56, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x1a, 0xf4, 0x01, 0x0a, 0x04, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x6d, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x6d, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x65, 0x62, 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x70, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x63, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x1a, 0x0a, 0x08, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x9c, 0x05, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x75, 0x72, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x75, 0x72, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x12, 0x31, 0x0a, 0x07, 0x6b, 0x76, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x4b, 0x56, 0x52, 0x06, 0x6b, 0x76, 0x44, 0x61, 0x74, 0x61, 0x12, 0x30, 0x0a, 0x05, 0x6c, 0x61, 0x6e, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x05, 0x6c, 0x61, 0x6e, 0x67, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x79, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x45, 0x0a, 0x02, 0x4b, 0x56, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x1a, 0xf4, 0x01, 0x0a, 0x04, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x6d, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x6d, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x65, 0x62, 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x70, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x63, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x1b, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x46, 0x0a, 0x0a, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x1e, 0x0a, 0x0a, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x53, 0x0a, 0x0a, 0x55, 0x72, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x22, 0xa8, 0x02, 0x0a, 0x0a, 0x55, 0x72, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x55, 0x72, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x2e, 0x4f, 0x6e, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0xa7, 0x01, 0x0a, 0x03, 0x4f, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x55, 0x72, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, 0x40, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0xf1, 0x01, 0x0a, 0x0b, 0x55, 0x72, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x55, 0x72, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, 0x40, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x1d, 0x0a, 0x0b, 0x55, 0x72, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0xeb, 0x01, 0x0a, 0x0c, 0x55, 0x72, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x39, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x55, 0x72, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, 0x40, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x1e, 0x0a, 0x0c, 0x55, 0x72, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x47, 0x0a, 0x0d, 0x55, 0x72, 0x6c, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x0f, 0x0a, 0x0d, 0x55, 0x72, 0x6c, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x22, 0x7a, 0x0a, 0x0b, 0x46, 0x6f, 0x72, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x83, 0x02, 0x0a, 0x0b, 0x46, 0x6f, 0x72, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x2e, 0x4f, 0x6e, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x1a, 0x90, 0x01, 0x0a, 0x03, 0x4f, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x1a, 0x1a, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x37, 0x0a, 0x0d, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x22, 0x6f, 0x0a, 0x0d, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x2e, 0x4f, 0x6e, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0x2b, 0x0a, 0x03, 0x4f, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0xa1, 0x02, 0x0a, 0x0c, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x4f, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x52, 0x05, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x1a, 0x4d, 0x0a, 0x04, 0x54, 0x72, 0x61, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x22, 0x1e, 0x0a, 0x0c, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x8c, 0x02, 0x0a, 0x0d, 0x46, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x50, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x52, 0x05, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x1a, 0x4d, 0x0a, 0x04, 0x54, 0x72, 0x61, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x22, 0x1f, 0x0a, 0x0d, 0x46, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x48, 0x0a, 0x0e, 0x46, 0x6f, 0x72, 0x6d, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x20, 0x0a, 0x0e, 0x46, 0x6f, 0x72, 0x6d, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x3b, 0x0a, 0x08, 0x46, 0x6f, 0x72, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0xd1, 0x01, 0x0a, 0x08, 0x46, 0x6f, 0x72, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x2e, 0x4f, 0x6e, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0x7b, 0x0a, 0x03, 0x4f, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2f, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x1a, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3a, 0x0a, 0x07, 0x55, 0x72, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x8d, 0x02, 0x0a, 0x07, 0x55, 0x72, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x55, 0x72, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x2e, 0x4f, 0x6e, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0x92, 0x01, 0x0a, 0x03, 0x4f, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x55, 0x72, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, 0x40, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x5a, 0x0a, 0x0a, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x03, 0x69, 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x4d, 0x61, 0x72, 0x6b, 0x22, 0x92, 0x05, 0x0a, 0x0a, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x2e, 0x4f, 0x6e, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0xb0, 0x02, 0x0a, 0x03, 0x4f, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x75, 0x72, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x75, 0x72, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x12, 0x32, 0x0a, 0x07, 0x6b, 0x76, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x2e, 0x4b, 0x56, 0x52, 0x06, 0x6b, 0x76, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2f, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x79, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x45, 0x0a, 0x02, 0x4b, 0x56, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x1a, 0xd9, 0x01, 0x0a, 0x04, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x6d, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x6d, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x65, 0x62, 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x70, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x63, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x8f, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x22, 0x11, 0x0a, 0x0f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x22, 0x93, 0x04, 0x0a, 0x0d, 0x50, 0x75, 0x73, 0x68, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x49, 0x64, 0x22, 0x97, 0x01, 0x0a, 0x0d, 0x50, 0x75, 0x73, 0x68, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x56, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x61, 0x69, 0x6c, 0x4d, 0x73, 0x67, 0x22, 0x50, 0x0a, 0x0c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x20, 0x0a, 0x0c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x03, 0x69, 0x64, 0x73, 0x32, 0xb4, 0x0a, 0x0a, 0x07, 0x57, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x32, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x13, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x38, 0x0a, 0x06, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x15, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x32, 0x0a, 0x04, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x13, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x35, 0x0a, 0x05, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x38, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x15, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x07, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x12, 0x16, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x07, 0x55, 0x72, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x55, 0x72, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x55, 0x72, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x3e, 0x0a, 0x08, 0x55, 0x72, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x17, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x55, 0x72, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x55, 0x72, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x09, 0x55, 0x72, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x55, 0x72, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x55, 0x72, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x0a, 0x55, 0x72, 0x6c, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x12, 0x19, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x55, 0x72, 0x6c, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x55, 0x72, 0x6c, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x3e, 0x0a, 0x08, 0x46, 0x6f, 0x72, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x0a, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x19, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x09, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x18, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x0a, 0x46, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0b, 0x46, 0x6f, 0x72, 0x6d, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x12, 0x1a, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x35, 0x0a, 0x05, 0x46, 0x6f, 0x72, 0x6d, 0x73, 0x12, 0x14, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x32, 0x0a, 0x04, 0x55, 0x72, 0x6c, 0x73, 0x12, 0x13, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x55, 0x72, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x55, 0x72, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x07, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x16, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0c, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1b, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x0a, 0x50, 0x75, 0x73, 0x68, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x19, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x09, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x12, 0x18, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x22, 0x00, 0x42, 0x0f, 0x5a, 0x0d, 0x2e, 0x2f, 0x3b, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_w_reward_proto_rawDescOnce sync.Once file_w_reward_proto_rawDescData = file_w_reward_proto_rawDesc ) func file_w_reward_proto_rawDescGZIP() []byte { file_w_reward_proto_rawDescOnce.Do(func() { file_w_reward_proto_rawDescData = protoimpl.X.CompressGZIP(file_w_reward_proto_rawDescData) }) return file_w_reward_proto_rawDescData } var file_w_reward_proto_msgTypes = make([]protoimpl.MessageInfo, 71) var file_w_reward_proto_goTypes = []interface{}{ (*ListReq)(nil), // 0: w_rewardpb.ListReq (*ListRes)(nil), // 1: w_rewardpb.ListRes (*SelectReq)(nil), // 2: w_rewardpb.SelectReq (*SelectRes)(nil), // 3: w_rewardpb.SelectRes (*ShowReq)(nil), // 4: w_rewardpb.ShowReq (*ShowRes)(nil), // 5: w_rewardpb.ShowRes (*StoreReq)(nil), // 6: w_rewardpb.StoreReq (*StoreRes)(nil), // 7: w_rewardpb.StoreRes (*UpdateReq)(nil), // 8: w_rewardpb.UpdateReq (*UpdateRes)(nil), // 9: w_rewardpb.UpdateRes (*DestroyReq)(nil), // 10: w_rewardpb.DestroyReq (*DestroyRes)(nil), // 11: w_rewardpb.DestroyRes (*UrlListReq)(nil), // 12: w_rewardpb.UrlListReq (*UrlListRes)(nil), // 13: w_rewardpb.UrlListRes (*UrlStoreReq)(nil), // 14: w_rewardpb.UrlStoreReq (*UrlStoreRes)(nil), // 15: w_rewardpb.UrlStoreRes (*UrlUpdateReq)(nil), // 16: w_rewardpb.UrlUpdateReq (*UrlUpdateRes)(nil), // 17: w_rewardpb.UrlUpdateRes (*UrlDestroyReq)(nil), // 18: w_rewardpb.UrlDestroyReq (*UrlDestroyRes)(nil), // 19: w_rewardpb.UrlDestroyRes (*FormListReq)(nil), // 20: w_rewardpb.FormListReq (*FormListRes)(nil), // 21: w_rewardpb.FormListRes (*FormSelectReq)(nil), // 22: w_rewardpb.FormSelectReq (*FormSelectRes)(nil), // 23: w_rewardpb.FormSelectRes (*FormStoreReq)(nil), // 24: w_rewardpb.FormStoreReq (*FormStoreRes)(nil), // 25: w_rewardpb.FormStoreRes (*FormUpdateReq)(nil), // 26: w_rewardpb.FormUpdateReq (*FormUpdateRes)(nil), // 27: w_rewardpb.FormUpdateRes (*FormDestroyReq)(nil), // 28: w_rewardpb.FormDestroyReq (*FormDestroyRes)(nil), // 29: w_rewardpb.FormDestroyRes (*FormsReq)(nil), // 30: w_rewardpb.FormsReq (*FormsRes)(nil), // 31: w_rewardpb.FormsRes (*UrlsReq)(nil), // 32: w_rewardpb.UrlsReq (*UrlsRes)(nil), // 33: w_rewardpb.UrlsRes (*RewardsReq)(nil), // 34: w_rewardpb.RewardsReq (*RewardsRes)(nil), // 35: w_rewardpb.RewardsRes (*RelateRewardReq)(nil), // 36: w_rewardpb.RelateRewardReq (*RelateRewardRes)(nil), // 37: w_rewardpb.RelateRewardRes (*PushRewardReq)(nil), // 38: w_rewardpb.PushRewardReq (*PushRewardRes)(nil), // 39: w_rewardpb.PushRewardRes (*RewardIdsReq)(nil), // 40: w_rewardpb.RewardIdsReq (*RewardIdsRes)(nil), // 41: w_rewardpb.RewardIdsRes (*ListRes_One)(nil), // 42: w_rewardpb.ListRes.One (*ListRes_KV)(nil), // 43: w_rewardpb.ListRes.KV (*ListRes_Lang)(nil), // 44: w_rewardpb.ListRes.Lang (*SelectRes_One)(nil), // 45: w_rewardpb.SelectRes.One (*SelectRes_KV)(nil), // 46: w_rewardpb.SelectRes.KV (*ShowRes_KV)(nil), // 47: w_rewardpb.ShowRes.KV (*ShowRes_Lang)(nil), // 48: w_rewardpb.ShowRes.Lang (*StoreReq_KV)(nil), // 49: w_rewardpb.StoreReq.KV (*StoreReq_Lang)(nil), // 50: w_rewardpb.StoreReq.Lang (*UpdateReq_KV)(nil), // 51: w_rewardpb.UpdateReq.KV (*UpdateReq_Lang)(nil), // 52: w_rewardpb.UpdateReq.Lang (*UrlListRes_One)(nil), // 53: w_rewardpb.UrlListRes.One (*UrlListRes_Header)(nil), // 54: w_rewardpb.UrlListRes.Header (*UrlStoreReq_Header)(nil), // 55: w_rewardpb.UrlStoreReq.Header (*UrlUpdateReq_Header)(nil), // 56: w_rewardpb.UrlUpdateReq.Header (*FormListRes_One)(nil), // 57: w_rewardpb.FormListRes.One (*FormListRes_Item)(nil), // 58: w_rewardpb.FormListRes.Item (*FormSelectRes_One)(nil), // 59: w_rewardpb.FormSelectRes.One (*FormStoreReq_Item)(nil), // 60: w_rewardpb.FormStoreReq.Item (*FormStoreReq_Tran)(nil), // 61: w_rewardpb.FormStoreReq.Tran (*FormUpdateReq_Item)(nil), // 62: w_rewardpb.FormUpdateReq.Item (*FormUpdateReq_Tran)(nil), // 63: w_rewardpb.FormUpdateReq.Tran (*FormsRes_One)(nil), // 64: w_rewardpb.FormsRes.One (*FormsRes_Item)(nil), // 65: w_rewardpb.FormsRes.Item (*UrlsRes_One)(nil), // 66: w_rewardpb.UrlsRes.One (*UrlsRes_Header)(nil), // 67: w_rewardpb.UrlsRes.Header (*RewardsRes_One)(nil), // 68: w_rewardpb.RewardsRes.One (*RewardsRes_KV)(nil), // 69: w_rewardpb.RewardsRes.KV (*RewardsRes_Lang)(nil), // 70: w_rewardpb.RewardsRes.Lang } var file_w_reward_proto_depIdxs = []int32{ 42, // 0: w_rewardpb.ListRes.list:type_name -> w_rewardpb.ListRes.One 45, // 1: w_rewardpb.SelectRes.list:type_name -> w_rewardpb.SelectRes.One 47, // 2: w_rewardpb.ShowRes.kv_data:type_name -> w_rewardpb.ShowRes.KV 48, // 3: w_rewardpb.ShowRes.langs:type_name -> w_rewardpb.ShowRes.Lang 49, // 4: w_rewardpb.StoreReq.kv_data:type_name -> w_rewardpb.StoreReq.KV 50, // 5: w_rewardpb.StoreReq.langs:type_name -> w_rewardpb.StoreReq.Lang 51, // 6: w_rewardpb.UpdateReq.kv_data:type_name -> w_rewardpb.UpdateReq.KV 52, // 7: w_rewardpb.UpdateReq.langs:type_name -> w_rewardpb.UpdateReq.Lang 53, // 8: w_rewardpb.UrlListRes.list:type_name -> w_rewardpb.UrlListRes.One 55, // 9: w_rewardpb.UrlStoreReq.headers:type_name -> w_rewardpb.UrlStoreReq.Header 56, // 10: w_rewardpb.UrlUpdateReq.headers:type_name -> w_rewardpb.UrlUpdateReq.Header 57, // 11: w_rewardpb.FormListRes.list:type_name -> w_rewardpb.FormListRes.One 59, // 12: w_rewardpb.FormSelectRes.list:type_name -> w_rewardpb.FormSelectRes.One 60, // 13: w_rewardpb.FormStoreReq.items:type_name -> w_rewardpb.FormStoreReq.Item 62, // 14: w_rewardpb.FormUpdateReq.items:type_name -> w_rewardpb.FormUpdateReq.Item 64, // 15: w_rewardpb.FormsRes.list:type_name -> w_rewardpb.FormsRes.One 66, // 16: w_rewardpb.UrlsRes.list:type_name -> w_rewardpb.UrlsRes.One 68, // 17: w_rewardpb.RewardsRes.list:type_name -> w_rewardpb.RewardsRes.One 43, // 18: w_rewardpb.ListRes.One.kv_data:type_name -> w_rewardpb.ListRes.KV 44, // 19: w_rewardpb.ListRes.One.langs:type_name -> w_rewardpb.ListRes.Lang 46, // 20: w_rewardpb.SelectRes.One.kv_data:type_name -> w_rewardpb.SelectRes.KV 54, // 21: w_rewardpb.UrlListRes.One.headers:type_name -> w_rewardpb.UrlListRes.Header 58, // 22: w_rewardpb.FormListRes.One.items:type_name -> w_rewardpb.FormListRes.Item 61, // 23: w_rewardpb.FormStoreReq.Item.trans:type_name -> w_rewardpb.FormStoreReq.Tran 63, // 24: w_rewardpb.FormUpdateReq.Item.trans:type_name -> w_rewardpb.FormUpdateReq.Tran 65, // 25: w_rewardpb.FormsRes.One.items:type_name -> w_rewardpb.FormsRes.Item 67, // 26: w_rewardpb.UrlsRes.One.headers:type_name -> w_rewardpb.UrlsRes.Header 69, // 27: w_rewardpb.RewardsRes.One.kv_data:type_name -> w_rewardpb.RewardsRes.KV 70, // 28: w_rewardpb.RewardsRes.One.lang:type_name -> w_rewardpb.RewardsRes.Lang 0, // 29: w_rewardpb.WReward.List:input_type -> w_rewardpb.ListReq 2, // 30: w_rewardpb.WReward.Select:input_type -> w_rewardpb.SelectReq 4, // 31: w_rewardpb.WReward.Show:input_type -> w_rewardpb.ShowReq 6, // 32: w_rewardpb.WReward.Store:input_type -> w_rewardpb.StoreReq 8, // 33: w_rewardpb.WReward.Update:input_type -> w_rewardpb.UpdateReq 10, // 34: w_rewardpb.WReward.Destroy:input_type -> w_rewardpb.DestroyReq 12, // 35: w_rewardpb.WReward.UrlList:input_type -> w_rewardpb.UrlListReq 14, // 36: w_rewardpb.WReward.UrlStore:input_type -> w_rewardpb.UrlStoreReq 16, // 37: w_rewardpb.WReward.UrlUpdate:input_type -> w_rewardpb.UrlUpdateReq 18, // 38: w_rewardpb.WReward.UrlDestroy:input_type -> w_rewardpb.UrlDestroyReq 20, // 39: w_rewardpb.WReward.FormList:input_type -> w_rewardpb.FormListReq 22, // 40: w_rewardpb.WReward.FormSelect:input_type -> w_rewardpb.FormSelectReq 24, // 41: w_rewardpb.WReward.FormStore:input_type -> w_rewardpb.FormStoreReq 26, // 42: w_rewardpb.WReward.FormUpdate:input_type -> w_rewardpb.FormUpdateReq 28, // 43: w_rewardpb.WReward.FormDestroy:input_type -> w_rewardpb.FormDestroyReq 30, // 44: w_rewardpb.WReward.Forms:input_type -> w_rewardpb.FormsReq 32, // 45: w_rewardpb.WReward.Urls:input_type -> w_rewardpb.UrlsReq 34, // 46: w_rewardpb.WReward.Rewards:input_type -> w_rewardpb.RewardsReq 36, // 47: w_rewardpb.WReward.RelateReward:input_type -> w_rewardpb.RelateRewardReq 38, // 48: w_rewardpb.WReward.PushReward:input_type -> w_rewardpb.PushRewardReq 40, // 49: w_rewardpb.WReward.RewardIds:input_type -> w_rewardpb.RewardIdsReq 1, // 50: w_rewardpb.WReward.List:output_type -> w_rewardpb.ListRes 3, // 51: w_rewardpb.WReward.Select:output_type -> w_rewardpb.SelectRes 5, // 52: w_rewardpb.WReward.Show:output_type -> w_rewardpb.ShowRes 7, // 53: w_rewardpb.WReward.Store:output_type -> w_rewardpb.StoreRes 9, // 54: w_rewardpb.WReward.Update:output_type -> w_rewardpb.UpdateRes 11, // 55: w_rewardpb.WReward.Destroy:output_type -> w_rewardpb.DestroyRes 13, // 56: w_rewardpb.WReward.UrlList:output_type -> w_rewardpb.UrlListRes 15, // 57: w_rewardpb.WReward.UrlStore:output_type -> w_rewardpb.UrlStoreRes 17, // 58: w_rewardpb.WReward.UrlUpdate:output_type -> w_rewardpb.UrlUpdateRes 19, // 59: w_rewardpb.WReward.UrlDestroy:output_type -> w_rewardpb.UrlDestroyRes 21, // 60: w_rewardpb.WReward.FormList:output_type -> w_rewardpb.FormListRes 23, // 61: w_rewardpb.WReward.FormSelect:output_type -> w_rewardpb.FormSelectRes 25, // 62: w_rewardpb.WReward.FormStore:output_type -> w_rewardpb.FormStoreRes 27, // 63: w_rewardpb.WReward.FormUpdate:output_type -> w_rewardpb.FormUpdateRes 29, // 64: w_rewardpb.WReward.FormDestroy:output_type -> w_rewardpb.FormDestroyRes 31, // 65: w_rewardpb.WReward.Forms:output_type -> w_rewardpb.FormsRes 33, // 66: w_rewardpb.WReward.Urls:output_type -> w_rewardpb.UrlsRes 35, // 67: w_rewardpb.WReward.Rewards:output_type -> w_rewardpb.RewardsRes 37, // 68: w_rewardpb.WReward.RelateReward:output_type -> w_rewardpb.RelateRewardRes 39, // 69: w_rewardpb.WReward.PushReward:output_type -> w_rewardpb.PushRewardRes 41, // 70: w_rewardpb.WReward.RewardIds:output_type -> w_rewardpb.RewardIdsRes 50, // [50:71] is the sub-list for method output_type 29, // [29:50] is the sub-list for method input_type 29, // [29:29] is the sub-list for extension type_name 29, // [29:29] is the sub-list for extension extendee 0, // [0:29] is the sub-list for field type_name } func init() { file_w_reward_proto_init() } func file_w_reward_proto_init() { if File_w_reward_proto != nil { return } if !protoimpl.UnsafeEnabled { file_w_reward_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SelectReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SelectRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShowReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShowRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StoreReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StoreRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DestroyReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DestroyRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UrlListReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UrlListRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UrlStoreReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UrlStoreRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UrlUpdateReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UrlUpdateRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UrlDestroyReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UrlDestroyRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FormListReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FormListRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FormSelectReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FormSelectRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FormStoreReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FormStoreRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FormUpdateReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FormUpdateRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FormDestroyReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FormDestroyRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FormsReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FormsRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UrlsReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UrlsRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RewardsReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RewardsRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RelateRewardReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RelateRewardRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PushRewardReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PushRewardRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RewardIdsReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RewardIdsRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRes_One); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRes_KV); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRes_Lang); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SelectRes_One); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SelectRes_KV); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShowRes_KV); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShowRes_Lang); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StoreReq_KV); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StoreReq_Lang); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateReq_KV); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateReq_Lang); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UrlListRes_One); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UrlListRes_Header); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UrlStoreReq_Header); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UrlUpdateReq_Header); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FormListRes_One); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FormListRes_Item); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FormSelectRes_One); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FormStoreReq_Item); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FormStoreReq_Tran); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FormUpdateReq_Item); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FormUpdateReq_Tran); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FormsRes_One); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FormsRes_Item); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UrlsRes_One); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UrlsRes_Header); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RewardsRes_One); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RewardsRes_KV); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_reward_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RewardsRes_Lang); 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_w_reward_proto_rawDesc, NumEnums: 0, NumMessages: 71, NumExtensions: 0, NumServices: 1, }, GoTypes: file_w_reward_proto_goTypes, DependencyIndexes: file_w_reward_proto_depIdxs, MessageInfos: file_w_reward_proto_msgTypes, }.Build() File_w_reward_proto = out.File file_w_reward_proto_rawDesc = nil file_w_reward_proto_goTypes = nil file_w_reward_proto_depIdxs = nil }