You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1996 lines
62 KiB
Go

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.33.0
// protoc v5.29.1
// source: w_games.proto
package w_gamespb
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
ProjectHashId string `protobuf:"bytes,1,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id
}
func (x *ListReq) Reset() {
*x = ListReq{}
if protoimpl.UnsafeEnabled {
mi := &file_w_games_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_games_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_games_proto_rawDescGZIP(), []int{0}
}
func (x *ListReq) GetProjectHashId() string {
if x != nil {
return x.ProjectHashId
}
return ""
}
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"` //列表
}
func (x *ListRes) Reset() {
*x = ListRes{}
if protoimpl.UnsafeEnabled {
mi := &file_w_games_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_games_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_games_proto_rawDescGZIP(), []int{1}
}
func (x *ListRes) GetList() []*ListRes_One {
if x != nil {
return x.List
}
return nil
}
type LinkListReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameId int64 `protobuf:"varint,1,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"` //游戏id
ProjectHashId string `protobuf:"bytes,2,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id
}
func (x *LinkListReq) Reset() {
*x = LinkListReq{}
if protoimpl.UnsafeEnabled {
mi := &file_w_games_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LinkListReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LinkListReq) ProtoMessage() {}
func (x *LinkListReq) ProtoReflect() protoreflect.Message {
mi := &file_w_games_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 LinkListReq.ProtoReflect.Descriptor instead.
func (*LinkListReq) Descriptor() ([]byte, []int) {
return file_w_games_proto_rawDescGZIP(), []int{2}
}
func (x *LinkListReq) GetGameId() int64 {
if x != nil {
return x.GameId
}
return 0
}
func (x *LinkListReq) GetProjectHashId() string {
if x != nil {
return x.ProjectHashId
}
return ""
}
type LinkListRes struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
List []*LinkListRes_One `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` //链接列表
}
func (x *LinkListRes) Reset() {
*x = LinkListRes{}
if protoimpl.UnsafeEnabled {
mi := &file_w_games_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LinkListRes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LinkListRes) ProtoMessage() {}
func (x *LinkListRes) ProtoReflect() protoreflect.Message {
mi := &file_w_games_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 LinkListRes.ProtoReflect.Descriptor instead.
func (*LinkListRes) Descriptor() ([]byte, []int) {
return file_w_games_proto_rawDescGZIP(), []int{3}
}
func (x *LinkListRes) GetList() []*LinkListRes_One {
if x != nil {
return x.List
}
return nil
}
type LinkStoreReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameId int64 `protobuf:"varint,1,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"` //游戏id
ProjectHashId string `protobuf:"bytes,2,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id
Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` //链接标题
}
func (x *LinkStoreReq) Reset() {
*x = LinkStoreReq{}
if protoimpl.UnsafeEnabled {
mi := &file_w_games_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LinkStoreReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LinkStoreReq) ProtoMessage() {}
func (x *LinkStoreReq) ProtoReflect() protoreflect.Message {
mi := &file_w_games_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 LinkStoreReq.ProtoReflect.Descriptor instead.
func (*LinkStoreReq) Descriptor() ([]byte, []int) {
return file_w_games_proto_rawDescGZIP(), []int{4}
}
func (x *LinkStoreReq) GetGameId() int64 {
if x != nil {
return x.GameId
}
return 0
}
func (x *LinkStoreReq) GetProjectHashId() string {
if x != nil {
return x.ProjectHashId
}
return ""
}
func (x *LinkStoreReq) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
type LinkStoreRes struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //链接id
Link string `protobuf:"bytes,2,opt,name=link,proto3" json:"link,omitempty"` //游戏链接
}
func (x *LinkStoreRes) Reset() {
*x = LinkStoreRes{}
if protoimpl.UnsafeEnabled {
mi := &file_w_games_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LinkStoreRes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LinkStoreRes) ProtoMessage() {}
func (x *LinkStoreRes) ProtoReflect() protoreflect.Message {
mi := &file_w_games_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 LinkStoreRes.ProtoReflect.Descriptor instead.
func (*LinkStoreRes) Descriptor() ([]byte, []int) {
return file_w_games_proto_rawDescGZIP(), []int{5}
}
func (x *LinkStoreRes) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *LinkStoreRes) GetLink() string {
if x != nil {
return x.Link
}
return ""
}
type LinkUpdateReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //链接id
ProjectHashId string `protobuf:"bytes,2,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id
Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` //链接标题
}
func (x *LinkUpdateReq) Reset() {
*x = LinkUpdateReq{}
if protoimpl.UnsafeEnabled {
mi := &file_w_games_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LinkUpdateReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LinkUpdateReq) ProtoMessage() {}
func (x *LinkUpdateReq) ProtoReflect() protoreflect.Message {
mi := &file_w_games_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 LinkUpdateReq.ProtoReflect.Descriptor instead.
func (*LinkUpdateReq) Descriptor() ([]byte, []int) {
return file_w_games_proto_rawDescGZIP(), []int{6}
}
func (x *LinkUpdateReq) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *LinkUpdateReq) GetProjectHashId() string {
if x != nil {
return x.ProjectHashId
}
return ""
}
func (x *LinkUpdateReq) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
type LinkUpdateRes 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 *LinkUpdateRes) Reset() {
*x = LinkUpdateRes{}
if protoimpl.UnsafeEnabled {
mi := &file_w_games_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LinkUpdateRes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LinkUpdateRes) ProtoMessage() {}
func (x *LinkUpdateRes) ProtoReflect() protoreflect.Message {
mi := &file_w_games_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 LinkUpdateRes.ProtoReflect.Descriptor instead.
func (*LinkUpdateRes) Descriptor() ([]byte, []int) {
return file_w_games_proto_rawDescGZIP(), []int{7}
}
func (x *LinkUpdateRes) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
type LinkDestroyReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //链接id
ProjectHashId string `protobuf:"bytes,2,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id
}
func (x *LinkDestroyReq) Reset() {
*x = LinkDestroyReq{}
if protoimpl.UnsafeEnabled {
mi := &file_w_games_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LinkDestroyReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LinkDestroyReq) ProtoMessage() {}
func (x *LinkDestroyReq) ProtoReflect() protoreflect.Message {
mi := &file_w_games_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 LinkDestroyReq.ProtoReflect.Descriptor instead.
func (*LinkDestroyReq) Descriptor() ([]byte, []int) {
return file_w_games_proto_rawDescGZIP(), []int{8}
}
func (x *LinkDestroyReq) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *LinkDestroyReq) GetProjectHashId() string {
if x != nil {
return x.ProjectHashId
}
return ""
}
type LinkDestroyRes 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 *LinkDestroyRes) Reset() {
*x = LinkDestroyRes{}
if protoimpl.UnsafeEnabled {
mi := &file_w_games_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LinkDestroyRes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LinkDestroyRes) ProtoMessage() {}
func (x *LinkDestroyRes) ProtoReflect() protoreflect.Message {
mi := &file_w_games_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 LinkDestroyRes.ProtoReflect.Descriptor instead.
func (*LinkDestroyRes) Descriptor() ([]byte, []int) {
return file_w_games_proto_rawDescGZIP(), []int{9}
}
func (x *LinkDestroyRes) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
type VisitReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
LinkHashId string `protobuf:"bytes,1,opt,name=link_hash_id,json=linkHashId,proto3" json:"link_hash_id,omitempty"` //链接hashid
ProjectHashId string `protobuf:"bytes,2,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id
Uid string `protobuf:"bytes,3,opt,name=uid,proto3" json:"uid,omitempty"` //关注用户ID
Lang string `protobuf:"bytes,4,opt,name=lang,proto3" json:"lang,omitempty"` //语种标识
Lv string `protobuf:"bytes,5,opt,name=lv,proto3" json:"lv,omitempty"` //用户等级
Cert *VisitReq_Cert `protobuf:"bytes,6,opt,name=cert,proto3" json:"cert,omitempty"` //验签数据
Ip string `protobuf:"bytes,7,opt,name=ip,proto3" json:"ip,omitempty"` //客户端ip
Os string `protobuf:"bytes,8,opt,name=os,proto3" json:"os,omitempty"` //系统
OsVersion string `protobuf:"bytes,9,opt,name=os_version,json=osVersion,proto3" json:"os_version,omitempty"` //系统版本
DeviceModel string `protobuf:"bytes,10,opt,name=device_model,json=deviceModel,proto3" json:"device_model,omitempty"` //系统型号
Mid int64 `protobuf:"varint,11,opt,name=mid,proto3" json:"mid,omitempty"` //用户id
}
func (x *VisitReq) Reset() {
*x = VisitReq{}
if protoimpl.UnsafeEnabled {
mi := &file_w_games_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *VisitReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*VisitReq) ProtoMessage() {}
func (x *VisitReq) ProtoReflect() protoreflect.Message {
mi := &file_w_games_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 VisitReq.ProtoReflect.Descriptor instead.
func (*VisitReq) Descriptor() ([]byte, []int) {
return file_w_games_proto_rawDescGZIP(), []int{10}
}
func (x *VisitReq) GetLinkHashId() string {
if x != nil {
return x.LinkHashId
}
return ""
}
func (x *VisitReq) GetProjectHashId() string {
if x != nil {
return x.ProjectHashId
}
return ""
}
func (x *VisitReq) GetUid() string {
if x != nil {
return x.Uid
}
return ""
}
func (x *VisitReq) GetLang() string {
if x != nil {
return x.Lang
}
return ""
}
func (x *VisitReq) GetLv() string {
if x != nil {
return x.Lv
}
return ""
}
func (x *VisitReq) GetCert() *VisitReq_Cert {
if x != nil {
return x.Cert
}
return nil
}
func (x *VisitReq) GetIp() string {
if x != nil {
return x.Ip
}
return ""
}
func (x *VisitReq) GetOs() string {
if x != nil {
return x.Os
}
return ""
}
func (x *VisitReq) GetOsVersion() string {
if x != nil {
return x.OsVersion
}
return ""
}
func (x *VisitReq) GetDeviceModel() string {
if x != nil {
return x.DeviceModel
}
return ""
}
func (x *VisitReq) GetMid() int64 {
if x != nil {
return x.Mid
}
return 0
}
type VisitRes struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //用户id
HashId string `protobuf:"bytes,2,opt,name=hash_id,json=hashId,proto3" json:"hash_id,omitempty"` //用户对外id
Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token,omitempty"` //身份token
Expired int64 `protobuf:"varint,4,opt,name=expired,proto3" json:"expired,omitempty"` //token过期时间,单位:秒(s)
IsView int32 `protobuf:"varint,5,opt,name=is_view,json=isView,proto3" json:"is_view,omitempty"` //是否预览用户(1-是,0-否)
}
func (x *VisitRes) Reset() {
*x = VisitRes{}
if protoimpl.UnsafeEnabled {
mi := &file_w_games_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *VisitRes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*VisitRes) ProtoMessage() {}
func (x *VisitRes) ProtoReflect() protoreflect.Message {
mi := &file_w_games_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 VisitRes.ProtoReflect.Descriptor instead.
func (*VisitRes) Descriptor() ([]byte, []int) {
return file_w_games_proto_rawDescGZIP(), []int{11}
}
func (x *VisitRes) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *VisitRes) GetHashId() string {
if x != nil {
return x.HashId
}
return ""
}
func (x *VisitRes) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
func (x *VisitRes) GetExpired() int64 {
if x != nil {
return x.Expired
}
return 0
}
func (x *VisitRes) GetIsView() int32 {
if x != nil {
return x.IsView
}
return 0
}
type TraceReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserId int64 `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` //用户id
LinkId int64 `protobuf:"varint,2,opt,name=link_id,json=linkId,proto3" json:"link_id,omitempty"` //链接id
Type int32 `protobuf:"varint,3,opt,name=type,proto3" json:"type,omitempty"` //埋点类型(2-停留)
StaySec int32 `protobuf:"varint,4,opt,name=stay_sec,json=staySec,proto3" json:"stay_sec,omitempty"` //停留时间,单位:秒(s)
}
func (x *TraceReq) Reset() {
*x = TraceReq{}
if protoimpl.UnsafeEnabled {
mi := &file_w_games_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TraceReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TraceReq) ProtoMessage() {}
func (x *TraceReq) ProtoReflect() protoreflect.Message {
mi := &file_w_games_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 TraceReq.ProtoReflect.Descriptor instead.
func (*TraceReq) Descriptor() ([]byte, []int) {
return file_w_games_proto_rawDescGZIP(), []int{12}
}
func (x *TraceReq) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *TraceReq) GetLinkId() int64 {
if x != nil {
return x.LinkId
}
return 0
}
func (x *TraceReq) GetType() int32 {
if x != nil {
return x.Type
}
return 0
}
func (x *TraceReq) GetStaySec() int32 {
if x != nil {
return x.StaySec
}
return 0
}
type TraceRes struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *TraceRes) Reset() {
*x = TraceRes{}
if protoimpl.UnsafeEnabled {
mi := &file_w_games_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TraceRes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TraceRes) ProtoMessage() {}
func (x *TraceRes) ProtoReflect() protoreflect.Message {
mi := &file_w_games_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 TraceRes.ProtoReflect.Descriptor instead.
func (*TraceRes) Descriptor() ([]byte, []int) {
return file_w_games_proto_rawDescGZIP(), []int{13}
}
type OverviewReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameId int64 `protobuf:"varint,1,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"` //游戏id
ProjectHashId string `protobuf:"bytes,2,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id
LinkId int64 `protobuf:"varint,3,opt,name=link_id,json=linkId,proto3" json:"link_id,omitempty"` //链接id
}
func (x *OverviewReq) Reset() {
*x = OverviewReq{}
if protoimpl.UnsafeEnabled {
mi := &file_w_games_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *OverviewReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*OverviewReq) ProtoMessage() {}
func (x *OverviewReq) ProtoReflect() protoreflect.Message {
mi := &file_w_games_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 OverviewReq.ProtoReflect.Descriptor instead.
func (*OverviewReq) Descriptor() ([]byte, []int) {
return file_w_games_proto_rawDescGZIP(), []int{14}
}
func (x *OverviewReq) GetGameId() int64 {
if x != nil {
return x.GameId
}
return 0
}
func (x *OverviewReq) GetProjectHashId() string {
if x != nil {
return x.ProjectHashId
}
return ""
}
func (x *OverviewReq) GetLinkId() int64 {
if x != nil {
return x.LinkId
}
return 0
}
type OverviewRes struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
List []*OverviewRes_One `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` //列表
}
func (x *OverviewRes) Reset() {
*x = OverviewRes{}
if protoimpl.UnsafeEnabled {
mi := &file_w_games_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *OverviewRes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*OverviewRes) ProtoMessage() {}
func (x *OverviewRes) ProtoReflect() protoreflect.Message {
mi := &file_w_games_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 OverviewRes.ProtoReflect.Descriptor instead.
func (*OverviewRes) Descriptor() ([]byte, []int) {
return file_w_games_proto_rawDescGZIP(), []int{15}
}
func (x *OverviewRes) GetList() []*OverviewRes_One {
if x != nil {
return x.List
}
return nil
}
type TrendReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameId int64 `protobuf:"varint,1,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"` //游戏id
ProjectHashId string `protobuf:"bytes,2,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id
LinkId int64 `protobuf:"varint,3,opt,name=link_id,json=linkId,proto3" json:"link_id,omitempty"` //链接id
StartTime int64 `protobuf:"varint,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` //开始时间
EndTime int64 `protobuf:"varint,5,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` //结束时间
}
func (x *TrendReq) Reset() {
*x = TrendReq{}
if protoimpl.UnsafeEnabled {
mi := &file_w_games_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TrendReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TrendReq) ProtoMessage() {}
func (x *TrendReq) ProtoReflect() protoreflect.Message {
mi := &file_w_games_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 TrendReq.ProtoReflect.Descriptor instead.
func (*TrendReq) Descriptor() ([]byte, []int) {
return file_w_games_proto_rawDescGZIP(), []int{16}
}
func (x *TrendReq) GetGameId() int64 {
if x != nil {
return x.GameId
}
return 0
}
func (x *TrendReq) GetProjectHashId() string {
if x != nil {
return x.ProjectHashId
}
return ""
}
func (x *TrendReq) GetLinkId() int64 {
if x != nil {
return x.LinkId
}
return 0
}
func (x *TrendReq) GetStartTime() int64 {
if x != nil {
return x.StartTime
}
return 0
}
func (x *TrendReq) GetEndTime() int64 {
if x != nil {
return x.EndTime
}
return 0
}
type TrendRes struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
X []string `protobuf:"bytes,1,rep,name=x,proto3" json:"x,omitempty"` //x轴
Y []*TrendRes_Y `protobuf:"bytes,2,rep,name=y,proto3" json:"y,omitempty"` //y轴
}
func (x *TrendRes) Reset() {
*x = TrendRes{}
if protoimpl.UnsafeEnabled {
mi := &file_w_games_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TrendRes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TrendRes) ProtoMessage() {}
func (x *TrendRes) ProtoReflect() protoreflect.Message {
mi := &file_w_games_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 TrendRes.ProtoReflect.Descriptor instead.
func (*TrendRes) Descriptor() ([]byte, []int) {
return file_w_games_proto_rawDescGZIP(), []int{17}
}
func (x *TrendRes) GetX() []string {
if x != nil {
return x.X
}
return nil
}
func (x *TrendRes) GetY() []*TrendRes_Y {
if x != nil {
return x.Y
}
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
Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` //游戏标题
Img string `protobuf:"bytes,3,opt,name=img,proto3" json:"img,omitempty"` //游戏图片
Link string `protobuf:"bytes,4,opt,name=link,proto3" json:"link,omitempty"` //游戏链接
}
func (x *ListRes_One) Reset() {
*x = ListRes_One{}
if protoimpl.UnsafeEnabled {
mi := &file_w_games_proto_msgTypes[18]
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_games_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 ListRes_One.ProtoReflect.Descriptor instead.
func (*ListRes_One) Descriptor() ([]byte, []int) {
return file_w_games_proto_rawDescGZIP(), []int{1, 0}
}
func (x *ListRes_One) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *ListRes_One) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *ListRes_One) GetImg() string {
if x != nil {
return x.Img
}
return ""
}
func (x *ListRes_One) GetLink() string {
if x != nil {
return x.Link
}
return ""
}
type LinkListRes_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"` //链接标题
IsDefault int32 `protobuf:"varint,3,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"` //是否默认链接(0-否,1-是)
Link string `protobuf:"bytes,4,opt,name=link,proto3" json:"link,omitempty"` //游戏链接
}
func (x *LinkListRes_One) Reset() {
*x = LinkListRes_One{}
if protoimpl.UnsafeEnabled {
mi := &file_w_games_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LinkListRes_One) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LinkListRes_One) ProtoMessage() {}
func (x *LinkListRes_One) ProtoReflect() protoreflect.Message {
mi := &file_w_games_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 LinkListRes_One.ProtoReflect.Descriptor instead.
func (*LinkListRes_One) Descriptor() ([]byte, []int) {
return file_w_games_proto_rawDescGZIP(), []int{3, 0}
}
func (x *LinkListRes_One) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *LinkListRes_One) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *LinkListRes_One) GetIsDefault() int32 {
if x != nil {
return x.IsDefault
}
return 0
}
func (x *LinkListRes_One) GetLink() string {
if x != nil {
return x.Link
}
return ""
}
type VisitReq_Cert struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Time int64 `protobuf:"varint,1,opt,name=time,proto3" json:"time,omitempty"` //时间戳
Blackbox string `protobuf:"bytes,2,opt,name=blackbox,proto3" json:"blackbox,omitempty"` //通过blackBox可以在后台查询出
Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` //加解密版本
Platform string `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform,omitempty"` //平台
Token string `protobuf:"bytes,5,opt,name=token,proto3" json:"token,omitempty"` //加密串
}
func (x *VisitReq_Cert) Reset() {
*x = VisitReq_Cert{}
if protoimpl.UnsafeEnabled {
mi := &file_w_games_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *VisitReq_Cert) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*VisitReq_Cert) ProtoMessage() {}
func (x *VisitReq_Cert) ProtoReflect() protoreflect.Message {
mi := &file_w_games_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 VisitReq_Cert.ProtoReflect.Descriptor instead.
func (*VisitReq_Cert) Descriptor() ([]byte, []int) {
return file_w_games_proto_rawDescGZIP(), []int{10, 0}
}
func (x *VisitReq_Cert) GetTime() int64 {
if x != nil {
return x.Time
}
return 0
}
func (x *VisitReq_Cert) GetBlackbox() string {
if x != nil {
return x.Blackbox
}
return ""
}
func (x *VisitReq_Cert) GetVersion() string {
if x != nil {
return x.Version
}
return ""
}
func (x *VisitReq_Cert) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *VisitReq_Cert) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
type OverviewRes_One struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Mark string `protobuf:"bytes,1,opt,name=mark,proto3" json:"mark,omitempty"` //标识(visit_num-访问数,visit_user_num-访问用户数, total_stay-总停留时长)
Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"` //总数
Yesterday int64 `protobuf:"varint,3,opt,name=yesterday,proto3" json:"yesterday,omitempty"` //昨日总数
Avg string `protobuf:"bytes,4,opt,name=avg,proto3" json:"avg,omitempty"` //平均
}
func (x *OverviewRes_One) Reset() {
*x = OverviewRes_One{}
if protoimpl.UnsafeEnabled {
mi := &file_w_games_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *OverviewRes_One) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*OverviewRes_One) ProtoMessage() {}
func (x *OverviewRes_One) ProtoReflect() protoreflect.Message {
mi := &file_w_games_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 OverviewRes_One.ProtoReflect.Descriptor instead.
func (*OverviewRes_One) Descriptor() ([]byte, []int) {
return file_w_games_proto_rawDescGZIP(), []int{15, 0}
}
func (x *OverviewRes_One) GetMark() string {
if x != nil {
return x.Mark
}
return ""
}
func (x *OverviewRes_One) GetTotal() int64 {
if x != nil {
return x.Total
}
return 0
}
func (x *OverviewRes_One) GetYesterday() int64 {
if x != nil {
return x.Yesterday
}
return 0
}
func (x *OverviewRes_One) GetAvg() string {
if x != nil {
return x.Avg
}
return ""
}
type TrendRes_Y struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` //线类型(visit_num-访问数,visit_user_num-访问用户数)
Data []int64 `protobuf:"varint,2,rep,packed,name=data,proto3" json:"data,omitempty"` //y轴数据
}
func (x *TrendRes_Y) Reset() {
*x = TrendRes_Y{}
if protoimpl.UnsafeEnabled {
mi := &file_w_games_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TrendRes_Y) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TrendRes_Y) ProtoMessage() {}
func (x *TrendRes_Y) ProtoReflect() protoreflect.Message {
mi := &file_w_games_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 TrendRes_Y.ProtoReflect.Descriptor instead.
func (*TrendRes_Y) Descriptor() ([]byte, []int) {
return file_w_games_proto_rawDescGZIP(), []int{17, 0}
}
func (x *TrendRes_Y) GetType() string {
if x != nil {
return x.Type
}
return ""
}
func (x *TrendRes_Y) GetData() []int64 {
if x != nil {
return x.Data
}
return nil
}
var File_w_games_proto protoreflect.FileDescriptor
var file_w_games_proto_rawDesc = []byte{
0x0a, 0x0d, 0x77, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
0x09, 0x77, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x62, 0x22, 0x31, 0x0a, 0x07, 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, 0x22, 0x88, 0x01,
0x0a, 0x07, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x04, 0x6c, 0x69, 0x73,
0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x77, 0x5f, 0x67, 0x61, 0x6d, 0x65,
0x73, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x2e, 0x4f, 0x6e, 0x65, 0x52,
0x04, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0x51, 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, 0x69, 0x6d, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x69, 0x6d, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x04, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x4e, 0x0a, 0x0b, 0x4c, 0x69, 0x6e, 0x6b,
0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64,
0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68,
0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
0x63, 0x74, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x22, 0x9d, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x6e,
0x6b, 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, 0x67, 0x61, 0x6d, 0x65, 0x73,
0x70, 0x62, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x2e, 0x4f,
0x6e, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0x5e, 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, 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, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x04, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x65, 0x0a, 0x0c, 0x4c, 0x69, 0x6e, 0x6b,
0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65,
0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49,
0x64, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61, 0x73,
0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22,
0x32, 0x0a, 0x0c, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x12,
0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12,
0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c,
0x69, 0x6e, 0x6b, 0x22, 0x5d, 0x0a, 0x0d, 0x4c, 0x69, 0x6e, 0x6b, 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, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f,
0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74,
0x6c, 0x65, 0x22, 0x1f, 0x0a, 0x0d, 0x4c, 0x69, 0x6e, 0x6b, 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, 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x73, 0x74, 0x72,
0x6f, 0x79, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x22, 0x20, 0x0a,
0x0e, 0x4c, 0x69, 0x6e, 0x6b, 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,
0xb1, 0x03, 0x0a, 0x08, 0x56, 0x69, 0x73, 0x69, 0x74, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0c,
0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0a, 0x6c, 0x69, 0x6e, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x26,
0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69,
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0e, 0x0a, 0x02,
0x6c, 0x76, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x2c, 0x0a, 0x04,
0x63, 0x65, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x5f, 0x67,
0x61, 0x6d, 0x65, 0x73, 0x70, 0x62, 0x2e, 0x56, 0x69, 0x73, 0x69, 0x74, 0x52, 0x65, 0x71, 0x2e,
0x43, 0x65, 0x72, 0x74, 0x52, 0x04, 0x63, 0x65, 0x72, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70,
0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x73,
0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x73,
0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x76,
0x69, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03,
0x6d, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6d, 0x69, 0x64, 0x1a, 0x82,
0x01, 0x0a, 0x04, 0x43, 0x65, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x62,
0x6c, 0x61, 0x63, 0x6b, 0x62, 0x6f, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62,
0x6c, 0x61, 0x63, 0x6b, 0x62, 0x6f, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a,
0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f,
0x6b, 0x65, 0x6e, 0x22, 0x7c, 0x0a, 0x08, 0x56, 0x69, 0x73, 0x69, 0x74, 0x52, 0x65, 0x73, 0x12,
0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12,
0x17, 0x0a, 0x07, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x68, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65,
0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x18,
0x0a, 0x07, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52,
0x07, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x76,
0x69, 0x65, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x73, 0x56, 0x69, 0x65,
0x77, 0x22, 0x6b, 0x0a, 0x08, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a,
0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x69,
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6c, 0x69, 0x6e, 0x6b, 0x49, 0x64, 0x12,
0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74,
0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x63, 0x18,
0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x74, 0x61, 0x79, 0x53, 0x65, 0x63, 0x22, 0x0a,
0x0a, 0x08, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x22, 0x67, 0x0a, 0x0b, 0x4f, 0x76,
0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d,
0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65,
0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61,
0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f,
0x6a, 0x65, 0x63, 0x74, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x6c, 0x69,
0x6e, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6c, 0x69, 0x6e,
0x6b, 0x49, 0x64, 0x22, 0x9e, 0x01, 0x0a, 0x0b, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77,
0x52, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x77, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x62, 0x2e, 0x4f, 0x76,
0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x2e, 0x4f, 0x6e, 0x65, 0x52, 0x04, 0x6c,
0x69, 0x73, 0x74, 0x1a, 0x5f, 0x0a, 0x03, 0x4f, 0x6e, 0x65, 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, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74,
0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x79, 0x65, 0x73, 0x74, 0x65, 0x72, 0x64, 0x61,
0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x79, 0x65, 0x73, 0x74, 0x65, 0x72, 0x64,
0x61, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x76, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x61, 0x76, 0x67, 0x22, 0x9e, 0x01, 0x0a, 0x08, 0x54, 0x72, 0x65, 0x6e, 0x64, 0x52, 0x65,
0x71, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x03, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72,
0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x61, 0x73, 0x68,
0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20,
0x01, 0x28, 0x03, 0x52, 0x06, 0x6c, 0x69, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73,
0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52,
0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e,
0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x6e,
0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x6a, 0x0a, 0x08, 0x54, 0x72, 0x65, 0x6e, 0x64, 0x52, 0x65,
0x73, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x01, 0x78, 0x12,
0x23, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x77, 0x5f, 0x67,
0x61, 0x6d, 0x65, 0x73, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x2e,
0x59, 0x52, 0x01, 0x79, 0x1a, 0x2b, 0x0a, 0x01, 0x59, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a,
0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x04, 0x64, 0x61, 0x74,
0x61, 0x32, 0xa1, 0x04, 0x0a, 0x06, 0x57, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x04,
0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x2e, 0x77, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x62,
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x77, 0x5f, 0x67, 0x61, 0x6d,
0x65, 0x73, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x3c,
0x0a, 0x08, 0x4c, 0x69, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x77, 0x5f, 0x67,
0x61, 0x6d, 0x65, 0x73, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52,
0x65, 0x71, 0x1a, 0x16, 0x2e, 0x77, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x62, 0x2e, 0x4c,
0x69, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x09,
0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x17, 0x2e, 0x77, 0x5f, 0x67, 0x61,
0x6d, 0x65, 0x73, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52,
0x65, 0x71, 0x1a, 0x17, 0x2e, 0x77, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x62, 0x2e, 0x4c,
0x69, 0x6e, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x42, 0x0a,
0x0a, 0x4c, 0x69, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x77, 0x5f,
0x67, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x77, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x70,
0x62, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x22,
0x00, 0x12, 0x45, 0x0a, 0x0b, 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79,
0x12, 0x19, 0x2e, 0x77, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x6e,
0x6b, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x77, 0x5f,
0x67, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x73, 0x74,
0x72, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x33, 0x0a, 0x05, 0x56, 0x69, 0x73, 0x69,
0x74, 0x12, 0x13, 0x2e, 0x77, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x62, 0x2e, 0x56, 0x69,
0x73, 0x69, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x77, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73,
0x70, 0x62, 0x2e, 0x56, 0x69, 0x73, 0x69, 0x74, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x33, 0x0a,
0x05, 0x54, 0x72, 0x61, 0x63, 0x65, 0x12, 0x13, 0x2e, 0x77, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73,
0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x77, 0x5f,
0x67, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73,
0x22, 0x00, 0x12, 0x3c, 0x0a, 0x08, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x12, 0x16,
0x2e, 0x77, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x62, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x76,
0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x77, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73,
0x70, 0x62, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x22, 0x00,
0x12, 0x33, 0x0a, 0x05, 0x54, 0x72, 0x65, 0x6e, 0x64, 0x12, 0x13, 0x2e, 0x77, 0x5f, 0x67, 0x61,
0x6d, 0x65, 0x73, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x13,
0x2e, 0x77, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x65, 0x6e, 0x64,
0x52, 0x65, 0x73, 0x22, 0x00, 0x42, 0x0e, 0x5a, 0x0c, 0x2e, 0x2f, 0x3b, 0x77, 0x5f, 0x67, 0x61,
0x6d, 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_w_games_proto_rawDescOnce sync.Once
file_w_games_proto_rawDescData = file_w_games_proto_rawDesc
)
func file_w_games_proto_rawDescGZIP() []byte {
file_w_games_proto_rawDescOnce.Do(func() {
file_w_games_proto_rawDescData = protoimpl.X.CompressGZIP(file_w_games_proto_rawDescData)
})
return file_w_games_proto_rawDescData
}
var file_w_games_proto_msgTypes = make([]protoimpl.MessageInfo, 23)
var file_w_games_proto_goTypes = []interface{}{
(*ListReq)(nil), // 0: w_gamespb.ListReq
(*ListRes)(nil), // 1: w_gamespb.ListRes
(*LinkListReq)(nil), // 2: w_gamespb.LinkListReq
(*LinkListRes)(nil), // 3: w_gamespb.LinkListRes
(*LinkStoreReq)(nil), // 4: w_gamespb.LinkStoreReq
(*LinkStoreRes)(nil), // 5: w_gamespb.LinkStoreRes
(*LinkUpdateReq)(nil), // 6: w_gamespb.LinkUpdateReq
(*LinkUpdateRes)(nil), // 7: w_gamespb.LinkUpdateRes
(*LinkDestroyReq)(nil), // 8: w_gamespb.LinkDestroyReq
(*LinkDestroyRes)(nil), // 9: w_gamespb.LinkDestroyRes
(*VisitReq)(nil), // 10: w_gamespb.VisitReq
(*VisitRes)(nil), // 11: w_gamespb.VisitRes
(*TraceReq)(nil), // 12: w_gamespb.TraceReq
(*TraceRes)(nil), // 13: w_gamespb.TraceRes
(*OverviewReq)(nil), // 14: w_gamespb.OverviewReq
(*OverviewRes)(nil), // 15: w_gamespb.OverviewRes
(*TrendReq)(nil), // 16: w_gamespb.TrendReq
(*TrendRes)(nil), // 17: w_gamespb.TrendRes
(*ListRes_One)(nil), // 18: w_gamespb.ListRes.One
(*LinkListRes_One)(nil), // 19: w_gamespb.LinkListRes.One
(*VisitReq_Cert)(nil), // 20: w_gamespb.VisitReq.Cert
(*OverviewRes_One)(nil), // 21: w_gamespb.OverviewRes.One
(*TrendRes_Y)(nil), // 22: w_gamespb.TrendRes.Y
}
var file_w_games_proto_depIdxs = []int32{
18, // 0: w_gamespb.ListRes.list:type_name -> w_gamespb.ListRes.One
19, // 1: w_gamespb.LinkListRes.list:type_name -> w_gamespb.LinkListRes.One
20, // 2: w_gamespb.VisitReq.cert:type_name -> w_gamespb.VisitReq.Cert
21, // 3: w_gamespb.OverviewRes.list:type_name -> w_gamespb.OverviewRes.One
22, // 4: w_gamespb.TrendRes.y:type_name -> w_gamespb.TrendRes.Y
0, // 5: w_gamespb.WGames.List:input_type -> w_gamespb.ListReq
2, // 6: w_gamespb.WGames.LinkList:input_type -> w_gamespb.LinkListReq
4, // 7: w_gamespb.WGames.LinkStore:input_type -> w_gamespb.LinkStoreReq
6, // 8: w_gamespb.WGames.LinkUpdate:input_type -> w_gamespb.LinkUpdateReq
8, // 9: w_gamespb.WGames.LinkDestroy:input_type -> w_gamespb.LinkDestroyReq
10, // 10: w_gamespb.WGames.Visit:input_type -> w_gamespb.VisitReq
12, // 11: w_gamespb.WGames.Trace:input_type -> w_gamespb.TraceReq
14, // 12: w_gamespb.WGames.Overview:input_type -> w_gamespb.OverviewReq
16, // 13: w_gamespb.WGames.Trend:input_type -> w_gamespb.TrendReq
1, // 14: w_gamespb.WGames.List:output_type -> w_gamespb.ListRes
3, // 15: w_gamespb.WGames.LinkList:output_type -> w_gamespb.LinkListRes
5, // 16: w_gamespb.WGames.LinkStore:output_type -> w_gamespb.LinkStoreRes
7, // 17: w_gamespb.WGames.LinkUpdate:output_type -> w_gamespb.LinkUpdateRes
9, // 18: w_gamespb.WGames.LinkDestroy:output_type -> w_gamespb.LinkDestroyRes
11, // 19: w_gamespb.WGames.Visit:output_type -> w_gamespb.VisitRes
13, // 20: w_gamespb.WGames.Trace:output_type -> w_gamespb.TraceRes
15, // 21: w_gamespb.WGames.Overview:output_type -> w_gamespb.OverviewRes
17, // 22: w_gamespb.WGames.Trend:output_type -> w_gamespb.TrendRes
14, // [14:23] is the sub-list for method output_type
5, // [5:14] is the sub-list for method input_type
5, // [5:5] is the sub-list for extension type_name
5, // [5:5] is the sub-list for extension extendee
0, // [0:5] is the sub-list for field type_name
}
func init() { file_w_games_proto_init() }
func file_w_games_proto_init() {
if File_w_games_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_w_games_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_games_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_games_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LinkListReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_games_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LinkListRes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_games_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LinkStoreReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_games_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LinkStoreRes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_games_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LinkUpdateReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_games_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LinkUpdateRes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_games_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LinkDestroyReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_games_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LinkDestroyRes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_games_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*VisitReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_games_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*VisitRes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_games_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TraceReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_games_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TraceRes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_games_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*OverviewReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_games_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*OverviewRes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_games_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TrendReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_games_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TrendRes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_games_proto_msgTypes[18].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_games_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LinkListRes_One); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_games_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*VisitReq_Cert); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_games_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*OverviewRes_One); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_games_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TrendRes_Y); 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_games_proto_rawDesc,
NumEnums: 0,
NumMessages: 23,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_w_games_proto_goTypes,
DependencyIndexes: file_w_games_proto_depIdxs,
MessageInfos: file_w_games_proto_msgTypes,
}.Build()
File_w_games_proto = out.File
file_w_games_proto_rawDesc = nil
file_w_games_proto_goTypes = nil
file_w_games_proto_depIdxs = nil
}